diff options
author | Gerolf Hoflehner <ghoflehner@apple.com> | 2014-04-30 22:05:02 +0000 |
---|---|---|
committer | Gerolf Hoflehner <ghoflehner@apple.com> | 2014-04-30 22:05:02 +0000 |
commit | fff0879df07ce0f449b00a9ed4b3d7732735bc4e (patch) | |
tree | 091448abf76e63f84052b71303770cb6d0c1b74c /lib/CodeGen/LiveVariables.cpp | |
parent | 593cb79eb5517d821248ba0698f35e0a6e65b6e4 (diff) | |
download | llvm-fff0879df07ce0f449b00a9ed4b3d7732735bc4e.tar.gz llvm-fff0879df07ce0f449b00a9ed4b3d7732735bc4e.tar.bz2 llvm-fff0879df07ce0f449b00a9ed4b3d7732735bc4e.tar.xz |
Patch for function cloning to inline all blocks whose address is taken
Not all address taken blocks get inlined. The reason is
that a blocks new address is known only when it is cloned. But e.g.
a branch instruction in a different block could need that address earlier
while it gets cloned. The solution is to collect the set of all
blocks that can potentially get inlined and compute a new block address
up front. Then clone and cleanup.
rdar://16427209
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207713 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveVariables.cpp')
0 files changed, 0 insertions, 0 deletions