summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit417fca86c4a1c53afeb363190450c2d05e434d2f (patch)
tree9713ca4dad6c94560b38318eda71ccd39cdddaff /llvm/test/CodeGen/X86/loop-blocks.ll
parente5b28a9e6a318143a3e1459e1240383a764fb76d (diff)
downloadbcm5719-llvm-417fca86c4a1c53afeb363190450c2d05e434d2f.tar.gz
bcm5719-llvm-417fca86c4a1c53afeb363190450c2d05e434d2f.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. llvm-svn: 124462
Diffstat (limited to 'llvm/test/CodeGen/X86/loop-blocks.ll')
-rw-r--r--llvm/test/CodeGen/X86/loop-blocks.ll11
1 files changed, 6 insertions, 5 deletions
diff --git a/llvm/test/CodeGen/X86/loop-blocks.ll b/llvm/test/CodeGen/X86/loop-blocks.ll
index 354d0820697..faba6300712 100644
--- a/llvm/test/CodeGen/X86/loop-blocks.ll
+++ b/llvm/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
OpenPOWER on IntegriCloud