- Aug 15, 2014
-
-
Matt Arsenault authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215738 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 13, 2014
-
-
Yi Kong authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215569 91177308-0d34-0410-b5e6-96231b3b80d8
-
Yi Kong authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215568 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 29, 2014
-
-
Yi Kong authored
Merge vrshr_n_v and vqshlu_n_v with ARM. Remove FIXME comments for others as they can't actually be shared. NFC. Differential Revision: http://reviews.llvm.org/D4697 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214173 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 23, 2014
-
-
Tim Northover authored
The main subtlety here is that the Darwin tools still need to be given "-arch arm64" rather than "-arch aarch64". Fortunately this already goes via a custom function to handle weird edge-cases in other architectures, and it tested. I removed a few arm64_be tests because that really isn't an interesting thing to worry about. No-one using big-endian is also referring to the target as arm64 (at least as far as toolchains go). Mostly they date from when arm64 was a separate target and we *did* need a parallel name simply to test it at all. Now aarch64_be is sufficient. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213744 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 17, 2014
-
-
Alexey Samsonov authored
This is used to mark the instructions emitted by Clang to implement variety of UBSan checks. Generally, we don't want to instrument these instructions with another sanitizers (like ASan). Reviewed in http://reviews.llvm.org/D4544 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213291 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hal Finkel authored
Clang supports __assume, at least at the semantic level, when MS extensions are enabled. Unfortunately, trying to actually compile code using __assume would result in this error: error: cannot compile this builtin function yet __assume is an optimizer hint, and can be ignored at the IR level. Until LLVM supports assumptions at the IR level, a noop lowering is valid, and that is what is done here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213206 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 15, 2014
-
-
Matt Arsenault authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213079 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 14, 2014
-
-
Yi Kong authored
This patch implements __builtin_arm_nop intrinsic for AArch32 and AArch64, which generates hint 0x0, the alias of NOP instruction. This intrinsic is necessary to implement ACLE __nop intrinsic. Differential Revision: http://reviews.llvm.org/D4495 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212947 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 13, 2014
-
-
Saleem Abdulrasool authored
This adds support for the ACLE hint intrinsics on AArch64 similar to ARM. This is required to properly support ACLE on AArch64. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212890 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 11, 2014
-
-
Reid Kleckner authored
We still don't accept '__noop;', and we don't consider __noop to be the integer literal zero. More work is needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212839 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 05, 2014
-
-
Saleem Abdulrasool authored
This adds support for simple MSVC compatibility mode intrinsics. These intrinsics are simple in that they are either directly passed through to the annotated MSBuiltin intrinsic or they mirror existing GCC builtins. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212378 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 04, 2014
-
-
Saleem Abdulrasool authored
This completes the infrastructure for the new MSBuiltin aliases in the instruction definitions. These behave similar to the GCCBuiltin in that they can be implicitly constructed without special handling unless needed. With this change it is possible to annotate an LLVM intrinsic in the backend instruction definitions and indicate it as a builtin in the Builtin*.def files in clang via LANGBUILTIN. That will automatically pass through the instruction much as a GCCBuiltin. Note that there is no need for the special handling for ensuring that the compatibility flag is enabled since the filtering on the LANGBUILTIN will automatically prevent the intrinsic from bleeding into non-MS compatible compiler invocations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212359 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 03, 2014
-
-
Saleem Abdulrasool authored
This corrects SVN r212196's naming change to use the proper prefix of `__builtin_arm_` instead of `__builtin_`. Thanks to Yi Kong for pointing out the incorrect naming! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212253 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 02, 2014
-
-
Saleem Abdulrasool authored
This extends the target builtin support to allow language specific annotations (i.e. LANGBUILTIN). This is to allow MSVC compatibility whilst retaining the ability to have EABI targets use a __builtin_ prefix. This is merely to allow uniformity in the EABI case where the unprefixed name is provided as an alias in the header. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212196 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Northover authored
ARMv8 adds (to both AArch32 and AArch64) acquiring and releasing variants of the exclusive operations, in line with the C++11 memory model. This adds support for two new intrinsics to expose them to C & C++ developers directly: __builtin_arm_ldaex and __builtin_arm_stlex, in direct analogy with the versions with no implicit barrier. rdar://problem/15885451 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212175 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 29, 2014
-
-
Craig Topper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211987 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 24, 2014
-
-
Matt Arsenault authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211631 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Northover authored
These two are no longer being used by NEON codegen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211586 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 23, 2014
-
-
Jim Grosbach authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211530 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 18, 2014
-
-
Saleem Abdulrasool authored
Add support for _InterlockedCompareExchangePointer, _InterlockExchangePointer, _InterlockExchange. These are available as a compiler intrinsic on ARM and x86. These are used directly by the Windows SDK headers without use of the intrin header. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211216 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 16, 2014
-
-
Jim Grosbach authored
__builtin_arm_rbit() and __builtin_arm_rbit64(). rdar://9283021 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211060 91177308-0d34-0410-b5e6-96231b3b80d8
-
Jim Grosbach authored
Reverse the bits in a word. Maps to the RBIT instruction. rdar://9283021 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211059 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 13, 2014
-
-
Tim Northover authored
This is a minimal fix for clang. I'll soon add support for generating weak variants when requested, but that's not really necessary for the LLVM change in isolation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210907 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 04, 2014
-
-
Richard Smith authored
to the normal non-placement ::operator new and ::operator delete, but allow optimizations like new-expressions and delete-expressions do. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210137 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 02, 2014
-
-
Michael J. Spencer authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210042 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 31, 2014
-
-
Michael J. Spencer authored
[CodeGen] Don't cast and use SizeTy instead of Int32Ty when constructing {extract,insert} vector element instructions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209942 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 24, 2014
-
-
Tim Northover authored
This keeps Clang consistent with backend naming conventions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209579 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Northover authored
A few (mostly CodeGen) parts of Clang were tightly coupled to the AArch64 backend. Now that it's gone, they will not even compile. I've also deduplicated RUN lines in many of the AArch64 tests. This might improve "make check-all" time noticably: some of those NEON tests were monsters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209578 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 21, 2014
-
-
Craig Topper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209272 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 14, 2014
-
-
Hao Liu authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208761 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 04, 2014
-
-
Saleem Abdulrasool authored
Add support for the remaining hints from the ACLE. Although __dbg is listed as a hint, it is handled different, so it is not covered by this change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207930 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 02, 2014
-
-
Saleem Abdulrasool authored
ACLE adds the __sevl() extension. Rename the hint from a custom name to the ACLE specified name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207829 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 30, 2014
-
-
James Molloy authored
I think this is the last commit for ARM64 big endian in clang. This commit makes arm_neon.h compile correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207624 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 28, 2014
-
-
Hao Liu authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207401 91177308-0d34-0410-b5e6-96231b3b80d8
-
Saleem Abdulrasool authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207390 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 27, 2014
-
-
Sylvestre Ledru authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207360 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 25, 2014
-
-
Saleem Abdulrasool authored
The __yield intrinsic generates a hint instruction to indicate that the thread is not performing any useful operations at the moment. This is for compatibility with MSVC, although, the intrinsic is also part of the ACLE, and is enabled globally as a result. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207275 91177308-0d34-0410-b5e6-96231b3b80d8
-
Saleem Abdulrasool authored
Use the new generic @llvm.arm.hint hint intrinsic rather than the specialised @llvm.arm.sevl hint instruction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207243 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 01, 2014
-
-
Tim Northover authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205303 91177308-0d34-0410-b5e6-96231b3b80d8
-