llvm-project/clang/utils/TableGen
Ahmed Bougacha 94df730f7d [CodeGen][NEON] Emit constants for "immediate" intrinsic arguments.
On ARM/AArch64, we currently always use EmitScalarExpr for the immediate
builtin arguments, instead of directly emitting the constant. When the
overflow sanitizer is enabled, this generates overflow intrinsics
instead of constants, breaking assumptions in various places.

Instead, use the knowledge of "immediates" to directly emit a constant:
- teach the tablegen backend to emit the "immediate" modifiers
- use those modifiers in the NEON CodeGen, on ARM and AArch64.

Fixes PR23517.

Differential Revision: http://reviews.llvm.org/D10045

llvm-svn: 239002
2015-06-04 01:43:41 +00:00
..
CMakeLists.txt [CMake] Deprecate CLANG_RUNTIME_OUTPUT_INTDIR and CLANG_LIBRARY_OUTPUT_INTDIR. 2014-01-19 13:00:01 +00:00
ClangASTNodesEmitter.cpp [C++11] Use 'nullptr'. 2014-05-07 06:21:57 +00:00
ClangAttrEmitter.cpp Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:42:19 +00:00
ClangCommentCommandInfoEmitter.cpp Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:42:19 +00:00
ClangCommentHTMLNamedCharacterReferenceEmitter.cpp TableGen backends: use emitSourceFileHeader() to emit the warning about 2013-01-30 21:54:20 +00:00
ClangCommentHTMLTagsEmitter.cpp Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:42:19 +00:00
ClangDiagnosticsEmitter.cpp Remove many superfluous SmallString::str() calls. 2015-03-18 10:17:07 +00:00
ClangSACheckersEmitter.cpp [C++11] Use 'nullptr'. 2014-05-07 06:21:57 +00:00
Makefile Don't require exception handling for clang-tblgen. 2012-10-25 20:34:00 +00:00
NeonEmitter.cpp [CodeGen][NEON] Emit constants for "immediate" intrinsic arguments. 2015-06-04 01:43:41 +00:00
TableGen.cpp Reapplying r204952 a second time. 2014-03-31 13:14:44 +00:00
TableGenBackends.h Add missing header guards. 2014-08-08 13:24:19 +00:00