summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [clangd] Implement "textDocument/documentLink" protocol supportMichael Forster2019-12-1211-0/+175
| | | | | | | | | | | | | | | | | | | Summary: This adds an implementation for the "textDocument/documentLink" LSP request. It returns links for all `#include` directives to the resolved target files. Fixes https://github.com/clangd/clangd/issues/217. Reviewers: sammccall Reviewed By: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70872
* [Diagnsotics] Small Improvement on -Wmisleading-indentationTyker2019-12-122-5/+26
| | | | | | | | | | Reviewers: aaron.ballman Reviewed By: aaron.ballman Subscribers: xbolva00 Differential Revision: https://reviews.llvm.org/D71083
* [NFC][ARM] Add some test triplesSam Parker2019-12-122-181/+773
| | | | Add thumb and thumb2 to a couple of the test files.
* [Attributor][NFC] Fix comments and unnecessary commaHideto Ueno2019-12-122-7/+10
|
* [Attributor] [NFC] Use `checkForAllUses` helpr in ↵Hideto Ueno2019-12-121-35/+18
| | | | | | | | | | | | | | | | `AAHeapToStackImpl::updateImpl` Summary: Remove `Worklist` iteration and make use `checkForAllUses`. There is no test chage. Reviewers: sstefan1, jdoerfert Reviewed By: jdoerfert Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71352
* [Attributor][NFC] Refactoring `AANoFreeArgument::updateImpl`Hideto Ueno2019-12-121-38/+15
| | | | | | | | | | | | | | Summary: Refactoring `AANoFreeArgument::updateImpl`. There is no test change. Reviewers: sstefan1, jdoerfert Reviewed By: sstefan1 Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71349
* [Analyzer][Docs][NFC] Add CodeChecker to the command line toolsGabor Marton2019-12-123-3/+143
| | | | | | | | We add a new common html file that documents the available command line tools. Also a new html is added for a brief description of CodeChecker, this way complementing scan-build. Differential Revision: https://reviews.llvm.org/D70439
* [DebugInfo] Prevent invalid fragments at ISel from dropping debug infostozer2019-12-122-1/+58
| | | | | | | | | | | | | During SelectionDAG, if a value which is associated with a DBG_VALUE needs to be split across multiple registers, the DBG_VALUE will be split into a set of fragment expressions to recreate the original value. If one or more of these fragments cannot be created, they would previously be silently dropped, causing the old debug value to live past its expiry date. This patch fixes this issue by keeping invalid fragments while setting their value as Undef. Differential revision: https://reviews.llvm.org/D70248
* [Support] Try to fix bot failure after 8ddcd1dc26Russell Gallop2019-12-121-0/+1
| | | | http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/41755
* [clangd] Rename constructors and destructors in cross-file caseKirill Bobyrev2019-12-122-70/+109
| | | | | | | | | | | * Use ad-hoc Decl canonicalization from Clang-Rename to allow renaming constructors and destructors while using cross-file rename. * Manually handle the destructor selection * Add unit tests to prevent regressions and ensure the correct behaviour Reviewed by: sammccall Differential Revision: https://reviews.llvm.org/D71247
* [Support] Extend TimeProfiler to support multiple threadsRussell Gallop2019-12-122-18/+85
| | | | | | | | | | | | | | This makes TimeTraceProfilerInstance thread local. Added timeTraceProfilerFinishThread() which moves the thread local instance to a global vector of instances. timeTraceProfilerWrite() then writes recorded data from all instances. Threads are identified based on their thread ids. Totals are reported with artificial thread ids higher than the real ones. Replaced raw pointer for TimeTraceProfilerInstance with unique_ptr. Differential Revision: https://reviews.llvm.org/D71059
* [Tooling/Syntax] Helpers to find spelled tokens touching a location.Sam McCall2019-12-124-0/+88
| | | | | | | | | | | | Summary: Useful when positions are used to target nodes, with before/after ambiguity. Reviewers: ilya-biryukov, kbobyrev Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D71356
* [clangd] Fix windows testsKadir Cetinkaya2019-12-121-0/+1
|
* [NFC] - Partially revert 9c48c2f9c477007234cGabor Buella2019-12-121-1/+1
|
* [llvm-readobj][test] - Add a test for testing regular section flags and ↵Georgii Rymar2019-12-125-76/+148
| | | | | | | | | | | | | | cleanup flags testing. This: 1) Adds a test for testing all section flags (`section-flags.test`). 2) Renames `sec-flags.test`->`section-arch-flags.test` and performs a clean up. 3) Removes `compression.zlib.style.elf-x86-64` binary and a test case for SHF_COMPRESSED flag, because them are now excessive. 4) Adds missing MIPS flags and a test for SHF_ARM_PURECODE. Differential revision: https://reviews.llvm.org/D71333
* [lldb] Remove ClangASTMetricsRaphael Isemann2019-12-124-106/+0
| | | | | | | | | | | | | | Summary: Not once have I looked at these numbers in a log and considered them useful. Also this should not have been implemented via an unguarded list of globals. Reviewers: martong, shafik Reviewed By: shafik Subscribers: rnkovacs, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D71336
* [lldb] "See through" atomic types in ClangASTContextPavel Labath2019-12-122-56/+68
| | | | | | | | | | | | | | | | | Summary: This enables us to display the contents of atomic structs. Calling the removal of _Atomic "desugaring" is not fully correct as it does more than remove sugar, but it is the right thing to do for most of the things that we care about. We can change this back once we decide to support atomic types more comprehensively. Reviewers: teemperor, shafik Subscribers: jfb, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D71262
* [clangd] Fix hover crashing on null typesKadir Cetinkaya2019-12-122-2/+21
| | | | | | | | | | | | Summary: Fixes https://github.com/clangd/clangd/issues/225 Reviewers: sammccall, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D71403
* [Mips] Add support for min/max/umin/umax atomicsMirko Brkusanin2019-12-129-29/+5218
| | | | | | | | In order to properly implement these atomic we need one register more than other binary atomics. It is used for storing result from comparing values in addition to the one that is used for actual result of operation. https://reviews.llvm.org/D71028
* Temporarily Revert "[DataLayout] Fix occurrences that size and range of ↵Nicola Zaghen2019-12-1223-234/+81
| | | | | | | | | pointers are assumed to be the same." This reverts commit 5f6208778ff92567c57d7c1e2e740c284d7e69a5. This caused failures in Transforms/PhaseOrdering/scev-custom-dl.ll const: Assertion `getBitWidth() == CR.getBitWidth() && "ConstantRange types don't agree!"' failed.
* [NFC] - Typo fix in test/CodeGenCXX/runtime-dllstorage.cppGabor Buella2019-12-121-5/+5
| | | | | | Reviewed By: Jim Differential Revision: https://reviews.llvm.org/D48921
* [lldb][NFC] Don't implement ClangASTContext::SetMetadata again as a static ↵Raphael Isemann2019-12-122-13/+9
| | | | | | | method We always have an ClangASTContext when we call this method so we might as well always call the non-static version.
* [DataLayout] Fix occurrences that size and range of pointers are assumed to ↵Nicola Zaghen2019-12-1223-81/+234
| | | | | | | | | | | | be the same. GEP index size can be specified in the DataLayout, introduced in D42123. However, there were still places in which getIndexSizeInBits was used interchangeably with getPointerSizeInBits. This notably caused issues with Instcombine's visitPtrToInt; but the unit tests was incorrect, so this remained undiscovered. Differential Revision: https://reviews.llvm.org/D68328 Patch by Joseph Faulls!
* [Tooling] Move raw string literal out of a macro call. NFCIlya Biryukov2019-12-121-4/+7
| | | | Should fix buildbots with some older gcc versions.
* [AArch64][SVE] Remove nxv1f32 and nxv1f64 as legal typesCullen Rhodes2019-12-123-31/+13
| | | | | | | | | | | | | | | Summary: Also cleans up ZPR register class definition. Reviewers: sdesmalen, cameron.mcinally, efriedma Reviewed By: efriedma Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71351
* [libomptarget][nfc] Add missing header for amdgcn/target_implJon Chesterfield2019-12-121-1/+3
|
* [llvm-readobj][test] - Cleanup and split tests in tools/llvm-readobj folder.Georgii Rymar2019-12-1228-2088/+2180
| | | | | | | | | | | | | tools/llvm-readobj currently contains tests that are either general for all file types or that mix file types inside. This patch refactors these test and leaves only general tests in that folder. All other tests were moved to ELF/COFF/MachO and wasm accordingly. I tried to minimize amount of changes, so most of the test parts remained unchanged. Any further refactorings and improvements for particular tests should be done independently from this patch. Differential revision: https://reviews.llvm.org/D71269
* [NFC][llvm][MIRVRegNamerUtils] Moving methods around. Making some private.Puyan Lotfi2019-12-122-13/+9
| | | | | Making all externally unused methods private in MIRVRegNamerUtils.h. Moving or deleting a couple other methods around.
* Revert unintentional change to compiler-rt as part of the __bit_reference ↵Eric Christopher2019-12-121-1/+1
| | | | revert.
* [compiler-rt] Add a critical section when flushing gcov countersCalixte Denizet2019-12-121-1/+24
| | | | | | | | | | | | | | | | | Summary: Counters can be flushed in a multi-threaded context for example when the process is forked in different threads (https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp#L632-L663). In order to avoid pretty bad things, a critical section is needed around the flush. We had a lot of crashes in this code in Firefox CI when we switched to clang for linux ccov builds and those crashes disappeared with this patch. Reviewers: marco-c, froydnj, dmajor, davidxl, vsk Reviewed By: marco-c, dmajor Subscribers: ahatanak, froydnj, dmajor, dberris, jfb, #sanitizers, llvm-commits, sylvestre.ledru Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D70910
* Temporarily Revert "[libc++] Fix -Wdeprecated-copy warnings in __bit_reference"Eric Christopher2019-12-122-4/+1
| | | | | | as it's causing test failures due to mismatched visibility. This reverts commit 02bb20223bda5add729402962c70d0ebd0d98af2.
* [DWARF5][DWARFVerifier] Check that Skeleton compilation unit does not have ↵Alexey Lapshin2019-12-122-0/+55
| | | | | | | | | children. That patch adds checking into DWARFVerifier that the Skeleton compilation unit does not have children. Differential Revision: https://reviews.llvm.org/D71244
* Revert "[ARM][MVE] Sink vector shift operand"Sam Parker2019-12-124-462/+21
| | | | | | This reverts commit e0b966643fc2030442ffbae9b677247be697673b. Instruction selection is failing with expensive checks.
* [libc++] Fix -Wdeprecated-copy warnings in __bit_referenceEric Christopher2019-12-111-0/+3
| | | | | | | | Add a couple of default copy constructors to fix the warning. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D71395
* [ARM][MVE] Sink vector shift operandSam Parker2019-12-124-21/+462
| | | | | | | | The shift amount operand can be provided in a general purpose register so sink it. Flip the vdup and negate so the existing patterns can be used for matching. Differential Revision: https://reviews.llvm.org/D70841
* Fix an error in the block ABI documentation sample codeAkira Hatanaka2019-12-111-1/+1
| | | | rdar://problem/38663011
* [Syntax] Build nodes for simple cases of top level declarationsIlya Biryukov2019-12-124-4/+380
| | | | | | | | | | | | | | | | Summary: More complicated nodes (e.g. template declarations) will be implemented in the follow-up patches. Reviewers: gribozavr2 Reviewed By: gribozavr2 Subscribers: merge_guards_bot, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70856
* [OpenMP][Docs] Mark 5.0 features worked on and list 5.1 featuresJohannes Doerfert2019-12-121-2/+17
|
* [AutoFDO] Statistic for context sensitive profile guided inliningWenlei He2019-12-114-8/+149
| | | | | | | | | | | | Summary: AutoFDO compilation has two places that do inlining - the sample profile loader that does inlining with context sensitive profile, and the regular inliner as CGSCC pass. Ideally we want most inlining to come from sample profile loader as that is driven by context sensitive profile and also retains context sensitivity after inlining. However the reality is most of the inlining actually happens during regular inliner. To track the number of inline instances from sample profile loader and help move more inlining to sample profile loader, I'm adding statistics and optimization remarks for sample profile loader's inlining. Reviewers: wmi, davidxl Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70584
* gn build: (manually) merge 5d986953c8b917bacfaa1f800fc1e242559f76beNico Weber2019-12-111-7/+164
|
* [llvm][MIRVRegNamerUtils] Adding hashing on memoperands.Puyan Lotfi2019-12-112-0/+53
| | | | | | | | No more hash collisions for memoperands. Now the MIRCanonicalization pass shouldn't hit hash collisions when dealing with nearly identical memory accessing instructions when their memoperands are in fact different. Differential Revision: https://reviews.llvm.org/D71328
* [AArch64][SVE] Add patterns for scalable vselectCameron McInally2019-12-113-2/+97
| | | | | | This patch matches scalable vector selects to predicated move instructions. Differential Revision: https://reviews.llvm.org/D71298
* [IR] Split out target specific intrinsic enums into separate headersReid Kleckner2019-12-1176-49/+223
| | | | | | | | | | | | | | | | | | | | This has two main effects: - Optimizes debug info size by saving 221.86 MB of obj file size in a Windows optimized+debug build of 'all'. This is 3.03% of 7,332.7MB of object file size. - Incremental step towards decoupling target intrinsics. The enums are still compact, so adding and removing a single target-specific intrinsic will trigger a rebuild of all of LLVM. Assigning distinct target id spaces is potential future work. Part of PR34259 Reviewers: efriedma, echristo, MaskRay Reviewed By: echristo, MaskRay Differential Revision: https://reviews.llvm.org/D71320
* Rename TTI::getIntImmCost for instructions and intrinsicsReid Kleckner2019-12-1119-78/+81
| | | | | | | | | | | | | | Soon Intrinsic::ID will be a plain integer, so this overload will not be possible. Rename both overloads to ensure that downstream targets observe this as a build failure instead of a runtime failure. Split off from D71320 Reviewers: efriedma Differential Revision: https://reviews.llvm.org/D71381
* [Remarks][Driver] Ask for line tables when remarks are enabledFrancis Visoiu Mistrih2019-12-112-0/+11
| | | | | | | | | | | | | | | | Serialized remarks contain debug locations for each remark, by storing a file path, a line, and a column. Also, remarks support being embedded in a .dSYM bundle using a separate section in object files, that is found by `dsymutil` through the debug map. In order for tools to map addresses to source and display remarks in the source, we need line tables, and in order for `dsymutil` to find the object files containing the remark section, we need to keep the debug map around. Differential Revision: https://reviews.llvm.org/D71325
* gn build: (manually) merge d23c61490cNico Weber2019-12-113-0/+17
|
* [libc++abi] Fix non-constant initialization of default terminateEric Fiselier2019-12-111-6/+8
| | | | handlers.
* [libc++] Require C++14 in all cases.Eric Fiselier2019-12-111-13/+7
| | | | | | | | | LLVM has moved to C++14, and the libc++ build should too. C++14 is needed to provide constant initialization for certain global objects. I suspect this change may break some older GCC buildbots, and I'll clean those up as they fall.
* [analyzer] Do not cache out on some shared implicit AST nodesGabor Horvath2019-12-118-18/+64
| | | | | | | | | | | Some AST nodes which stands for implicit initialization is shared. The analyzer will do the same evaluation on the same nodes resulting in the same state. The analyzer will "cache out", i.e. it thinks that it visited an already existing node in the exploded graph. This is not true in this case and we lose coverage. Since these nodes do not really require any processing from the analyzer we just omit them from the CFG. Differential Revision: https://reviews.llvm.org/D71371
* [AArch64][x86] add tests for possible infinite loops in DAGCombiner; NFCSanjay Patel2019-12-112-5/+65
| | | | | | | This is a reduction of a test that failed (infinite looped) with rGd1f0bdf2d2df (subsequently reverted). I've duplicated it for 2 targets to increase coverage - everything down here is wobbly.
OpenPOWER on IntegriCloud