It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Transforms/LCSSA/basictest.ll b/test/Transforms/LCSSA/basictest.ll
new file mode 100644
index 0000000..4dc1f54
--- /dev/null
+++ b/test/Transforms/LCSSA/basictest.ll
@@ -0,0 +1,28 @@
+; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \
+; RUN: grep {X3.lcssa = phi i32}
+; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \
+; RUN: grep {X4 = add i32 3, %X3.lcssa}
+
+void %lcssa(bool %S2) {
+entry:
+ br label %loop.interior
+
+loop.interior: ; preds = %entry
+ br bool %S2, label %if.true, label %if.false
+
+if.true:
+ %X1 = add int 0, 0
+ br label %post.if
+
+if.false:
+ %X2 = add int 0, 1
+ br label %post.if
+
+post.if:
+ %X3 = phi int [%X1, %if.true], [%X2, %if.false]
+ br bool %S2, label %loop.exit, label %loop.interior
+
+loop.exit:
+ %X4 = add int 3, %X3
+ ret void
+}