brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 41ea912 Raw
56 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=x86_64-pc-linux-gnu -tail-merge-threshold 2 < %s | FileCheck %s3 4; Test that we still do some merging if a block has more than5; tail-merge-threshold predecessors.6 7declare void @bar()8 9define void @foo(i32 %xxx) nounwind {10; CHECK-LABEL: foo:11; CHECK:       # %bb.0:12; CHECK-NEXT:    pushq %rax13; CHECK-NEXT:    cmpl $3, %edi14; CHECK-NEXT:    ja .LBB0_415; CHECK-NEXT:  # %bb.1:16; CHECK-NEXT:    movl %edi, %eax17; CHECK-NEXT:    jmpq *.LJTI0_0(,%rax,8)18; CHECK-NEXT:  .LBB0_3: # %bb319; CHECK-NEXT:    callq bar@PLT20; CHECK-NEXT:    popq %rax21; CHECK-NEXT:    retq22; CHECK-NEXT:  .LBB0_4: # %bb423; CHECK-NEXT:    callq bar@PLT24; CHECK-NEXT:    popq %rax25; CHECK-NEXT:    retq26  switch i32 %xxx, label %bb4 [27    i32 0, label %bb028    i32 1, label %bb129    i32 2, label %bb230    i32 3, label %bb331  ]32 33bb0:34  call void @bar()35  br label %bb536 37bb1:38 call void @bar()39 br label %bb540 41bb2:42  call void @bar()43  br label %bb544 45bb3:46  call void @bar()47  br label %bb548 49bb4:50  call void @bar()51  br label %bb552 53bb5:54  ret void55}56