mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-30 06:38:14 +00:00
New entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34000 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8bed6c968f
commit
2ef02a220e
@ -145,3 +145,12 @@ ldr r2, [r2, #7 * 4]
|
|||||||
This is especially bad when dynamic alloca is used. The all fixed size stack
|
This is especially bad when dynamic alloca is used. The all fixed size stack
|
||||||
objects are referenced off the frame pointer with negative offsets. See
|
objects are referenced off the frame pointer with negative offsets. See
|
||||||
oggenc for an example.
|
oggenc for an example.
|
||||||
|
|
||||||
|
//===---------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
We are reserving R3 as a scratch register under thumb mode. So if it is live in
|
||||||
|
to the function, we save / restore R3 to / from R12. Until register scavenging
|
||||||
|
is done, we should save R3 to a high callee saved reg at emitPrologue time
|
||||||
|
(when hasFP is true or stack size is large) and restore R3 from that register
|
||||||
|
instead. This allows us to at least get rid of the save to r12 everytime it is
|
||||||
|
used.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user