mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 00:17:01 +00:00
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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user