OSDN Git Service

Try to align the point where a large basic block is split.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 10 Dec 2011 02:55:10 +0000 (02:55 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 10 Dec 2011 02:55:10 +0000 (02:55 +0000)
commit77caaf0fc000a1e2e2afe949b6205ea5db668be9
tree5a0cba4d229ec9c226315267e15bcafd99e15e8f
parent2d5023bbcf816de39e37d9fea6dfa8f7aadb393f
Try to align the point where a large basic block is split.

The split point is picked such that the newly created water has the same
alignment as the function. This makes the island suitable for constant
pool entries with potentially higher alignment.

This also fixes an issue where the basic block was split one instruction
too late, causing nonconvergence of the algorithm.

<rdar://problem/10550705>

There is still an issue with correctly packing differently aligned
entries in the island.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146314 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMConstantIslandPass.cpp