From 1913c112f51ae78cf3ec69d81e3a3a9f6f4c014b Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 4 Aug 2003 02:11:05 +0000 Subject: [PATCH] New testcase 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 | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 test/CodeGen/X86/2003-08-03-CallArgLiveRanges.llx diff --git a/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.llx b/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.llx new file mode 100644 index 00000000000..c3f46352364 --- /dev/null +++ b/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.llx @@ -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 +} -- 2.34.1