This is an archive of the discontinued LLVM Phabricator instance.

[SVE][CodeGen] Add the isTruncatingStore flag to MSCATTER
ClosedPublic

Authored by kmclaughlin on Nov 6 2020, 6:43 AM.

Details

Summary

This patch adds the IsTruncatingStore flag to MaskedScatterSDNode, set by getMaskedScatter().
Updated SelectionDAGDumper::print_details for MaskedScatterSDNode to print
the details of masked scatters (is truncating, signed or scaled).

This is the first in a series of patches which adds support for scalable masked scatters

Diff Detail

Event Timeline

kmclaughlin created this revision.Nov 6 2020, 6:43 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 6 2020, 6:43 AM
kmclaughlin requested review of this revision.Nov 6 2020, 6:43 AM
sdesmalen accepted this revision.Nov 9 2020, 7:37 AM

LGTM!

llvm/include/llvm/CodeGen/SelectionDAGNodes.h
2444

nit: in the other functions like DAG.getMaskedScatter, IsTrunc is the last parameter after IndexType. Do you want to do that for the constructor as well for consistency?

This revision is now accepted and ready to land.Nov 9 2020, 7:37 AM
kmclaughlin marked an inline comment as done.
  • Made IsTrunc the last parameter to the MaskedScatterSDNode constructor
  • Moved changes to SplitVecOp_MSCATTER, which split MemVT before creating the 'Hi' & 'Lo' scatters, into this patch from D90941

Thanks for the changes @kmclaughlin, LGTM.