1 # RUN: llc -march=x86-64 -verify-machineinstrs -run-pass block-placement -o - %s | FileCheck %s 2 # Check the conditional jump in bb.1 is changed to unconditional after block placement swaps bb.2 and bb.3. 3 4 --- | 5 @a = external global i16 6 @b = external global i32 7 8 ; Function Attrs: nounwind 9 define void @f2() { 10 br i1 undef, label %bb1, label %bb3 11 12 bb1: 13 br i1 undef, label %bb2, label %bb2 14 15 bb2: 16 br label %bb4 17 18 bb3: 19 br label %bb2 20 21 bb4: 22 ret void 23 } 24 25 26 ... 27 --- 28 # CHECK-LABEL: name: f2 29 # CHECK: bb.1: 30 # CHECK: JMP_1 %bb.2 31 # CHECK: bb.3: 32 # CHECK: bb.2: 33 name: f2 34 body: | 35 bb.0 (%ir-block.0): 36 successors: %bb.1(50), %bb.3(50) 37 38 JNE_1 %bb.1, implicit %eflags 39 JMP_1 %bb.3 40 bb.1: 41 successors: %bb.2(100) 42 43 JNE_1 %bb.2, implicit %eflags 44 45 bb.2: 46 successors: %bb.4(100) 47 48 JMP_1 %bb.4 49 50 bb.3: 51 successors: %bb.2(100) 52 JMP_1 %bb.2 53 54 bb.4: 55 RETQ 56 57 ... 58