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:
fa48be7
)
Fix Regression/Transforms/Reassociate/2005-08-24-Crash.ll
author
Chris Lattner
<sabre@nondot.org>
Wed, 24 Aug 2005 17:55:32 +0000
(17:55 +0000)
committer
Chris Lattner
<sabre@nondot.org>
Wed, 24 Aug 2005 17:55:32 +0000
(17:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23019
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/Transforms/Scalar/Reassociate.cpp
patch
|
blob
|
history
diff --git
a/lib/Transforms/Scalar/Reassociate.cpp
b/lib/Transforms/Scalar/Reassociate.cpp
index c55bce0d7e8cad4f328b567dd1112d83c53309c4..60722ef68ffbd964940a5b5d3ff5c25e5cf0537d 100644
(file)
--- a/
lib/Transforms/Scalar/Reassociate.cpp
+++ b/
lib/Transforms/Scalar/Reassociate.cpp
@@
-496,9
+496,15
@@
void Reassociate::OptimizeExpression(unsigned Opcode,
++NumAnnihil;
} else {
assert(Opcode == Instruction::Xor);
+ if (e == 2) {
+ Ops[0].Op = Constant::getNullValue(Ops[0].Op->getType());
+ Ops.erase(Ops.begin()+1, Ops.end());
+ ++NumAnnihil;
+ return;
+ }
// ... X^X -> ...
Ops.erase(Ops.begin()+i, Ops.begin()+i+2);
- i -=
2
; e -= 2;
+ i -=
1
; e -= 2;
IterateOptimization = true;
++NumAnnihil;
}