[PATCH] D72518: [clang] New __attribute__((__clang_arm_mve_strict_polymorphism)).

Simon Tatham via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 10 09:18:11 PST 2020


simon_tatham created this revision.
simon_tatham added reviewers: aaron.ballman, dmgreen.
Herald added subscribers: cfe-commits, JDevlieghere, kristof.beyls.
Herald added a project: clang.

This is applied to the vector types defined in <arm_mve.h> for use
with the intrinsics for the ARM MVE vector architecture.

Its purpose is to inhibit lax vector conversions, but only in the
context of overload resolution of the MVE polymorphic intrinsic
functions. This solves an ambiguity problem with polymorphic MVE
intrinsics that take a vector and a scalar argument: the scalar
argument can often have the wrong integer type due to default integer
promotions or unsuffixed literals, and therefore, the type of the
vector argument should be considered trustworthy when resolving MVE
polymorphism.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D72518

Files:
  clang/include/clang/Basic/Attr.td
  clang/include/clang/Basic/AttrDocs.td
  clang/lib/AST/TypePrinter.cpp
  clang/lib/Sema/SemaOverload.cpp
  clang/lib/Sema/SemaType.cpp
  clang/test/Sema/arm-mve-overloading.c
  clang/utils/TableGen/MveEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D72518.237359.patch
Type: text/x-patch
Size: 9481 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200110/18d16ba6/attachment-0001.bin>


More information about the cfe-commits mailing list