OSDN Git Service

[MachineOutliner] Outline calls
authorJessica Paquette <jpaquette@apple.com>
Sat, 9 Dec 2017 00:43:49 +0000 (00:43 +0000)
committerJessica Paquette <jpaquette@apple.com>
Sat, 9 Dec 2017 00:43:49 +0000 (00:43 +0000)
commitce39caef81ecf0369ae4fa382c6f40c7409a08b4
tree12cf16ffcc74a127efa0921020f7d59090a23181
parent45db4ee0fc2be6272020a21a1eb90b8078ecc7d3
[MachineOutliner] Outline calls

The outliner previously would never outline calls. Calls are pretty common in
files, so it makes sense to outline them. In fact, in the LLVM test suite, if
you count the number of instructions that the outliner misses when you outline
calls vs when you don't, it turns out that, on average, around 6% of the
instructions encountered are calls. So, if we outline calls, we can find more
candidates, and thus save some more space.

This commit adds that functionality and updates the mir test to reflect that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320229 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64InstrInfo.cpp
test/CodeGen/AArch64/machine-outliner.mir