diff options
author | Michael Ilseman <milseman@apple.com> | 2012-12-12 00:29:16 +0000 |
---|---|---|
committer | Michael Ilseman <milseman@apple.com> | 2012-12-12 00:29:16 +0000 |
commit | d2b05e59b5e96dce2c1b54c6f96f87f5bab5887e (patch) | |
tree | a25a6277735196c04ee6193d7b5bc6352c576fb2 /llvm/lib/Analysis/InstructionSimplify.cpp | |
parent | 81b36785640e8d96f2eeb8365e4db3166f823a70 (diff) | |
download | bcm5719-llvm-d2b05e59b5e96dce2c1b54c6f96f87f5bab5887e.tar.gz bcm5719-llvm-d2b05e59b5e96dce2c1b54c6f96f87f5bab5887e.zip |
Have SimplifyBinOp call the new FAdd/FSub/FMul helpers, with fast-math flags off
llvm-svn: 169943
Diffstat (limited to 'llvm/lib/Analysis/InstructionSimplify.cpp')
-rw-r--r-- | llvm/lib/Analysis/InstructionSimplify.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp index 42e506bbb0c..35b1e66035b 100644 --- a/llvm/lib/Analysis/InstructionSimplify.cpp +++ b/llvm/lib/Analysis/InstructionSimplify.cpp @@ -2790,10 +2790,18 @@ static Value *SimplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS, case Instruction::Add: return SimplifyAddInst(LHS, RHS, /*isNSW*/false, /*isNUW*/false, Q, MaxRecurse); + case Instruction::FAdd: + return SimplifyFAddInst(LHS, RHS, FastMathFlags(), Q, MaxRecurse); + case Instruction::Sub: return SimplifySubInst(LHS, RHS, /*isNSW*/false, /*isNUW*/false, Q, MaxRecurse); + case Instruction::FSub: + return SimplifyFSubInst(LHS, RHS, FastMathFlags(), Q, MaxRecurse); + case Instruction::Mul: return SimplifyMulInst (LHS, RHS, Q, MaxRecurse); + case Instruction::FMul: + return SimplifyFMulInst (LHS, RHS, FastMathFlags(), Q, MaxRecurse); case Instruction::SDiv: return SimplifySDivInst(LHS, RHS, Q, MaxRecurse); case Instruction::UDiv: return SimplifyUDivInst(LHS, RHS, Q, MaxRecurse); case Instruction::FDiv: return SimplifyFDivInst(LHS, RHS, Q, MaxRecurse); |