This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Extend strided load/store pattern matching to non-loop cases
ClosedPublic

Authored by reames on Sep 27 2022, 11:40 AM.

Details

Summary

The motivation here is to enable a change I'm exploring in vectorizer to prefer base + offset_vector addressing for scatter/gather. The form the vectorizer would end up emitting would be a gep whose vector operand is an add of the scalar IV (splated) and the index vector. This change makes sure we can recognize that pattern as well as the current code structure. As a side effect, it might improve scatter/gathers from other sources.

Diff Detail

Event Timeline

reames created this revision.Sep 27 2022, 11:40 AM
reames requested review of this revision.Sep 27 2022, 11:40 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 27 2022, 11:40 AM
This revision is now accepted and ready to land.Sep 27 2022, 12:42 PM
This revision was landed with ongoing or failed builds.Sep 27 2022, 12:57 PM
This revision was automatically updated to reflect the committed changes.