diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-10-17 20:18:38 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-10-17 20:18:38 +0000 | 
| commit | da1b152c4367d89fa34ec75a55a8427132f12cb8 (patch) | |
| tree | f3dd2f09a69b9fb0b58c948e8db39ede266bf294 /llvm/lib/Transforms | |
| parent | 7fde91e365fa8f172144043251f76bb89ead10c5 (diff) | |
| download | bcm5719-llvm-da1b152c4367d89fa34ec75a55a8427132f12cb8.tar.gz bcm5719-llvm-da1b152c4367d89fa34ec75a55a8427132f12cb8.zip | |
Make this work for FP constantexprs
llvm-svn: 23773
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/InstructionCombining.cpp | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/llvm/lib/Transforms/Scalar/InstructionCombining.cpp b/llvm/lib/Transforms/Scalar/InstructionCombining.cpp index d92e126b080..f4d44a17755 100644 --- a/llvm/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/llvm/lib/Transforms/Scalar/InstructionCombining.cpp @@ -697,8 +697,9 @@ Instruction *InstCombiner::visitAdd(BinaryOperator &I) {      if (!I.getType()->isFloatingPoint()) { // NOTE: -0 + +0 = +0.        if (RHSC->isNullValue())          return ReplaceInstUsesWith(I, LHS); -    } else if (cast<ConstantFP>(RHSC)->isExactlyValue(-0.0)) { -      return ReplaceInstUsesWith(I, LHS); +    } else if (ConstantFP *CFP = dyn_cast<ConstantFP>(RHSC)) { +      if (CFP->isExactlyValue(-0.0)) +        return ReplaceInstUsesWith(I, LHS);      }      // X + (signbit) --> X ^ signbit | 

