Neg instruction removed. Cast instruction implemented.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2001-07-08 04:57:15 +00:00
parent f22696f209
commit 0908309e3c
19 changed files with 752 additions and 722 deletions

View File

@@ -79,16 +79,6 @@ static LIVType isLinearInductionVariableH(cfg::Interval *Int, Value *V,
// loop variant computations must be instructions!
Instruction *I = V->castInstructionAsserting();
switch (I->getOpcode()) { // Handle each instruction seperately
case Instruction::Neg: {
Value *SubV = ((UnaryOperator*)I)->getOperand(0);
LIVType SubLIVType = isLinearInductionVariableH(Int, SubV, PN);
switch (SubLIVType) {
case isLIC: // Loop invariant & other computations remain the same
case isOther: return SubLIVType;
case isLIV: // Return the opposite signed LIV type
case isNLIV: return neg(isLIV);
}
}
case Instruction::Add:
case Instruction::Sub: {
Value *SubV1 = ((BinaryOperator*)I)->getOperand(0);