This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Remove index_vector node.
ClosedPublic

Authored by junparser on Apr 29 2021, 7:32 PM.

Details

Summary

Since index_vector is lowered into step_vector in D100816, we can just remove
index_vector, use step_vector for codegen directly.

Diff Detail

Event Timeline

junparser created this revision.Apr 29 2021, 7:32 PM
junparser requested review of this revision.Apr 29 2021, 7:32 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 29 2021, 7:32 PM
paulwalker-arm accepted this revision.Apr 30 2021, 5:09 AM

Please can you also remove INDEX_VECTOR from the AArch64ISD enum.

llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
1371–1375

As a tidy up I'd say these multiclasses are intrinsically linked to stepvector and related nodes. As these nodes now have a unified form I personally don't see much value with the indirection and think they can use all the operations directly within the multiclass.

llvm/lib/Target/AArch64/SVEInstrFormats.td
4875–4876

The add(mul(step_vector comments in this class and sve_int_index_rr are missing a close ) for the mul.

This revision is now accepted and ready to land.Apr 30 2021, 5:09 AM
junparser added inline comments.Apr 30 2021, 5:17 AM
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
1371–1375

Yep, It maybe nice to move these Pat to here.

Matt added a subscriber: Matt.Apr 30 2021, 6:48 AM
This revision was automatically updated to reflect the committed changes.