[PATCH] D35411: [SimplifyCFG] Defer folding unconditional branches to LateSimplifyCFG if it can destroy canonical loop structure.
Balaram Makam via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 14 15:07:00 PDT 2017
bmakam marked an inline comment as done.
bmakam added a comment.
In https://reviews.llvm.org/D35411#809870, @efriedma wrote:
> I'm sort of worried this could have unexpected consequences; do you have performance numbers? (LLVM testsuite or SPEC)
I was targeting to unroll a hot loop in spec2017/gcc. In addition to unrolling the hot loop in spec2017/gcc which yielded 2% improvement, I observed a loop interleaved in povray which yielded 6-7% improvement.
Here are the full perf results for SPEC on Falkor with https://reviews.llvm.org/owners/package/3/ config:
Benchmark Diff (%)
----------------------- ----------
spec2006/bzip2:ref -2.18
spec2017/omnetpp:ref -1.2
spec2006/perlbench:ref -1.07
spec2000/equake:ref -0.89
spec2000/art:ref -0.79
spec2017/leela:ref -0.67
spec2000/bzip2:ref 0.77
spec2006/namd:ref 0.84
spec2017/xz:ref 0.89
spec2000/gcc:ref 0.9
spec2006/mcf:ref 1.07
spec2017/deepsjeng:ref 1.62
spec2000/crafty:ref 1.62
spec2017/gcc:ref 2.18
spec2006/dealII:ref 3.73
spec2017/blender:ref 4.78
spec2006/povray:ref 6.25
spec2017/povray:ref 6.85
spec2000/gap:ref 7.15
https://reviews.llvm.org/D35411
More information about the llvm-commits
mailing list