aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/loop-blocks.ll
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2011-01-28 02:19:21 +0000
committerEvan Cheng <evan.cheng@apple.com>2011-01-28 02:19:21 +0000
commit40f64cb0de40802ddd2f928b62e9564e1e721ff3 (patch)
treee94f9f5d77d86efd85ac2d6f0ad8a3ced55ca5ee /test/CodeGen/X86/loop-blocks.ll
parentc3a20bab7571ff95525252c379198e67b65d0f1d (diff)
downloadexternal_llvm-40f64cb0de40802ddd2f928b62e9564e1e721ff3.tar.gz
external_llvm-40f64cb0de40802ddd2f928b62e9564e1e721ff3.tar.bz2
external_llvm-40f64cb0de40802ddd2f928b62e9564e1e721ff3.zip
- Stop simplifycfg from duplicating "ret" instructions into unconditional
branches. PR8575, rdar://5134905, rdar://8911460. - Allow codegen tail duplication to dup small return blocks after register allocation is done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124462 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/loop-blocks.ll')
-rw-r--r--test/CodeGen/X86/loop-blocks.ll11
1 files changed, 6 insertions, 5 deletions
diff --git a/test/CodeGen/X86/loop-blocks.ll b/test/CodeGen/X86/loop-blocks.ll
index 354d082069..faba630071 100644
--- a/test/CodeGen/X86/loop-blocks.ll
+++ b/test/CodeGen/X86/loop-blocks.ll
@@ -70,6 +70,7 @@ exit:
; Same as slightly_more_involved, but block_a is now a CFG diamond with
; fallthrough edges which should be preserved.
+; "callq block_a_merge_func" is tail duped.
; CHECK: yet_more_involved:
; CHECK: jmp .LBB2_1
@@ -78,12 +79,12 @@ exit:
; CHECK-NEXT: callq bar99
; CHECK-NEXT: callq get
; CHECK-NEXT: cmpl $2999, %eax
-; CHECK-NEXT: jg .LBB2_6
-; CHECK-NEXT: callq block_a_true_func
-; CHECK-NEXT: jmp .LBB2_7
-; CHECK-NEXT: .LBB2_6:
+; CHECK-NEXT: jle .LBB2_5
; CHECK-NEXT: callq block_a_false_func
-; CHECK-NEXT: .LBB2_7:
+; CHECK-NEXT: callq block_a_merge_func
+; CHECK-NEXT: jmp .LBB2_1
+; CHECK-NEXT: .LBB2_5:
+; CHECK-NEXT: callq block_a_true_func
; CHECK-NEXT: callq block_a_merge_func
; CHECK-NEXT: .LBB2_1:
; CHECK-NEXT: callq body