[llvm-commits] CVS: llvm/test/Regression/CodeGen/X86/regpressure.ll

Chris Lattner lattner at cs.uiuc.edu
Mon Jan 17 15:16:16 PST 2005



Changes in directory llvm/test/Regression/CodeGen/X86:

regpressure.ll updated: 1.1 -> 1.2
---
Log message:

This is a carefully contrived testcase where the X86 ISel is emitting all loads
before other ops, causing it to spill like mad.  This occurs in 
164.gzip:flush_block.


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

Index: llvm/test/Regression/CodeGen/X86/regpressure.ll
diff -u llvm/test/Regression/CodeGen/X86/regpressure.ll:1.1 llvm/test/Regression/CodeGen/X86/regpressure.ll:1.2
--- llvm/test/Regression/CodeGen/X86/regpressure.ll:1.1	Mon Jan 10 21:05:03 2005
+++ llvm/test/Regression/CodeGen/X86/regpressure.ll	Mon Jan 17 17:16:01 2005
@@ -70,3 +70,48 @@
 	ret int %s9
 }
 
+;; adds should be the same as muls.
+int %regpressure3(short* %P, bool %Cond, int* %Other) {
+	%A = load short* %P
+	%Bp = getelementptr short* %P, int 1
+	%B = load short* %Bp
+	%Cp = getelementptr short* %P, int 2
+	%C = load short* %Cp
+	%Dp = getelementptr short* %P, int 3
+	%D = load short* %Dp
+	%Ep = getelementptr short* %P, int 4
+	%E = load short* %Ep
+	%Fp = getelementptr short* %P, int 5
+	%F = load short* %Fp
+	%Gp = getelementptr short* %P, int 6
+	%G = load short* %Gp
+	%Hp = getelementptr short* %P, int 7
+	%H = load short* %Hp
+	%Ip = getelementptr short* %P, int 8
+	%I = load short* %Ip
+	%Jp = getelementptr short* %P, int 9
+	%J = load short* %Jp
+
+        ;; These casts prevent folding the loads into the adds.
+	%A = cast short %A to int
+	%B = cast short %B to int
+	%D = cast short %D to int
+	%C = cast short %C to int
+	%E = cast short %E to int
+	%F = cast short %F to int
+	%G = cast short %G to int
+	%H = cast short %H to int
+	%I = cast short %I to int
+	%J = cast short %J to int
+	%s1 = add int %A, %B
+	%s2 = add int %C, %s1
+	%s3 = add int %D, %s2
+	%s4 = add int %E, %s3
+	%s5 = add int %F, %s4
+	%s6 = add int %G, %s5
+	%s7 = add int %H, %s6
+	%s8 = add int %I, %s7
+	%s9 = add int %J, %s8
+	ret int %s9
+}
+






More information about the llvm-commits mailing list