1; RUN: llvm-as < %s -disable-output 2>&1 | FileCheck %s -allow-empty 2; CHECK-NOT: error 3; CHECK-NOT: warning 4; RUN: verify-uselistorder < %s 5 6@ba1 = constant i8* blockaddress (@bafunc1, %bb) 7@ba2 = constant i8* getelementptr (i8, i8* blockaddress (@bafunc2, %bb), i61 0) 8@ba3 = constant i8* getelementptr (i8, i8* blockaddress (@bafunc2, %bb), i61 0) 9 10define i8* @babefore() { 11 ret i8* getelementptr (i8, i8* blockaddress (@bafunc2, %bb), i61 0) 12bb1: 13 ret i8* blockaddress (@bafunc1, %bb) 14bb2: 15 ret i8* blockaddress (@bafunc3, %bb) 16} 17define void @bafunc1() { 18 br label %bb 19bb: 20 unreachable 21} 22define void @bafunc2() { 23 br label %bb 24bb: 25 unreachable 26} 27define void @bafunc3() { 28 br label %bb 29bb: 30 unreachable 31} 32define i8* @baafter() { 33 ret i8* blockaddress (@bafunc2, %bb) 34bb1: 35 ret i8* blockaddress (@bafunc1, %bb) 36bb2: 37 ret i8* blockaddress (@bafunc3, %bb) 38} 39 40uselistorder_bb @bafunc1, %bb, { 1, 0 } 41uselistorder_bb @bafunc2, %bb, { 1, 0 } 42uselistorder_bb @bafunc3, %bb, { 1, 0 } 43