summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix CVTypeDumperImpl formatting after class renameReid Kleckner2016-05-051-39/+49
| | | | llvm-svn: 268678
* Remove unnecessary anonymous namespace from a headerReid Kleckner2016-05-051-2/+0
| | | | llvm-svn: 268677
* AMDGPU: Simplify control flow / conditionsMatt Arsenault2016-05-051-19/+19
| | | | llvm-svn: 268676
* Simplify CFG before assigning discriminator.Dehao Chen2016-05-055-47/+47
| | | | | | | | | | | | Summary: We need to clean up CFG before assigning discriminator to minimize the impact of optimization on debug info. Reviewers: davidxl, dblaikie, dnovillo Subscribers: dnovillo, danielcdh, llvm-commits Differential Revision: http://reviews.llvm.org/D19926 llvm-svn: 268675
* Fix some Clang-tidy readability-simplify-boolean-expr and Include What You ↵Eugene Zelenko2016-05-052-27/+29
| | | | | | | | Use warnings. Differential revision: http://reviews.llvm.org/D19947 llvm-svn: 268674
* [MSan] [MIPS64] Fix vararg helper for >1 fixed argument.Marcin Koscielnicki2016-05-053-1/+26
| | | | | | | | This fixes http://llvm.org/PR27646 on Mips64. Differential Revision: http://reviews.llvm.org/D19989 llvm-svn: 268673
* AMDGPU: Run r600 tests lastMatt Arsenault2016-05-0525-48/+47
| | | | llvm-svn: 268672
* Degrade assertions to a warning in LTOCodeGenerator for preserved linkonceMehdi Amini2016-05-052-2/+24
| | | | | | | | | | The assertions were assuming that the linker will not ask to preserve a global that is internal or available_externally, as it does not really make sense. In practice this break the bootstrap of clang, I degrade to a warning for now. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268671
* Remove LLVM_ENABLE_TIMESTAMPSChris Bieneman2016-05-055-28/+12
| | | | | | | | | | | | | | | | | | | Summary: As per the discussion on LLVM-dev this patch proposes removing LLVM_ENABLE_TIMESTAMPS. The only complicated bit of this patch is the Windows support. On windows we used to log an error if /INCREMENTAL was passed to the linker when timestamps were disabled. With this change since timestamps in code are always disabled we will always compile on windows with /Brepro unless /INCREMENTAL is specified, and we will log a warning when /INCREMENTAL is specified to notify the user that the build will be non-deterministic. See: http://lists.llvm.org/pipermail/llvm-dev/2016-May/098990.html Reviewers: bogner, silvas, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D19892 llvm-svn: 268670
* Add a note about the "entry count" used the profile summarySean Silva2016-05-051-0/+4
| | | | | | Thanks to David Li for the clarification. llvm-svn: 268669
* Fix copy relocations in pie.Rafael Espindola2016-05-056-14/+72
| | | | | | | | We were creating the copy relocations just fine, but then thinking that the .bss position could be preempted and creating a dynamic relocation to it, which would crash at runtime since that memory is read only. llvm-svn: 268668
* [profile] Remove unneeded field in raw profile readerXinliang David Li2016-05-052-9/+12
| | | | | | Differential Revision: http://reviews.llvm.org/D19956 llvm-svn: 268667
* Touch Hexagon/CMakeLists.txt to regenerate build files, since r268641 ↵NAKAMURA Takumi2016-05-051-1/+1
| | | | | | | complains of missing HexagonAlias.td on ninja. FIXME: TableGen.cmake globs *.td(s) with wildcards for deps. It is not good. llvm-svn: 268666
* Add forgotten test from r268594.Richard Smith2016-05-051-0/+4
| | | | llvm-svn: 268665
* Add a FixItHint for the new diagnostic for a non-class-scope ↵Richard Smith2016-05-053-2/+43
| | | | | | using-declaration that names a class-scope enumerator. llvm-svn: 268664
* Some release note updates for C++ language acceptance changes since Clang 3.8.Richard Smith2016-05-051-2/+52
| | | | llvm-svn: 268663
* ARM: don't attempt to merge litpools referencing different PC-anchors.Tim Northover2016-05-052-3/+49
| | | | | | | | | | | | | | | | | | | | | | Given something like: ldr r0, .LCPI0_0 (== pc-rel var) add r0, pc ldr r1, .LCPI0_1 (== pc-rel var) add r1, pc we cannot combine the 2 ldr instructions and litpools because they get added to a different pc to form the correct address. I think the original logic came from a time when we fused the LDRpci/PICADD instructions into one pseudo-instruction so the PC was always immediately at-hand. That's no longer the case. Should fix general-dynamic TLS access on Linux, and quite possibly other -fPIC code that relies on litpools (e.g. v6m and -Oz compilations) though trivial tweaks of the .ll test didn't provoke anything. llvm-svn: 268662
* [Hexagon] Add aliases for vector loads/stores with no explicit offsetKrzysztof Parzyszek2016-05-052-0/+140
| | | | | | The mem(r0) instructions are treated as mem(r0+#0). llvm-svn: 268661
* Revert "[ThinLTO] Emit individual index files for distributed backends"Vitaly Buka2016-05-0511-482/+104
| | | | | | | | | MemorySanitizer: use-of-uninitialized-value in lib/Bitcode/Writer/BitcodeWriter.cpp:364:70 http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/12544/steps/check-llvm%20msan/logs/stdio This reverts commit 0c4a898ea550699d1b2f4fe3767251c8f9a48d52. llvm-svn: 268660
* [Documentation] List Clang-tidy checks alphabetically.Eugene Zelenko2016-05-051-1/+1
| | | | llvm-svn: 268659
* LTOCodeGenerator: handle correctly "unnamed" symbolMehdi Amini2016-05-051-1/+1
| | | | | | | This should fix the assertions in a clang LTO bootstrap we're seeing. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268658
* MachineFunction: Add a const modifier to print() parameterMatthias Braun2016-05-054-6/+7
| | | | llvm-svn: 268657
* [libFuzzer] better docs for coverageKostya Serebryany2016-05-051-5/+8
| | | | llvm-svn: 268656
* Remove dead include. NFC.Chad Rosier2016-05-051-1/+0
| | | | llvm-svn: 268655
* Remove dead include. NFC.Chad Rosier2016-05-051-1/+0
| | | | llvm-svn: 268654
* Fix TestEvents.py on OS XTodd Fiala2016-05-051-3/+6
| | | | | | | | | | | | | | | | | | | | | This change addresses a hang/segfault in TestEvents.py. The threads that run the listener loops now do an SBListener.Clear() before they wrap up their work. This prevents the test from trying to clean up the SBListener too late. There is a separate issue here which is that we should prevent this clean-up time lock-up, but that is out of scope for this particular change. I'd like to get these tests back and running the normal flow rather than skipping them. This addresses: llvm.org/pr25924 (at least, the OS X side, although I suspect this will also address Linux) http://reviews.llvm.org/D19983 reviewed by: Jim Ingham llvm-svn: 268653
* Clean up the specific error message for a malformed Mach-O files with bad ↵Kevin Enderby2016-05-056-22/+22
| | | | | | | | | | | | | | | | | | | | | segment load commands. The existing test case in test/Object/macho-invalid.test for macho-invalid-too-small-segment-load-command has a cmdsize of 55, while being too small also it is not a multiple of 4. So when that check is added this test case will produce a different error. So I constructed a new test case that will trigger the intended error. I also changed the error message to be consistent with the other malformed Mach-O file error messages which prints the load command index. I also removed both object_error::macho_load_segment_too_small and object_error::macho_load_segment_too_many_sections from Object/Error.h as they are not needed and can just use object_error::parse_failed and let the error message string distinguish the specific error. llvm-svn: 268652
* [ValueTracking] Early exit when further analysis won't be fruitful.Chad Rosier2016-05-051-15/+30
| | | | | | | This should have NFC in the context of codegen, but may have positive implications on compile-time. llvm-svn: 268651
* AMDGPU: Uniform branch conditions can originate with intrinsicsNicolai Haehnle2016-05-052-2/+28
| | | | | | | | | | | | | | | | | Summary: Discovered by Dave Airlie, fixes an assertion in Khronos OpenGL CTS GL43-CTS.shader_storage_buffer_object.advanced-matrix. In this particular case, the buffer load intrinsic fed into a uniform conditional branch, and led the brcond lowering down the wrong path. Reviewers: tstellarAMD, arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D19931 llvm-svn: 268650
* ELF: Undefine all symbols, not just those that we expect to be defined.Peter Collingbourne2016-05-053-23/+81
| | | | | | | | | | | | | | This allows the combined LTO object to provide a definition with the same name as a symbol that was internalized without causing a duplicate symbol error. This normally happens during parallel codegen which externalizes originally-internal symbols, for example. In order to make this work, I needed to relax the undefined symbol error to only report an error for symbols that are used in regular objects. Differential Revision: http://reviews.llvm.org/D19954 llvm-svn: 268649
* AMDGPU: Use lld as the linker againTom Stellard2016-05-053-2/+4
| | | | | | | | | | | | | | Summary: Now that LLVM is emitting version 2 of the AMD code object, we can start using lld again for linking instead of our custom tool. Reviewers: arsenm, kzhuravl Subscribers: rafael, cfe-commits Differential Revision: http://reviews.llvm.org/D19952 llvm-svn: 268648
* AMDGPU/SI: Add support for AMD code object version 2.Tom Stellard2016-05-0515-340/+47
| | | | | | | | | | | | | | Summary: Version 2 is now the default. If you want to emit version 1, use the amdgcn--amdhsa-amdcov1 triple. Reviewers: arsenm, kzhuravl Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D19283 llvm-svn: 268647
* Move static function to avoid forward declaration. NFC.Rafael Espindola2016-05-051-20/+18
| | | | llvm-svn: 268646
* X86CallFrameOptimization: make adjustCallSequence's return type voidHans Wennborg2016-05-051-7/+8
| | | | | | It always returned the same value (true). No functionality change. llvm-svn: 268645
* Reuse logic for deciding whether to keep a local symbol or not.Rafael Espindola2016-05-052-16/+26
| | | | llvm-svn: 268644
* llvm-lto: add a -thinlto-module-id that enables to force the Module identifier.Mehdi Amini2016-05-051-0/+11
| | | | | | | | | | | | ThinLTO is using the Module Identifier to find the corresponding entry in the index. However when reproducing part of the flow from temporary files generated from the linker, you'd like to process a file and force llvm-lto to use another module identifier than the current filename. The alternative would be to tweak the index, which would be more involved. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268643
* [CMake][Apple-stage2] Don't link with -fno-pieChris Bieneman2016-05-051-1/+0
| | | | | | On Darwin the default is to build PIC and link PIE. We shouldn't need to override that in the Apple Clang distributions. llvm-svn: 268642
* [Hexagon] Merge HexagonAlias.td into HexagonInstrAlias.td, NFCKrzysztof Parzyszek2016-05-053-95/+81
| | | | llvm-svn: 268641
* [STATS] Use partitioned timer schemeJonathan Peyton2016-05-0511-68/+369
| | | | | | | | | | | | | | | | | | | | | | | | This change removes the current timers with ones that partition time properly. The current timers are nested, so that if a new timer, B, starts when the current timer, A, is already timing, A's time will include B's. To eliminate this problem, the partitioned timers are designed to stop the current timer (A), let the new timer run (B), and when the new timer is finished, restart the previously running timer (A). With this partitioning of time, a threads' timers all sum up to the OMP_worker_thread_life time and can now easily show the percentage of time a thread is spending in different parts of the runtime or user code. There is also a new state variable associated with each thread which tells where it is executing a task. This corresponds with the timers: OMP_task_*, e.g., if time is spent in OMP_task_taskwait, then that thread executed tasks inside a #pragma omp taskwait construct. The changes are mostly changing the MACROs to use the new PARITIONED_* macros, the new partitionedTimers class and its methods, and new state logic. Differential Revision: http://reviews.llvm.org/D19229 llvm-svn: 268640
* Cache result when tail merging too.Rafael Espindola2016-05-052-7/+7
| | | | | | | This speeds up a link of chromium with -O2 (but no icf,gc) from 1.940664632 to 1.925578119. llvm-svn: 268639
* fix argument usage for '-#' command line optionTodd Fiala2016-05-051-1/+1
| | | | | | | This was broken in the grand configuration change. Now using -# works again. llvm-svn: 268638
* [Hexagon] Add a testcase for __builtin_HEXAGON_A2_tfrpiKrzysztof Parzyszek2016-05-051-0/+2
| | | | llvm-svn: 268637
* [ValueTracking] Improve isImpliedCondition for matching LHS and Imm RHSs.Chad Rosier2016-05-055-8/+180
| | | | llvm-svn: 268636
* [Hexagon] Handle operand type differences for A2_tfrpiKrzysztof Parzyszek2016-05-052-2/+17
| | | | | | | | | | The instruction A2_tfrpi has a 64-bit operand, while the corresponding intrinsic takes a 32-bit value. The actual value has only 8 significant bits, so the difference is only in the type used to represent it. In order to map the intrinsic to the instruction, the operand needs to be extended to the correct type. llvm-svn: 268635
* Fix unused variable warning after r268632Silviu Baranga2016-05-051-1/+0
| | | | llvm-svn: 268634
* [LV] Identify more induction PHIs by coercing expressions to AddRecExprsSilviu Baranga2016-05-054-11/+136
| | | | | | | | | | | | | | | | | | Summary: Some PHIs can have expressions that are not AddRecExprs due to the presence of sext/zext instructions. In order to prevent the Loop Vectorizer from bailing out when encountering these PHIs, we now coerce the SCEV expressions to AddRecExprs using SCEV predicates (when possible). We only do this when the alternative would be to not vectorize. Reviewers: mzolotukhin, anemet Subscribers: mssimpso, sanjoy, mzolotukhin, llvm-commits Differential Revision: http://reviews.llvm.org/D17153 llvm-svn: 268633
* [LV] Refactor the validation of PHI inductions. NFCSilviu Baranga2016-05-051-29/+48
| | | | | | | | This moves the validation of PHI inductions into a separate method, making it easier to reuse this logic. llvm-svn: 268632
* Remove bit-rotten CppBackend.James Y Knight2016-05-0520-2457/+8
| | | | | | | | | | | | | | | | | This backend was supposed to generate C++ code which will re-construct the LLVM IR passed as input. This seems to me to have very marginal usefulness in the first place. However, the code has never been updated to use IRBuilder, which makes its current value negative -- people who look at the output may be steered to use the *wrong* C++ APIs to construct IR. Furthermore, it's generated code that doesn't compile since at least 2013. Differential Revision: http://reviews.llvm.org/D19942 llvm-svn: 268631
* Fix Mips Parser error reportingNirav Dave2016-05-052-28/+57
| | | | | | | | | | | | | [mips] On error, ParseDirective should always return false to signify that the directive was understood. Reviewers: dsanders, vkalintiris, sdardis Subscribers: dsanders, llvm-commits, sdardis Differential Revision: http://reviews.llvm.org/D19929 llvm-svn: 268630
* Fix Windows bot failures from r268627Teresa Johnson2016-05-051-3/+3
| | | | | | | | | | Remove "/" path separator from expected pattern which should fix a couple of Windows bots that have failed: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/4816 http://bb.pgr.jp/builders/ninja-clang-i686-msc19-R/builds/2610 llvm-svn: 268629
OpenPOWER on IntegriCloud