diff options
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMFastISel.cpp | 9 | ||||
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCFastISel.cpp | 9 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86FastISel.cpp | 9 | 
3 files changed, 6 insertions, 21 deletions
diff --git a/llvm/lib/Target/ARM/ARMFastISel.cpp b/llvm/lib/Target/ARM/ARMFastISel.cpp index f3a74c7109e..a4004f32db3 100644 --- a/llvm/lib/Target/ARM/ARMFastISel.cpp +++ b/llvm/lib/Target/ARM/ARMFastISel.cpp @@ -900,13 +900,8 @@ bool ARMFastISel::ARMComputeAddress(const Value *Obj, Address &Addr) {                TmpOffset += CI->getSExtValue() * S;                break;              } -            if (isa<AddOperator>(Op) && -                (!isa<Instruction>(Op) || -                 FuncInfo.MBBMap[cast<Instruction>(Op)->getParent()] -                 == FuncInfo.MBB) && -                isa<ConstantInt>(cast<AddOperator>(Op)->getOperand(1))) { -              // An add (in the same block) with a constant operand. Fold the -              // constant. +            if (canFoldAddIntoGEP(U, Op)) { +              // A compatible add with a constant operand. Fold the constant.                ConstantInt *CI =                cast<ConstantInt>(cast<AddOperator>(Op)->getOperand(1));                TmpOffset += CI->getSExtValue() * S; diff --git a/llvm/lib/Target/PowerPC/PPCFastISel.cpp b/llvm/lib/Target/PowerPC/PPCFastISel.cpp index 4f8e6c1a101..09117e7ded4 100644 --- a/llvm/lib/Target/PowerPC/PPCFastISel.cpp +++ b/llvm/lib/Target/PowerPC/PPCFastISel.cpp @@ -336,13 +336,8 @@ bool PPCFastISel::PPCComputeAddress(const Value *Obj, Address &Addr) {                TmpOffset += CI->getSExtValue() * S;                break;              } -            if (isa<AddOperator>(Op) && -                (!isa<Instruction>(Op) || -                 FuncInfo.MBBMap[cast<Instruction>(Op)->getParent()] -                 == FuncInfo.MBB) && -                isa<ConstantInt>(cast<AddOperator>(Op)->getOperand(1))) { -              // An add (in the same block) with a constant operand. Fold the -              // constant. +            if (canFoldAddIntoGEP(U, Op)) { +              // A compatible add with a constant operand. Fold the constant.                ConstantInt *CI =                cast<ConstantInt>(cast<AddOperator>(Op)->getOperand(1));                TmpOffset += CI->getSExtValue() * S; diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp index 928dea91b4f..97f96ab72c2 100644 --- a/llvm/lib/Target/X86/X86FastISel.cpp +++ b/llvm/lib/Target/X86/X86FastISel.cpp @@ -561,13 +561,8 @@ redo_gep:            Disp += CI->getSExtValue() * S;            break;          } -        if (isa<AddOperator>(Op) && -            (!isa<Instruction>(Op) || -             FuncInfo.MBBMap[cast<Instruction>(Op)->getParent()] -               == FuncInfo.MBB) && -            isa<ConstantInt>(cast<AddOperator>(Op)->getOperand(1))) { -          // An add (in the same block) with a constant operand. Fold the -          // constant. +        if (canFoldAddIntoGEP(U, Op)) { +          // A compatible add with a constant operand. Fold the constant.            ConstantInt *CI =              cast<ConstantInt>(cast<AddOperator>(Op)->getOperand(1));            Disp += CI->getSExtValue() * S;  | 

