This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Fixup the creation of VPT blocks
ClosedPublic

Authored by dmgreen on Sep 5 2019, 4:05 AM.

Details

Summary

This attempts to just fix the creation of VPT blocks, fixing up the iterating, which instructions are considered in the bundle, and making sure that we do not overrun the end of the block.

It is, to an extent, pulled out of D66580 to make that simpler. It does not attempt to optimise VPNOT's like that patch does.

Diff Detail

Repository
rL LLVM

Event Timeline

dmgreen created this revision.Sep 5 2019, 4:05 AM
samparker accepted this revision.Sep 5 2019, 4:58 AM

LGTM.

llvm/lib/Target/ARM/MVEVPTBlockPass.cpp
114 ↗(On Diff #218884)

Just a nit, ++MBIter is on line 104, so its on both conditional paths.

This revision is now accepted and ready to land.Sep 5 2019, 4:58 AM
This revision was automatically updated to reflect the committed changes.