61 lines · plain
1; RUN: llvm-as < %s | llvm-dis | FileCheck %s2; RUN: verify-uselistorder < %s3; PR98574 5define void @f(i8** nocapture %ptr1) {6; CHECK: define void @f7entry:8 br label %here.i9 10here.i:11 store i8* blockaddress(@doit, %here), i8** %ptr1, align 812; CHECK: blockaddress(@doit, %here)13 br label %doit.exit14 15doit.exit:16 ret void17}18 19define void @doit(i8** nocapture %pptr) {20; CHECK: define void @doit21entry:22 br label %here23 24here:25 store i8* blockaddress(@doit, %here), i8** %pptr, align 826; CHECK: blockaddress(@doit, %here)27 br label %end28 29end:30 ret void31}32 33; PR1389534define void @doitagain(i8** nocapture %pptr) {35; CHECK: define void @doitagain36entry:37 br label %here38 39here:40 store i8* blockaddress(@doit, %here), i8** %pptr, align 841; CHECK: blockaddress(@doit, %here)42 br label %end43 44end:45 ret void46}47 48; Check a blockaddress taken in two separate functions before the referenced49; function.50define i8* @take1() {51 ret i8* blockaddress(@taken, %bb)52}53define i8* @take2() {54 ret i8* blockaddress(@taken, %bb)55}56define void @taken() {57 unreachable58bb:59 unreachable60}61