This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Find VPT implicitly predicated by VCTP
ClosedPublic

Authored by samparker on Sep 17 2020, 2:32 AM.

Details

Summary

On failing to find a VCTP in the list of instructions that explicitly predicate the entry of a VPT block, inspect whether the block is controlled via VPT which is implicitly predicated due to it's predicated operand(s).

Diff Detail

Event Timeline

samparker created this revision.Sep 17 2020, 2:32 AM
samparker requested review of this revision.Sep 17 2020, 2:32 AM
samtebbs added inline comments.Sep 21 2020, 7:51 AM
llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
266

Should this also check for the instruction being a VPT?

samparker added inline comments.Sep 22 2020, 12:49 AM
llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
266

We only start VPTBlocks on VPST and VPT, so I will add an assert.

samparker updated this revision to Diff 293388.Sep 22 2020, 2:45 AM

Rebased and added an assert.

samtebbs accepted this revision.Sep 24 2020, 7:17 AM

Nice change! LGTM

This revision is now accepted and ready to land.Sep 24 2020, 7:17 AM
This revision was automatically updated to reflect the committed changes.