brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · db109df Raw
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