summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-12-08 01:10:05 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-12-08 01:10:05 +0000
commitbd97f5d753cd98f4b48731cfaa9df8c0aca29c94 (patch)
tree54e26a32c8740c3020c0f156d367a36d03a19985 /llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
parent0dd1bc9c792efc9417551492c3826b1673b168b4 (diff)
downloadbcm5719-llvm-bd97f5d753cd98f4b48731cfaa9df8c0aca29c94.tar.gz
bcm5719-llvm-bd97f5d753cd98f4b48731cfaa9df8c0aca29c94.zip
Simplify offset verification.
llvm-svn: 146121
Diffstat (limited to 'llvm/lib/Target/ARM/ARMConstantIslandPass.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMConstantIslandPass.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp b/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
index e14db5d52fb..844469eadd6 100644
--- a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
+++ b/llvm/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];
OpenPOWER on IntegriCloud