llvm-6502/lib/Transforms/InstCombine
Quentin Colombet c5a4c25b87 Fix a bug in instcombine for fmul in fast math mode.
The instcombine recognized pattern looks like:
a = b * c
d = a +/- Cst
or
a = b * c
d = Cst +/- a

When creating the new operands for fadd or fsub instruction following the related fmul, the first operand was created with the second original operand (M0 was created with C1) and the second with the first (M1 with Opnd0).

The fix consists in creating the new operands with the appropriate original operand, i.e., M0 with Opnd0 and M1 with C1.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176300 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-28 21:12:40 +00:00
..
CMakeLists.txt
InstCombine.h Remove trailing spaces. 2013-01-14 23:16:36 +00:00
InstCombineAddSub.cpp Transform (sub 0, (zext bool to A)) to (sext bool to A) and 2013-01-21 21:57:20 +00:00
InstCombineAndOrXor.cpp The transform is: 2013-02-16 23:41:36 +00:00
InstCombineCalls.cpp Revert "Have InstCombine call SipmlifyCall when handling calls. Test case included." 2013-02-08 01:55:39 +00:00
InstCombineCasts.cpp Fix comment 2013-02-13 00:19:19 +00:00
InstCombineCompares.cpp Fix refactoring mistake in "Teach InstCombine to work with smaller legal types..." 2013-02-15 15:18:17 +00:00
InstCombineLoadStoreAlloca.cpp switch from pointer equality comparison to MDNode::getMostGenericTBAA 2013-01-05 16:44:07 +00:00
InstCombineMulDivRem.cpp Fix a bug in instcombine for fmul in fast math mode. 2013-02-28 21:12:40 +00:00
InstCombinePHI.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstCombineSelect.cpp
InstCombineShifts.cpp Revert r174152. The shift amount may overflow and in that case this transformation is illegal. 2013-02-01 07:59:33 +00:00
InstCombineSimplifyDemanded.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstCombineVectorOps.cpp Check for less than 0 in shuffle mask instead of -1. It's more consistent with other code related to shuffles and easier to implement in compiled code. 2013-01-18 05:30:07 +00:00
InstCombineWorklist.h Remove trailing spaces. 2013-01-14 23:16:36 +00:00
InstructionCombining.cpp Preserve fast-math flags after reassociation and commutation. Update test cases 2013-02-07 01:40:15 +00:00
LLVMBuild.txt
Makefile