44 lines · plain
1; RUN: llvm-as < %s | llvm-dis > %t1.ll2; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll3; RUN: diff %t1.ll %t2.ll4 5 %int = type i326 7define i32 @squared(i32 %i0) {8 switch i32 %i0, label %Default [9 i32 1, label %Case110 i32 2, label %Case211 i32 4, label %Case412 ]13 14Default: ; preds = %015 ret i32 -116 17Case1: ; preds = %018 ret i32 119 20Case2: ; preds = %021 ret i32 422 23Case4: ; preds = %024 ret i32 1625}26 27 28@Addr = global ptr blockaddress(@indbrtest, %BB1)29@Addr3 = global ptr blockaddress(@squared, %Case1)30 31 32define i32 @indbrtest(ptr %P, ptr %Q) {33 indirectbr ptr %P, [label %BB1, label %BB2, label %BB3]34BB1:35 indirectbr ptr %Q, []36BB2:37 %R = bitcast ptr blockaddress(@indbrtest, %BB3) to ptr38 indirectbr ptr %R, [label %BB1, label %BB2, label %BB3]39BB3:40 ret i32 241}42 43 44