summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineSSAUpdater.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2015-08-05 15:12:03 +0000
committerSanjay Patel <spatel@rotateright.com>2015-08-05 15:12:03 +0000
commitb6a79f9916f6b676e2ad250b9e125d9f7b165fe5 (patch)
treef3b9d8e3f2ed18a3e0e1b17e43a08f95b3d4f2dc /llvm/lib/CodeGen/MachineSSAUpdater.cpp
parentfc29f69d74fbb3a585d3df7dd2c7cef290c7a2be (diff)
downloadbcm5719-llvm-b6a79f9916f6b676e2ad250b9e125d9f7b165fe5.tar.gz
bcm5719-llvm-b6a79f9916f6b676e2ad250b9e125d9f7b165fe5.zip
revert r243687: enable fast-math-flag propagation to DAG nodes
We can't propagate FMF partially without breaking DAG-level CSE. We either need to relax CSE to account for mismatched FMF as a temporary work-around or fully propagate FMF throughout the DAG. Surprisingly, there are no existing regression tests for this, but here's an example: define float @fmf(float %a, float %b) { %mul1 = fmul fast float %a, %b %nega = fsub fast float 0.0, %a %mul2 = fmul fast float %nega, %b %abx2 = fsub fast float %mul1, %mul2 ret float %abx2 } $ llc -o - badflags.ll -march=x86-64 -mattr=fma -enable-unsafe-fp-math -enable-fmf-dag=0 ... vmulss %xmm1, %xmm0, %xmm0 vaddss %xmm0, %xmm0, %xmm0 retq $ llc -o - badflags.ll -march=x86-64 -mattr=fma -enable-unsafe-fp-math -enable-fmf-dag=1 ... vmulss %xmm1, %xmm0, %xmm2 vfmadd213ss %xmm2, %xmm1, %xmm0 <--- failed to recognize that (a * b) was already calculated retq llvm-svn: 244053
Diffstat (limited to 'llvm/lib/CodeGen/MachineSSAUpdater.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud