[PATCH] D127812: [AArch64] Function multiversioning support added.

Pavel Iliin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 14 16:53:52 PDT 2022


ilinpv created this revision.
ilinpv added a reviewer: danielkiss.
Herald added subscribers: Enna1, jdoerfert, mgrang, hiraditya, kristof.beyls, krytarowski.
Herald added a reviewer: aaron.ballman.
Herald added a project: All.
ilinpv requested review of this revision.
Herald added subscribers: llvm-commits, Sanitizers, cfe-commits, MaskRay.
Herald added projects: clang, Sanitizers, LLVM.

The patch adds new "target_version" function attribute and expands existing
"target_clones" one. This is initial implementation of Function Multi Versioning for AArch64
target following Arm C Language Extensions specification ( currently in Beta state )
https://github.com/ARM-software/acle/blob/main/main/acle.md#function-multi-versioning

It is not final yet, any comments, usage feedback, suggestions for improving are very welcome!


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D127812

Files:
  clang/docs/ClangCommandLineReference.rst
  clang/include/clang/AST/ASTContext.h
  clang/include/clang/AST/Decl.h
  clang/include/clang/Basic/Attr.td
  clang/include/clang/Basic/AttrDocs.td
  clang/include/clang/Basic/DiagnosticSemaKinds.td
  clang/include/clang/Basic/TargetInfo.h
  clang/include/clang/Driver/Options.td
  clang/include/clang/Sema/Sema.h
  clang/lib/AST/ASTContext.cpp
  clang/lib/AST/Decl.cpp
  clang/lib/Basic/Targets/AArch64.cpp
  clang/lib/Basic/Targets/AArch64.h
  clang/lib/CodeGen/CGBuiltin.cpp
  clang/lib/CodeGen/CodeGenFunction.cpp
  clang/lib/CodeGen/CodeGenFunction.h
  clang/lib/CodeGen/CodeGenModule.cpp
  clang/lib/Driver/ToolChains/Clang.cpp
  clang/lib/Sema/Sema.cpp
  clang/lib/Sema/SemaDecl.cpp
  clang/lib/Sema/SemaDeclAttr.cpp
  clang/lib/Sema/SemaOverload.cpp
  clang/test/AST/attr-target-version.c
  clang/test/CodeGen/attr-target-clones-aarch64.c
  clang/test/CodeGen/attr-target-version.c
  clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
  clang/test/CodeGenCXX/attr-target-version.cpp
  clang/test/Driver/aarch64-features.c
  clang/test/Misc/pragma-attribute-supported-attributes-list.test
  clang/test/Preprocessor/init-aarch64.c
  clang/test/Sema/attr-target-clones-aarch64.c
  clang/test/Sema/attr-target-version.c
  clang/test/SemaCXX/attr-target-clones-aarch64.cpp
  clang/test/SemaCXX/attr-target-version.cpp
  compiler-rt/lib/builtins/cpu_model.c
  llvm/include/llvm/Support/AArch64TargetParser.def
  llvm/include/llvm/Support/AArch64TargetParser.h
  llvm/lib/Support/AArch64TargetParser.cpp
  llvm/lib/Target/AArch64/AArch64.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127812.436971.patch
Type: text/x-patch
Size: 231651 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220614/67f99a3c/attachment-0001.bin>


More information about the llvm-commits mailing list