1
0
mirror of https://github.com/c64scene-ar/llvm-6502.git synced 2025-03-27 14:32:21 +00:00

An instruction's operands aren't necessarily instructions or constants. They

could be arguments, for example.

No testcase because this is a bug-fix broken out of a larger optimization patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141951 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nick Lewycky 2011-10-14 09:38:46 +00:00
parent 54a11176f6
commit 4c7f1caadc

@ -4764,7 +4764,8 @@ static Constant *EvaluateExpression(Value *V, const Loop *L,
for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) {
Instruction *Operand = dyn_cast<Instruction>(I->getOperand(i));
if (!Operand) {
Operands[i] = cast<Constant>(I->getOperand(i));
Operands[i] = dyn_cast<Constant>(I->getOperand(i));
if (!Operands[i]) return 0;
continue;
}
Constant *C = EvaluateExpression(Operand, L, Vals, TD);