This is an archive of the discontinued LLVM Phabricator instance.

BlockPlacement: add a flag to force cold block outlining w/o a profile.
ClosedPublic

Authored by iteratee on Aug 3 2017, 5:03 PM.

Details

Reviewers
rsmith
chandlerc
Summary

Add a flag that forces cold blocks to be evicted from a loop. NFC.

Diff Detail

Event Timeline

iteratee created this revision.Aug 3 2017, 5:03 PM

Known issues:
needs a test case, and needs an adjustment to the frequency for non-profile functions.

rsmith accepted this revision.EditedAug 4 2017, 1:35 PM

LGTM

This revision is now accepted and ready to land.Aug 4 2017, 1:35 PM
rsmith added a comment.Aug 4 2017, 1:59 PM

FWIW, I see a 10% performance improvement on one of our internal benchmarks with this patch + force-precise-rotation-cost, compared to force-precise-rotation-cost alone.

I wrote a testcase that covers this flag in https://reviews.llvm.org/D36338

iteratee closed this revision.Aug 4 2017, 2:15 PM

Submitted in r310129