summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Module Debugging: Emit submodules as nested DW_TAG_modules.Adrian Prantl2015-09-245-13/+35
| | | | llvm-svn: 248511
* Debug Info: Use the module pointer as key for the module cache.Adrian Prantl2015-09-243-6/+11
| | | | | | This way we don't need to rebuild the full module name for every decl. llvm-svn: 248510
* Refactor ASTSourceDescriptor to not store copies of all strings. (NFC)Adrian Prantl2015-09-243-14/+29
| | | | llvm-svn: 248509
* [ValueTracking] Teach isKnownNonZero a new trickJames Molloy2015-09-242-0/+31
| | | | | | | | If the shifter operand is a constant, and all of the bits shifted out are known to be zero, then if X is known non-zero at least one non-zero bit must remain. llvm-svn: 248508
* Remove dangling parenthesis.Angel Garcia Gomez2015-09-243-18/+43
| | | | | | | | | | | | Summary: Remove parenthesis surrounding the new loop index. Reviewers: klimek Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D13133 llvm-svn: 248507
* [ELF2] Remove ignored options handling.Davide Italiano2015-09-241-16/+0
| | | | | | | | | This was prematurely committed (and I take the blame for that). Ideally, we want to support only ignored options that are really used by somebody. Some of the options listed are not even supported by gold (but only by ld.bfd), which says a lot about their "real-world" usefulness. llvm-svn: 248503
* Simplify memory management by having ELFData contain a ELFObj.Rafael Espindola2015-09-247-45/+53
| | | | llvm-svn: 248502
* [OpenMP Testsuite] Change omp_get_wtime.c timer resolution to 3 percentJonathan Peyton2015-09-241-1/+1
| | | | llvm-svn: 248501
* [OpenMP Testsuite] Mac rpath specified when compiling testsJonathan Peyton2015-09-242-2/+1
| | | | llvm-svn: 248500
* [ELF2] Add support for -discard-none.Davide Italiano2015-09-247-2/+78
| | | | | | Differential Revision: http://reviews.llvm.org/D13083 llvm-svn: 248499
* Add a test covering ELFFile's constructor failing.Rafael Espindola2015-09-242-0/+3
| | | | llvm-svn: 248498
* [objdump] Make iterator operator* return a reference.Benjamin Kramer2015-09-241-1/+1
| | | | | | | This is closer to the expected behavior of an iterator and avoids awkward warnings from clang's -Wrange-loop-analysis below. llvm-svn: 248497
* Drop useless const in for-range loops.Benjamin Kramer2015-09-244-11/+11
| | | | | | | | StringRefs always point to immutable memory so the const doesn't add value here. Also quiets clang's -Wrange-loop-analysis which warns about the implicit copying. llvm-svn: 248496
* [Driver] Don't implicitly copy std::strings in for-range loop.Benjamin Kramer2015-09-241-1/+1
| | | | | | Found by -Wrange-loop-analysis. llvm-svn: 248495
* Fix stats build problem.Jonathan Peyton2015-09-242-4/+1
| | | | | | | | This change removes the KMP_STATS_ENABLED macro inside kmp_stats.cpp since it is only compiled anyways when LIBOMP_STATS=on. Also, include kmp_config.h in kmp_stats.h to ensure KMP_STATS_ENABLED is defined. llvm-svn: 248494
* Regression Test: Deletes redundant/invalid test.Mohammad Shahid2015-09-241-242/+0
| | | | | | | | Removes absdiff_expand.ll regression test file which is invalid. Diffrential Revision: http://reviews.llvm.org/D11678 llvm-svn: 248493
* Mark a couple of issues as doneTobias Grosser2015-09-241-4/+4
| | | | llvm-svn: 248492
* Simplify with some ideas from COFF:Rafael Espindola2015-09-241-10/+11
| | | | | | | | | * add using namespace llvm::support::endian. * create a add32le static helper. Thanks to Rui for the suggestion. llvm-svn: 248491
* Add support for the _GLOBAL_OFFSET_TABLE_ symbol.Rafael Espindola2015-09-243-0/+27
| | | | llvm-svn: 248490
* Solve comment on rL248418.Angel Garcia Gomez2015-09-241-3/+1
| | | | | | | | | | | | Summary: Solve comment on rL248418. Reviewers: alexfh Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D13129 llvm-svn: 248489
* Fix typo.Rafael Espindola2015-09-242-3/+3
| | | | | | Thanks to Sean Silva for noticing. llvm-svn: 248488
* Rename Polly_isl to PollyISLMichael Kruse2015-09-242-4/+4
| | | | | | Library names in the LLVM framework usually do not contain underscores. llvm-svn: 248487
* [mips] Use PredicateControl for the MSA ASE instructions. NFC.Daniel Sanders2015-09-243-22/+23
| | | | | | | | | | Reviewers: vkalintiris Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13092 llvm-svn: 248486
* Remove Analysis Output of TempScopInfoMichael Kruse2015-09-2410-153/+118
| | | | | | | | | | | | After the merge of TempScopInfo into ScopInfo the analysis output remained because of the existing unit tests. These remains are removed and the units tests converted to match the equivalent output of ScopInfo's analysis output. The unit tests are also moved into the directory of ScopInfo tests. Differential Revision: http://reviews.llvm.org/D13116 llvm-svn: 248485
* Compile ISL into its own libraryMichael Kruse2015-09-244-272/+287
| | | | | | | | | | | | | | | | | | | | | | Refactor all ISL-related cmake build instructions into its own CMakeLists.txt and build as a separate library. This is useful to apply ISL-related build flags to ISL only and not to Polly's files. Also, it the separation of both projects becomes clearer. Proposed name of the library is Polly_isl. It is not "isl" to avoid mix-up with potentially installed libisl.{a|so}. Tested configurations: - Windows with cmake 3.2 - Ubuntu with cmake 3.0.2 - Ubuntu with cmake 3.0.2 BUILD_SHARED_LIBS on - Ubuntu with cmake 2.8.12.2 (LLVM minimum version) - Ubuntu out-of-LLVM-tree Differential Revision: http://reviews.llvm.org/D12810 llvm-svn: 248484
* Codegen: Fix llvm.*absdiff semantic.Mohammad Shahid2015-09-244-26/+245
| | | | | | | | Fixes the overflow case of llvm.*absdiff intrinsic also updats the tests and LangRef.rst accordingly. Differential Revision: http://reviews.llvm.org/D11678 llvm-svn: 248483
* [InstCombine] Recognize another bswap idiom.Charlie Turner2015-09-242-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | Summary: The byte-swap recognizer can now notice that this ``` uint32_t bswap(uint32_t x) { x = (x & 0x0000FFFF) << 16 | (x & 0xFFFF0000) >> 16; x = (x & 0x00FF00FF) << 8 | (x & 0xFF00FF00) >> 8; return x; } ``` is a bswap. Fixes PR23863. Reviewers: nlewycky, hfinkel, hans, jmolloy, rengolin Subscribers: majnemer, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D12637 llvm-svn: 248482
* [mips] Relax -mnan=2008 acceptance to permit MIPS32R2 and MIPS64R2.Daniel Sanders2015-09-242-15/+38
| | | | | | | | | | | | | | | Summary: Strictly speaking, the MIPS*R2 ISA's should not permit -mnan=2008 since this feature was added in MIPS*R3. However, other toolchains permit this and we should do the same. Reviewers: atanasyan Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13057 llvm-svn: 248481
* [ARM] Follow-up to fix crash "-target arm -mcpu=generic", without "-march="Vladimir Sukharev2015-09-241-1/+1
| | | | | | | | | | | Fix of dangling StringRef after temporary std::string is destroyed Follow-up to: http://reviews.llvm.org/rL248479 Reviewers: alexfh Subscribers: cfe-commits llvm-svn: 248480
* [ARM] Follow-up to fix crash "-target arm -mcpu=generic", without "-march="Vladimir Sukharev2015-09-241-3/+3
| | | | | | | | | | | Fix of dangling StringRef after temporary std::string is destroyed Follow-up to: http://reviews.llvm.org/rL248370 Reviewers: alexfh Subscribers: cfe-commits llvm-svn: 248479
* Introduce target hook for optimizing register copiesMatt Arsenault2015-09-2414-158/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow a target to do something other than search for copies that will avoid cross register bank copies. Implement for SI by only rewriting the most basic copies, so it should look through anything like a subregister extract. I'm not entirely satisified with this because it seems like eliminating a reg_sequence that isn't fully used should work generically for all targets without them having to override something. However, it seems to be tricky to have a simple implementation of this without rewriting to invalid kinds of subregister copies on some targets. I'm not sure if there is currently a generic way to easily check if a subregister index would be valid for the current use. The current set of TargetRegisterInfo::get*Class functions don't quite behave like I would expect (e.g. getSubClassWithSubReg returns the maximal register class rather than the minimal), so I'm not sure how to make the generic test keep searching if SrcRC:SrcSubReg is a valid replacement for DefRC:DefSubReg. Making the default implementation to check for simple copies breaks a variety of ARM and x86 tests by producing illegal subregister uses. The ARM tests are not actually changed since it should still be using the same sharesSameRegisterFile implementation, this just relaxes them to not check for specific registers. llvm-svn: 248478
* AMDGPU: Return after instruction is processed.Matt Arsenault2015-09-241-0/+4
| | | | llvm-svn: 248476
* AMDGPU: Remove another unnecessary check from commuteInstructionMatt Arsenault2015-09-241-5/+0
| | | | llvm-svn: 248475
* AMDGPU: Add readonly to InstrMapping functionsMatt Arsenault2015-09-241-1/+15
| | | | llvm-svn: 248474
* TableGen: Add LLVM_READONLY to generated InstrMapping functionsMatt Arsenault2015-09-241-1/+1
| | | | | | These just read from a generated table. llvm-svn: 248473
* AMDGPU: Fix printing trailing whitespace for mubuf atomicsMatt Arsenault2015-09-242-11/+11
| | | | llvm-svn: 248472
* Remove dead declarationMatt Arsenault2015-09-241-1/+0
| | | | llvm-svn: 248471
* Use new TokenFactor chain when merging storesMatt Arsenault2015-09-242-5/+82
| | | | | | | | | | | | | | | | | | | | | If the stores are storing values from loads which partially alias the stores, we could end up placing the merged loads and stores on the same chain which has the potential to break. Each store may have a different chain dependency on only some of the original loads. Create a new TokenFactor to capture all of the required dependencies of the stores rather than assuming all stores can use the same chain. The testcase is a situation where this happens, although it does not have an observable change from this. The DAG nodes just happened to not be reordered before despite this missing chain dependency. This is based on an off-list report for an out of tree target which regressed due to r246307 and I haven't managed to find a case where the nodes do end up reordered with an in tree target. llvm-svn: 248468
* AMDGPU: Reduce number of copies emittedMatt Arsenault2015-09-244-21/+19
| | | | | | | | | | | | | Instead of always inserting a copy in case the super register is itself a subregister, only extract to the super reg class if this is actually the case. This shouldn't really change codegen, but makes looking at the output of SIFixSGPRCopies easier to read. llvm-svn: 248467
* Improve error reporting for failing to find argdumper.Bruce Mitchener2015-09-241-2/+2
| | | | | | | | | | Reviewers: tfiala, granata.enrico, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13125 llvm-svn: 248466
* Fix a think-o in which functions these should surroundJustin Bogner2015-09-241-2/+2
| | | | llvm-svn: 248465
* Add some NDEBUG checks I accidentally dropped in r248462Justin Bogner2015-09-241-0/+2
| | | | llvm-svn: 248464
* [Driver] Add support for Windows 10 SDKIgor Kudrin2015-09-242-68/+102
| | | | | | | | | | | | | | | | Summary: With Windows 10 SDK, Include and Lib directories now contain an additional subfolder with the name that corresponds to the full version of the SDK, for example: - C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\um - C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x64 Reviewers: ruiu, rnk Subscribers: majnemer, cfe-commits Differential Revision: http://reviews.llvm.org/D12832 llvm-svn: 248463
* BasicAA: Move BasicAAResult::alias out-of-line. NFCJustin Bogner2015-09-242-41/+42
| | | | | | | This makes the header more readable and cleans up some unnecessary header differences between NDEBUG and !NDEBUG. llvm-svn: 248462
* Rename clang_type -> compiler_type for variables.Bruce Mitchener2015-09-2469-685/+685
| | | | | | | | | | Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13102 llvm-svn: 248461
* Add CFG Simplification pass after Loop Unswitching.Michael Zolotukhin2015-09-241-0/+1
| | | | | | | | | | | | | | Loop unswitching produces conditional branches with constant condition, and it's beneficial for later passes to clean this up with simplify-cfg. We do this after the second invocation of loop-unswitch, but not after the first one. Not doing so might cause problem for passes like LoopUnroll, whose estimate of loop body size would be less accurate. Reviewers: hfinkel Differential Revision: http://reviews.llvm.org/D13064 llvm-svn: 248460
* cuda-path: StringRef cannot be used here.NAKAMURA Takumi2015-09-241-1/+1
| | | | llvm-svn: 248459
* clang/test/Analysis/malloc-overflow2.c: Appease 32-bit targets.NAKAMURA Takumi2015-09-241-1/+1
| | | | | | size_t is not unsigned long for targeting i686 (and Windows x64). llvm-svn: 248458
* execinfo.h isn't needed on Mac OS X for Host.mm.Bruce Mitchener2015-09-241-1/+0
| | | | | | | | | | | | Summary: This is no longer needed as this file no longer calls backtrace(). Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13049 llvm-svn: 248457
* Make a test a bit shorter. No behavior change.Nico Weber2015-09-241-5/+1
| | | | llvm-svn: 248456
OpenPOWER on IntegriCloud