39 lines · plain
1; This used to be invalid, but now it's valid. Ensure the verifier2; doesn't reject it.3; RUN: llvm-as %s -o /dev/null4 5declare void @doit(ptr inalloca(i64) %a)6 7define void @a() {8entry:9 %a = alloca inalloca [2 x i32]10 call void @doit(ptr inalloca(i64) %a)11 ret void12}13 14define void @b() {15entry:16 %a = alloca inalloca i6417 call void @doit(ptr inalloca(i64) %a)18 call void @doit(ptr inalloca(i64) %a)19 ret void20}21 22define void @c(i1 %cond) {23entry:24 br i1 %cond, label %if, label %else25 26if:27 %a = alloca inalloca i6428 br label %call29 30else:31 %b = alloca inalloca i6432 br label %call33 34call:35 %args = phi ptr [ %a, %if ], [ %b, %else ]36 call void @doit(ptr inalloca(i64) %args)37 ret void38}39