summaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2013-12-14 06:53:06 +0000
committerJuergen Ributzka <juergen@apple.com>2013-12-14 06:53:06 +0000
commitaaecc0fc0898be1bdd0f5e6f67230cae559f61b8 (patch)
treecf0d1f3e2dfe34a15ac348cf9a77a61bec741efe /lib/CodeGen/AsmPrinter/AsmPrinter.cpp
parentcdeccb0c224f8c5863ef769c582b2f7c3cbb043c (diff)
downloadllvm-aaecc0fc0898be1bdd0f5e6f67230cae559f61b8.tar.gz
llvm-aaecc0fc0898be1bdd0f5e6f67230cae559f61b8.tar.bz2
llvm-aaecc0fc0898be1bdd0f5e6f67230cae559f61b8.tar.xz
[Stackmap] Liveness Analysis Pass
This optional register liveness analysis pass can be enabled with either -enable-stackmap-liveness, -enable-patchpoint-liveness, or both. The pass traverses each basic block in a machine function. For each basic block the instructions are processed in reversed order and if a patchpoint or stackmap instruction is encountered the current live-out register set is encoded as a register mask and attached to the instruction. Later on during stackmap generation the live-out register mask is processed and also emitted as part of the stackmap. This information is optional and intended for optimization purposes only. This will enable a client of the stackmap to reason about the registers it can use and which registers need to be preserved. Reviewed by Andy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197317 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
0 files changed, 0 insertions, 0 deletions