This is an archive of the discontinued LLVM Phabricator instance.

[DebugInfo][InstrRef][NFC] Bypass a frequently-noop loop
ClosedPublic

Authored by jmorse on Jan 31 2022, 8:22 AM.

Details

Summary

Bypass a loop if it would do nothing -- if there are no register masks to be examined, there's no point looking at each location to see if the location has been def'd. Awkwardly, this was responsible for almost an entire half a percent of performance improvement on the tracker [0].

[0] http://llvm-compile-time-tracker.com/compare.php?from=47a80eaac7a4fb1b115a5fb467ce03b51182fc56&to=19a73bdd29dcc0f522aba1e722f7a3a16cbea4dd&stat=instructions

Diff Detail

Event Timeline

jmorse created this revision.Jan 31 2022, 8:22 AM
jmorse requested review of this revision.Jan 31 2022, 8:22 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 31 2022, 8:22 AM
StephenTozer accepted this revision.Jan 31 2022, 3:50 PM

LGTM, that's a depressingly good performance gain/prevented cost.

This revision is now accepted and ready to land.Jan 31 2022, 3:50 PM
This revision was landed with ongoing or failed builds.Feb 1 2022, 11:41 AM
This revision was automatically updated to reflect the committed changes.