diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-12-08 01:10:05 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-12-08 01:10:05 +0000 |
commit | 99486be8bad67f70445df99fd0c07d17eb8b1c05 (patch) | |
tree | 689447e40a1890ec3ccd506ef533d74d85f421ca /lib/Target/ARM/ARMConstantIslandPass.cpp | |
parent | 517a013a4fb6ead3b395e05dfdc04a622931eb36 (diff) |
Simplify offset verification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146121 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMConstantIslandPass.cpp')
-rw-r--r-- | lib/Target/ARM/ARMConstantIslandPass.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/Target/ARM/ARMConstantIslandPass.cpp b/lib/Target/ARM/ARMConstantIslandPass.cpp index e14db5d52f..844469eadd 100644 --- a/lib/Target/ARM/ARMConstantIslandPass.cpp +++ b/lib/Target/ARM/ARMConstantIslandPass.cpp @@ -292,19 +292,14 @@ namespace { /// verify - check BBOffsets, BBSizes, alignment of islands void ARMConstantIslands::verify(MachineFunction &MF) { - if (!isThumb) - return; #ifndef NDEBUG for (MachineFunction::iterator MBBI = MF.begin(), E = MF.end(); MBBI != E; ++MBBI) { MachineBasicBlock *MBB = MBBI; - if (!MBB->empty() && - MBB->begin()->getOpcode() == ARM::CONSTPOOL_ENTRY) { - unsigned MBBId = MBB->getNumber(); - assert(HasInlineAsm || - (BBInfo[MBBId].Offset%4 == 0 && BBInfo[MBBId].Size%4 == 0) || - (BBInfo[MBBId].Offset%4 != 0 && BBInfo[MBBId].Size%4 != 0)); - } + unsigned Align = MBB->getAlignment(); + unsigned MBBId = MBB->getNumber(); + assert(BBInfo[MBBId].Offset % (1u << Align) == 0); + assert(!MBBId || BBInfo[MBBId - 1].postOffset() <= BBInfo[MBBId].Offset); } for (unsigned i = 0, e = CPUsers.size(); i != e; ++i) { CPUser &U = CPUsers[i]; |