# RUN: llc -mtriple=x86_64-unknown-linux-gnu -run-pass=block-placement -profile-likely-prob=80 %s -o - | FileCheck %s # # Test for profiled triangular CFG handling in MachineBlockPlacement # Verify that a large ProfileLikelyProb value does not fail compilation --- | define i32 @main(i32 %argc, ptr %argv) #0 !prof !0 { entry: %cmp = icmp sgt i32 %argc, 1 br i1 %cmp, label %pred, label %succ, !prof !1 succ: ret i32 0 pred: br label %succ } attributes #0 = { nounwind "use-sample-profile" } !0 = !{!"function_entry_count", i64 1} !1 = !{!"branch_weights", i32 0, i32 1} ... --- name: main alignment: 1 tracksRegLiveness: true noPhis: true isSSA: false noVRegs: true liveins: - { reg: '$edi', virtual-reg: '' } body: | bb.0.entry: successors: %bb.1(0x00000000), %bb.2(0x80000000) liveins: $edi CMP32ri killed renamable $edi, 1, implicit-def $eflags JCC_1 %bb.2, 15, implicit killed $eflags bb.1.succ: $eax = MOV32ri 0 RET64 $eax bb.2.pred: successors: %bb.1(0x80000000) JMP_1 %bb.1 ... # CHECK: name: main # CHECK: bb.0.entry: # CHECK: successors: %bb.1 # CHECK-SAME: %bb.2 # CHECK: JCC_1 %bb.1 # CHECK: bb.2.pred: # CHECK: successors: %bb.1 # CHECK: bb.1.succ: # CHECK: RET64