Add an inalloca flag to allocas
[oota-llvm.git] / test / Verifier / inalloca2.ll
index ed65667dc30808ec721328190185392f9964ef6b..e4e81be38615d0d666ae4554f4c6273c2d7cc903 100644 (file)
@@ -6,7 +6,7 @@ declare void @doit(i64* inalloca %a)
 
 define void @a() {
 entry:
-  %a = alloca [2 x i32]
+  %a = alloca [2 x i32], inalloca
   %b = bitcast [2 x i32]* %a to i64*
   call void @doit(i64* inalloca %b)
   ret void
@@ -14,8 +14,26 @@ entry:
 
 define void @b() {
 entry:
-  %a = alloca i64
+  %a = alloca i64, inalloca
   call void @doit(i64* inalloca %a)
   call void @doit(i64* inalloca %a)
   ret void
 }
+
+define void @c(i1 %cond) {
+entry:
+  br i1 %cond, label %if, label %else
+
+if:
+  %a = alloca i64, inalloca
+  br label %call
+
+else:
+  %b = alloca i64, inalloca
+  br label %call
+
+call:
+  %args = phi i64* [ %a, %if ], [ %b, %else ]
+  call void @doit(i64* inalloca %args)
+  ret void
+}