projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a1ff931
)
relax this a bit, as we only support the default rounding mode
author
Chris Lattner
<sabre@nondot.org>
Mon, 17 Oct 2005 17:49:32 +0000
(17:49 +0000)
committer
Chris Lattner
<sabre@nondot.org>
Mon, 17 Oct 2005 17:49:32 +0000
(17:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23771
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/Transforms/Scalar/InstructionCombining.cpp
patch
|
blob
|
history
diff --git
a/lib/Transforms/Scalar/InstructionCombining.cpp
b/lib/Transforms/Scalar/InstructionCombining.cpp
index cf4af7916916f2694417d862cf1da337a8a3af84..67a54018c37ed8dabf6173df6197e8005c12f892 100644
(file)
--- a/
lib/Transforms/Scalar/InstructionCombining.cpp
+++ b/
lib/Transforms/Scalar/InstructionCombining.cpp
@@
-694,8
+694,10
@@
Instruction *InstCombiner::visitAdd(BinaryOperator &I) {
return ReplaceInstUsesWith(I, RHS);
// X + 0 --> X
- if (!I.getType()->isFloatingPoint() && // -0 + +0 = +0, so it's not a noop
- RHSC->isNullValue())
+ // NOTE: -0 + +0 = +0 in non-default rounding modes. When we support them
+ // we must disable this. Note that 0.0-0.0 = -0.0, so this doesn't hold
+ // for SUB.
+ if (RHSC->isNullValue())
return ReplaceInstUsesWith(I, LHS);
// X + (signbit) --> X ^ signbit