This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Add MMA builtin decoding and definitions
ClosedPublic

Authored by bsaleil on Jun 12 2020, 9:48 AM.

Details

Summary

Add MMA builtin decoding. These builtins use the new PowerPC-specific types vector_pair and vector_quad.
So to avoid pervasive changes, we use custom type descriptors and custom decoding of these builtins.
We also use custom code generation to expand builtin calls with pointers to simpler intrinsic calls with non-pointer types only.

Depends on D81508

Diff Detail

Event Timeline

bsaleil created this revision.Jun 12 2020, 9:48 AM
bsaleil created this object with visibility "bsaleil (Baptiste Saleil)".
bsaleil created this object with edit policy "bsaleil (Baptiste Saleil)".
Herald added a project: Restricted Project. · View Herald TranscriptJun 12 2020, 9:48 AM
bsaleil added a reviewer: Restricted Project.Jun 19 2020, 6:14 PM
bsaleil changed the visibility from "bsaleil (Baptiste Saleil)" to "Public (No Login Required)".
bsaleil changed the edit policy from "bsaleil (Baptiste Saleil)" to "All Users".
bsaleil added a project: Restricted Project.Jun 19 2020, 6:16 PM
bsaleil updated this revision to Diff 300805.Oct 26 2020, 3:24 PM

Rebase patch

bsaleil edited the summary of this revision. (Show Details)Oct 26 2020, 3:35 PM
amyk added inline comments.Oct 28 2020, 10:01 AM
clang/include/clang/AST/ASTContext.h
2050 ↗(On Diff #300805)

I think it might be good to add a small comment here/in ASTContext.cpp for this function (in how we use it to fall back to default type handling).

clang/include/clang/Basic/BuiltinsPPC.def
509

Remove the extra accumulator.

bsaleil updated this revision to Diff 301437.Oct 28 2020, 2:22 PM

Fix typo and add comment to explain why we add the ASTContext::DecodeTypeStr function.

amyk accepted this revision as: amyk.Nov 2 2020, 9:41 AM

Thanks Baptiste. LGTM.

This revision is now accepted and ready to land.Nov 2 2020, 9:41 AM
This revision was landed with ongoing or failed builds.Nov 3 2020, 1:09 PM
This revision was automatically updated to reflect the committed changes.