diff --git a/test/Transforms/ScalarRepl/2003-05-29-ArrayFail.ll b/test/Transforms/ScalarRepl/2003-05-29-ArrayFail.ll new file mode 100644 index 00000000000..0f8d480b325 --- /dev/null +++ b/test/Transforms/ScalarRepl/2003-05-29-ArrayFail.ll @@ -0,0 +1,11 @@ +; RUN: as < %s | opt -scalarrepl | dis | grep alloca | grep '4 x' + +; Test that an array is not incorrectly deconstructed... + +int %test() { + %X = alloca [4 x int] + %Y = getelementptr [4 x int]* %X, long 0, long 0 + %Z = getelementptr int* %Y, long 1 ; Must preserve arrayness! + %A = load int* %Z + ret int %A +}