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
This commit is contained in:
Andrew Trick 2010-11-12 17:57:22 +00:00
parent 80f9e6724f
commit 4252ffdef6

View File

@ -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
}