summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [AArch64] Add test for function alignment for a optsize function (NFC). Florian Hahn2017-07-231-17/+24
| | | | | | | | | | | | Reviewers: dblaikie, t.p.northover, rengolin Reviewed By: rengolin Subscribers: aemerson, rengolin, javed.absar, llvm-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D35620 llvm-svn: 308852
* Revert "Fix PR33875 by distinguishing between DWO and clang modules"Adrian Prantl2017-07-232-6/+2
| | | | | | This reverts commit r308850. llvm-svn: 308851
* Fix PR33875 by distinguishing between DWO and clang modulesAdrian Prantl2017-07-232-2/+6
| | | | | | | | | | | | | | The DWO handling code can get confused by clang modules which also use skeleton CUs to point to the object file with the full debug info. This patch detects whether an object is a "real" DWO or a clang module and prevents LLDB from interpreting clang modules as DWO. This fixes the regression in TestWithModuleDebugging. http://llvm.org/bugs/show_bug.cgi?id=33875 Differential Revision: https://reviews.llvm.org/D35740 llvm-svn: 308850
* [AArch64] Redundant Copy Elimination - remove more zero copies.Chad Rosier2017-07-232-65/+725
| | | | | | | | | | | | | | | | | | This patch removes unnecessary zero copies in BBs that are targets of b.eq/b.ne and we know the result of the compare instruction is zero. For example, BB#0: subs w0, w1, w2 str w0, [x1] b.ne .LBB0_2 BB#1: mov w0, wzr ; <-- redundant str w0, [x2] .LBB0_2 Differential Revision: https://reviews.llvm.org/D35075 llvm-svn: 308849
* Remove Driver::UseStdLib.Nico Weber2017-07-233-7/+2
| | | | | | | | | All but one place are checking options::OPT_nostdlib instead of looking at this field, so convert that one other place to doing that as well. No behavior change. llvm-svn: 308848
* [SCEV] Limit max size of AddRecExpr during evolvingMax Kazantsev2017-07-232-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | When SCEV calculates product of two SCEVAddRecs from the same loop, it tries to combine them into one big AddRecExpr. If the sizes of the initial SCEVs were `S1` and `S2`, the size of their product is `S1 + S2 - 1`, and every operand of the resulting SCEV is combined from operands of initial SCEV and has much higher complexity than they have. As result, if we try to calculate something like: %x1 = {a,+,b} %x2 = mul i32 %x1, %x1 %x3 = mul i32 %x2, %x1 %x4 = mul i32 %x3, %x2 ... The size of such SCEVs grows as `2^N`, and the arguments become more and more complex as we go forth. This leads to long compilation and huge memory consumption. This patch sets a limit after which we don't try to combine two `SCEVAddRecExpr`s into one. By default, max allowed size of the resulting AddRecExpr is set to 16. Differential Revision: https://reviews.llvm.org/D35664 llvm-svn: 308847
* RuntimeDyldELF.cpp: Prune unused "TargetRegistry.h"NAKAMURA Takumi2017-07-231-1/+0
| | | | llvm-svn: 308846
* Simplify: Adopt for translation of MemoryAccess::getAccessRelationTobias Grosser2017-07-231-1/+1
| | | | | | For some reason this one was missed earlier. llvm-svn: 308845
* [Modules] Rework r274270. Let Clang targets depend on intrinsics_gen.NAKAMURA Takumi2017-07-232-9/+7
| | | | | | | | | This gets rid of almost LLVM targets unconditionally depending on intrinsic_gen. Clang's modules still have weird dependencies and hard to remove intrinsics_gen in better way. Then, it'd be better to give whole clang targets depend on intrinsic_gen. llvm-svn: 308844
* Move MemoryAccess::get*ArrayId to isl++Tobias Grosser2017-07-233-14/+12
| | | | llvm-svn: 308843
* Move applyScheduleToAccessRelation to isl++Tobias Grosser2017-07-234-15/+15
| | | | llvm-svn: 308842
* Move MemoryAccess::getAddressFunction to isl++Tobias Grosser2017-07-234-6/+7
| | | | llvm-svn: 308841
* Move MemoryAccess::NewAccessRelation to isl++Tobias Grosser2017-07-2310-61/+55
| | | | | | We also move related accessor functions llvm-svn: 308840
* Move MemoryAccess::getOriginalAccessRelation to isl++Tobias Grosser2017-07-232-8/+8
| | | | llvm-svn: 308839
* Move MemoryAccess::AccessRelation to isl++Tobias Grosser2017-07-232-43/+36
| | | | llvm-svn: 308838
* Move MemoryAccess::createBasicAccessMap to isl++Tobias Grosser2017-07-232-9/+9
| | | | llvm-svn: 308837
* Move MemoryAccess::id to isl++Tobias Grosser2017-07-236-67/+72
| | | | llvm-svn: 308836
* [X86] Add some hasSideEffects=0 flags.Craig Topper2017-07-232-1/+4
| | | | llvm-svn: 308835
* [X86] Add patterns for memory forms of SARX/SHLX/SHRX with careful ↵Craig Topper2017-07-233-15/+68
| | | | | | | | complexity adjustment to keep shift by immediate using the legacy instructions. These patterns were only missing to favor using the legacy instructions when the shift was a constant. With careful adjustment of the pattern complexity we can make sure the immediate instructions still have priority over these patterns. llvm-svn: 308834
* [DAG] Fix typo preventing some stores merges to truncated stores.Nirav Dave2017-07-233-12/+9
| | | | | | | | | | | | | | | Check the actual memory type stored and not the extended value size when considering if truncated store merge is worthwhile. Reviewers: efriedma, RKSimon, spatel, jyknight Reviewed By: efriedma Subscribers: llvm-commits, nhaehnle Differential Revision: https://reviews.llvm.org/D35623 llvm-svn: 308833
* clang/module.modulemap: Split out Clang_ToolingCore from Clang_Tooling.NAKAMURA Takumi2017-07-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | It cuts clangFormat's dependencies out of; Clang_Analysis Clang_C Clang_Diagnostics Clang_Driver Clang_Frontend Clang_Sema Clang_Serialization Clang_StaticAnalyzer_Core Clang_Tooling -> Clang_ToolingCore Now, the module Clang_Format depends on; Clang_AST Clang_Basic Clang_ToolingCore llvm-svn: 308832
* [Simplify] Remove partial write accesses with empty domain.Michael Kruse2017-07-224-2/+126
| | | | | | | | | | | If the access relation's domain is empty, the access will never be executed. We can just remove it. We only remove write accesses. Partial read accesses are not yet supported and instructions in the statement might require the llvm::Value holding the read's result to be defined. llvm-svn: 308830
* [ScopInfo] Adapt indentation of instruction list printing.Michael Kruse2017-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | Change the indention of the last brace to align with the opening line. Before: Instructions { %val = fadd double %arg, 2.100000e+01 store double %val, double* %A } After: Instructions { %val = fadd double %arg, 2.100000e+01 store double %val, double* %A } llvm-svn: 308828
* Fix grammar-o in comment.Nico Weber2017-07-221-2/+2
| | | | llvm-svn: 308827
* [ForwardOpTree] Support hoisted invariant loads.Michael Kruse2017-07-222-5/+65
| | | | | | | | Hoisted loads can be trivially supported because there are no MemoryAccess to be modified, the loaded value is just available at code generation. llvm-svn: 308826
* [ForwardOpTree] Introduce the -polly-optree pass.Michael Kruse2017-07-2212-0/+769
| | | | | | | | | | | | | | | | | | This pass 'forwards' operand trees into statements that use them in order to avoid scalar dependencies. This minimal implementation handles only the case of speculatable instructions. We will successively add support for: - Hoisted loads - Read-only values - Synthesizable values - Loads - PHIs - Forwarding only parts of the tree Differential Revision: https://reviews.llvm.org/D35754 llvm-svn: 308825
* [Bash-autocompletion] Fixed typo and add '-' after -WnoYuka Takahashi2017-07-222-3/+3
| | | | | | | | Summary: -Wno-<warning> was autocompleted as -Wno<warning>, so fixed this typo. Differential Revision: https://reviews.llvm.org/D35762 llvm-svn: 308824
* [NFC, documentation] Prefer the term expansion instead of macro instantiation Faisal Vali2017-07-221-2/+2
| | | | | | | | | ... in the few remaining places where this was not corrected. llvm-svn: 308823
* Revert "Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things ↵Petr Hosek2017-07-2211-824/+0
| | | | | | | | started"" This reverts commit 2b52298eb28ba4d3eca113353a348c02a6ef1f93. llvm-svn: 308822
* Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started"Petr Hosek2017-07-2211-0/+824
| | | | | | | | | | | | | | | As discussed on llvm-dev I've implemented the first basic steps towards llvm-objcopy/llvm-objtool (name pending). This change adds the ability to copy (without modification) 64-bit little endian ELF executables that have SHT_PROGBITS, SHT_NOBITS, SHT_NULL and SHT_STRTAB sections. Patch by Jake Ehrlich Differential Revision: https://reviews.llvm.org/D33964 llvm-svn: 308821
* [sanitizer_common] Move filesystem-related code out of sanitizer_common.ccVitaly Buka2017-07-2224-223/+305
| | | | | | | | | | | | | | | | | | | | | | Summary: This is a pure refactoring change. It just moves code that is related to filesystem operations from sanitizer_common.{cc,h} to sanitizer_file.{cc,h}. This makes it cleaner to disable the filesystem-related code for a new port that doesn't want it. Submitted on behalf of Roland McGrath. Reviewers: kcc, eugenis, alekseyshl Reviewed By: alekseyshl Subscribers: vitalybuka, llvm-commits, kubamracek, mgorny, phosek Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D35591 llvm-svn: 308819
* [X86] Add nopq instruction which is a rex encoded version of nopl for gas ↵Craig Topper2017-07-224-0/+19
| | | | | | compatibility. llvm-svn: 308818
* [X86] Add register form of NOPL and NOPW for assembler/disassembler.Craig Topper2017-07-223-0/+19
| | | | | | Fixes PR32805. llvm-svn: 308817
* AMDGPU: Remove leftover td fileMatt Arsenault2017-07-222-16/+0
| | | | | | | All of the instructions were moved out of this a while ago, so it's just a useless comment now. llvm-svn: 308815
* Commit missing/empty test file from r308789David Blaikie2017-07-221-0/+0
| | | | llvm-svn: 308814
* RA: Remove another assert on empty intervalsMatt Arsenault2017-07-222-2/+36
| | | | | | | | | This case is similar to the one fixed in r308808, except when rematerializing. Fixes bug 33884. llvm-svn: 308813
* Handle a section being more aligned than a page size.Rafael Espindola2017-07-222-1/+12
| | | | llvm-svn: 308812
* [libFuzzer] reimplement experimental_len_control=1: bump the temporary ↵Kostya Serebryany2017-07-224-22/+34
| | | | | | max_len every time we failed to find new coverage during the last 1000 runs and 1 second. Also fix FileToVector to not load unfinished files llvm-svn: 308811
* Don't crash on an empty section with an ALIGN.Rafael Espindola2017-07-222-1/+7
| | | | llvm-svn: 308809
* RA: Remove assert on empty live intervalsMatt Arsenault2017-07-212-1/+40
| | | | | | | | | This is possible if there is an undef use when splitting the vreg during spilling. Fixes bug 33620. llvm-svn: 308808
* clangDaemon: Update libdeps in r308738.NAKAMURA Takumi2017-07-211-0/+1
| | | | llvm-svn: 308807
* Revert "[LLVM][llvm-objcopy] Added basic plumbing to get things started"Petr Hosek2017-07-2110-804/+0
| | | | | | This reverts commit 2f423248e140b94b8377660d4d2fe9364f30febe. llvm-svn: 308806
* Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started"Petr Hosek2017-07-2110-0/+804
| | | | | | | | | | | | | | | As discussed on llvm-dev I've implemented the first basic steps towards llvm-objcopy/llvm-objtool (name pending). This change adds the ability to copy (without modification) 64-bit little endian ELF executables that have SHT_PROGBITS, SHT_NOBITS, SHT_NULL and SHT_STRTAB sections. Patch by Jake Ehrlich Differential Revision: https://reviews.llvm.org/D33964 llvm-svn: 308803
* Move ScopArrayInfo to isl++Tobias Grosser2017-07-216-56/+51
| | | | | | This moves the full ScopArrayInfo class to isl++ llvm-svn: 308801
* [index] Set SymbolSubKind::Accessor[GS]etter on class methodsBen Langmuir2017-07-212-15/+21
| | | | | | | | | We have the same relation between class properties and getter/setters that we have for instance properties, so set the same symbol sub-kind. rdar://problem/32376404 llvm-svn: 308800
* Remove Bitrig: LLVM ChangesErich Keane2017-07-217-25/+8
| | | | | | | | Bitrig code has been merged back to OpenBSD, thus the OS has been abandoned. Differential Revision: https://reviews.llvm.org/D35707 llvm-svn: 308799
* Remove Bitrig: CompilerRT ChangesErich Keane2017-07-213-6/+6
| | | | | | | | Bitrig code has been merged back to OpenBSD, thus the OS has been abandoned. Differential Revision: https://reviews.llvm.org/D35709 llvm-svn: 308798
* Remove Bitrig: Clang ChangesErich Keane2017-07-2117-393/+3
| | | | | | | | Bitrig code has been merged back to OpenBSD, thus the OS has been abandoned. Differential Revision: https://reviews.llvm.org/D35708 llvm-svn: 308797
* Break up Targets.cpp into a header/impl pair per target type[NFCI]Erich Keane2017-07-2147-9599/+10925
| | | | | | | | | | | | | | | | Targets.cpp is getting unwieldy, and even minor changes cause the entire thing to cause recompilation for everyone. This patch bites the bullet and breaks it up into a number of files. I tended to keep function definitions in the class declaration unless it caused additional includes to be necessary. In those cases, I pulled it over into the .cpp file. Content is copy/paste for the most part, besides includes/format/etc. Differential Revision: https://reviews.llvm.org/D35701 llvm-svn: 308791
* [ProfData] Detect if zlib is availableDavid Blaikie2017-07-214-1/+22
| | | | | | | | | | | | As discussed on [1], if the profile is compressed and llvm-profdata is not built with zlib support, the error message is not informative. Give a better error message if zlib is not available. [1] http://lists.llvm.org/pipermail/llvm-dev/2017-July/115571.html Reviewers: davidxl, dblaikie Differential Revision: https://reviews.llvm.org/D35586 llvm-svn: 308789
OpenPOWER on IntegriCloud