This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Introduce t2WhileLoopStartTP
ClosedPublic

Authored by dmgreen on May 27 2021, 3:43 AM.

Details

Summary

This adds t2WhileLoopStartTP, similar to the t2DoLoopStartTP added in D90591. It keeps a reference to both the tripcount register and the element count register, so that the ARMLowOverheadLoops pass in the backend can pick the correct one without having to search for it from then operand of a VCTP.

Diff Detail

Event Timeline

dmgreen created this revision.May 27 2021, 3:43 AM
dmgreen requested review of this revision.May 27 2021, 3:43 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 27 2021, 3:43 AM
samtebbs added inline comments.Jun 2 2021, 10:02 AM
llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
1436–1439

Can getWLSTargetBB be extracted to the tail pred utils header file and used here?

dmgreen updated this revision to Diff 349516.Jun 3 2021, 4:14 AM

Sounds good. Now with a getWhileLoopStartTargetBB used in more places.

samtebbs accepted this revision.Jun 8 2021, 9:06 AM

Sweet, looks good.

This revision is now accepted and ready to land.Jun 8 2021, 9:06 AM
This revision was landed with ongoing or failed builds.Jun 13 2021, 5:56 AM
This revision was automatically updated to reflect the committed changes.