diff options
author | Serguei Katkov <serguei.katkov@azul.com> | 2017-06-26 06:51:45 +0000 |
---|---|---|
committer | Serguei Katkov <serguei.katkov@azul.com> | 2017-06-26 06:51:45 +0000 |
commit | 0e70206c8fc6a17a2b9b9c55aa2a7ddf982037a6 (patch) | |
tree | df7f6ad4aca13de9f65a0552836a107966b3a1b3 /llvm/test | |
parent | 258245a6effafc7cb73aa0e7713fb25cc894c126 (diff) | |
download | bcm5719-llvm-0e70206c8fc6a17a2b9b9c55aa2a7ddf982037a6.tar.gz bcm5719-llvm-0e70206c8fc6a17a2b9b9c55aa2a7ddf982037a6.zip |
This reverts commit r306272.
Revert "[MBP] do not rotate loop if it creates extra branch"
It breaks the sanitizer build bots. Need to fix this.
llvm-svn: 306276
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/X86/block-placement.ll | 53 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/code_placement_cold_loop_blocks.ll | 5 |
2 files changed, 4 insertions, 54 deletions
diff --git a/llvm/test/CodeGen/X86/block-placement.ll b/llvm/test/CodeGen/X86/block-placement.ll index 1975b036eb2..c7de65d8450 100644 --- a/llvm/test/CodeGen/X86/block-placement.ll +++ b/llvm/test/CodeGen/X86/block-placement.ll @@ -354,7 +354,6 @@ define void @unnatural_cfg2() { ; single-source GCC. ; CHECK-LABEL: unnatural_cfg2 ; CHECK: %entry -; CHECK: %loop.header ; CHECK: %loop.body1 ; CHECK: %loop.body2 ; CHECK: %loop.body4 @@ -362,6 +361,7 @@ define void @unnatural_cfg2() { ; CHECK: %loop.inner2.begin ; CHECK: %loop.body3 ; CHECK: %loop.inner1.begin +; CHECK: %loop.header ; CHECK: %bail entry: @@ -1491,54 +1491,6 @@ ret: ; preds = %endif, %then ret void } -define i32 @not_rotate_if_extra_branch(i32 %count) { -; Test checks that there is no loop rotation -; if it introduces extra branch. -; Specifically in this case because best exit is .header -; but it has fallthrough to .middle block and last block in -; loop chain .slow does not have afallthrough to .header. -; CHECK-LABEL: not_rotate_if_extra_branch -; CHECK: %.entry -; CHECK: %.header -; CHECK: %.middle -; CHECK: %.backedge -; CHECK: %.slow -; CHECK: %.bailout -; CHECK: %.stop -.entry: - %sum.0 = shl nsw i32 %count, 1 - br label %.header - -.header: - %i = phi i32 [ %i.1, %.backedge ], [ 0, %.entry ] - %sum = phi i32 [ %sum.1, %.backedge ], [ %sum.0, %.entry ] - %is_exc = icmp sgt i32 %i, 9000000 - br i1 %is_exc, label %.bailout, label %.middle, !prof !13 - -.bailout: - %sum.2 = add nsw i32 %count, 1 - br label %.stop - -.middle: - %pr.1 = and i32 %i, 1023 - %pr.2 = icmp eq i32 %pr.1, 0 - br i1 %pr.2, label %.slow, label %.backedge, !prof !14 - -.slow: - tail call void @effect(i32 %sum) - br label %.backedge - -.backedge: - %sum.1 = add nsw i32 %i, %sum - %i.1 = add nsw i32 %i, 1 - %end = icmp slt i32 %i.1, %count - br i1 %end, label %.header, label %.stop, !prof !15 - -.stop: - %sum.phi = phi i32 [ %sum.1, %.backedge ], [ %sum.2, %.bailout ] - ret i32 %sum.phi -} - declare void @effect(i32) !5 = !{!"branch_weights", i32 84, i32 16} @@ -1549,6 +1501,3 @@ declare void @effect(i32) !10 = !{!"branch_weights", i32 90, i32 10} !11 = !{!"branch_weights", i32 1, i32 1} !12 = !{!"branch_weights", i32 5, i32 3} -!13 = !{!"branch_weights", i32 1, i32 1} -!14 = !{!"branch_weights", i32 1, i32 1023} -!15 = !{!"branch_weights", i32 4095, i32 1} diff --git a/llvm/test/CodeGen/X86/code_placement_cold_loop_blocks.ll b/llvm/test/CodeGen/X86/code_placement_cold_loop_blocks.ll index 875d791dc80..d7dc8defac3 100644 --- a/llvm/test/CodeGen/X86/code_placement_cold_loop_blocks.ll +++ b/llvm/test/CodeGen/X86/code_placement_cold_loop_blocks.ll @@ -37,7 +37,7 @@ end: ret void } -define void @nested_loop_0(i1 %flag) !prof !1 { +define void @nested_loop_0() !prof !1 { ; Test if a block that is cold in the inner loop but not cold in the outer loop ; will merged to the outer loop chain. ; @@ -68,7 +68,8 @@ if.then: if.else: call void @e() - br i1 %flag, label %header2, label %header, !prof !3 + %call2 = call zeroext i1 @a() + br i1 %call2, label %header2, label %header, !prof !3 end: call void @f() |