This is an archive of the discontinued LLVM Phabricator instance.

[RISCVInsertVSETVLI] Handle vl-preserve case in backwards rewrite
ClosedPublic

Authored by reames on Aug 15 2023, 1:44 PM.

Details

Summary

This updates the backwards mutation code to handle the case where the previous vset was in vl-preserving (x0, x0) form, but that VL was never used before the next vset which changes the VL. Since this requires writing both VL operands, eliminate the restriction on removing GPR producing vsetv as well. (The register will now be written by the earlier vsetv.)

Diff Detail

Event Timeline

reames created this revision.Aug 15 2023, 1:44 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 15 2023, 1:44 PM
reames requested review of this revision.Aug 15 2023, 1:44 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 15 2023, 1:44 PM
This revision is now accepted and ready to land.Aug 15 2023, 10:56 PM
reames updated this revision to Diff 550797.Aug 16 2023, 10:15 AM

Requesting re-review. Found a nasty bug where I'd forgotten to clear the dead flag on the previous register. A second set of eyes on this to make sure I'm not missing anything else is appreciated.

reames requested review of this revision.Aug 16 2023, 10:16 AM
This revision is now accepted and ready to land.Aug 18 2023, 3:32 PM