[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