summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [WebAssembly] Add a memory_size intrinsic.Dan Gohman2015-10-024-0/+29
| | | | llvm-svn: 249171
* AMDGPU/SI: Add verifier check for exec readsMatt Arsenault2015-10-022-2/+14
| | | | | | | Make sure we aren't accidentally not setting these in the instruction definitions. llvm-svn: 249170
* Add way to test for generic TargetOpcodesMatt Arsenault2015-10-022-0/+8
| | | | | | | The alternative would be to add a bit to the target's InstrFlags but that seems like a waste of a bit. llvm-svn: 249169
* [SCEV] Try to prove predicates by splitting themSanjoy Das2015-10-023-3/+125
| | | | | | | | | | | | | | | | | | | | | 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
* Made GetScratchTypeSystemForLanguage return an error if desired.Sean Callanan2015-10-028-27/+46
| | | | | | | 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
* [Myriad]: Accept '-nostdlib' optionDouglas Katzman2015-10-022-17/+27
| | | | llvm-svn: 249166
* Actually switch the arch when we see .arch. PR21695Roman Divacky2015-10-022-0/+17
| | | | llvm-svn: 249165
* ARM: diagnose invalid local fixups on Thumb1Tim Northover2015-10-029-22/+117
| | | | | | | | | 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
* ARM: correctly align constant pool value on Thumb1 targets.Tim Northover2015-10-022-11/+15
| | | | | | | Since we're using tLDRpci to access it, the constant pool's address must be 0 (mod 4). llvm-svn: 249163
* [ELF2] Simplify test from r249150Hal Finkel2015-10-021-1/+1
| | | | | | | As Rafael pointed out, we don't need quite so many flags on the llvm-readobj RUN line here. llvm-svn: 249162
* [lit] Raise the default soft process limit when possibleHal Finkel2015-10-021-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Weak undefined symbols should not fetch archive members.Rafael Espindola2015-10-023-2/+9
| | | | llvm-svn: 249160
* constify four getInstantiatedFromMemberTemplate() in DeclTemplate.h.Yaron Keren2015-10-021-4/+4
| | | | llvm-svn: 249159
* [CMake] Workaround for the lipo output directory not being created.Chris Bieneman2015-10-021-0/+1
| | | | | | This should resolve an issue reported by mclow. llvm-svn: 249158
* Module debugging: Don't emit forward declarations in module scopes.Adrian Prantl2015-10-023-0/+7
| | | | | | A forward declaration inside a module header does not belong to the module. llvm-svn: 249157
* Break long lines for readability.Adrian Prantl2015-10-021-2/+7
| | | | llvm-svn: 249156
* Remove unused variable.Adrian Prantl2015-10-021-1/+0
| | | | llvm-svn: 249155
* [OpenMP] Capture global variables in target regions.Samuel Antao2015-10-026-3/+251
| | | | | | | | | 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
* [ARM] Typo. NFC.Chad Rosier2015-10-021-1/+1
| | | | llvm-svn: 249153
* constify ClassTemplatePartialSpecializationDecl::getInstantiatedFromMember ↵Yaron Keren2015-10-021-4/+4
| | | | | | and VarTemplatePartialSpecializationDecl::getInstantiatedFromMember. llvm-svn: 249152
* Bail-out early if all statements have been simplified awayMichael Kruse2015-10-022-12/+12
| | | | | | Treat the scop as invalid instead of creating dummy domains. llvm-svn: 249151
* [ELF2] Fix mixed-Endian handling in DynamicSection<ELFT>::writeToHal Finkel2015-10-023-2/+36
| | | | | | | | | | | | | | 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
* Ignore --version-script.Rafael Espindola2015-10-021-0/+1
| | | | llvm-svn: 249149
* [OpenMP] Target directive host codegen.Samuel Antao2015-10-025-7/+1035
| | | | | | | | | | | 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
* Reapply r249121 : "[FastISel][x86] Teach how to select SSE2/AVX bitcasts ↵Andrea Di Biagio2015-10-023-0/+513
| | | | | | | | | | | | | | | | | | | | | | | 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
* Allow -soname arg in addition to -soname=argEd Maste2015-10-021-0/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D13387 llvm-svn: 249146
* [FIX] Repair broken commitJohannes Doerfert2015-10-022-60/+4
| | | | | | | The last invariant load fix was based on a later patch not polly/master, thus needs to be adjusted. llvm-svn: 249145
* Ignore --enable-new-dtags and --no-fatal-warningsEd Maste2015-10-021-0/+2
| | | | | | | 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
* [DarwinDriver] Reapply: Use -lto_library to specify the path for libLTO.dylibBruno Cardoso Lopes2015-10-024-9/+56
| | | | | | | | | | | | | | | | | | | | | | 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
* Make test more resilient to FastIsel changes. NFC.Andrea Di Biagio2015-10-021-6/+6
| | | | | | | | | | | | | | | | | | | | | | 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
* Revert "Add support for the new mips-mti-linux toolchain."Vasileios Kalintiris2015-10-0217-296/+25
| | | | | | | This reverts commit r249137 because it broke the Windows buildbots and a Linux buildbot for LLD. llvm-svn: 249141
* Implement ACLE 2.0 macros of chapters 6.6 and 6.7 for [ARM] and [Aarch64] ↵Alexandros Lamprineas2015-10-025-7/+24
| | | | | | | | targets. Differential Revision: http://reviews.llvm.org/D12633 llvm-svn: 249140
* [FIX] Do not hoist from inside a non-affine subregionJohannes Doerfert2015-10-023-4/+67
| | | | | | | | 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
* Fix bogus comment.Douglas Katzman2015-10-021-1/+1
| | | | llvm-svn: 249138
* Add support for the new mips-mti-linux toolchain.Vasileios Kalintiris2015-10-0217-25/+296
| | | | | | | | | | | | | | | | | | | | 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
* Taking a stab at fixing failing build bots that use make. Unfortunately, the ↵Aaron Ballman2015-10-021-4/+3
| | | | | | | | 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
* Ignore options used during a clang build.Rafael Espindola2015-10-021-0/+3
| | | | llvm-svn: 249135
* Accept some options with both -- and -.Rafael Espindola2015-10-021-2/+2
| | | | | | This matches what both gold and bfd ld accept. llvm-svn: 249134
* Hopefully rectifying a build bot issue with:Aaron Ballman2015-10-022-1/+3
| | | | | | | | 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
* Earlier creation of ScopStmt objectsMichael Kruse2015-10-0217-158/+212
| | | | | | | | | | | | | | | | 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
* Move functions declared in Stmt{ObjC,CXX}.h and OpenMPClause.h intoJames Y Knight2015-10-026-1258/+1334
| | | | | | | | | | | 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
* Adding a new clang-tidy module to house CERT-specific checkers, and map ↵Aaron Ballman2015-10-028-3/+94
| | | | | | 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
* Divide TraverseInitListExpr to a different function for each form.Angel Garcia Gomez2015-10-021-17/+25
| | | | | | | | | | | | Summary: create TraverseSyntacticInitListExpr and TraverseSemanticInitListExpr. Reviewers: rsmith, klimek Subscribers: klimek, cfe-commits, alexfh Differential Revision: http://reviews.llvm.org/D13249 llvm-svn: 249129
* Simplify. NFC.Rafael Espindola2015-10-021-2/+2
| | | | llvm-svn: 249128
* Handle trailing underscores on modernize-loop-convert variable namer.Angel Garcia Gomez2015-10-023-0/+27
| | | | | | | | | | | | Summary: https://llvm.org/bugs/show_bug.cgi?id=24961. Reviewers: klimek Subscribers: cfe-commits, alexfh Differential Revision: http://reviews.llvm.org/D13381 llvm-svn: 249127
* Hand down referenced & globally mapped values to the subfunctionJohannes Doerfert2015-10-024-9/+116
| | | | | | | | | | | | | | | | | | | | | | If a value is globally mapped (IslNodeBuilder::ValueMap) and referenced in the code that will be put into a subfunction, we hand down the new value to the subfunction. This patch also removes code that handed down all invariant loads to the subfunction. Instead, only needed invariant loads are given to the subfunction. There are two possible reasons for an invariant load to be handed down: 1) The invariant load is used in a block that is placed in the subfunction but which is not the parent of the load. In this case, the scalar access that will read the loaded value, will cause its base pointer (the preloaded value) to be handed down to the subfunction. 2) The invariant load is defined and used in a block that is placed in the subfunction. With this patch we will hand down the preloaded value to the subfunction as the invariant load is globally mapped to that value. llvm-svn: 249126
* [NFC] Make the ScopDetection analysis a member of the Scop classJohannes Doerfert2015-10-022-30/+26
| | | | llvm-svn: 249125
* Revert: [FastISel][x86] Teach how to select SSE2/AVX bitcasts between ↵Andrea Di Biagio2015-10-023-513/+0
| | | | | | | | | 128/256-bit vector types. r249121 caused a Clang test failure (avx2-buitins.c). Revert r249121 while I keep investigating on the reason why that test failed. llvm-svn: 249124
* [mips][microMIPS] Fix an issue with selecting sqrt instruction in LLVM backendZoran Jovanovic2015-10-022-5/+15
| | | | | | Differential Revision: http://reviews.llvm.org/D13235 llvm-svn: 249123
* Use ld.lld2 as a argv[0] alias.Rafael Espindola2015-10-023-3/+6
| | | | | | | | The reason for the name is so that we can run ./build/bin/clang -fuse-ld=lld2 test.o -o t llvm-svn: 249122
OpenPOWER on IntegriCloud