diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-01-30 01:18:38 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-01-30 01:18:38 +0000 |
commit | d1b2c1e88fe4a7728ca9739b0f1c6fd90a19c5fd (patch) | |
tree | a06f37be3684c1db7e3e3182bf132703a45bc1b2 /lib/Transforms/Instrumentation/EmitFunctions.cpp | |
parent | 225dfe973bd85e36ff16fe7a08e458f285703cc9 (diff) |
- In thumb mode, if size of MachineFunction is >= 2048, force LR to be
spilled (if it is not already).
- If LR is spilled, use BL to implement far jumps. LR is not used as a GPR
in thumb mode so it can be clobbered if it is properly spilled / restored
in prologue / epilogue.
- If LR is force spilled but no far jump has been emitted, try undo'ing the
spill by:
push lr -> delete
pop pc -> bx lr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33650 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Instrumentation/EmitFunctions.cpp')
0 files changed, 0 insertions, 0 deletions