This is an archive of the discontinued LLVM Phabricator instance.

[SelectionDAG] Correct AddNodeIDCustom for MemIntrinsicSDNodes.
ClosedPublic

Authored by craig.topper on May 11 2023, 11:12 AM.

Details

Summary

We were missing any support for ISD::INTRINSIC_W_CHAIN/INTRINSIC_VOID
used for memory operations.

For ISD::PREFETCH and target memory nodes we didn't add the subclass
data.

This patch handles all MemIntrinsicSDNode in one place and adds the
missing subclass data.

Note. Unlike load/stores we don't add the memory VT in AddNodeIDCustom or getMemIntrinsicNode. Not sure why.

Diff Detail

Event Timeline

craig.topper created this revision.May 11 2023, 11:12 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 11 2023, 11:12 AM
craig.topper requested review of this revision.May 11 2023, 11:12 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 11 2023, 11:12 AM
Herald added a subscriber: wdng. · View Herald Transcript
craig.topper edited the summary of this revision. (Show Details)May 11 2023, 11:14 AM
efriedma accepted this revision.May 11 2023, 12:09 PM

LGTM

I'm a little suspicious that we're still not actually profiling enough data related to the memory operand, but being self-consistent is clearly an improvement in any case.

This revision is now accepted and ready to land.May 11 2023, 12:09 PM