summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/LevelRaise.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-07-16 21:41:31 +0000
committerChris Lattner <sabre@nondot.org>2002-07-16 21:41:31 +0000
commit811bd412293b71acd70f111921b82677159ea551 (patch)
tree389c9df19e4ac8e4302e7097149f9ff71884ab3e /llvm/lib/Transforms/LevelRaise.cpp
parentb744c9ba2461f76ff94b73b8a5c63de6cb934b90 (diff)
downloadbcm5719-llvm-811bd412293b71acd70f111921b82677159ea551.tar.gz
bcm5719-llvm-811bd412293b71acd70f111921b82677159ea551.zip
Fix bug: test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash2.ll
llvm-svn: 2932
Diffstat (limited to 'llvm/lib/Transforms/LevelRaise.cpp')
-rw-r--r--llvm/lib/Transforms/LevelRaise.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/LevelRaise.cpp b/llvm/lib/Transforms/LevelRaise.cpp
index 54a2930fc0d..1defda4d845 100644
--- a/llvm/lib/Transforms/LevelRaise.cpp
+++ b/llvm/lib/Transforms/LevelRaise.cpp
@@ -68,7 +68,9 @@ static bool HandleCastToPointer(BasicBlock::iterator BI,
for (Value::use_iterator I = CI.use_begin(), E = CI.use_end();
I != E; ++I) {
if (BinaryOperator *BO = dyn_cast<BinaryOperator>(*I)) {
- if (BO->getOpcode() != Instruction::Add)
+ if (BO->getOpcode() != Instruction::Add ||
+ // Avoid add sbyte* %X, %X cases...
+ BO->getOperand(0) == BO->getOperand(1))
return false;
} else {
return false;
OpenPOWER on IntegriCloud