Fix Regression/Transforms/Reassociate/2005-08-24-Crash.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23019 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-08-24 17:55:32 +00:00
parent fa48be79ae
commit ac83b0301e

View File

@ -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;
}