This is an archive of the discontinued LLVM Phabricator instance.

[RISCV][InsertVSETVLI] Split out demanded property for zero/non-zero of VL
ClosedPublic

Authored by reames on Dec 15 2022, 12:58 PM.

Details

Summary

The scalar move instructions (vmv.s.x, and fvmv.s.f) depend solely on whether the VL is 0 or non-zero. By tracking the fact we only demand the zeroness and not the whole VL value, we can allow changing VL over a scalar move. This helps to eliminate vsetvli toggles.

Diff Detail

Event Timeline

reames created this revision.Dec 15 2022, 12:58 PM
reames requested review of this revision.Dec 15 2022, 12:58 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 15 2022, 12:58 PM
Herald added subscribers: eopXD, MaskRay. · View Herald Transcript
This revision is now accepted and ready to land.Dec 20 2022, 10:51 PM
asb accepted this revision.Dec 21 2022, 1:50 AM
This revision was landed with ongoing or failed builds.Jan 3 2023, 2:47 PM
This revision was automatically updated to reflect the committed changes.