diff options
author | Andrew Trick <atrick@apple.com> | 2010-11-12 17:57:22 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2010-11-12 17:57:22 +0000 |
commit | 4252ffdef692d8be498474d75e820aafa8a4b9b4 (patch) | |
tree | 7e0883f1b3c42a52c87b05227afd945435169214 /test/CodeGen/Generic | |
parent | 80f9e6724fa98b5af0bb43f58002c1ac3e9cb30b (diff) | |
download | llvm-4252ffdef692d8be498474d75e820aafa8a4b9b4.tar.gz llvm-4252ffdef692d8be498474d75e820aafa8a4b9b4.tar.bz2 llvm-4252ffdef692d8be498474d75e820aafa8a4b9b4.tar.xz |
Test case for PR8287: SD scheduling time. Fixed in r118904.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118906 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/Generic')
-rw-r--r-- | test/CodeGen/Generic/2010-11-11-ReturnBigBuffer.ll | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/CodeGen/Generic/2010-11-11-ReturnBigBuffer.ll b/test/CodeGen/Generic/2010-11-11-ReturnBigBuffer.ll new file mode 100644 index 0000000000..73e26e7929 --- /dev/null +++ b/test/CodeGen/Generic/2010-11-11-ReturnBigBuffer.ll @@ -0,0 +1,31 @@ +; RUN: llc < %s PR8287: SelectionDag scheduling time. +; Yes, some front end really produces this code. But that is a +; separate bug. This is more an example than a real test, because I +; don't know how give llvm-lit a timeout. + +define void @foo([4096 x i8]* %arg1, [4096 x i8]* %arg2) { + %buffer = alloca [4096 x i8] + %pbuf = alloca [4096 x i8]* + store [4096 x i8]* %buffer, [4096 x i8]** %pbuf + + %parg1 = alloca [4096 x i8]* + store [4096 x i8]* %arg1, [4096 x i8]** %parg1 + + %parg2 = alloca [4096 x i8]* + store [4096 x i8]* %arg2, [4096 x i8]** %parg2 + + ; The original test case has intermediate blocks. + ; Presumably something fills in "buffer". + + %bufferCopy1 = load [4096 x i8]** %pbuf + %dataCopy1 = load [4096 x i8]* %bufferCopy1 + %arg1Copy = load [4096 x i8]** %parg1 + store [4096 x i8] %dataCopy1, [4096 x i8]* %arg1Copy + + %bufferCopy2 = load [4096 x i8]** %pbuf + %dataCopy2 = load [4096 x i8]* %bufferCopy2 + %arg2Copy = load [4096 x i8]** %parg2 + store [4096 x i8] %dataCopy2, [4096 x i8]* %arg2Copy + + ret void +} |