llvm-project/clang/utils/TableGen
Lucas Prates f56550cf7f [ARM] Enabling range checks on Neon intrinsics' lane arguments
Summary:
Range checks were not properly performed in the lane arguments of Neon
intrinsics implemented based on splat operations. Calls to those
intrinsics where translated to `__builtin__shufflevector` calls directly
by the pre-processor through the arm_neon.h macros, missing the chance
for the proper range checks.

This patch enables the range check by introducing an auxiliary splat
instruction in arm_neon.td, delaying the translation to shufflevector
calls to CGBuiltin.cpp in clang after the checks were performed.

Reviewers: jmolloy, t.p.northover, rsmith, olista01, ostannard

Reviewed By: ostannard

Subscribers: ostannard, dnsampaio, danielkiss, kristof.beyls, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D74619
2020-03-19 12:07:23 +00:00
..
ASTTableGen.cpp Add the ability to use property-based serialization for "cased" types. 2019-12-16 13:33:59 -05:00
ASTTableGen.h Add the ability for properties to be conditional on other properties. 2019-12-16 13:34:00 -05:00
CMakeLists.txt [Clang][SVE] Parse builtin type string for scalable vectors 2020-03-15 14:34:52 +00:00
ClangASTNodesEmitter.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
ClangASTPropertiesEmitter.cpp Forward {read,write}SomeEnumType to {read,write}Enum instead of 2019-12-16 13:34:00 -05:00
ClangAttrEmitter.cpp [NFC][Attr TableGen] Emit Spelling Enum for Attr types if there >1 2020-03-17 12:20:23 -07:00
ClangCommentCommandInfoEmitter.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
ClangCommentHTMLNamedCharacterReferenceEmitter.cpp Fix one round of implicit conversions found by g++5. 2020-01-29 01:52:48 +01:00
ClangCommentHTMLTagsEmitter.cpp Fix one round of implicit conversions found by g++5. 2020-01-29 01:52:48 +01:00
ClangDataCollectorsEmitter.cpp Use scope qualifiers in Clang's tblgen backends to get useful 2019-10-01 23:12:57 +00:00
ClangDiagnosticsEmitter.cpp Avoid including FileSystem.h from MemoryBuffer.h 2020-02-29 12:30:23 -08:00
ClangOpcodesEmitter.cpp Use scope qualifiers in Clang's tblgen backends to get useful 2019-10-01 23:12:57 +00:00
ClangOpenCLBuiltinEmitter.cpp [OpenCL] Reduce size of builtin function tables 2020-02-06 15:08:32 +00:00
ClangOptionDocEmitter.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
ClangSACheckersEmitter.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
ClangTypeNodesEmitter.cpp Enable better node-hierarchy metaprogramming; NFC. 2019-12-14 00:16:47 -05:00
MveEmitter.cpp [ARM,MVE] Fix user-namespace violation in arm_mve.h. 2020-03-12 11:13:50 +00:00
NeonEmitter.cpp [ARM] Enabling range checks on Neon intrinsics' lane arguments 2020-03-19 12:07:23 +00:00
SveEmitter.cpp [SVE] Generate overloaded functions for ACLE intrinsics. 2020-03-19 09:36:23 +00:00
TableGen.cpp Reland D75470 [SVE] Auto-generate builtins and header for svld1. 2020-03-18 11:16:28 +00:00
TableGenBackends.h Reland D75470 [SVE] Auto-generate builtins and header for svld1. 2020-03-18 11:16:28 +00:00