This is an archive of the discontinued LLVM Phabricator instance.

[ARM][LowOverheadLoops] Revert non-header LE target
ClosedPublic

Authored by samparker on Jul 25 2019, 2:14 AM.

Details

Summary

Revert the hardware loop upon finding a LoopEnd that doesn't target the loop header, instead of asserting a failure.

Diff Detail

Repository
rL LLVM

Event Timeline

samparker created this revision.Jul 25 2019, 2:14 AM
SjoerdMeijer added inline comments.Jul 26 2019, 12:32 AM
lib/Target/ARM/ARMInstrThumb2.td
5224 ↗(On Diff #211698)

thought this was fixed in D65275, anyway, doesn't matter.

test/CodeGen/Thumb2/LowOverheadLoops/revert-non-header.mir
7 ↗(On Diff #211698)

It doesn't look like a minimal example to me. Can the test case be easily reduced?

samparker marked an inline comment as done.Jul 26 2019, 12:42 AM
samparker added inline comments.
test/CodeGen/Thumb2/LowOverheadLoops/revert-non-header.mir
7 ↗(On Diff #211698)

yeah, i will give it a go.

samparker updated this revision to Diff 211896.Jul 26 2019, 2:15 AM

Reduced test case and removed change from previous commit.

dmgreen accepted this revision.Jul 29 2019, 5:26 AM

LGTM

This revision is now accepted and ready to land.Jul 29 2019, 5:26 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptJul 30 2019, 1:08 AM