diff options
author | Kyle Butt <kyle+llvm@iteratee.net> | 2017-04-10 22:28:22 +0000 |
---|---|---|
committer | Kyle Butt <kyle+llvm@iteratee.net> | 2017-04-10 22:28:22 +0000 |
commit | 7e8be28661b66e1c0358f1bab199ea1e377ef024 (patch) | |
tree | 35f138d8dd7d23c73856f789e865578872961a37 /llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll | |
parent | ee51a20164fba305401158e9d1020f7c3cd27adc (diff) | |
download | bcm5719-llvm-7e8be28661b66e1c0358f1bab199ea1e377ef024.tar.gz bcm5719-llvm-7e8be28661b66e1c0358f1bab199ea1e377ef024.zip |
CodeGen: BlockPlacement: Don't always tail-duplicate with no other successor.
The math works out where it can actually be counter-productive. The probability
calculations correctly handle the case where the alternative is 0 probability,
rely on those calculations.
Includes a test case that demonstrates the problem.
llvm-svn: 299892
Diffstat (limited to 'llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll b/llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll index 80346018ff8..197fd72586a 100644 --- a/llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll +++ b/llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll @@ -6,13 +6,13 @@ target triple = "x86_64-unknown-linux-gnu" ; CHECK-LABEL: tail_dup_merge_loops ; CHECK: # %entry ; CHECK-NOT: # %{{[a-zA-Z_]+}} -; CHECK: # %exit -; CHECK-NOT: # %{{[a-zA-Z_]+}} ; CHECK: # %inner_loop_exit ; CHECK-NOT: # %{{[a-zA-Z_]+}} ; CHECK: # %inner_loop_latch ; CHECK-NOT: # %{{[a-zA-Z_]+}} ; CHECK: # %inner_loop_test +; CHECK-NOT: # %{{[a-zA-Z_]+}} +; CHECK: # %exit define void @tail_dup_merge_loops(i32 %a, i8* %b, i8* %c) local_unnamed_addr #0 { entry: %notlhs674.i = icmp eq i32 %a, 0 |