[llvm-commits] [llvm] r86857 - /llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp
Jim Grosbach
grosbach at apple.com
Wed Nov 11 11:04:24 PST 2009
Author: grosbach
Date: Wed Nov 11 13:04:24 2009
New Revision: 86857
URL: http://llvm.org/viewvc/llvm-project?rev=86857&view=rev
Log:
Do jump table adjustment before constant island allocation
Modified:
llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp
Modified: llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp?rev=86857&r1=86856&r2=86857&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp Wed Nov 11 13:04:24 2009
@@ -294,6 +294,11 @@
// sizes of each block, the location of all the water, and finding all of the
// constant pool users.
InitialFunctionScan(MF, CPEMIs);
+
+ bool MadeChange = false;
+ if (isThumb2)
+ MadeChange |= OptimizeThumb2JumpTables(MF);
+
CPEMIs.clear();
/// Remove dead constant pool entries.
@@ -301,7 +306,6 @@
// Iteratively place constant pool entries and fix up branches until there
// is no change.
- bool MadeChange = false;
unsigned NoCPIters = 0, NoBRIters = 0;
while (true) {
bool CPChange = false;
@@ -1476,7 +1480,6 @@
}
MadeChange |= OptimizeThumb2Branches(MF);
- MadeChange |= OptimizeThumb2JumpTables(MF);
return MadeChange;
}
@@ -1722,8 +1725,8 @@
JTBB->addSuccessor(NewBB);
// Update internal data structures to account for the newly inserted MBB.
- // This is almost the same as UpdateForInsertedWaterBlock, except that
- // the Water goes after OrigBB, not NewBB.
+ // Don't mark the new block as having water following it, as we want the
+ // blocks following the jump table to be as close together as possible.
MF.RenumberBlocks(NewBB);
// Insert a size into BBSizes to align it properly with the (newly
More information about the llvm-commits
mailing list