This is an archive of the discontinued LLVM Phabricator instance.

[RISCV][InsertVSETVLI] Rework code structure to make reasoning about undefined lanes explicit [NFC]
ClosedPublic

Authored by reames on Jun 13 2023, 11:10 AM.

Details

Summary

We already have several places in this code which reason about whether the inactive lanes are defined, and are about to add one more in D151653. Let's go ahead and common the code so that we don't have the same concept repeating in multiply places.

Asking for review mostly because of the change to computeInfoForInstr. I want a second pair of eyes confirming I'm not missing something there. (All of the removed asserts are covered by the verifier; I checked.)

Diff Detail

Event Timeline

reames created this revision.Jun 13 2023, 11:10 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 13 2023, 11:10 AM
reames requested review of this revision.Jun 13 2023, 11:10 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 13 2023, 11:10 AM
luke accepted this revision.Jun 14 2023, 1:15 AM

LGTM, nice to see the clarification between undefined and agnostic

This revision is now accepted and ready to land.Jun 14 2023, 1:15 AM
frasercrmck accepted this revision.Jun 14 2023, 1:28 AM

LGTM with a comment question. Agreed, this is nice to see.

llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
905

Does this comment hold? Could it now be improved?

This revision was landed with ongoing or failed builds.Jun 14 2023, 9:48 AM
This revision was automatically updated to reflect the committed changes.