llvm-project/clang/lib
Craig Topper 02ef9963e1 [RISCV] Prevent __builtin_riscv_orc_b_64 from being compiled RV32 target.
The backend can't handle this and will throw a fatal error from
type legalization. It's easy enough to fix that for this intrinsic
by just splitting the IR intrinsic since it works on individual bytes.

There will be other intrinsics in the future that would be harder
to support through splitting, for example grev, gorc, and shfl. Those
would require a compare and a select be inserted to check the MSB of
their control input.

This patch adds support for preventing this in the frontend with
a nice diagnostic.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D99984
2021-04-08 11:34:56 -07:00
..
APINotes [clang][APINotes] Fix -Wunused-function warning (NFC) 2021-04-01 09:52:43 +08:00
ARCMigrate [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
AST [OpenMP] Define omp_is_initial_device() variants in omp.h 2021-04-06 16:58:01 -05:00
ASTMatchers [ASTMatchers][NFC] Use SmallVector when building variadic matcher descriptor 2021-03-23 16:38:45 +00:00
Analysis [-Wcompletion-handler] Don't recognize init methods as conventional 2021-04-07 13:50:01 +03:00
Basic [RISCV] Prevent __builtin_riscv_orc_b_64 from being compiled RV32 target. 2021-04-08 11:34:56 -07:00
CodeGen Revert "Reduce the number of attributes attached to each function" 2021-04-08 17:28:57 +02:00
CrossTU [analyzer][CTU] API for CTU macro expansions 2021-02-22 11:12:22 +01:00
DirectoryWatcher Revert "ADT: Migrate users of AlignedCharArrayUnion to std::aligned_union_t, NFC" 2020-12-14 17:04:06 -08:00
Driver [Driver] Drop $DEFAULT_TRIPLE-$name as a fallback program name 2021-04-07 21:01:10 -07:00
Edit [clang] Use SourceLocation as key in hash maps, NFCI 2020-10-20 16:24:09 +01:00
Format [clang-format] Fix east const pointer alignment of operators 2021-03-30 17:18:32 +02:00
Frontend [clang] Check AuxTarget exists when creating target in CompilerInstance 2021-04-07 20:58:48 +08:00
FrontendTool [NFC] Refactor Registry loops to range for 2020-06-19 00:40:10 +01:00
Headers [OpenCL] Add as_size/ptrdiff/intptr/uintptr_t operators 2021-04-07 10:16:41 +01:00
Index [index] Improve macro indexing support 2021-04-06 09:12:14 -07:00
IndexSerialization [index-while-building] Fix build with -DBUILD_SHARED_LIBS=True 2020-08-20 15:12:56 +01:00
Lex [C++2b] Support size_t literals 2021-03-31 13:36:23 +00:00
Parse Rework the way statement attributes are processed; NFC 2021-04-05 17:52:17 -04:00
Rewrite [clang] DeltaTree::AddDelta - fix "initialization is never read" clang-tidy warning. NFCI. 2021-03-02 15:01:34 +00:00
Sema [RISCV] Prevent __builtin_riscv_orc_b_64 from being compiled RV32 target. 2021-04-08 11:34:56 -07:00
Serialization [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
StaticAnalyzer [analyzer] Fix false positives in inner pointer checker (PR49628) 2021-04-08 20:30:12 +03:00
Testing Fix MSVC "not all control paths return a value" warning. NFC. 2020-06-05 10:45:59 +01:00
Tooling [clang][Syntax] Handle invalid source range in expandedTokens. 2021-04-07 11:19:01 +02:00
CMakeLists.txt APINotes: add APINotesYAMLCompiler 2020-11-05 18:55:13 +00:00