This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Pass data EEW instead of index EEW to V*Sched for indexed loads and stores
ClosedPublic

Authored by nitinjohnraj on Apr 19 2023, 5:24 PM.

Details

Summary

The output operand for these classes depends on two of the arguments passed to the constructors:

  1. The EEW
  2. The data LMUL

If we pass the data EEW, we can derive the number of elements of the vector. We can derive no useful information from the index EEW and the data LMUL alone. Perhaps in the future we will need to pass the index EEW as well to derive some other information, but we have no need of it now.

Diff Detail

Event Timeline

nitinjohnraj created this revision.Apr 19 2023, 5:24 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 19 2023, 5:24 PM
nitinjohnraj requested review of this revision.Apr 19 2023, 5:24 PM

Please write a description

The basic idea here is that EEW and EMUL used in a sched class name should refer to the same operand so they can be used to calculate the number of elements. If they refer to separate operands they're useless. It could be argued that the sched class name should contain 3 or all 4 of the pieces of information about the data and index eew and lmul, but we intend to leave that until we have a usage for it.

This revision is now accepted and ready to land.Apr 21 2023, 9:57 AM
craig.topper requested changes to this revision.Apr 21 2023, 10:13 AM

Blocking until a description is added.

This revision now requires changes to proceed.Apr 21 2023, 10:13 AM
nitinjohnraj requested review of this revision.Apr 21 2023, 10:56 AM
nitinjohnraj edited the summary of this revision. (Show Details)
This revision is now accepted and ready to land.Apr 21 2023, 10:58 AM

Just an observation here, no need to be addressed in this commit but I am curious as what is the variable case conventions for .td files. I see we use both pascal case and camel case here. The tablegen program reference does not say anything about what the convention is.

Fixed parent revision

This revision was landed with ongoing or failed builds.Apr 21 2023, 4:08 PM
This revision was automatically updated to reflect the committed changes.