summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert rL349624 : Let TableGen write output only if it changed, instead of ↵Simon Pilgrim2019-10-013-28/+29
| | | | | | | | | | doing so in cmake, attempt 2 Differential Revision: https://reviews.llvm.org/D55842 ----------------- As discussed on PR43385 this is causing Visual Studio msbuilds to perpetually rebuild all tablegen generated files llvm-svn: 373338
* [lldb][NFC] Remove unused ClangASTContext::GetHasExternalStorageRaphael Isemann2019-10-012-69/+0
| | | | | | This code isn't used nor tested. llvm-svn: 373337
* Revert "Reland "[utils] Implement the llvm-locstats tool""Djordje Todorovic2019-10-018-481/+0
| | | | | | | This reverts commit rL373317 due to test failure on the clang-s390x-linux build bot. llvm-svn: 373336
* Revert [InstCombine] sprintf(dest, "%s", str) -> memccpy(dest, str, 0, MAX)David Bolvansky2019-10-013-38/+20
| | | | | | Seems to be slower than memcpy + strlen. llvm-svn: 373335
* [lldb][NFC] Remove unused ClangASTContext functions for checking/removing ↵Raphael Isemann2019-10-012-21/+0
| | | | | | the ExternalASTSource llvm-svn: 373334
* [InstCombine] sprintf(dest, "%s", str) -> memccpy(dest, str, 0, MAX)David Bolvansky2019-10-013-20/+38
| | | | llvm-svn: 373333
* [llvm-exegesis/lib] Fix missing linkage to MCParserMichal Gorny2019-10-011-0/+1
| | | | | | | | | | | Otherwise, shared-lib build fails with: lib64/libLLVMExegesis.a(SnippetFile.cpp.o): In function `llvm::exegesis::readSnippets(llvm::exegesis::LLVMState const&, llvm::StringRef)': SnippetFile.cpp:(.text._ZN4llvm8exegesis12readSnippetsERKNS0_9LLVMStateENS_9StringRefE+0x31f): undefined reference to `llvm::createMCAsmParser(llvm::SourceMgr&, llvm::MCContext&, llvm::MCStreamer&, llvm::MCAsmInfo const&, unsigned int)' SnippetFile.cpp:(.text._ZN4llvm8exegesis12readSnippetsERKNS0_9LLVMStateENS_9StringRefE+0x41c): undefined reference to `llvm::MCAsmParser::setTargetParser(llvm::MCTargetAsmParser&)' collect2: error: ld returned 1 exit status llvm-svn: 373332
* [NFC][ARM][MVE] More testsSam Parker2019-10-011-0/+602
| | | | | | Add some tail predication tests with fast math. llvm-svn: 373331
* [lldb][NFC] Disallow changing the ASTContext of an ClangASTContext after ↵Raphael Isemann2019-10-014-17/+16
| | | | | | | | | | | construction. We have no use case in LLDB where we actually do want to change the ASTContext after it the ClangASTContext has been constructed. All callers of setASTContext are just setting the ASTContext directly after construction, so we might as well make this a Constructor instead of supporting this tricky use case. llvm-svn: 373330
* [lldb][NFC] Modernize ClangASTContext constructorRaphael Isemann2019-10-012-41/+35
| | | | | | | | | Now using default initializers and StringRef. Also formats the member list that we excluded from clang-format at some point and still hangs around with the old LLDB code style. llvm-svn: 373329
* [libc++] Harden usage of static_assert against C++03Louis Dionne2019-10-011-2/+2
| | | | | | | In C++03, we emulate static_assert with a macro, and we must parenthesize multiple arguments. llvm-svn: 373328
* [clang] Ignore builtin namespaces in test/Import/cxx-anon-namespaceRaphael Isemann2019-10-011-1/+5
| | | | | | | | | Some platforms (e.g. AArch64) put __va_list in the 'std' namespace which might end up being the first namespace we match in this test. Instead let the first namespace match via file name/line so that we skip the builtin namespaces. llvm-svn: 373327
* DIExpression::createFragmentExpression - silence static analyzer ↵Simon Pilgrim2019-10-011-0/+1
| | | | | | DIExpression* null dereference warning with an assertion. NFCI. llvm-svn: 373326
* VirtualFileSystem - replace dyn_cast<>+assert with cast<> calls. NFCI.Simon Pilgrim2019-10-011-8/+5
| | | | | | Silences a number of clang static analyzer null dereference warnings. llvm-svn: 373325
* ObjectFile makeTriple - silence static analyzer dyn_cast<COFFObjectFile> ↵Simon Pilgrim2019-10-011-1/+1
| | | | | | | | null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<COFFObjectFile> directly and if not assert will fire for us. llvm-svn: 373324
* [clangd] Implement getBeginning for overloaded operators.Haojian Wu2019-10-014-20/+113
| | | | | | | | | | | | | | | | Summary: This will fix some bugs where navigation doesn't work on cases like `std::cout <^< "hello"`. Reviewers: ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67695 llvm-svn: 373323
* InstrProf - avoid static analyzer dyn_cast<ConstantInt> null dereference ↵Simon Pilgrim2019-10-011-4/+2
| | | | | | | | | | warning. The static analyzer is warning about a potential null dereference, as we're already earlying-out for a null Constant pointer I've just folded this into a dyn_cast_or_null<ConstantInt>. No test case, this is by inspection only. llvm-svn: 373322
* ConstantFold - ConstantFoldSelectInstruction - assume constant vector ↵Simon Pilgrim2019-10-011-2/+1
| | | | | | | | elements are constant. NFCI. Goes a bit further than rL372743 which added the early out - elements should be Constant so use cast<Constant> instead (and rely on the assert if anything fails). llvm-svn: 373321
* [clangd] Use the index-based API to do the header-source switch.Haojian Wu2019-10-016-9/+69
| | | | | | | | | | | | | | | | Summary: If the file heuristic fails, we try to use the index&AST to do the header/source inference. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68211 llvm-svn: 373320
* [obj2yaml] - Fix BB after r373315.George Rimar2019-10-011-4/+6
| | | | | | | The success return value for data extractor's cursor should also be checked. llvm-svn: 373319
* [clangd] Handle template arguments in findExplicitReferencesIlya Biryukov2019-10-012-2/+68
| | | | | | | | | | | | | | Reviewers: kadircet Reviewed By: kadircet Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68137 llvm-svn: 373318
* Reland "[utils] Implement the llvm-locstats tool"Djordje Todorovic2019-10-018-0/+481
| | | | | | | | | | | | | | | | The tool reports verbose output for the DWARF debug location coverage. The llvm-locstats for each variable or formal parameter DIE computes what percentage from the code section bytes, where it is in scope, it has location description. The line 0 shows the number (and the percentage) of DIEs with no location information, but the line 100 shows the number (and the percentage) of DIEs where there is location information in all code section bytes (where the variable or parameter is in the scope). The line 50..59 shows the number (and the percentage) of DIEs where the location information is in between 50 and 59 percentage of its scope covered. Differential Revision: https://reviews.llvm.org/D66526 llvm-svn: 373317
* [yaml2obj] - Allow specifying custom Link values for SHT_HASH section.George Rimar2019-10-012-1/+33
| | | | | | | | This allows setting any sh_link values for SHT_HASH sections. Differential revision: https://reviews.llvm.org/D68214 llvm-svn: 373316
* [yaml2obj/obj2yaml] - Add support for SHT_HASH sections.George Rimar2019-10-018-1/+349
| | | | | | | | | | | | | | | SHT_HASH specification is: http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#hash In short the format is the following: it has 2 uint32 fields in its header: nbucket and nchain followed by (nbucket + nchain) uint32 values. This patch allows dumping and parsing such sections. Differential revision: https://reviews.llvm.org/D68085 llvm-svn: 373315
* Fixup r373278: Move test to X86 directoryDiana Picus2019-10-011-0/+0
| | | | | | ...since it's using an x86 triple. llvm-svn: 373314
* [llvm-exegesis][NFC] Refactor X86 tests fixtures into a base class.Clement Courbet2019-10-016-101/+71
| | | | | | | | | | | | Reviewers: gchatelet, a.sidorin Subscribers: tschuett, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68262 llvm-svn: 373313
* [clang][lldb][NFC] Encapsulate ExternalASTMerger::ImporterSourceRaphael Isemann2019-10-017-27/+35
| | | | | | NFC preparation work for upcoming ExternalASTMerger patches. llvm-svn: 373312
* Revert "[OCaml] Handle nullptr in Llvm.global_initializer"Dmitri Gribenko2019-10-013-16/+4
| | | | | | | This reverts commit r373299. It broke tests: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18485 llvm-svn: 373311
* Revert "GlobalISel: Handle llvm.read_register"Dmitri Gribenko2019-10-013-25/+8
| | | | | | | | This reverts commit r373294. It broke Clang's CodeGen/arm64-microsoft-status-reg.cpp: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18483 llvm-svn: 373310
* [NFC][HardwareLoops] Update some iteratorsSam Parker2019-10-011-11/+6
| | | | llvm-svn: 373309
* Decrease the verbosity of the -ftime-trace optionSylvestre Ledru2019-10-012-4/+2
| | | | | | | | | | | | | | | | | | | | | And move the relevant information in the doc. Summary: Currently, building a large software like Firefox shows 'Use chrome://tracing or Speedscope App (https://www.speedscope.app) for flamegraph visualization' for each file. Reviewers: anton-afanasyev Reviewed By: anton-afanasyev Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68260 llvm-svn: 373308
* [clangd] Handle OverloadExpr in targetDeclIlya Biryukov2019-10-012-0/+30
| | | | | | | | | | | | | | Reviewers: sammccall Reviewed By: sammccall Subscribers: nridge, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68119 llvm-svn: 373305
* [clang-tidy] Fix module registry name and description for Darwin clang-tidy ↵Dmitri Gribenko2019-10-011-1/+1
| | | | | | | | | | | | | | | | | | module. Summary: When creating the module, must have copy-pasted from the misc module, and forgotten to update the name/description of the module in the registry. Reviewers: stephanemoore, benhamilton, gribozavr Reviewed By: gribozavr Subscribers: xazax.hun, cfe-commits Tags: #clang, #clang-tools-extra, #llvm Differential Revision: https://reviews.llvm.org/D68251 llvm-svn: 373304
* [X86] Consider isCodeGenOnly in the EVEX2VEX pass to make VMAXPD/PS map to ↵Craig Topper2019-10-013-40/+50
| | | | | | | | | | the non-commutable VEX instruction. Use EVEX2VEX override to fix the scalar instructions. Previously the match was ambiguous and VMAXPS/PD and VMAXCPS/PD were mapped to the same VEX instruction. But we should keep the commutableness when change the opcode. llvm-svn: 373303
* [WebAssembly] Make sure EH pads are preferred in sortingHeejin Ahn2019-10-012-0/+44
| | | | | | | | | | | | | | | | | | | | | Summary: In CFGSort, we try to make EH pads have higher priorities as soon as they are ready to be sorted, to prevent creation of unwind destination mismatches in CFGStackify. We did that by making priority queues' comparison function prefer EH pads, but it was possible for an EH pad to be popped from `Preferred` queue and then not sorted immediately and enter `Ready` queue instead in a certain condition. This patch makes sure that special condition does not consider EH pads as its candidates. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68229 llvm-svn: 373302
* [WebAssembly] Unstackify regs after fixing unwinding mismatchesHeejin Ahn2019-10-013-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Fixing unwind mismatches for exception handling can result in splicing existing BBs and moving some of instructions to new BBs. In this case some of stackified def registers in the original BB can be used in the split BB. For example, we have this BB and suppose %r0 is a stackified register. ``` bb.1: %r0 = call @foo ... use %r0 ... ``` After fixing unwind mismatches in CFGStackify, `bb.1` can be split and some instructions can be moved to a newly created BB: ``` bb.1: %r0 = call @foo bb.split (new): ... use %r0 ... ``` In this case we should make %r0 un-stackified, because its use is now in another BB. When spliting a BB, this CL unstackifies all def registers that have uses in the new split BB. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68218 llvm-svn: 373301
* [Windows] Added support of watchpoints to `NativeProcessWindows`Aleksandr Urakov2019-10-018-64/+835
| | | | | | | | | | | | | | | | Summary: This patch adds support of watchpoints to the new `NativeProcessWindows` plugin. The same tests as in D67168 pass with these changes when the old plugin is turned off, so they will cover this functionality when the old plugin is gone. Reviewers: asmith, amccarth, stella.stamenova, labath Reviewed By: labath Subscribers: labath, jfb, JDevlieghere, lldb-commits, leonid.mashinskiy Tags: #lldb Differential Revision: https://reviews.llvm.org/D67222 llvm-svn: 373300
* [OCaml] Handle nullptr in Llvm.global_initializerAditya Kumar2019-10-013-4/+16
| | | | | | | | | | | | | | LLVMGetInitializer returns nullptr in case there is no initializer. There is not much that can be done with nullptr in OCaml, not even test if it is null. Also, there does not seem to be a C or OCaml API to test if there is an initializer. So this diff changes Llvm.global_initializer to return an option. Differential Revision: https://reviews.llvm.org/D65195 Reviewed by: whitequark Authored by: kren1 llvm-svn: 373299
* AMDGPU/GlobalISel: Select s1 src G_SITOFP/G_UITOFPMatt Arsenault2019-10-016-52/+570
| | | | llvm-svn: 373298
* Remove a undefined constructor introduced by r373244.Yuanfang Chen2019-10-011-1/+0
| | | | llvm-svn: 373297
* AMDGPU/GlobalISel: Add support for init.exec intrinsicsMatt Arsenault2019-10-0111-52/+81
| | | | | | | TThe existing wave32 behavior seems broken and incomplete, but this reproduces it. llvm-svn: 373296
* AMDGPU/GlobalISel: Allow scc/vcc alternative mappings for s1 constantsMatt Arsenault2019-10-011-1/+15
| | | | llvm-svn: 373295
* GlobalISel: Handle llvm.read_registerMatt Arsenault2019-10-013-8/+25
| | | | | | | | | | | | | SelectionDAG has a bunch of machinery to defer this to selection time for some reason. Just directly emit a copy during IRTranslator. The x86 usage does somewhat questionably check hasFP, which could depend on the whole function being at minimum translated. This does lose the convergent bit if the callsite had it, which may be a problem. We also lose that in general for intrinsics, which may also be a problem. llvm-svn: 373294
* AMDGPU/GlobalISel: Avoid creating shift of 0 in arg loweringMatt Arsenault2019-10-012-4/+9
| | | | | | | | This is sort of papering over the fact that we don't run a combiner anywhere, but avoiding creating 2 instructions in the first place is easy. llvm-svn: 373293
* TLI: Remove DAG argument from getRegisterByNameMatt Arsenault2019-10-0122-68/+66
| | | | | | | | | | | Replace with the MachineFunction. X86 is the only user, and only uses it for the function. This removes one obstacle from using this in GlobalISel. The other is the more tolerable EVT argument. The X86 use of the function seems questionable to me. It checks hasFP, before frame lowering. llvm-svn: 373292
* [llvm-readobj/llvm-readelf] Delete --arm-attributes (alias for --arch-specific)Fangrui Song2019-10-015-10/+4
| | | | | | | | | | | | | | | | D68110 added --arch-specific (supported by GNU readelf) and made --arm-attributes an alias for it. The tests were later migrated to use --arch-specific. Note, llvm-readelf --arch-specific currently just uses llvm-readobj style output for ARM attributes. The readelf-style output is not implemented. Reviewed By: compnerd, kongyi, rupprecht Differential Revision: https://reviews.llvm.org/D68196 llvm-svn: 373291
* [X86] Add test case to show missed opportunity to shrink a constant index to ↵Craig Topper2019-10-011-0/+280
| | | | | | | | | | | | a gather in order to avoid splitting. Also add a test case for an index that could be shrunk, but would create a narrow type. We can go ahead and do it we just need to be before type legalization. Similar test cases for scatter as well. llvm-svn: 373290
* Don't elide the use of the thread wrapper for a thread_local constinitRichard Smith2019-10-012-7/+30
| | | | | | | | | variable with non-trivial destruction. We still need to invoke the thread wrapper to trigger registration of the destructor call on thread shutdown. llvm-svn: 373289
* AMDGPU/GlobalISel: Select G_UADDO/G_USUBOMatt Arsenault2019-10-015-1/+441
| | | | llvm-svn: 373288
* GlobalISel: Implement widenScalar for G_SITOFP/G_UITOFP sourcesMatt Arsenault2019-10-015-56/+250
| | | | | | Legalize 16-bit G_SITOFP/G_UITOFP for AMDGPU. llvm-svn: 373287
OpenPOWER on IntegriCloud