llvm-capstone/clang/lib
Simon Tatham ada01d1b86 [clang] New __attribute__((__clang_arm_mve_strict_polymorphism)).
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.

As part of the same change, I've added the new attribute to the
declarations generated by the MveEmitter Tablegen backend (and
corrected a namespace issue with the other attribute while I was
there).

Reviewers: aaron.ballman, dmgreen

Reviewed By: aaron.ballman

Subscribers: kristof.beyls, JDevlieghere, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D72518
2020-01-15 15:04:10 +00:00
..
Analysis [CFG] Fix an assertion failure with static initializers 2019-12-23 16:35:37 -08:00
ARCMigrate Fix "pointer is null" static analyzer warning. NFCI. 2020-01-10 17:21:20 +00:00
AST [clang] New __attribute__((__clang_arm_mve_strict_polymorphism)). 2020-01-15 15:04:10 +00:00
ASTMatchers Revert "[ASTMatchers] extract public matchers from const-analysis into own patch" 2020-01-11 19:41:27 +01:00
Basic Revert "[RISCV] Add Clang frontend support for Bitmanip extension" 2020-01-15 10:43:42 +00:00
CodeGen Relax the rules around objc_alloc and objc_alloc_init optimizations. 2020-01-14 19:48:33 -08:00
CrossTU [CrossTU] Fix problem with CrossTU AST load limit and progress messages. 2019-08-12 07:15:29 +00:00
DirectoryWatcher [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
Driver Revert "[RISCV] Add Clang frontend support for Bitmanip extension" 2020-01-15 10:43:42 +00:00
Edit [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
Format [clang-format] fix conflict between FormatStyle::BWACS_MultiLine and BeforeCatch/BeforeElse 2020-01-06 09:21:41 -05:00
Frontend [DebugInfo] Add another level to DebugInfoKind called Constructor 2020-01-13 15:59:03 -08:00
FrontendTool [analyzer] Don't run the analyzer for -analyzer-list-enabled-checkers 2019-09-12 18:53:48 +00:00
Headers [X86] Mark various pointer arguments in builtins as const 2019-12-19 11:42:11 -08:00
Index [Wdocumentation] Implement \anchor 2019-12-21 14:52:21 +01:00
Lex [Lexer] Allow UCN for dollar symbol '\u0024' in identifiers when using -fdollars-in-identifiers flag. 2020-01-15 11:28:57 +00:00
Parse [Concepts] Type Constraints 2020-01-15 04:02:39 +02:00
Rewrite [Rewrite][NFC] Add FIXMEs and tests for RemoveLineIfEmpty bug 2019-08-15 21:17:48 +00:00
Sema [clang] New __attribute__((__clang_arm_mve_strict_polymorphism)). 2020-01-15 15:04:10 +00:00
Serialization [ODRHash] Fix wrong error message with bitfields and mutable. 2020-01-14 21:12:15 -08:00
StaticAnalyzer [analyzer] Fix SARIF column locations 2020-01-14 15:38:30 -05:00
Tooling Remove trailing ;. NFC. 2020-01-14 16:52:20 -05:00
CMakeLists.txt Reland [clang] DirectoryWatcher 2019-07-12 20:34:10 +00:00