This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Add low overhead loops terminators to AnalyzeBranch
ClosedPublic

Authored by dmgreen on Jan 11 2021, 12:57 AM.

Details

Summary

This treats low overhead loop branches the same as jump tables and indirect branches in analyzeBranch - they cannot be analyzed but the direct branches on the end of the block may be removed. This helps remove the unnecessary branches earlier, which can help produce better codegen (and change block layout in a number of cases).

Diff Detail

Event Timeline

dmgreen created this revision.Jan 11 2021, 12:57 AM
dmgreen requested review of this revision.Jan 11 2021, 12:57 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 11 2021, 12:58 AM
samtebbs accepted this revision.Jan 15 2021, 8:28 AM

I remember running into issues where analyzeBranch didn't know about LOL instructions. Thanks for updating it.

This revision is now accepted and ready to land.Jan 15 2021, 8:28 AM
This revision was automatically updated to reflect the committed changes.