[llvm-commits] CVS: llvm/lib/Target/ARM/README-Thumb.txt

Evan Cheng evan.cheng at apple.com
Wed Feb 7 01:22:31 PST 2007



Changes in directory llvm/lib/Target/ARM:

README-Thumb.txt updated: 1.7 -> 1.8
---
Log message:

New entry.

---
Diffs of the changes:  (+9 -0)

 README-Thumb.txt |    9 +++++++++
 1 files changed, 9 insertions(+)


Index: llvm/lib/Target/ARM/README-Thumb.txt
diff -u llvm/lib/Target/ARM/README-Thumb.txt:1.7 llvm/lib/Target/ARM/README-Thumb.txt:1.8
--- llvm/lib/Target/ARM/README-Thumb.txt:1.7	Wed Feb  7 02:37:57 2007
+++ llvm/lib/Target/ARM/README-Thumb.txt	Wed Feb  7 03:22:15 2007
@@ -145,3 +145,12 @@
 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
 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.






More information about the llvm-commits mailing list