summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Build fix: don't try to link in lldConfigHans Wennborg2017-10-022-2/+0
| | | | | | Config was removed in r314719. llvm-svn: 314736
* Improve test runner output for broken configurations.Eric Fiselier2017-10-022-6/+16
| | | | | | | | | | | | | Previously LIT would often fail while attempting to set up/configure the test compiler; normally when attempting to dump the builtin macros. This sort of failure provided no useful information about what went wrong with the compiler, making the actual issues hard --- if not impossible --- to debug easily. This patch changes the LIT configuration to report the failure explicitly, including the failed compile command and the stdout/stderr output. llvm-svn: 314735
* Template the sparse propagation solver instead of using void pointersDaniel Berlin2017-10-022-35/+46
| | | | | | | | | | | | | | Summary: This avoids using void * as the type of the lattice value and ugly casts needed to make that happen. (If folks want to use references, etc, they can use a reference_wrapper). Reviewers: davide, mssimpso Subscribers: sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D38476 llvm-svn: 314734
* PR33839: Fix -Wunused handling for structured binding declarations.Richard Smith2017-10-024-10/+72
| | | | | | | We warn about a structured binding declaration being unused only if none of its bindings are used. llvm-svn: 314733
* [PowerPC] Temporarily disable the test introduced by r314666Tim Shen2017-10-021-0/+2
| | | | | | See https://reviews.llvm.org/D38172 for details. llvm-svn: 314732
* Move install_name_tool to a separate make target.Jason Molenda2017-10-021-1/+3
| | | | llvm-svn: 314731
* Fix another build breakage.Rui Ueyama2017-10-021-1/+1
| | | | llvm-svn: 314730
* Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"Geoff Berry2017-10-0290-372/+970
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issues addressed since original review: - Avoid bug in regalloc greedy/machine verifier when forwarding to use in an instruction that re-defines the same virtual register. - Fixed bug when forwarding to use in EarlyClobber instruction slot. - Fixed incorrect forwarding to register definitions that showed up in explicit_uses() iterator (e.g. in INLINEASM). - Moved removal of dead instructions found by LiveIntervals::shrinkToUses() outside of loop iterating over instructions to avoid instructions being deleted while pointed to by iterator. - Fixed ARMLoadStoreOptimizer bug exposed by this change in r311907. - The pass no longer forwards COPYs to physical register uses, since doing so can break code that implicitly relies on the physical register number of the use. - The pass no longer forwards COPYs to undef uses, since doing so can break the machine verifier by creating LiveRanges that don't end on a use (since the undef operand is not considered a use). [MachineCopyPropagation] Extend pass to do COPY source forwarding This change extends MachineCopyPropagation to do COPY source forwarding. This change also extends the MachineCopyPropagation pass to be able to be run during register allocation, after physical registers have been assigned, but before the virtual registers have been re-written, which allows it to remove virtual register COPY LiveIntervals that become dead through the forwarding of all of their uses. llvm-svn: 314729
* Remove trailing whitespace to trigger re-cmakingMichael Liao2017-10-021-1/+1
| | | | llvm-svn: 314728
* [X86] Run dos2unix on two disassembler tests.Craig Topper2017-10-022-1854/+1854
| | | | llvm-svn: 314727
* [X86][NFC] Add X86CmovConverterPass to the pass registry.Amjad Aboud2017-10-022-5/+20
| | | | | | Differential Revision: https://reviews.llvm.org/D38355 llvm-svn: 314726
* Fix the shared library build.Rui Ueyama2017-10-021-0/+1
| | | | llvm-svn: 314725
* Attempt to fix buildbots.Rui Ueyama2017-10-021-2/+4
| | | | llvm-svn: 314724
* llvm-dwarfdump: support the --ignore-case option.Adrian Prantl2017-10-023-3/+20
| | | | llvm-svn: 314723
* [Analyzer] Avoid copy and modifying passed reference in ↵George Karpenkov2017-10-021-16/+18
| | | | | | | | BodyFarm::create_call_once Differential Revision: https://reviews.llvm.org/D38475 llvm-svn: 314722
* Remove dead file.Michael Liao2017-10-021-1479/+0
| | | | llvm-svn: 314720
* Move new lld's code to Common subdirectory.Rui Ueyama2017-10-0271-91/+94
| | | | | | | | | | New lld's files are spread under lib subdirectory, and it isn't easy to find which files are actually maintained. This patch moves maintained files to Common subdirectory. Differential Revision: https://reviews.llvm.org/D37645 llvm-svn: 314719
* [builtins] ARM: Reland fix for assembling builtins in thumb state.Manoj Gupta2017-10-023-4/+15
| | | | | | | | | | | | | | | | | | | | | | Summary: clang does not assemble files in thumb mode unless .thumb declaration is present. Add .thumb/.arm decl to _FUNCTION macros to ensure that files are assembled correctly. Also add a fix to ensure that armv7k-watchos can assemble the aeabi_c{f|d}cmp.S files. Fixes PR 34715. Reviewers: compnerd, peter.smith, srhines, weimingz, rengolin, efriedma, t.p.northover, fjricci Reviewed By: compnerd Subscribers: aemerson, javed.absar, llvm-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D38390 llvm-svn: 314718
* Add ELFOSABI_FIRST_ARCH, ELFOSABI_LAST_ARCH and start using those in ↵Konstantin Zhuravlyov2017-10-022-12/+33
| | | | | | | | llvm-readobj Differential Revision: https://reviews.llvm.org/D38418 llvm-svn: 314717
* Add CMake support for building for MinGWMartin Storsjo2017-10-021-0/+13
| | | | | | | | This section is similar to what already exists in libcxx and libcxxabi. Differential Revision: https://reviews.llvm.org/D38380 llvm-svn: 314716
* AMDGPU: Fix typosMatt Arsenault2017-10-021-2/+2
| | | | llvm-svn: 314715
* AMDGPU: Fix potentially incorrectly matching check linesMatt Arsenault2017-10-021-8/+8
| | | | | | | | These check lines are supposed to make sure the new d16 load instructions aren't used, but the expected instruction name is a prefix of the incorrect instruction name. llvm-svn: 314714
* Add support for custom loaders to the sanitizer symbolizerFrancis Ricci2017-10-026-2/+24
| | | | | | | | | | | | | | | | | Summary: Adds a fallback mode to procmaps when the symbolizer fails to locate a module for a given address by using dl_iterate_phdr. Reviewers: kubamracek, rnk, vitalybuka, eugenis Reviewed By: eugenis Subscribers: srhines, llvm-commits Differential Revision: https://reviews.llvm.org/D37269 llvm-svn: 314713
* [InstCombine] auto-generate complete checks; NFCSanjay Patel2017-10-021-39/+54
| | | | llvm-svn: 314712
* Fix a data race found by tsan.Rui Ueyama2017-10-021-3/+3
| | | | | | | | | | | | | | | | | Reads from `Live` and writes to `OutputOff` in the following code race even though they are logically independent because they are bitfields sharing the same word. for (size_t I = 0, E = Sec->Pieces.size(); I != E; ++I) { if (!Sec->Pieces[I].Live) continue; CachedHashStringRef Str = Sec->getData(I); size_t ShardId = getShardId(Str.hash()); if ((ShardId & (Concurrency - 1)) == ThreadId) Sec->Pieces[I].OutputOff = Shards[ShardId].add(Str); } llvm-svn: 314711
* [InstCombine] add icmp (shr X, Y), 0 test; NFCSanjay Patel2017-10-021-0/+14
| | | | llvm-svn: 314710
* Fix two header comments. NFC.Hans Wennborg2017-10-022-3/+2
| | | | llvm-svn: 314709
* Add std::move in RefactoringActionRulesTest.cppAlex Lorenz2017-10-021-1/+1
| | | | | | Should fix http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental llvm-svn: 314708
* Rewrite a comment.Rui Ueyama2017-10-021-4/+12
| | | | llvm-svn: 314707
* Add support for Myriad ma2x8x series of CPUsWalter Lee2017-10-023-9/+110
| | | | | | | | | | | | | | | Summary: Also: - Add support for some older Myriad CPUs that were missing. - Fix some incorrect compiler defines for exisitng CPUs. Reviewers: jyknight Subscribers: fedor.sergeev Differential Revision: https://reviews.llvm.org/D37551 llvm-svn: 314706
* Add support for Myriad ma2x8x series of CPUsWalter Lee2017-10-022-0/+23
| | | | | | | | | | | | Summary: Also add support for some older Myriad CPUs that were missing. Reviewers: jyknight Subscribers: fedor.sergeev Differential Revision: https://reviews.llvm.org/D37552 llvm-svn: 314705
* [refactor] Simplify the refactoring interfaceAlex Lorenz2017-10-0211-559/+308
| | | | | | | | | | | | | This commit simplifies the interface for the refactoring action rules and the refactoring requirements. It merges the selection constraints and the selection requirements into one class. The refactoring actions rules must now be implemented using subclassing instead of raw function / lambda pointers. This change also removes a bunch of template-based traits and other template definitions that are now redundant. Differential Revision: https://reviews.llvm.org/D37681 llvm-svn: 314704
* integer/sub_sat: Use clang builtin instead of llvm asmJan Vesely2017-10-027-215/+26
| | | | | | | reviewer: Tom Stellard Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 314703
* integer/add_sat: Use clang builtin instead of llvm asmJan Vesely2017-10-027-206/+29
| | | | | | | reviewer: Tom Stellard Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 314702
* integer/clz: Use clang builtin instead of llvm asmJan Vesely2017-10-024-119/+8
| | | | | | | | | The generated llvm IR mostly identical. char/uchar case is a bit worse. reviewer: Tom Stellard Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 314701
* Add a testcase to check that debug info is upgraded when compiling LLVM IRAdrian Prantl2017-10-021-0/+17
| | | | | | through clang. llvm-svn: 314700
* Move the stripping of invalid debug info from the Verifier to AutoUpgrade.Adrian Prantl2017-10-0246-176/+155
| | | | | | | | | | | | | | | | | | | | | | | | This came out of a recent discussion on llvm-dev (https://reviews.llvm.org/D38042). Currently the Verifier will strip the debug info metadata from a module if it finds the dbeug info to be malformed. This feature is very valuable since it allows us to improve the Verifier by making it stricter without breaking bcompatibility, but arguable the Verifier pass should not be modifying the IR. This patch moves the stripping of broken debug info into AutoUpgrade (UpgradeDebugInfo to be precise), which is a much better location for this since the stripping of malformed (i.e., produced by older, buggy versions of Clang) is a (harsh) form of AutoUpgrade. This change is mostly NFC in nature, the one big difference is the behavior when LLVM module passes are introducing malformed debug info. Prior to this patch, a NoAsserts build would have printed a warning and stripped the debug info, after this patch the Verifier will report a fatal error. I believe this behavior is actually more desirable anyway. Differential Revision: https://reviews.llvm.org/D38184 llvm-svn: 314699
* [InstCombine] remove one-use restriction for icmp (shr exact X, C1), C2 --> ↵Sanjay Patel2017-10-022-7/+7
| | | | | | icmp X, (C2<<C1) llvm-svn: 314698
* Revert "Add /System/Library/PrivateFrameworks as a header search path."Douglas Gregor2017-10-021-1/+0
| | | | | | This reverts commit f7a95215a435aa8d5f64f43a8bb23ba077270755. llvm-svn: 314697
* [InstCombine] add icmp (lshr X, C1), C2 test; NFCSanjay Patel2017-10-021-0/+15
| | | | llvm-svn: 314696
* Fix building on macOS after SVN r314492Martin Storsjo2017-10-022-6/+6
| | | | | | | | That commit incorrectly expanded the assumption that defined(__APPLE__) implies SjLj exception handling, which only is true within ARM code sections. llvm-svn: 314695
* Update getMergedLocation to check the instruction type and merge properly.Dehao Chen2017-10-029-43/+90
| | | | | | | | | | | | | | Summary: If the merged instruction is call instruction, we need to set the scope to the closes common scope between 2 locations, otherwise it will cause trouble when the call is getting inlined. Reviewers: dblaikie, aprantl Reviewed By: dblaikie, aprantl Subscribers: llvm-commits, sanjoy Differential Revision: https://reviews.llvm.org/D37877 llvm-svn: 314694
* [clangd] Handle workspace/didChangeWatchedFilesMarc-Andre Laperle2017-10-0211-2/+214
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: The client can send notifications when it detects watched files have changed. This patch adds the protocol handling for this type of notification. For now, the notification will be passed down to the ClangdServer, but it will not be acted upon. However, this will become useful for the indexer to react to file changes. The events could also potentially be used to invalidate other caches (compilation database, etc). This change also updates the VSCode extension so that it sends the events. Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com> Reviewers: ilya-biryukov, Nebiroth Subscribers: ilya-biryukov Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D38422 llvm-svn: 314693
* [Analyzer] Make testing scripts flake8 compliantGeorge Karpenkov2017-10-026-299/+397
| | | | | | Differential Review: https://reviews.llvm.org/D38213 llvm-svn: 314692
* [CUDA] Fix name of __activemask()Jonas Hahnfeld2017-10-021-1/+1
| | | | | | | | | The name has two underscores in the official CUDA documentation: http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#warp-vote-functions Differential Revision: https://reviews.llvm.org/D38468 llvm-svn: 314691
* CodeView symbol dumper: use symbolic names for registersHans Wennborg2017-10-029-33/+36
| | | | | | https://reviews.llvm.org/D38469 llvm-svn: 314690
* Revert "[Sema] Warn on attribute nothrow conflicting with language specifiers"Reid Kleckner2017-10-023-48/+1
| | | | | | | | | | | This reverts r314461. It is warning on user code that uses END_COM_MAP(), which expands to declare QueryInterface with conflicting exception specifers. I've spent a while trying to understand why, but haven't been able to extract a reduced test case. Let's revert and I'll keep trying. llvm-svn: 314689
* Eliminate ftrunc if source is know to be roundedStanislav Mekhanoshin2017-10-022-0/+105
| | | | | | Differential Revision: https://reviews.llvm.org/D38421 llvm-svn: 314688
* Update IUnknown lit test to pass on Win32Erich Keane2017-10-021-3/+3
| | | | llvm-svn: 314687
* [OPENMP] Capture argument of `device` clause for target-basedAlexey Bataev2017-10-028-11/+35
| | | | | | | | | | directives. The argument of the `device` clause in target-based executable directives must be captured to support codegen for the `target` directives with the `depend` clauses. llvm-svn: 314686
OpenPOWER on IntegriCloud