[PATCH] MachineBlockPlacement: Strengthen the source order bias when picking an exit block.

Benjamin Kramer benny.kra at gmail.com
Sun Nov 17 06:20:57 PST 2013


Hi chandlerc,

We now only allow breaking source order if the exit block frequency is
significantly (20%+) higher than the other exit block. The percentage is
taken from other parts of MBP and doesn't have any scientific basis. I
haven't run the full test suite on it yet, but the benchmarks that
historically had huge performance swings when changes to MBP were
committed showed zero difference in the produced asm.

The test case is the full long_match function from zlib's deflate. I was
reluctant to add it for previous tweaks to branch probabilities because
it's large and potentially fragile, but changed my mind since it's an
important use case and more likely to break with all the current work
going into the PGO infrastructure. This change to MBP is worth another
5% of run time when deflating a random file with zlib.

http://llvm-reviews.chandlerc.com/D2202

Files:
  lib/CodeGen/MachineBlockPlacement.cpp
  test/CodeGen/X86/longest_match.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2202.1.patch
Type: text/x-patch
Size: 14318 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131117/63f7d5cf/attachment.bin>


More information about the llvm-commits mailing list