Fix issues with ISD::FNEG and ISD::FMA SDNodes where they would not be constant-folded
authorOwen Anderson <resistor@mac.com>
Sat, 2 Aug 2014 08:45:33 +0000 (08:45 +0000)
committerOwen Anderson <resistor@mac.com>
Sat, 2 Aug 2014 08:45:33 +0000 (08:45 +0000)
commitec6d4d8afbd91423c7915b1c35b909a4213ca505
tree284250590e91c810e7f3cefa6c8748a31acac1b9
parent61e99f1b80044783fda98b4372461a27cbec87cd
Fix issues with ISD::FNEG and ISD::FMA SDNodes where they would not be constant-folded
during DAGCombine in certain circumstances.  Unfortunately, the circumstances required
to trigger the issue seem to require a pretty specific interaction of DAGCombines,
and I haven't been able to find a testcase that reproduces on X86, ARM, or AArch64.
The functionality added here is replicated in essentially every other DAG combine,
so it seems pretty obviously correct.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214622 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp