summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [NFC][ARM] Simplify loop-indexing codegen testSam Parker2019-02-111-107/+34
| | | | | | | Remove unnecessary offset checks, CHECK-BASE checks and add some extra -NOT checks and TODO comments. llvm-svn: 353689
* [TEST] Add failing test from PR40454Max Kazantsev2019-02-111-0/+41
| | | | llvm-svn: 353688
* [clangd] Make system header mappings available for PreambleParsedCallbackKadir Cetinkaya2019-02-112-5/+37
| | | | | | | | | | | | | | | | | | Summary: SystemHeaderMappings were added only after takeIncludes call, which resulted in getting mapping on main file ast updates but not on preamble ast updates. Fixes https://github.com/clangd/clangd/issues/8 Reviewers: hokein Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58029 llvm-svn: 353687
* Revert "minidump: Add ability to attach (breakpad) symbol files to ↵Pavel Labath2019-02-115-116/+51
| | | | | | | | | | | placeholder modules" The commit has broken TestMiniDump.py on windows. Reverting while I investigate. This reverts r353677. llvm-svn: 353686
* test-release.sh: Add option to use ninjaDiana Picus2019-02-111-9/+29
| | | | | | | | | | | | | | | | | | | | Allow the use of ninja instead of make. This is useful on some platforms where we'd like to be able to limit the number of link jobs without slowing down the other steps of the release. This patch adds a -use-ninja command line option, which sets the generator to Ninja both for LLVM and the test-suite. It also deals with some differences between make and ninja: * DESTDIR handling - ninja doesn't like this to be listed after the target, but both make and ninja can handle it before the command * Verbose mode - ninja uses -v, make uses VERBOSE=1 * Keep going mode - make has a -k mode, which builds as much as possible even when failures are encountered; for ninja we need to set a hard limit (we use 100 since most people won't look at 100 failures anyway) I haven't tested with gmake. llvm-svn: 353685
* [ASTImporter] Add test RedeclChainShouldBeCorrectAmongstNamespacesGabor Marton2019-02-111-0/+41
| | | | | | | | | | | | | | | | | Summary: We add a new test to show that redecl chains are not handled properly amongst namespaces. We cannot pass this test now, so this is disabled. Subsequent patches will make this test pass. Reviewers: a_sidorin, shafik, a.sidorin Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57901 llvm-svn: 353684
* Attempt to fix buildbot after r353679 #2Eugene Leviant2019-02-111-1/+1
| | | | llvm-svn: 353683
* [DWARF] LLVM ERROR: Broken function found, while removing Debug Intrinsics.Carlos Alberto Enciso2019-02-111-0/+0
| | | | | | | | | | Check that when SimplifyCFG is flattening a 'br', all their debug intrinsic instructions are removed, including any dbg.label referencing a label associated with the basic blocks being removed. As the test case involves a CFG transformation, move it to the correct location. Differential Revision: https://reviews.llvm.org/D57444 llvm-svn: 353682
* Attempt to fix buildbot after r353679Eugene Leviant2019-02-111-1/+1
| | | | llvm-svn: 353681
* [lldb] [lldb-instr] Add missing linkage to clang librariesMichal Gorny2019-02-111-0/+3
| | | | | | | | | Fix build errors against shared clang by adding all the libraries used in the code. Differential Revision: https://reviews.llvm.org/D57999 llvm-svn: 353680
* Small refactoring of FileError. NFC.Eugene Leviant2019-02-114-15/+15
| | | | | | Differential revision: https://reviews.llvm.org/D57945 llvm-svn: 353679
* [ARM] LoadStoreOptimizer: reoder limitSjoerd Meijer2019-02-112-2/+15
| | | | | | | | | | | | | | | The whole design of generating LDMs/STMs is fragile and unreliable: it depends on rescheduling here in the LoadStoreOptimizer that isn't register pressure aware and regalloc that isn't aware of generating LDMs/STMs. This patch adds a (hidden) option to control the total number of instructions that can be re-ordered. I appreciate this looks only a tiny bit better than a hard-coded constant, but at least it allows more easy experimentation with different values for now. Ideally we calculate this reorder limit based on some heuristics, and take register pressure into account. I might be looking into that next. Differential Revision: https://reviews.llvm.org/D57954 llvm-svn: 353678
* minidump: Add ability to attach (breakpad) symbol files to placeholder modulesPavel Labath2019-02-115-51/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The reason this wasn't working was that ProcessMinidump was creating odd object-file-less modules, and SymbolFileBreakpad required the module to have an associated object file because it needed to get its base address. This fixes that by introducing a PlaceholderObjectFile to serve as a dummy object file. The general idea for this is taken from D55142, but I've reworked it a bit to avoid the need for the PlaceholderModule class. Now that we have an object file, our modules are sufficiently similar to regular modules that we can use the regular Module class almost out of the box -- the only thing I needed to tweak was the Module::CreateModuleFromObjectFile functon to set the module's FileSpec in addition to it's architecture. This wasn't needed for ObjectFileJIT (the other user of CreateModuleFromObjectFile), but it shouldn't hurt it either, and the change seems like a straightforward extension of this function. Reviewers: clayborg, lemo, amccarth Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D57751 llvm-svn: 353677
* Move CFLGraph and the AA summary code over to the new `CallBase`Chandler Carruth2019-02-113-38/+36
| | | | | | instruction base class rather than the `CallSite` wrapper. llvm-svn: 353676
* [lldb] [MainLoop] Initialize empty sigset_t correctlyMichal Gorny2019-02-111-4/+6
| | | | | | | | | | | | | | Fix MainLoop::RunImpl::get_sigmask() to correctly return empty sigset_t when SIGNAL_POLLING_UNSUPPORTED is true. On NetBSD (and probably on some other platforms), integers are not implicitly convertible to sigset_t, so 'return 0' is erraneous. Instead, sigset_t should be reset through sigemptyset(). While at it, move common parts out of the #ifdef. Differential Revision: https://reviews.llvm.org/D57959 llvm-svn: 353675
* [llvm] [cmake] Use current directory in GenerateVersionFromVCSMichal Gorny2019-02-111-4/+2
| | | | | | | | | | | Find dependent scripts of GenerateVersionFromVCS in current directory rather than ../../cmake/modules. I do not see any reason why the former would not work and The latter is incorrect when GenerateVersionFromVCS is used from install directory (i.e. in stand-alone builds). Differential Revision: https://reviews.llvm.org/D57996 llvm-svn: 353674
* Remove `CallSite` from the CodeMetrics analysis, moving it to the newChandler Carruth2019-02-112-8/+4
| | | | | | `CallBase` and simpler APIs therein. llvm-svn: 353673
* Remove a declaration that is dead, and not even implemented any longer.Chandler Carruth2019-02-111-8/+0
| | | | llvm-svn: 353672
* [libcxx] Preserve order, avoid duplicates when merging static archivesPetr Hosek2019-02-111-8/+9
| | | | | | | | | | | glob can return files in arbitrary order which breaks deterministic builds. Rather, use `ar t` to list the files in each archive and preserve the original order. Using `ar q` results in duplicate entries in the archive, instead use `ar r` to avoid duplicates. Differential Revision: https://reviews.llvm.org/D58024 llvm-svn: 353671
* [ARM] LoadStoreOptimizer: just a clean-up. NFC.Sjoerd Meijer2019-02-111-35/+25
| | | | | | Differential Revision: https://reviews.llvm.org/D57955 llvm-svn: 353670
* The new file header didn't get carried over when these files wereChandler Carruth2019-02-112-8/+6
| | | | | | "moved" somehow, update them to use it. llvm-svn: 353669
* Update some newly added files that mistakenly used the old file headerChandler Carruth2019-02-112-8/+6
| | | | | | to the new one. llvm-svn: 353668
* Update more files added with the old header to the new one.Chandler Carruth2019-02-112-8/+6
| | | | llvm-svn: 353667
* Update new files added to llvm-objcopy to use the new file header.Chandler Carruth2019-02-117-28/+21
| | | | llvm-svn: 353666
* Update files that were mistakenly added with the old file header to theChandler Carruth2019-02-113-12/+9
| | | | | | new one. llvm-svn: 353665
* Update files that were mistakenly added with the old file header.Chandler Carruth2019-02-111-4/+3
| | | | llvm-svn: 353664
* Update files to the new header that were incorrectly landed with the oldChandler Carruth2019-02-112-8/+6
| | | | | | one. llvm-svn: 353663
* [CallSite removal] Port InstSimplify over to use `CallBase` both in itsChandler Carruth2019-02-112-23/+21
| | | | | | | | interface and implementation. Port code with: `cast<CallBase>(CS.getInstruction())`. llvm-svn: 353662
* [CallSite removal] Migrate ConstantFolding APIs and implementation toChandler Carruth2019-02-117-40/+46
| | | | | | | | | `CallBase`. Users have been updated. You can see how to update any out-of-tree usages: pass `cast<CallBase>(CS.getInstruction())`. llvm-svn: 353661
* [CallSite removal] Migrate the statepoint GC infrastructure to use theChandler Carruth2019-02-1111-260/+227
| | | | | | | | | | | | | | | `CallBase` class rather than `CallSite` wrappers. I pushed this change down through most of the statepoint infrastructure, completely removing the use of CallSite where I could reasonably do so. I ended up making a couple of cut-points: generic call handling (instcombine, TLI, SDAG). As soon as it hit truly generic handling with users outside the immediate code, I simply transitioned into or out of a `CallSite` to make this a reasonable sized chunk. Differential Revision: https://reviews.llvm.org/D56122 llvm-svn: 353660
* [X86] Removed unused SDTypeProfile. NFCCraig Topper2019-02-111-2/+0
| | | | llvm-svn: 353659
* [CMake][Fuchsia] Drop libclang.so from distributionPetr Hosek2019-02-111-1/+0
| | | | | | This is no longer needed now that all users have switched to clangd. llvm-svn: 353658
* gn build: Fix clang-tidy dep on ClangSACheckers.Nico Weber2019-02-111-4/+1
| | | | | | | | Patch by Mirko Bonadei <mbonadei@webrtc.org>! Differential Revision: https://reviews.llvm.org/D57998 llvm-svn: 353657
* long double is double on OpenBSD/NetBSD/PPC.Brad Smith2019-02-112-1/+9
| | | | | | Patch by George Koehler. llvm-svn: 353656
* [X86] EltsFromConsecutiveLoads - replace SmallBitVector with APInt (NFC).Simon Pilgrim2019-02-101-10/+11
| | | | | | Minor refactor to simplify some incoming patches to improve broadcast loads. llvm-svn: 353655
* Fix test to pass on LLP64 targetsReid Kleckner2019-02-101-2/+2
| | | | llvm-svn: 353654
* Fix clang tests broken by r353547 that depend on InstrProfReid Kleckner2019-02-107-15/+15
| | | | llvm-svn: 353653
* [GlobalISel] Regex the opcodes in unit test to fix non-deterministic orderingMandeep Singh Grang2019-02-101-7/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D57988 llvm-svn: 353652
* [CodeGen][X86] Don't scalarize vector saturating add/subNikita Popov2019-02-105-6093/+4328
| | | | | | | | | | | Now that we have vector support for [US](ADD|SUB)O we no longer need to scalarize when expanding [US](ADD|SUB)SAT. This matches what the cost model already does. Differential Revision: https://reviews.llvm.org/D57348 llvm-svn: 353651
* fix -Wextra-semi warningsEric Fiselier2019-02-101-5/+5
| | | | llvm-svn: 353650
* Make LIBCXX_STANDARD_VER configurableEric Fiselier2019-02-102-3/+4
| | | | llvm-svn: 353649
* [AArch64] Regenerate bswap testsSimon Pilgrim2019-02-101-59/+131
| | | | llvm-svn: 353648
* [X86] Add basic bitreverse/bswap combine testsSimon Pilgrim2019-02-102-0/+159
| | | | | | Shows missing SimplifyDemandedBits support llvm-svn: 353647
* [DAG] Add optional AllowUndefs to isNullOrNullSplatSimon Pilgrim2019-02-103-9/+5
| | | | | | No change in default behaviour (AllowUndefs = false) llvm-svn: 353646
* [DAGCombine] Simplify funnel shifts with undef/zero args to bitshiftsSimon Pilgrim2019-02-102-42/+77
| | | | | | | | Now that we have SimplifyDemandedBits support for funnel shifts (rL353539), we need to simplify funnel shifts back to bitshifts in cases where either argument has been folded to undef/zero. Differential Revision: https://reviews.llvm.org/D58009 llvm-svn: 353645
* [X86] Add masked variable tests for funnel undef/zero argument combinesSimon Pilgrim2019-02-101-0/+90
| | | | | | I've avoided 'modulo' masks as we'll SimplifyDemandedBits those in the future, and we just need to check that the shift variable is 'in range' llvm-svn: 353644
* Fix x86 return pattern detectionRaphael Isemann2019-02-102-2/+172
| | | | | | | | | | | | | | | | Summary: Replace 0xc9 (LEAVE) with 0xcb (RETF) in ret_pattern_p(). Also put 0xc3 first, since it is the most common form and will match first. Reviewers: jasonmolenda Reviewed By: jasonmolenda Subscribers: labath, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D57928 llvm-svn: 353643
* lldb: Fix compilation on OpenBSDRaphael Isemann2019-02-101-2/+1
| | | | | | | | | | | | | | | | Summary: Update the OpenBSD Host.cpp for the new SetFile() function signature. Fixes compiling lldb on OpenBSD. Reviewers: krytarowski Reviewed By: krytarowski Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D57907 llvm-svn: 353642
* [x86] narrow 256-bit horizontal ops via demanded elementsSanjay Patel2019-02-103-59/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 256-bit horizontal math ops are an x86 monstrosity (and thankfully have not been extended to 512-bit AFAIK). The two 128-bit halves operate on separate halves of the inputs. So if we don't demand anything in the upper half of the result, we can extract the low halves of the inputs, do the math, and then insert that result into a 256-bit output. All of the extract/insert is free (ymm<-->xmm), so we're left with a narrower (cheaper) version of the original op. In the affected tests based on: https://bugs.llvm.org/show_bug.cgi?id=33758 https://bugs.llvm.org/show_bug.cgi?id=38971 ...we see that the h-op narrowing can result in further narrowing of other math via existing generic transforms. I originally drafted this patch as an exact pattern match starting from extract_vector_elt, but I thought we might see diffs starting from extract_subvector too, so I changed it to a more general demanded elements solution. There are no extra existing regression test improvements from that switch though, so we could go back. Differential Revision: https://reviews.llvm.org/D57841 llvm-svn: 353641
* [X86] Add additional tests for funnel undef/zero argument combinesSimon Pilgrim2019-02-101-0/+216
| | | | | | As suggested on D58009 llvm-svn: 353640
OpenPOWER on IntegriCloud