mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-19 04:32:19 +00:00
The verify() call of CPEIsInRange() isn't right for the assertion check of
constant pool ranges, as CPEIsInRange() makes conservative assumptions about the potential alignment changes from branch adjustments. The verification, on the other hand, runs after those branch adjustments are made, so the effects on alignment are known and already taken into account. The sanity check in verify should check the range directly instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89473 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5bd698e65c
commit
a9562568e5
@ -244,12 +244,15 @@ void ARMConstantIslands::verify(MachineFunction &MF) {
|
||||
(BBOffsets[MBBId]%4 != 0 && BBSizes[MBBId]%4 != 0));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
for (unsigned i = 0, e = CPUsers.size(); i != e; ++i) {
|
||||
CPUser &U = CPUsers[i];
|
||||
unsigned UserOffset = GetOffsetOf(U.MI) + (isThumb ? 4 : 8);
|
||||
assert (CPEIsInRange(U.MI, UserOffset, U.CPEMI, U.MaxDisp, U.NegOk, true));
|
||||
unsigned CPEOffset = GetOffsetOf(U.CPEMI);
|
||||
unsigned Disp = UserOffset < CPEOffset ? CPEOffset - UserOffset :
|
||||
UserOffset - CPEOffset;
|
||||
assert(Disp <= U.MaxDisp || "Constant pool entry out of range!");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/// print block size and offset information - debugging
|
||||
|
Loading…
x
Reference in New Issue
Block a user