New testcase
authorChris Lattner <sabre@nondot.org>
Mon, 4 Aug 2003 02:11:05 +0000 (02:11 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 4 Aug 2003 02:11:05 +0000 (02:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7557 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/2003-08-03-CallArgLiveRanges.llx [new file with mode: 0644]

diff --git a/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.llx b/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.llx
new file mode 100644 (file)
index 0000000..c3f4635
--- /dev/null
@@ -0,0 +1,15 @@
+; The old instruction selector used to load all arguments to a call up in 
+; registers, then start pushing them all onto the stack.  This is bad news as
+; it makes a ton of annoying overlapping live ranges.  This code should not
+; cause spills!
+;
+; RUN: as < %s | lli -stats 2>&1 | not grep spilled
+
+target endian = little
+target pointersize = 32
+
+int %test(int, int, int, int, int, int, int, int, int, int) { ret int 0 }
+int %main() {
+       %X = call int %test(int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 9, int 10)
+       ret int %X
+}