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 | 7fa6964dc2df14a626fc5b1c90f9e747d60defef (patch) | |
tree | 7fd23547156a396521837101fc97d4a9bc7c9e68 /llvm/lib/Transforms/Utils/CloneModule.cpp | |
parent | 863736b0ad3fd26fc60f8d9ba0ff24cfc92a5624 (diff) | |
download | llvm-7fa6964dc2df14a626fc5b1c90f9e747d60defef.zip llvm-7fa6964dc2df14a626fc5b1c90f9e747d60defef.tar.gz llvm-7fa6964dc2df14a626fc5b1c90f9e747d60defef.tar.bz2 |
- 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
llvm-svn: 33650
Diffstat (limited to 'llvm/lib/Transforms/Utils/CloneModule.cpp')
0 files changed, 0 insertions, 0 deletions