- Nov 11, 2015
-
-
Chris Bieneman authored
Summary: This patch adds a new CMake module for working with ExternalProjects. This wrapper for ExternalProject supports using just-built tools and can hook up dependencies properly so that projects get cleared out. The example usage here is for the llvm test-suite. In this example, the test-suite is setup as dependent on clang and lld if they are in-tree. If the clang or lld binaries change the test-suite is re-configured, cleaned, and rebuilt. This cleanup and abstraction wrapping ExternalProject can be extended and applied to other runtime libraries like compiler-rt and libcxx. Reviewers: samsonov, jroelofs, rengolin, jmolloy Subscribers: jmolloy, llvm-commits Differential Revision: http://reviews.llvm.org/D14513 llvm-svn: 252747
-
Dmitry Vyukov authored
llvm-svn: 252746
-
Rafael Espindola authored
llvm-svn: 252745
-
Diego Novillo authored
This reverts commits r252683 and r252689. This tool should not live here. See http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151109/311862.html for discussion. llvm-svn: 252744
-
Douglas Katzman authored
Differential Revision: http://reviews.llvm.org/D13316 Fixes PR25003 llvm-svn: 252743
-
Yury Gribov authored
llvm-svn: 252742
-
Kuba Brecka authored
Differential Revision: http://reviews.llvm.org/D14575 llvm-svn: 252741
-
James Molloy authored
If we have a chain of BFIs, we may be able to combine several together into one merged BFI. We can do this if the "from" bits from one BFI OR'd with the "from" bits from the other BFI form a contiguous range, and the same with the "to" bits. llvm-svn: 252740
-
Rafael Espindola authored
If linking a 32 bit binary, these values must fit in 32 bits. llvm-svn: 252739
-
Jay Foad authored
Summary: This is enough to get the asan static_tls.cc test case working. Reviewers: eugenis, samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14574 llvm-svn: 252738
-
Rafael Espindola authored
This just reduces the noise from an upcoming patch. llvm-svn: 252737
-
Rafael Espindola authored
llvm-svn: 252736
-
Kuba Brecka authored
llvm-svn: 252735
-
Charlie Turner authored
Measurements primarily on AArch64 have shown this feature does not significantly effect compile-time. The are no significant perf changes in LNT, but for AArch64 at least, there are wins in third party benchmarks. As discussed on llvm-dev, we're going to try turning this on by default and see how other targets react to the change. llvm-svn: 252733
-
Aaron Ballman authored
llvm-svn: 252732
-
Kuba Brecka authored
This patch enables building and running TSan unit tests on OS X. Differential Revision: http://reviews.llvm.org/D14546 llvm-svn: 252731
-
Jay Foad authored
Summary: On PowerPC64 Linux PTRACE_GETREGS is a #define and PT_GETREGS is not. On other systems it's the other way round. Extend the #ifs to check for both PTRACE_* and PT_*. This fixes test/sanitizer_common/TestCases/Linux/ptrace.cc when msan is enabled for PowerPC64. Reviewers: zatrazz, kcc, eugenis, samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14564 llvm-svn: 252730
-
Yury Gribov authored
Differential Revision: http://reviews.llvm.org/D14241 llvm-svn: 252729
-
Aaron Ballman authored
llvm-svn: 252728
-
Aaron Ballman authored
llvm-svn: 252727
-
Tobias Grosser authored
Basic blocks that are always executed can not be error blocks as their execution can not possibly be an unlikely event. In this commit we tighten the check if an error block to basic blcoks that do not dominate the exit condition, but that dominate all exiting blocks of the scop. llvm-svn: 252726
-
Tobias Grosser authored
r252713 introduced a couple of regressions due to later basic blocks refering to instructions defined in error blocks which have not yet been modeled. This commit is currently just encoding limitations of our modeling and code generation backends to ensure correctness. In theory, we should be able to generate and optimize such regions, as everything that is dominated by an error region is assumed to not be executed anyhow. We currently just lack the code to make this happen in practice. llvm-svn: 252725
-
Yury Gribov authored
llvm-svn: 252724
-
Yury Gribov authored
Differential Revision: http://reviews.llvm.org/D12318 llvm-svn: 252723
-
Michael Kuperstein authored
If possible and profitable, replace lea %reg, 1(%reg) and lea %reg, -1(%reg) with inc %reg and dec %reg respectively. Patch by: anton.nadolsky@intel.com Differential Revision: http://reviews.llvm.org/D14059 llvm-svn: 252722
-
Yury Gribov authored
Differential Revision: http://reviews.llvm.org/D14243 llvm-svn: 252721
-
Artyom Skrobov authored
Summary: For clarity and ease of maintenance, I suggest porting this test to use the same tooling as the rest of the tests. Reviewers: joerg, rengolin, dougk, yaron.keren Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D14548 llvm-svn: 252720
-
Yury Gribov authored
Differential Revision: http://reviews.llvm.org/D14242 llvm-svn: 252719
-
Rafael Espindola authored
llvm-svn: 252718
-
Rafael Espindola authored
This is in preparation for adding .eh_frame support. They will have another input section type but will also need to be relocated. llvm-svn: 252717
-
Rafael Espindola authored
llvm-svn: 252716
-
Dmitry Vyukov authored
Atomic RMW is not necessary in InitializeGuardArray. It is supposed to run when no user code runs. And if user code runs concurrently, then the atomic RMW won't help anyway. So replace it with non-atomic RMW. InitializeGuardArray takes more than 50% of time during re2 fuzzing: real 0m47.215s 51.56% a.out a.out [.] __sanitizer_reset_coverage 6.68% a.out a.out [.] __sanitizer_cov 3.41% a.out a.out [.] __sanitizer::internal_bzero_aligned16(void*, unsigned long) 1.79% a.out a.out [.] __asan::Allocator::Allocate(unsigned long, unsigned long, With this change: real 0m31.661s 26.21% a.out a.out [.] sanitizer_reset_coverage 10.12% a.out a.out [.] sanitizer_cov 5.38% a.out a.out [.] __sanitizer::internal_bzero_aligned16(void*, unsigned long) 2.53% a.out a.out [.] __asan::Allocator::Allocate(unsigned long, unsigned long, That's 33% speedup. Reviewed in http://reviews.llvm.org/D14537 llvm-svn: 252715
-
Tobias Grosser authored
Thinking more about the last commit I came to realize that for testing the new functionality it is sufficient to verify that the iteration domains we construct for a simple test case do not contain any of the complexity that caused compile time issues for larger inputs. llvm-svn: 252714
-
Tobias Grosser authored
Previously, we just skipped error blocks during scop construction. With this change we make sure we can construct domains for error blocks such that these domains can be forwarded to subsequent basic blocks. This change ensures that basic blocks that post-dominate and are dominated by a basic block that branches to an error condition have the very same iteration domain as the branching basic block. Before, this change we would construct a domain that excludes all error conditions. Such domains could become _very_ complex and were undesirable to build. Another solution would have been to drop these constraints using a dominance/post-dominance check instead of modeling the error blocks. Such a solution could also work in case of unreachable statements or infinite loops in the scop. However, as we currently (to my believe incorrectly) model unreachable basic blocks in the post-dominance tree, such a solution is not yet feasible and requires first a change to LLVM's post-dominance tree construction. This commit addresses the most sever compile time issue reported in: http://llvm.org/PR25458 llvm-svn: 252713
-
Craig Topper authored
[X86] Add 'pause' builtin that's already in llvm and use it instead of inline assembly to implement _mm_pause. llvm-svn: 252712
-
Craig Topper authored
[X86] Use __builtin_ia32_paddq and __builtin_ia32_psubq to implement a couple intrinsics that were supposed to operate on MMX registers. Otherwise we end up operating on GPRs. Throw in a test for _mm_mul_su32 while I was there. llvm-svn: 252711
-
Craig Topper authored
llvm-svn: 252710
-
Craig Topper authored
[X86] Fix feature flags on some MMX register instructions that really were introduced with SSE or SSE2. llvm-svn: 252709
-
Craig Topper authored
llvm-svn: 252708
-
Todd Fiala authored
Tracked by: https://llvm.org/bugs/show_bug.cgi?id=25486 llvm-svn: 252707
-