forked from OSchip/llvm-project
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 |
||
|---|---|---|
| .. | ||
| ASTTableGen.cpp | ||
| ASTTableGen.h | ||
| CMakeLists.txt | ||
| ClangASTNodesEmitter.cpp | ||
| ClangASTPropertiesEmitter.cpp | ||
| ClangAttrEmitter.cpp | ||
| ClangCommentCommandInfoEmitter.cpp | ||
| ClangCommentHTMLNamedCharacterReferenceEmitter.cpp | ||
| ClangCommentHTMLTagsEmitter.cpp | ||
| ClangDataCollectorsEmitter.cpp | ||
| ClangDiagnosticsEmitter.cpp | ||
| ClangOpcodesEmitter.cpp | ||
| ClangOpenCLBuiltinEmitter.cpp | ||
| ClangOptionDocEmitter.cpp | ||
| ClangSACheckersEmitter.cpp | ||
| ClangTypeNodesEmitter.cpp | ||
| MveEmitter.cpp | ||
| NeonEmitter.cpp | ||
| SveEmitter.cpp | ||
| TableGen.cpp | ||
| TableGenBackends.h | ||