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