- Feb 19, 2014
-
-
Rafael Espindola authored
Since r201608 got reverted, it is not safe to use private linkage in these cases until it is committed back. llvm-svn: 201688
-
Aaron Ballman authored
llvm-svn: 201687
-
Aaron Ballman authored
llvm-svn: 201686
-
Ben Langmuir authored
Fixes PR18895 llvm-svn: 201685
-
Daniel Sanders authored
llvm-svn: 201684
-
Alexey Samsonov authored
Patch by Viktor Kutuzov! llvm-svn: 201683
-
Daniel Sanders authored
llvm-svn: 201682
-
Cameron McInally authored
llvm-svn: 201681
-
Alexey Samsonov authored
llvm-svn: 201680
-
Logan Chien authored
According to http://gcc.gnu.org/projects/cxx0x.html, override and final keyword was added in gcc 4.7. Thus, we should not use these keywords in gcc 4.6 even when __GXX_EXPERIMENTAL_CXX0X__ is available. llvm-svn: 201679
-
Aaron Ballman authored
llvm-svn: 201678
-
Aaron Ballman authored
Moving the documentation for the enable_if attribute into AttrDocs. Removed the "clang introduces" phrase for style consistency, but otherwise the documentation is identical. llvm-svn: 201677
-
Kostya Serebryany authored
llvm-svn: 201676
-
Kostya Serebryany authored
llvm-svn: 201675
-
Alexey Samsonov authored
llvm-svn: 201674
-
Evgeniy Stepanov authored
Instead of checking stack limits that are not well defined for the main thread, we rely on siginfo::si_code and distance from SP. llvm-svn: 201673
-
Alexey Samsonov authored
llvm-svn: 201672
-
Ed Maste authored
Clang now requires calling CompilerInstance::createVirtualFileSystem before CompilerInstance::createFileManager. llvm-svn: 201671
-
Evgeniy Stepanov authored
Very bad things happen otherwise. llvm-svn: 201670
-
Daniel Jasper authored
This causes the LLVMgold plugin to segfault. More information on the replies to r201608. llvm-svn: 201669
-
Tim Northover authored
If LLVM is built without X86 as a supported target then the test would mysteriously fail. llvm-svn: 201668
-
Tim Northover authored
This fixes one immediate bug where an expression with side-effects could be emitted twice during a NEON call. It also prepares the way for folding CodeGen for many of the SISD intrinsics into a table, reducing code size and hopefully increasing performance eventually ("binary search + few switch cases" should be better than "lots of switch cases"). llvm-svn: 201667
-
Alexey Samsonov authored
llvm-svn: 201666
-
Deepak Panickal authored
llvm-svn: 201665
-
Evgeniy Stepanov authored
There are more cases when those manifest as an access below SP. llvm-svn: 201664
-
Tim Northover authored
Apparently it's not True C++. rdar://problem/16035743 still. llvm-svn: 201663
-
Renato Golin authored
Patch by Andrew Turner. llvm-svn: 201662
-
Tim Northover authored
These instructions (well, the f32 ones) are supported on 32-bit ARMv8, not just AArch64. Now that the arm_neon.td refactoring is complete, adding them is surprisingly simple. rdar://problem/16035743 llvm-svn: 201661
-
Tim Northover authored
We used to have special handling for isCrypto and isA64 bits in the NeonEmitter.cpp file (it knew the former was predicated on __ARM_FEATURE_CRYPTO and the latter on __aarch64__ and went through various contortions to make sure the correct intrinsics were emitted under the correct guard. This is ugly and has obvious scalability problems (e.g. vcvtX intrinsics are needed, which are ARMv8 only but available on both, yet another category). This patch moves the #if predicate into the arm_neon.td file directly and makes NeonEmitter.cpp agnostic about what goes in there. It also deduplicates arm_neon.td so that each desired intrinsic is mentioned in just one place (necessary because of the new mechanism for creating arm_neon.h). rdar://problem/16035743 llvm-svn: 201660
-
Tim Northover authored
There are two kinds of automatically generated tests for NEON intrinsics, both of which can be merged without adversely affecting users. 1. We check that a valid kind of __builtin_neon_XYZ overload is requested (e.g. we're not asking for a float32x4_t version when it only accepts integers. Since the __builtin_neon_XYZ intrinsics should only be used in arm_neon.h, relaxing this test and permitting AArch64 types for AArch32 should not cause a problem. The extra arm_neon.h definitions should be #ifdefed out anyway. 2. We check that intrinsics which take immediates are actually given compile-time constants within range. Since all NEON intrinsics should be backwards compatible, these tests should be identical on AArch64 and AArch32 anyway. This patch, therefore, merges the separate AArch64 and 32-bit checks. rdar://problem/16035743 llvm-svn: 201659
-
Tim Northover authored
Just a wild stab in the dark really, but in the absence of any ability to reproduce the problem... llvm-svn: 201658
-
Dmitri Gribenko authored
llvm-svn: 201657
-
Alexey Samsonov authored
1) Depend on llvm-config (configured in LLVM_CONFIG_PATH) to get necessary LLVM source/binary directories. 2) Add basic support for running lit tests (check-xsan commands). For now this "support" is far from what we want: * unit tests are not built currently. * lit tests use Clang/compiler-rt from LLVM build directory, not the host compiler or just-built compiler-rt libraries. We should make a choice on the way we intend ti run compiler-rt lit testsuite: a) use either Clang from LLVM build tree, or the host compiler. b) use either just-built runtimes, or the runtimes shipped with the host compiler. Using just-built runtimes is tricky - we have to know where to put them, so that Clang/GCC driver would pick them up (and not overwrite the existing runtimes). Using a host compiler instead of Clang from LLVM build tree will give us a chance to run lit tests under GCC (which already has support for several sanitizers). That is, I tend to make the following choice: if we're in a standalone compiler-rt build, use host compiler with its set of runtime libraries to run lit tests. This will effectively decouple "make compiler-rt" and "make check-compiler-rt" in a standalone build - the latter wouldn't invoke the former. Note that if we decide to fix LLVM/Clang/compiler-rt build system so that it would configure/build compiler-rt with just-built Clang (as we do in Makefile-based build), this will not be a problem - we can add a dependency to ensure that clang/compiler-rt are rebuilt before running compiler-rt tests. llvm-svn: 201656
-
Tim Northover authored
On x86, shifting a vector by a scalar is significantly cheaper than shifting a vector by another fully general vector. Unfortunately, because SelectionDAG operates on just one basic block at a time, the shufflevector instruction that reveals whether the right-hand side of a shift *is* really a scalar is often not visible to CodeGen when it's needed. This adds another handler to CodeGenPrepare, to sink any useful shufflevector instructions down to the basic block where they're used, predicated on a target hook (since on other architectures, doing so will often just introduce extra real work). rdar://problem/16063505 llvm-svn: 201655
-
Evgeniy Stepanov authored
This change also removes CMAKE_LINK_FLAGS setting that seems to be ignored by cmake. llvm-svn: 201654
-
Evgeniy Stepanov authored
Move asm tests to their own file. llvm-svn: 201653
-
Evgeniy Stepanov authored
llvm-svn: 201652
-
Alexey Samsonov authored
llvm-svn: 201651
-
Evgeniy Stepanov authored
These are runtime support functions for inline assembly instrumentation. This is a re-submit of r201402. Patch by Yuri Gorshenin. llvm-svn: 201650
-
Craig Topper authored
Remove special FP opcode maps and instead add enough MRM_XX formats to handle all the FP operations. This increases format by 1 bit, but decreases opcode map by 1 bit so the TSFlags size doesn't change. llvm-svn: 201649
-