Allow targets to custom handle softening of results or operands before trying the...
[oota-llvm.git] / lib / CodeGen / README.txt
index f7975fea6d190f6f013c10ffe8a66a4854ef571e..64374ce137fd7a0da617ff1df571ad30130df1f8 100644 (file)
@@ -87,14 +87,14 @@ scheduled after any node that reads %reg1039.
 
 Use local info (i.e. register scavenger) to assign it a free register to allow
 reuse:
-       ldr r3, [sp, #+4]
-       add r3, r3, #3
-       ldr r2, [sp, #+8]
-       add r2, r2, #2
-       ldr r1, [sp, #+4]  <==
-       add r1, r1, #1
-       ldr r0, [sp, #+4]
-       add r0, r0, #2
+        ldr r3, [sp, #+4]
+        add r3, r3, #3
+        ldr r2, [sp, #+8]
+        add r2, r2, #2
+        ldr r1, [sp, #+4]  <==
+        add r1, r1, #1
+        ldr r0, [sp, #+4]
+        add r0, r0, #2
 
 //===---------------------------------------------------------------------===//
 
@@ -200,4 +200,9 @@ synthesize the various copy insertion/inspection methods in TargetInstrInfo.
 
 //===---------------------------------------------------------------------===//
 
-Avoid issuing copies of TargetInstrInfo::implicit_def.
+Stack coloring improvments:
+
+1. Do proper LiveStackAnalysis on all stack objects including those which are
+   not spill slots.
+2. Reorder objects to fill in gaps between objects.
+   e.g. 4, 1, <gap>, 4, 1, 1, 1, <gap>, 4 => 4, 1, 1, 1, 1, 4, 4