[PATCH] D75850: [ARM, CDE] Generalize MVE intrinsics infrastructure to support CDE
Mikhail Maltsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 9 08:35:22 PDT 2020
miyuki created this revision.
miyuki added reviewers: simon_tatham, MarkMurrayARM, ostannard, dmgreen.
Herald added subscribers: llvm-commits, cfe-commits, danielkiss, kristof.beyls, mgorny.
Herald added projects: clang, LLVM.
miyuki added a parent revision: D75843: [ARM,CDE] Implement CDE feature test macros.
This patch generalizes the existing code to support CDE intrinsics
which will share some properties with existing MVE intrinsics
(some of the intrinsics will be polymorphic and accept/return values
of MVE vector types).
Specifically the patch:
- Adds new tablegen backends -gen-arm-cde-builtin-def, -gen-arm-cde-builtin-codegen, -gen-arm-cde-builtin-sema, -gen-arm-cde-builtin-aliases, -gen-arm-cde-builtin-header based on existing MVE backends.
- Renames the '__clang_arm_mve_alias' attribute into '__clang_arm_builtin_alias' (it will be used with CDE intrinsics as well as MVE intrinsics)
- Implements semantic checks for the coprocessor argument of the CDE intrinsics as well as the existing coprocessor intrinsics.
- Adds one CDE intrinsic __arm_cx1 to test the above changes
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D75850
Files:
clang/include/clang/Basic/Attr.td
clang/include/clang/Basic/AttrDocs.td
clang/include/clang/Basic/BuiltinsARM.def
clang/include/clang/Basic/CMakeLists.txt
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/include/clang/Basic/arm_cde.td
clang/include/clang/Basic/arm_mve_defs.td
clang/include/clang/Sema/Sema.h
clang/lib/AST/Decl.cpp
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/lib/Headers/CMakeLists.txt
clang/lib/Sema/SemaChecking.cpp
clang/lib/Sema/SemaDeclAttr.cpp
clang/test/CodeGen/arm-cde-gpr.c
clang/test/Headers/arm-cde-header.c
clang/test/Misc/pragma-attribute-supported-attributes-list.test
clang/test/Sema/arm-cde-immediates.c
clang/test/Sema/arm-mve-alias-attribute.c
clang/utils/TableGen/MveEmitter.cpp
clang/utils/TableGen/TableGen.cpp
clang/utils/TableGen/TableGenBackends.h
llvm/include/llvm/IR/IntrinsicsARM.td
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75850.249105.patch
Type: text/x-patch
Size: 67156 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200309/8cf40803/attachment.bin>
More information about the llvm-commits
mailing list