llvm-project/clang/tools/libclang
Hal Finkel c4d7c82c7f Add the intrinsic __builtin_convertvector
LLVM supports applying conversion instructions to vectors of the same number of
elements (fptrunc, fptosi, etc.) but there had been no way for a Clang user to
cause such instructions to be generated when using builtin vector types.

C-style casting on vectors is already defined in terms of bitcasts, and so
cannot be used for these conversions as well (without leading to a very
confusing set of semantics). As a result, this adds a __builtin_convertvector
intrinsic (patterned after the OpenCL __builtin_astype intrinsic). This is
intended to aid the creation of vector intrinsic headers that create generic IR
instead of target-dependent intrinsics (in other words, this is a generic
_mm_cvtepi32_ps). As noted in the documentation, the action of
__builtin_convertvector is defined in terms of the action of a C-style cast on
each vector element.

llvm-svn: 190915
2013-09-18 03:29:45 +00:00
..
ARCMigrate.cpp libclang: introduce cxstring::{createRef,createDup} for StringRefs 2013-02-02 02:19:29 +00:00
CIndex.cpp Remove unnecessary inclusion of Sema.h 2013-09-13 18:32:52 +00:00
CIndexCXX.cpp [libclang] Have clang_getCXXAccessSpecifier() also return the access control of a C++ declaration within its parent scope. 2013-04-11 17:02:10 +00:00
CIndexCodeCompletion.cpp Remove unnecessary inclusion of Sema.h 2013-09-13 18:32:52 +00:00
CIndexDiagnostic.cpp libclang: remove 'using namespace cxstring' 2013-02-03 13:52:47 +00:00
CIndexDiagnostic.h Implement clang_getDiagnosticCategoryText() to provide a way for a client of libclang to accurately 2012-04-12 00:03:31 +00:00
CIndexHigh.cpp Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily. 2013-07-04 03:08:24 +00:00
CIndexInclusionStack.cpp libclang: factor out the frequent pattern static_cast<ASTUnit *>(TU->TUData) 2013-01-26 18:53:38 +00:00
CIndexUSRs.cpp Remove more uses of 'index' as namespace scope. 2013-08-21 01:51:19 +00:00
CIndexer.cpp libclang: Remove clang::RemapFiles, it's dead code. 2013-06-13 13:57:48 +00:00
CIndexer.h libclang: Remove clang::RemapFiles, it's dead code. 2013-06-13 13:57:48 +00:00
CLog.h [libclang] Add Logger::operator<< overloads for CXCursor and FileEntry. 2013-03-08 02:32:26 +00:00
CMakeLists.txt Rename libIDE to libIndex. 2013-08-17 00:40:41 +00:00
CXComment.cpp Remove unnecessary inclusion of Sema.h 2013-09-13 18:32:52 +00:00
CXComment.h libclang: factor out the frequent pattern static_cast<ASTUnit *>(TU->TUData) 2013-01-26 18:53:38 +00:00
CXCompilationDatabase.cpp Use cstdio instead of stdio.h 2013-08-19 16:14:33 +00:00
CXCursor.cpp Add the intrinsic __builtin_convertvector 2013-09-18 03:29:45 +00:00
CXCursor.h libclang: make getCursorParentDecl() return 'const Decl *' 2013-01-26 18:12:08 +00:00
CXLoadedDiagnostic.cpp Fix typos: [Dd]iagnosic -> [Dd]iagnostic 2013-03-01 21:41:22 +00:00
CXLoadedDiagnostic.h libclang: don't store nul-terminated strings as StringRefs, 2013-02-18 19:50:38 +00:00
CXSourceLocation.cpp [libclang] In clang_getLocation, check that the provided line/column is valid. 2013-09-12 01:10:36 +00:00
CXSourceLocation.h [libclang] Add some constness in CXSourceLocation and CXSourceRange. 2013-01-11 22:29:47 +00:00
CXStoredDiagnostic.cpp libclang: remove 'using namespace cxstring' 2013-02-03 13:52:47 +00:00
CXString.cpp libclang: wrap CXString implementation into 'namespace cxstring' 2013-02-03 13:54:26 +00:00
CXString.h libclang: introduce cxstring::{createRef,createDup} for StringRefs 2013-02-02 02:19:29 +00:00
CXTranslationUnit.h [libclang] In cxtu::getASTUnit(), check for a null CXTranslationUnit. 2013-04-09 20:03:03 +00:00
CXType.cpp [libclang] Don't report a DecayedType as "unexposed", report it as the original (as written) type. 2013-09-16 17:26:23 +00:00
CXType.h Change CXTranslationUnit to not directly cast to an ASTUnit*, 2010-11-16 08:15:36 +00:00
CursorVisitor.h [libclang] Modify clang_findReferencesInFile and clang_findIncludesInFile to return a value. 2013-03-08 20:42:33 +00:00
IndexBody.cpp First pass of semantic analysis for init-captures: check the initializer, build 2013-05-16 06:20:58 +00:00
IndexDecl.cpp [libclang] When indexing a @synthesize, don't consider that it defines a getter/setter if one is already defined by the user. 2013-05-29 23:58:31 +00:00
IndexTypeSourceInfo.cpp Sort #include lines for tools/... 2012-12-04 09:25:21 +00:00
Index_Internal.h [libclang] Move CursorVisitor to its own header. 2011-11-03 19:02:34 +00:00
Indexing.cpp Use cstdio instead of stdio.h 2013-08-19 16:14:33 +00:00
IndexingContext.cpp Remove unnecessary inclusion of Sema.h 2013-09-13 18:32:52 +00:00
IndexingContext.h Replace some DenseMap keys with simpler structures that don't need another DenseMapInfo specialization. 2013-08-16 21:57:06 +00:00
Makefile Rename libIDE to libIndex. 2013-08-17 00:40:41 +00:00
RecursiveASTVisitor.h Add the intrinsic __builtin_convertvector 2013-09-18 03:29:45 +00:00
SimpleFormatContext.h Remove useless 'llvm::' qualifier from names like StringRef and others that are 2013-01-12 19:30:44 +00:00
libclang.exports Add clang_Location_isFromMainFile() to libclang. 2013-08-08 17:48:14 +00:00