]> granicus.if.org Git - llvm/commit
CodeGen: BlockPlacement: Increase tail duplication size for O3.
authorKyle Butt <kyle+llvm@iteratee.net>
Mon, 15 May 2017 17:30:47 +0000 (17:30 +0000)
committerKyle Butt <kyle+llvm@iteratee.net>
Mon, 15 May 2017 17:30:47 +0000 (17:30 +0000)
commite6202480d9419a8b7391611f6817b58c55d9a457
treed43f51d3f77ad4f95ccc938657a641d6d8ff8b8b
parent2223371da5f73037e7cd9f6dab2d8c6dc2f121c0
CodeGen: BlockPlacement: Increase tail duplication size for O3.

At O3 we are more willing to increase size if we believe it will improve
performance. The current threshold for tail-duplication of 2 instructions is
conservative, and can be relaxed at O3.

Benchmark results:
llvm test-suite:
6% improvement in aha, due to duplication of loop latch
3% improvement in hexxagon

2% slowdown in lpbench. Seems related, but couldn't completely diagnose.

Internal google benchmark:
Produces 4% improvement on internal google protocol buffer serialization
benchmarks.

Differential-Revision: https://reviews.llvm.org/D32324

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303084 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineBlockPlacement.cpp
test/CodeGen/PowerPC/tail-dup-layout.ll
test/CodeGen/X86/sse1.ll