This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Fix multiclass template parameter types. NFC.
ClosedPublic

Authored by RKSimon on Feb 6 2021, 7:45 AM.

Details

Summary

Fixes TableGen parser errors reported by D95874 due to incompatible types being used on multiclass templates.

Diff Detail

Event Timeline

RKSimon created this revision.Feb 6 2021, 7:45 AM
RKSimon requested review of this revision.Feb 6 2021, 7:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 6 2021, 7:45 AM
Herald added a subscriber: aheejin. · View Herald Transcript
aheejin added inline comments.Feb 6 2021, 10:31 AM
llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
688
llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
70

Why should this be SDPatternOperator? What we put here seems load, which is a subclass of PatFrag. The same question for other LoadPat*** changes.

llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
311

This seems to be the same case as StoreLanePatNoOffset, in which your suggestion was Intrinsic..?

916

We seem to supply SDNode in arguments to this class..? (The same question for other SIMDBinary suggestions)

Cheers @aheejin - you can review these changes by applying the patch from D95874 against trunk to see the error messages.

llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
70

IIRC this was necessary for some of the uses in WebAssemblyInstrSIMD.td

llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
311

A few multiclasses I was to get to work by keeping the more specialized Intrinsic type, in others it was necessary to generalise all the way to SDPatternOperator.

aheejin accepted this revision.Feb 6 2021, 10:50 AM

I see, thanks for taking care of this!

This revision is now accepted and ready to land.Feb 6 2021, 10:50 AM
This revision was landed with ongoing or failed builds.Feb 8 2021, 1:37 AM
This revision was automatically updated to reflect the committed changes.