From: Evan Cheng Date: Wed, 31 Jan 2007 23:35:18 +0000 (+0000) Subject: Handle an interesting corner case: the constpool_entry being reference is two X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a2e35588c669a70fdc81426df8654fb4efc1d7f4;p=oota-llvm.git Handle an interesting corner case: the constpool_entry being reference is two instructions away, i.e. its address is equal to PC. %r0 = tLDRpci bx CONSTPOOL_ENTRY 0 , 4 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33728 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/ARMConstantIslandPass.cpp b/lib/Target/ARM/ARMConstantIslandPass.cpp index 132ec8030fd..93115288b92 100644 --- a/lib/Target/ARM/ARMConstantIslandPass.cpp +++ b/lib/Target/ARM/ARMConstantIslandPass.cpp @@ -472,7 +472,7 @@ bool ARMConstantIslands::CPEIsInRange(MachineInstr *MI, MachineInstr *CPEMI, << " at offset " << int(UserOffset-CPEOffset) << "\t" << *MI); - if (UserOffset < CPEOffset) { + if (UserOffset <= CPEOffset) { // User before the CPE. if (CPEOffset-UserOffset <= MaxDisp) return true; @@ -563,7 +563,7 @@ bool ARMConstantIslands::BBIsInRange(MachineInstr *MI,MachineBasicBlock *DestBB, << " at offset " << int(BrOffset-DestOffset) << "\t" << *MI); - if (BrOffset < DestOffset) { + if (BrOffset <= DestOffset) { if (DestOffset - BrOffset < MaxDisp) return true; } else {