Pasto. Lots of it.
authorEvan Cheng <evan.cheng@apple.com>
Thu, 1 Feb 2007 20:44:52 +0000 (20:44 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 1 Feb 2007 20:44:52 +0000 (20:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33762 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMConstantIslandPass.cpp

index 02b15207ba0189844a7a26e3ee8aec048b532d37..35066faf554cac566464077913e7f9b80521eca8 100644 (file)
@@ -311,12 +311,10 @@ void ARMConstantIslands::InitialFunctionScan(MachineFunction &Fn,
             Scale = 4;  // Taking the address of a CP entry.
             break;
           case ARMII::AddrMode2:
-            Bits = 12;
-            Scale = 2;  // +-offset_12
+            Bits = 12;  // +-offset_12
             break;
           case ARMII::AddrMode3:
-            Bits = 8;
-            Scale = 2;  // +-offset_8
+            Bits = 8;   // +-offset_8
             break;
             // addrmode4 has no immediate offset.
           case ARMII::AddrMode5:
@@ -342,7 +340,7 @@ void ARMConstantIslands::InitialFunctionScan(MachineFunction &Fn,
 
           // Remember that this is a user of a CP entry.
           MachineInstr *CPEMI =CPEMIs[I->getOperand(op).getConstantPoolIndex()];
-          unsigned MaxOffs = (1 << (Bits-1)) * Scale;          
+          unsigned MaxOffs = ((1 << Bits)-1) * Scale;          
           CPUsers.push_back(CPUser(I, CPEMI, MaxOffs));
           
           // Instructions can only use one CP entry, don't bother scanning the