summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [DebugInfo] Allow spill slots in call site parameter descriptionsVedant Kumar2019-11-143-5/+200
| | | | | | | | | | | | | | | | | | | | | | Allow call site paramter descriptions to reference spill slots. Spill slots are not visible to high-level LLVM IR, so they can safely be referenced during entry value evaluation (as they cannot be clobbered by some other function). This gives a 5% increase in the number of call site parameter DIEs in an LTO x86_64 build of the xnu kernel. This reverts commit eb4c98ca3d2590bad9f6542afbf3a7824d2b53fa ( [DebugInfo] Exclude memory location values as parameter entry values), effectively reintroducing the portion of D60716 which dealt with memory locations (authored by Djordje, Nikola, Ananth, and Ivan). This partially addresses llvm.org/PR43343. However, not all memory operands forwarded to callees live in spill slots. In the xnu build, it may be possible to use an escape analysis to increase the number of call site parameter by another 15% (more details in PR43343). Differential Revision: https://reviews.llvm.org/D70254
* [yaml2obj][COFF] Add support for extended relocation tablesSergey Dmitriev2019-11-142-3/+81
| | | | | | | | | | | | | | | | | Summary: The tool does not correctly handle COFF sections with extended relocation tables (with IMAGE_SCN_LNK_NRELOC_OVFL bit set), this patch fixes this problem. But I have cheated a bit in the test (to make it smaller) because extended relocation table is supposed to be used when the number of relocations exceeds 65534. Otherwise the test size would be pretty big. Reviewers: jhenderson, MaskRay, mstorsjo Reviewed By: mstorsjo Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70251
* [GPGPU] Fix #includes.Michael Kruse2019-11-142-0/+2
| | | | | | Adapt for 05da2fe52162 "Sink all InitializePasses.h includes" which forgot the GPGPU files (presumably because POLLY_ENABLE_GPGPU_CODEGEN is OFF by default).
* [globalisel][irtanslator] The IRTranslator should preserve TBAA informationDaniel Sanders2019-11-142-5/+34
|
* [lldb][Editline] Support ctrl+left/right arrow word navigation.Jordan Rupprecht2019-11-142-0/+58
| | | | | | | | | | | | | | | | | Summary: This adds several 5C/5D escape codes that allow moving forward/backward words similar to bash command line navigation. On my terminal, `ctrl+v ctrl+<left arrow>` prints `^[[1;5D`. However, it seems inputrc also maps other escape variants of this to forward/backward word, so I've included those too. Similar for 5C = ctrl+right arrow. Reviewers: JDevlieghere, labath Reviewed By: JDevlieghere, labath Subscribers: merge_guards_bot, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D70137
* Fix up lit's tests to run in a multi-config build environment.Paul Robinson2019-11-141-0/+3
| | | | Differential Revision: https://reviews.llvm.org/D70239
* [Pipeliner] Fix an assertion caused by iterator invalidation.Sumanth Gundapaneni2019-11-142-2/+35
|
* [Hexagon] Validate the iterators before converting them to mux.Sumanth Gundapaneni2019-11-142-2/+38
| | | | | | The conditional instructions that are translated to mux instructions are deleted and the iterators to these deleted instructions are being used later. This patch fixed this issue.
* [Hexagon] Fix clang driver to parse -mcpu/-mvXX and -march properly.Sumanth Gundapaneni2019-11-142-1/+14
| | | | | | Before this patch if we pass "-mcpu=hexagonv65 -march=hexagon" in this order, the driver fails to figure out the correct cpu version. This patch fixed this issue.
* Update lit infra to detect "MemoryWithOrigins' sanitizer build.Sumanth Gundapaneni2019-11-141-1/+1
| | | | Differential Revision: https://reviews.llvm.org/D68399
* [RISCV] Use addi rather than add x0Sam Elliott2019-11-142-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | Summary: The RISC-V backend used to generate `add <reg>, x0, <reg>` in a few instances. It seems most places no longer generate this sequence. This is semantically equivalent to `addi <reg>, <reg>, 0`, but the latter has the advantage of being noted to be the canonical instruction to be used for moves (which microarchitectures can and should recognise as such). The changed testcases use instruction aliases - `mv <reg>, <reg>` is an alias for `addi <reg>, <reg>, 0`. Reviewers: luismarques Reviewed By: luismarques Subscribers: hiraditya, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, s.egerton, pzheng, sameer.abuasal, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70124
* Add support for multi-module bitcode files to llvm-disMatthew Voss2019-11-145-51/+92
| | | | | | | | | | | | | | Summary: This change allows llvm-dis to disassemble multi-module bitcode files, including the associated module summary. Reviewers: tejohnson, pcc, mehdi_amini Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70153
* [llvm-objcopy][COFF] Add support for extended relocation tablesSergey Dmitriev2019-11-144-6/+52
| | | | | | | | | | | | | | Summary: This patch adds support for COFF objects with extended relocation tables to the llvm-objcopy tool. Reviewers: jhenderson, MaskRay, mstorsjo, alexshap, rupprecht Reviewed By: mstorsjo Subscribers: jakehehrlich, abrachet, seiya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70205
* [RISCV] Fix wrong CFI directivesLuís Marques2019-11-147-161/+2
| | | | | | | | | | | | | Summary: Removes CFI CFA directives that could incorrectly propagate beyond the basic block they were inteded for. Specifically it removes the epilogue CFI directives. See the branch_and_tail_call test for an example of the issue. Should fix the stack unwinding issues caused by the incorrect directives. Reviewers: asb, lenary, shiva0217 Reviewed By: lenary Tags: #llvm Differential Revision: https://reviews.llvm.org/D69723
* [ExpandReductions] Don't push all intrinsics to the worklist. Just push ↵Craig Topper2019-11-141-10/+29
| | | | | | | | | | | | | | | | | reductions. We were previously pushing all intrinsics used in a function to the worklist. This is wasteful for memory in a function with a lot of intrinsics. We also ask TTI if we should expand every intrinsic, but we only have expansion support for the reduction intrinsics. This just wastes time for the non-reduction intrinsics. This patch only pushes reduction intrinsics into the worklist and skips other intrinsics. Differential Revision: https://reviews.llvm.org/D69470
* [clang-format] Fixed edge-case with SpacesInSquareBrackets with trailing ↵Mitchell Balan2019-11-142-3/+8
| | | | | | | | | | | | | | | | | | | bare "&" lambda capture. Summary: Lambda captures allow for a lone `&` capture, so `&]` needs to be properly handled. `int foo = [& ]() {}` is fixed to give `int foo = [ & ]() {}` Reviewers: MyDeveloperDay Reviewed by: MyDeveloperDay Subscribers: cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D70249
* Replace wrongly deleted header banner, fix formattingReid Kleckner2019-11-142-11/+20
| | | | | | | | I reviewed the diff hunks of 05da2fe52162c80dfa that don't contain '#include' lines, and found two unintended changes. I deleted a header banner inadvertently while inserting a header, and changed the indentation of a constructor in an odd way. Add back the banner, and reformat the constructor.
* [cmake] Emit an error for -DBUILD_SHARED_LIBS=ON on WindowsTom Stellard2019-11-141-0/+3
| | | | | | | | | | | | | | | | Summary: The BUILD_SHARED_LIBS=ON build fails on Windows, so prevent users from enabling it. Reviewers: beanz, smeenai, compnerd, phosek Reviewed By: beanz Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70161
* Document more specifically the rounding for "llvm.round".Kevin P. Neal2019-11-141-2/+2
| | | | Differential Revision: https://reviews.llvm.org/D68810
* [InstCombine] remove duplicate code for simplifying a shuffle; NFCISanjay Patel2019-11-141-7/+0
| | | | | The transform is already handled by InstSimplify or earlier in InstCombine, so trying to do it again is not necessary.
* Make the language more consistent since I'm about to commit a contentKevin P. Neal2019-11-141-12/+18
| | | | change next.
* [clang-include-fixer] Skip .rc files when finding symbolsReid Kleckner2019-11-141-0/+3
| | | | | | | | | | | | | | | | Summary: For some reason CMake includes entries for .rc files, but find-all-symbols handles them improperly. See PR43993 Reviewers: sammccall, bkramer Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70196
* [OPENMP]Add assignment operator in UDR test, NFC.Alexey Bataev2019-11-141-0/+1
| | | | | | Add assignment operator in the test to check that even if the operator was declare explicitly, the constructor is called in the user-defined reduction initializer anyway.
* Fix incorrect comment.Adrian Prantl2019-11-141-3/+5
|
* Convert condition to early exit (NFC)Adrian Prantl2019-11-141-43/+45
|
* Convert UpdateExternalModuleListIfNeeded to use early exits.Adrian Prantl2019-11-141-59/+59
|
* Rename DWO -> Clang module to avoid confusion. (NFC)Adrian Prantl2019-11-141-22/+26
|
* [LLDB] Make a clear distinction between usage & development docsJonas Devlieghere2019-11-143-3/+5
| | | | | | This renames the "Goals & Status" section to "Project" and the "Resources" section to "Development". To better match this layout I've moved the releases page under "Project".
* Use ForEachExternalModule in ParseTypeFromClangModule (NFC)Adrian Prantl2019-11-1410-51/+149
| | | | | | | | | | | I wanted to further simplify ParseTypeFromClangModule by replacing the hand-rolled loop with ForEachExternalModule, and then realized that ForEachExternalModule also had the problem of visiting the same leaf node an exponential number of times in the worst-case. This adds a set of searched_symbol_files set to the function as well as the ability to early-exit from it. Differential Revision: https://reviews.llvm.org/D70215
* [AMDGPU][HIP] Change default DWARF version to 4Scott Linder2019-11-144-3/+12
| | | | | | | | | | | | | Summary: Tooling around DWARF 5 is still not mature enough for this to be a sane default, and the AMDGPU and HIP toolchains should agree on a single default. Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, aprantl, dstuttard, tpr, t-tye, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70191
* Improve VFS compatibility on WindowsAdrian McCarthy2019-11-1417-51/+21
| | | | | | | | | | | | | | | | | | | | | | | | | Keys in a virtual file system can be in Posix or Windows form or even a combination of the two. Many VFS tests (and a few Clang tests) were XFAILed on Windows because of false negatives when comparing paths. First, we default CaseSenstive to false on Windows. This allows drive letters like "D:" to match "d:". Windows filesystems are, by default, case insensitive, so this makes sense even beyond the drive letter. Second, we allow slashes to match backslashes when they're used as the root component of a path. Both of these changes are limited to RedirectingFileSystems, so there's little chance of affecting other path handling. These changes allow eleven of the VFS tests to pass on Windows as well as three other Clang tests, so they have re-enabled. This solves the majority of PR43272. Additional VFS test failures will be fixed in separate patches. Differential Revision: https://reviews.llvm.org/D69958
* [clangd] Ignore more implicit nodes in computing selection.Sam McCall2019-11-142-9/+39
| | | | | | | | | | | | | | | | | | | | | | Summary: The DeclRefExpr for the callee of overloaded `operator()` and `operator[]` are assigned the range of the paren/bracket lists in the AST. These are better thought of as implicit (at least `()` - `[] is murkier). But there's no bit on Expr for implicit, so just ignore them on our side. While here, deal with the case where an implicit stmt (e.g. implicit-this) is wrapped in an implicit cast. Previously we ignored the statement but not the cast, and so the cast ended up being selected. Fixes https://github.com/clangd/clangd/issues/195 Reviewers: kadircet, lh123 Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70194
* [clangd] Expose value of enumerators to Hover API. (not UI yet)Sam McCall2019-11-142-0/+17
| | | | | | | | | | | | Summary: This is part of https://github.com/clangd/clangd/issues/180. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70209
* [ADT] Move drop_begin from iterator_range.h into STLExtras.Lang Hames2019-11-144-18/+22
| | | | | | | | | | | | | | | | | Summary: drop_begin depends on adl_begin/adl_end, which are defined in STLExtras.h, but we can't just #include STLExtras.h in iterator_range.h as that would introduce a circular reference (STLExtras.h already depends on iterator_range.h). The simplest solution is to move drop_begin into STLExtras.h, which is a reasonable home for it anyway. Reviewers: dblaikie Subscribers: dexonsmith, ributzka, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70189
* [Analyzer][NFC] Separate white-box tests for iterator modelling from ↵Adam Balogh2019-11-146-1040/+2434
| | | | | | | | | | | iterator checker tests The recently committed debug.IteratorDebugging checker enables standalone white-box testing of the modelling of containers and iterators. For the three checkers based on iterator modelling only simple tests are needed. Differential Revision: https://reviews.llvm.org/D70123
* [lldb] Fix dwo variant of TestLibCxxFunctionPavel Labath2019-11-141-1/+2
| | | | | | | | | | The test was failing due to a bug in SymbolFileDWARF::FindFunctions -- the function was searching the main dwarf unit for DW_TAG_subprograms, but the main unit is empty in case of split dwarf. The fix is simple -- search the non-skeleton unit instead. This bug went unnoticed because this function is expensive, and so one generally avoids calling it.
* [InstCombine] regenerate test CHECKs; NFCSanjay Patel2019-11-149-501/+502
| | | | | | | | | There's a discussion about changing a shufflevector transform in: https://bugs.llvm.org/show_bug.cgi?id=43958 It would protect against our current undef/poison behavior, and these are all tests that could be affected.
* Revert "[ThinLTO] Add correctness check for RO/WO variable import"Benjamin Kramer2019-11-148-68/+41
| | | | | This reverts commit a2292cc537b561416c21e8d4017715d652c144cc. Breaks clang selfhost w/ThinLTO.
* On FreeBSD use AT_EXECPATH from ELF auxiliary vectors for getExecutablePathEd Maste2019-11-141-5/+41
| | | | | | | | | | /proc/curproc/file and the KERN_PROC_PATHNAME sysctl may not return the desired path if there are multiple hardlinks to the file, or if the path has expired from the namecache. Reviewed By: theraven Differential Revision: https://reviews.llvm.org/D70198
* ARM: allow rewriting frame indexes for all prefetch variants.Tim Northover2019-11-142-0/+63
| | | | | For some reason we could handle PLD but not PLDW or PLI, but all of them can potentially refer to the stack region (if weirdly for PLI).
* GCOVProfiling - fix uninitialized variable warnings + make getFuncChecksum() ↵Simon Pilgrim2019-11-141-3/+3
| | | | const. NFCI.
* WholeProgramDevirt - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-141-2/+2
|
* Fix uninitialized variable warning. NFCI.Simon Pilgrim2019-11-141-1/+1
|
* Fix uninitialized variable warning. NFCI.Simon Pilgrim2019-11-141-2/+2
|
* SROA - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-141-5/+5
|
* Fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-142-6/+5
|
* Hexagon - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-144-6/+6
|
* MSP430 - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-143-21/+18
|
* [libc++][P1872] span should have size_type, not index_type.Louis Dionne2019-11-1413-53/+53
| | | | | | Thanks to Marek Kurdej for the patch. Differential Revision: https://reviews.llvm.org/D70206
* [libc++] [P1612] Add missing feature-test macro __cpp_lib_endian.Louis Dionne2019-11-146-2/+52
| | | | | | Thanks to Marek Kurdej for the patch. Differential Revision: https://reviews.llvm.org/D70221
OpenPOWER on IntegriCloud