- Oct 03, 2015
-
-
Sanjoy Das authored
Summary: This change teaches SCEV that to prove `A u< B` it is sufficient to prove each of these facts individually: - B >= 0 - A s< B - A >= 0 In practice, SCEV sometimes finds it easier to prove these facts individually than to prove `A u< B` as one atomic step. Reviewers: reames, atrick, nlewycky, hfinkel Subscribers: sanjoy, llvm-commits Differential Revision: http://reviews.llvm.org/D13042 llvm-svn: 249168
-
Sean Callanan authored
Also made it not store nullptrs in its TypeSystemMap, so it will retry to make the AST context if it errored out last time. llvm-svn: 249167
-
Douglas Katzman authored
llvm-svn: 249166
-
Roman Divacky authored
llvm-svn: 249165
-
Tim Northover authored
We previously stopped producing Thumb2 relaxations when they weren't supported, but only diagnosed the case where an actual relocation was produced. We should also tell people if local symbols aren't going to work rather than silently overflowing. llvm-svn: 249164
-
Tim Northover authored
Since we're using tLDRpci to access it, the constant pool's address must be 0 (mod 4). llvm-svn: 249163
-
Hal Finkel authored
As Rafael pointed out, we don't need quite so many flags on the llvm-readobj RUN line here. llvm-svn: 249162
-
Hal Finkel authored
It is common to have a default soft process limit, at least on some families of Linux distributions, of 1024. This is normally more than enough, but if you have many cores, and you're running tests that create many threads, this can become a problem. My POWER7 development machine has 48 cores, and when running the lld regression tests, which often want to create up to 48 threads, I run into problems. lit, by default, will want to run 48 tests in parallel, and 48*48 < 1024, and so many tests fail like this: terminate called after throwing an instance of 'std::system_error' what(): Resource temporarily unavailable or lit fails like this when launching a test: OSError: [Errno 11] Resource temporarily unavailable lit can easily detect this situation and attempt to repair it before launching tests (by raising the soft process limit to something that will allow ncpus^2 threads to be created), and should do so to prevent spurious test failures. This is the follow-up to this thread: http://lists.llvm.org/pipermail/llvm-dev/2015-October/090942.html llvm-svn: 249161
-
Rafael Espindola authored
llvm-svn: 249160
-
Yaron Keren authored
llvm-svn: 249159
-
Chris Bieneman authored
This should resolve an issue reported by mclow. llvm-svn: 249158
-
Adrian Prantl authored
A forward declaration inside a module header does not belong to the module. llvm-svn: 249157
-
Adrian Prantl authored
llvm-svn: 249156
-
Adrian Prantl authored
llvm-svn: 249155
-
Samuel Antao authored
All global variables that are not enclosed in a declare target region must be captured in the target region as local variables do. Currently, there is no support for declare target, so this patch adds support for capturing all the global variables used in a the target region. llvm-svn: 249154
-
Chad Rosier authored
llvm-svn: 249153
-
Yaron Keren authored
constify ClassTemplatePartialSpecializationDecl::getInstantiatedFromMember and VarTemplatePartialSpecializationDecl::getInstantiatedFromMember. llvm-svn: 249152
-
Michael Kruse authored
Treat the scop as invalid instead of creating dummy domains. llvm-svn: 249151
-
Hal Finkel authored
Using the "raw" Elf64_Dyn or Elf32_Dyn structures in DynamicSection<ELFT>::writeTo does not correctly handle mixed-Endian situations. Instead, use the corresponding llvm::object::* structures which have Endian-converting members (like the rest of the code). This fixes all currently-failing elf2 tests when running on big-Endian PPC64/Linux (I've added a big-Endian test case which should fail on little-Endian machines in the same way that test/elf2/shared.s failed on big-Endian machines prior to this change). llvm-svn: 249150
-
Rafael Espindola authored
llvm-svn: 249149
-
Samuel Antao authored
This patch implements the outlining for offloading functions for code annotated with the OpenMP target directive. It uses a temporary naming of the outlined functions that will have to be updated later on once target side codegen and registration of offloading libraries is implemented - the naming needs to be made unique in the produced library. llvm-svn: 249148
-
Andrea Di Biagio authored
Reapply r249121 : "[FastISel][x86] Teach how to select SSE2/AVX bitcasts between 128/256-bit vector types." This patch teaches FastIsel the following two things: 1) On SSE2, no instructions are needed for bitcasts between 128-bit vector types; 2) On AVX, no instructions are needed for bitcasts between 256-bit vector types. Example: %1 = bitcast <4 x i31> %V to <2 x i64> Before (-fast-isel -fast-isel-abort=1): FastIsel miss: %1 = bitcast <4 x i31> %V to <2 x i64> Now we don't fall back to SelectionDAG and we correctly fold that computation propagating the register associated to %V. Originally reviewed here: http://reviews.llvm.org/D13347 llvm-svn: 249147
-
- Oct 02, 2015
-
-
Ed Maste authored
Differential Revision: http://reviews.llvm.org/D13387 llvm-svn: 249146
-
Johannes Doerfert authored
The last invariant load fix was based on a later patch not polly/master, thus needs to be adjusted. llvm-svn: 249145
-
Ed Maste authored
Found while testing a FreeBSD base system build with lld. Ignored for now while we continue to identify missing options and functionality. llvm-svn: 249144
-
Bruno Cardoso Lopes authored
Reapply r248935. Usually, when using LTO with a clang installation newer than the system's one, there's a libLTO.dylib version mismatch and LTO fails. One solution to this is to make ld point to the right libLTO.dylib by changing DYLD_LIBRARY_PATH. However, ld64 supports specifying the complete path to the desired libLTO.dylib through the -lto_library option. This commit adds support for the clang driver to use this option whenever it's capable of finding a libLTO.dylib in clang's installed library directory. This way, we don't need to rely on DYLD_LIBRARY_PATH nor get caught by version mismatches. Differential Revision: http://reviews.llvm.org/D13117 rdar://problem/7363476 llvm-svn: 249143
-
Andrea Di Biagio authored
Currently FastISel doesn't know how to select vector bitcasts. During instruction selection, fast-isel always falls back to SelectionDAG every time it encounters a vector bitcast. As a consequence of this, all the 'packed vector shift by immedate count' test cases in avx2-builtins.c are optimized by the DAGCombiner. In particular, the DAGCombiner would always fold trivial stack loads of constant shift counts into the operands of packed shift builtins. This behavior would start changing as soon as I reapply revision 249121. That revision would teach x86 fast-isel how to select bitcasts between vector types of the same size. As a consequence of that change, fast-isel would less often fall back to SelectionDAG. More importantly, DAGCombiner would no longer be able to simplify the code by folding the stack reload of a constant. No functional change. llvm-svn: 249142
-
Vasileios Kalintiris authored
This reverts commit r249137 because it broke the Windows buildbots and a Linux buildbot for LLD. llvm-svn: 249141
-
Alexandros Lamprineas authored
Differential Revision: http://reviews.llvm.org/D12633 llvm-svn: 249140
-
Johannes Doerfert authored
We have to skip accesses in non-affine subregions during hoisting as they might not be executed under the same condition as the entry of the non-affine subregion. llvm-svn: 249139
-
Douglas Katzman authored
llvm-svn: 249138
-
Vasileios Kalintiris authored
Summary: This new toolchain uses primarily LLVM-based tools, eg. compiler-rt, lld, libcxx, etc. Because of this, it doesn't require neither an existing GCC installation nor a GNU environment. Ideally, in a follow-up patch we would like to add a new --{llvm|clang}-toolchain option (similar to --gcc-toolchain) in order to allow the use of this toolchain with independent Clang builds. For the time being, we use the --sysroot option just to test the correctness of the paths generated by the driver. Reviewers: atanasyan, dsanders, rsmith Subscribers: jfb, tberghammer, danalbert, srhines, dschuff, cfe-commits Differential Revision: http://reviews.llvm.org/D13340 llvm-svn: 249137 -
Aaron Ballman authored
Taking a stab at fixing failing build bots that use make. Unfortunately, the build logs do not point to much useful information for tracking this down, such as: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/31782/steps/compile/logs/stdio llvm-svn: 249136
-
Rafael Espindola authored
llvm-svn: 249135
-
Rafael Espindola authored
This matches what both gold and bfd ld accept. llvm-svn: 249134
-
Aaron Ballman authored
http://bb.pgr.jp/builders/i686-mingw32-RA-on-linux/builds/2833/steps/build_llvmclang/logs/stdio Also, drive-by comment fix in a makefile. llvm-svn: 249133
-
Michael Kruse authored
This moves the construction of ScopStmt to the beginning of the ScopInfo pass. The late creation was a result of the earlier separation of ScopInfo and TempScopInfo. This will avoid introducing more ScopStmt-like maps in future commits. The AccFuncMap will also be removed in some future commit. DomainMap might also be included into ScopStmt. The order in which ScopStmt are created changes and initially creates empty statements that are removed in a simplification. Differential Revision: http://reviews.llvm.org/D13341 llvm-svn: 249132
-
James Y Knight authored
their associated .cpp file. Previous refactorings long long ago had split out the above categories of classes from Stmt.h into their own header files, but failed to also split the Stmt.cpp implementation file similarly. Do so for readability's sake. llvm-svn: 249131
-
Aaron Ballman authored
Adding a new clang-tidy module to house CERT-specific checkers, and map existing checkers to CERT secure coding rules and recommendations for both C (https://www.securecoding.cert.org/confluence/display/c/SEI+CERT+C+Coding+Standard) and C++ (https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=637). llvm-svn: 249130
-
Angel Garcia Gomez authored
Summary: create TraverseSyntacticInitListExpr and TraverseSemanticInitListExpr. Reviewers: rsmith, klimek Subscribers: klimek, cfe-commits, alexfh Differential Revision: http://reviews.llvm.org/D13249 llvm-svn: 249129
-