This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Split out transfer function explicitly in VSETVLI insertion dataflow [nfc]
ClosedPublic

Authored by reames on Jun 14 2022, 9:29 AM.

Details

Summary

In an effort to make this code easier to read and extend, this splits out helper functions for the transfer function of the data flow. Due to the other results computed during the phases, we can't completely abstract away everything, but we can abstract the actual state transitions.

The motivation here is the following upcoming changes:

  • The fault first load patch - already approved, this will be rebased over - adds another case into the transferAfter path.
  • An upcoming patch to fold the local prepass back into the main algorithm greatly complicates the transferBefore logic.

Diff Detail

Event Timeline

reames created this revision.Jun 14 2022, 9:29 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 14 2022, 9:29 AM
reames requested review of this revision.Jun 14 2022, 9:29 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 14 2022, 9:29 AM
This revision is now accepted and ready to land.Jun 14 2022, 10:42 AM
This revision was landed with ongoing or failed builds.Jun 14 2022, 2:07 PM
This revision was automatically updated to reflect the committed changes.