summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [libomptarget] Refactor syncthreads macro to inline functionJon Chesterfield2019-08-285-19/+16
| | | | | | | | | | | | | | | | | | Summary: [libomptarget] Refactor syncthreads macro to inline function See also abandoned D66846, split into this diff and others. Rev 2 of D66855 Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66861 llvm-svn: 370210
* [XRay] Fixing one test case for FreeBSDDavid Carlier2019-08-281-0/+10
| | | | | | | | | | Reviewers: dberris Reviewed By: dberris Differential Revision: https://reviews.llvm.org/D66867 llvm-svn: 370209
* [Attributor] Restrict liveness and return information to functionsJohannes Doerfert2019-08-288-21/+69
| | | | | | | | | | | | | | | | | | | | Summary: Until we have proper call-site information we should not recompute liveness and return information for each call site. This patch directly uses the function versions and introduces TODOs at the usage sites. The required iterations to get to the fixpoint are most of the time reduced by this change and we always avoid work duplication. Reviewers: sstefan1, uenoku Subscribers: hiraditya, bollu, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66562 llvm-svn: 370208
* InstCombiner::visitSelectInst - rename Pred to MinMaxPred to stop shadow ↵Simon Pilgrim2019-08-281-5/+6
| | | | | | | | variable warning. NFCI. We have a lot of Predicate variables, all similarly named.... llvm-svn: 370207
* Reland "[yaml2obj] - Don't allow setting StOther and Other/Visibility at the ↵Vlad Tsyrklevich2019-08-284-20/+73
| | | | | | | | | same time." This relands this commit, I mistakenly reverted the original change thinking it was the cause of the observed MSan failures but it was not. llvm-svn: 370206
* [SelectionDAG] Don't generate libcalls for wide shifts on Windows (PR42711)Hans Wennborg2019-08-286-11/+31
| | | | | | | | | Neither libgcc or compiler-rt are usually used on Windows, so these functions can't be called. Differential revision: https://reviews.llvm.org/D66880 llvm-svn: 370204
* [X86] Add test for rotate combining when add X, X is used instead of shl X, ↵Amaury Sechet2019-08-282-0/+37
| | | | | | 1. NFC llvm-svn: 370203
* [clangd] Cleans up the semantic highlighting resources if clangd stops.Johan Vikstrom2019-08-283-34/+47
| | | | | | | | | | | | | | Summary: Disposes of the vscode listeners when clangd crashes and reuses the old highlighter when it restarts. The reason for reusing the highlighter is because this way the highlightings will not disappear as we won't have to dispose of them. Reviewers: hokein, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66743 llvm-svn: 370202
* [lldb][NFC] Refactor and document ClangASTContext::IsOperatorRaphael Isemann2019-08-282-210/+73
| | | | | | Should make it clearer what actually is going on in there. llvm-svn: 370201
* [clang-tidy] Fix the potential infinite loop in ↵Haojian Wu2019-08-282-0/+11
| | | | | | | | | | | | | | | | | | recordIsTriviallyDefaultConstructible. Summary: The recordIsTriviallyDefaultConstructible may cause an infinite loop when running on an ill-formed decl. Reviewers: gribozavr Subscribers: nemanjai, xazax.hun, kbarton, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66874 llvm-svn: 370200
* [lldb][NFC] Test named operators like new and function names that might ↵Raphael Isemann2019-08-281-0/+18
| | | | | | confuse LLDB llvm-svn: 370199
* Revert "[yaml2obj] - Don't allow setting StOther and Other/Visibility at the ↵Vlad Tsyrklevich2019-08-284-73/+20
| | | | | | | | | same time." This reverts commit r370032, it was causing check-llvm failures on sanitizer-x86_64-linux-bootstrap-msan llvm-svn: 370198
* [DAGCombine] Fix cppcheck shadow variable warning. NFCI.Simon Pilgrim2019-08-281-4/+4
| | | | | | We already have an outer Ops variable. llvm-svn: 370197
* [mips] Use less registers to load address of TargetExternalSymbolSimon Atanasyan2019-08-283-13/+10
| | | | | | | | | | | | | | | | | | | | | | There is no pattern matched `add hi, (MipsLo texternalsym)`. As a result, loading an address of 32-bit symbol requires two registers and one more additional instruction: ``` addiu $1, $zero, %lo(foo) lui $2, %hi(foo) addu $25, $2, $1 ``` This patch adds the missed pattern and enables generation more effective set of instructions: ``` lui $1, %hi(foo) addiu $25, $1, %lo(foo) ``` Differential Revision: https://reviews.llvm.org/D66771 llvm-svn: 370196
* [lldb][NFC] Actually run all expects in lang/cpp/operatorsRaphael Isemann2019-08-281-12/+6
| | | | | | | | | | | | Apparently inline tests stop running anything after an empty line behind an self.expect, which is a very good approach that could never cause people to write tests that never run. This patch removes all the empty lines so that all this test is actually run. Also fixes the broken expects that only passed because they weren't run before. llvm-svn: 370195
* [lldb][NFC] Extend operator test case with conversion operatorsRaphael Isemann2019-08-281-0/+9
| | | | llvm-svn: 370194
* [clang-tidy] readability-identifier-naming shouldn't complain about CRTP ↵Sam McCall2019-08-283-0/+40
| | | | | | | | | | | | | | pseudo-overrides Reviewers: ilya-biryukov Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66864 llvm-svn: 370193
* [ELF][RISCV] Allow PT_LOAD to have overlapping p_offset ranges on EM_RISCVFangrui Song2019-08-2810-156/+169
| | | | | | | | Port the D64906 technique to RISC-V. It deletes 3 alignments at PT_LOAD boundaries for the default case: the size of a RISC-V binary decreases by at most 12kb. llvm-svn: 370192
* [clangd] Fix SelectionTree to allow selection range expression in foreach loops.Sam McCall2019-08-282-0/+26
| | | | | | | | | | | | Reviewers: hokein Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66869 llvm-svn: 370191
* [TargetLowering] Add buildLegalVectorShuffle facility to help build legal ↵Amaury Sechet2019-08-284-73/+78
| | | | | | | | | | | | | | | | shuffles Summary: There are at least 2 ways to express the same shuffle. Various pieces of code explicit check for both option, but other places do not when they would benefit from doing it. This patches refactor the codebase to use buildLegalVectorShuffle in order to make that behavior more consistent. Reviewers: craig.topper, efriedma, RKSimon, lebedev.ri Subscribers: javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66804 llvm-svn: 370190
* [DAGCombine] Remove LoadedSlice::Cost default 'ForCodeSize' constructor ↵Simon Pilgrim2019-08-281-3/+3
| | | | | | | | arguments. NFCI. These were always being passed in and it allowed me to add the explicit tag to stop a cppcheck warning about 1 argument constructors. llvm-svn: 370189
* gn build: Merge r370187Nico Weber2019-08-281-0/+1
| | | | llvm-svn: 370188
* [ARM] Move MVEVPTBlockPass to a separate file. NFCDavid Green2019-08-283-143/+173
| | | | | | | | | This just pulls the MVEVPTBlockPass into a separate file, as opposed to being wrapped up in Thumb2ITBlockPass. Differential revision: https://reviews.llvm.org/D66579 llvm-svn: 370187
* [lldb][NFC] Test custom C++ operatorsRaphael Isemann2019-08-283-0/+150
| | | | llvm-svn: 370186
* [lldb] Fix and test completion for ambiguous long optionsRaphael Isemann2019-08-283-10/+21
| | | | | | | | | | The refactoring patch for the option completion broke the completion for ambiguous long options. As this feature was also untested (as testing ambiguous options with the current test methods is impossible), I just noticed now. This patch restores the old behavior and adds a test for this feature. llvm-svn: 370185
* [MVE] VMOVX patternsDavid Green2019-08-2814-4298/+2121
| | | | | | | | | | | | | | | This adds fp16 VMOVX patterns, using the same patterns as rL362482 with some adjustments for MVE. It allows us to move fp16 registers without going into and out of gprs. VMOVX is able to move the top bits from a fp16 in a fp reg into the bottom bits of another register, zeroing the rest. This can be used for odd MVE register lanes. The top bits are not read by fp16 instructions, so no move is required there if we are dealing with even lanes. Differential revision: https://reviews.llvm.org/D66793 llvm-svn: 370184
* [mach-o] Extend LC_DATA_IN_CODE support to x86_64Rui Ueyama2019-08-281-8/+42
| | | | | | | | Patch by LemonBoy Differential Revision: https://reviews.llvm.org/D62185 llvm-svn: 370183
* [ELF][AMDGPU][SPARC] Allow PT_LOAD to have overlapping p_offset ranges on ↵Fangrui Song2019-08-283-27/+26
| | | | | | EM_AMDGPU and EM_SPARCV9 llvm-svn: 370180
* [lldb][NFC] Get rid of C-strings in HandleOptionCompletionRaphael Isemann2019-08-281-17/+11
| | | | llvm-svn: 370179
* [clangd] Surface errors from command-line parsingIlya Biryukov2019-08-2815-48/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Those errors are exposed at the first character of a file, for a lack of a better place. Previously, all errors were stored inside the AST and report accordingly. However, errors in command-line argument parsing could result in failure to produce the AST, so we need an alternative ways to report those errors. We take the following approach in this patch: - buildCompilerInvocation() now requires an explicit DiagnosticConsumer. - TUScheduler and TestTU now collect the diagnostics produced when parsing command line arguments. If pasing of the AST failed, diagnostics are reported via a new ParsingCallbacks::onFailedAST method. If parsing of the AST succeeded, any errors produced during command-line parsing are stored alongside the AST inside the ParsedAST instance and reported as previously by calling the ParsingCallbacks::onMainAST method; - The client code that uses ClangdServer's DiagnosticConsumer does not need to change, it will receive new diagnostics in the onDiagnosticsReady() callback Errors produced when parsing command-line arguments are collected using the same StoreDiags class that is used to collect all other errors. They are recognized by their location being invalid. IIUC, the location is invalid as there is no source manager at this point, it is created at a later stage. Although technically we might also get diagnostics that mention the command-line arguments FileID with after the source manager was created (and they have valid source locations), we choose to not handle those and they are dropped as not coming from the main file. AFAICT, those diagnostics should always be notes, therefore it's safe to drop them without loosing too much information. Reviewers: kadircet Reviewed By: kadircet Subscribers: nridge, javed.absar, MaskRay, jkorous, arphaman, cfe-commits, gribozavr Tags: #clang Differential Revision: https://reviews.llvm.org/D66759 llvm-svn: 370177
* [LLVM-C] Fix ByVal Attribute crashingHans Wennborg2019-08-281-1/+10
| | | | | | | | | | | | | | | | | | With the introduction of the typed byval attribute change there was no way that the LLVM-C API could create the correct class Attribute. If a program that uses the C API creates a ByVal attribute and annotates a function with that attribute LLVM will crash when it assembles or write that module containing the function out as bitcode. This change is a minimal fix to at least allow code to work, this is because the byval change is on the 9.0 and I don't want to introduce new LLVM-C API this late in the release cycle. By Jakob Bornecrantz! Differential revision: https://reviews.llvm.org/D66144 llvm-svn: 370176
* Delete minimize_source_to_dependency_directives_invalid_error.cHans Wennborg2019-08-282-17/+0
| | | | | | | | It was added in r370129 with a .gitattributes file that means the file always shows up as having a local diff in Git checkouts (at least on Linux). Deleting it until we can figure out the right way to do this. llvm-svn: 370175
* [lldb][NFC] Update documentation of Handle[Argument]CompletionRaphael Isemann2019-08-281-12/+2
| | | | | | | We no longer have return values or any of the mentioned arguments in these functions since the introduction of CompletionRequest. llvm-svn: 370174
* [LV] Fold tail by masking - handle reductionsAyal Zaks2019-08-284-11/+113
| | | | | | | | | | | | Allow vectorizing loops that have reductions when tail is folded by masking. A select is introduced in VPlan, choosing between the last value carried by the loop-exit/live-out instruction of the reduction, and the penultimate value carried by the reduction phi, according to the "i < n" mask of fold-tail. This select replaces the last value as the live-out value of the loop. Differential Revision: https://reviews.llvm.org/D66720 llvm-svn: 370173
* [ELF][RISCV] Assign st_shndx of __global_pointer$ to 1 if .sdata does not existFangrui Song2019-08-285-63/+24
| | | | | | | | | | | | | | | | | | | | | | | | This essentially reverts the code change of D63132 and switches to a simpler approach. In an executable/shared object, st_shndx of a symbol can be: 1) SHN_UNDEF: undefined symbol (or canonical PLT) 2) SHN_ABS: absolute symbol 3) any other value (usually a regular section index) represents a relative symbol. The actual value does not matter. Many ld.so (musl, all archs except MIPS of FreeBSD rtld-elf) even treat 2) and 3) the same. If .sdata does not exist, it does not matter what value/section __global_pointer$ has, as long as it is relative (otherwise there will be a pedantic lld error. See D63132). Just set the st_shndx arbitrarily to 1. Dummy st_shndx=1 may be used by __rela_iplt_start, linker-script-defined symbols outside a section, __dso_handle, etc. Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D66798 llvm-svn: 370172
* [ARM][ParallelDSP] Change search for mulsSam Parker2019-08-2810-175/+918
| | | | | | | | | | | | | | | | | | | | rL369567 reverted a couple of recent changes made to ARMParallelDSP because of a miscompilation error: PR43073. The issue stemmed from an underlying bug that was caused by adding muls into a reduction before it was proved that they could be executed in parallel with another mul. Most of the changes here are from the previously reverted commits. The additional changes have been made area: 1) The Search function now doesn't insert any muls into the Reduction object. That now happens once the search has successfully finished. 2) For any muls added into the reduction but that weren't paired, we accumulate their values as an input into the smlad. Differential Revision: https://reviews.llvm.org/D66660 llvm-svn: 370171
* [NFC] Unbreak testsDavid Bolvansky2019-08-281-2/+0
| | | | llvm-svn: 370170
* [NFC] Updated testDavid Bolvansky2019-08-281-5/+22
| | | | llvm-svn: 370169
* Annotate return values of allocation functions with dereferenceable_or_nullDavid Bolvansky2019-08-288-105/+236
| | | | | | | | | | | | | | | | | | | | | | | Summary: Example define dso_local noalias i8* @_Z6maixxnv() local_unnamed_addr #0 { entry: %call = tail call noalias dereferenceable_or_null(64) i8* @malloc(i64 64) #6 ret i8* %call } Reviewers: jdoerfert Reviewed By: jdoerfert Subscribers: aaron.ballman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66651 llvm-svn: 370168
* [llvm-objdump] Add the missing ARMv8 subarch detectionYi Kong2019-08-283-0/+36
| | | | | | Differential Revision: https://reviews.llvm.org/D66849 llvm-svn: 370163
* [LoopFusion] Fix another -Wunused-function in -DLLVM_ENABLE_ASSERTIONS=off buildFangrui Song2019-08-281-10/+10
| | | | llvm-svn: 370156
* [clang-doc] Use llvm::createStringError and canonicalize error messagesFangrui Song2019-08-287-109/+99
| | | | | | | | | | | | | "Bad block found.\n" -> "bad block found" The lower cased form with no full stop or newline is more common in LLVM tools. Reviewed By: juliehockett Differential Revision: https://reviews.llvm.org/D66783 llvm-svn: 370155
* [compiler-rt] Don't use libcxx if it's not enabled by LLVM_ENABLE_PROJECTSVitaly Buka2019-08-281-18/+24
| | | | | | | | | This fixes sanitizer-x86_64-linux-fuzzer which switched to new layout and not it can't link as libcxx is always there. We should support and tests libcxx but still it was unexpected that libfuzzer ignored LLVM_ENABLE_PROJECTS_USED. llvm-svn: 370153
* Update name of objc runtime SPI function we call for class names.Jason Molenda2019-08-281-1/+1
| | | | | | | | | | A new SPI was added to the objc runtime to get class names without any demangling; AppleObjCRuntimeV2::ParseClassInfoArray was using the original prototype name but had not been updated for the final name yet, so lldb was falling back to the old function and doing extra work for classes that were demangled. This commit fixes that. llvm-svn: 370152
* Fixup build of clang-interpreter example after change in r370122.Douglas Yung2019-08-281-5/+1
| | | | | | This should fix the build failure on llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast. llvm-svn: 370151
* AMDGPU/GlobalISel: Fix constraining scalar and/or/xorMatt Arsenault2019-08-284-176/+186
| | | | | | | If the result register already had a register class assigned, the sources may not have been properly constrained. llvm-svn: 370150
* [libomptarget] Refactor syncwarp macro to inline functionJon Chesterfield2019-08-283-8/+13
| | | | | | | | | | | | | | | | Summary: [libomptarget] Refactor syncwarp macro to inline function See also abandoned D66846, split into this diff and others. Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66857 llvm-svn: 370149
* Fix build break due to close brace lost in mergeJon Chesterfield2019-08-281-0/+1
| | | | llvm-svn: 370148
* Revert r370105 - Update two x86 datalayouts for r370083, looks like racing ↵Richard Trieu2019-08-282-2/+2
| | | | | | | | commits r370083 has been reverted, which this change depends on. llvm-svn: 370147
* [libomptarget] Refactor shfl_down_sync macro to inline functionJon Chesterfield2019-08-283-7/+14
| | | | | | | | | | | | | | | | Summary: [libomptarget] Refactor shfl_down_sync macro to inline function See also abandoned D66846, split into this diff and others. Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66853 llvm-svn: 370146
OpenPOWER on IntegriCloud