summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [AMDGPU] Added target to mir test. NFC.Stanislav Mekhanoshin2019-02-251-1/+1
| | | | | | | Test was used without -mcpu, although tested instructions not available on all ASICs. llvm-svn: 354830
* [sanitizer] Remove "-android" from test_arch.Evgeniy Stepanov2019-02-252-16/+2
| | | | | | | | | | | | | | | | | | Summary: ASan and Scudo tests are adding "-android" to test arch. There are no tests that depend on it as far as I can see. If necessary, do this instead: REQUIRES: aarch64-target-arch && android Reviewers: pcc, vitalybuka Subscribers: srhines, kubamracek, mgorny, javed.absar, kristof.beyls, cryptoad, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D58532 llvm-svn: 354829
* RegBankSelect: Handle slightly more complex value mappingsMatt Arsenault2019-02-257-68/+1799
| | | | | | | | Try to use concat_vectors. Also remove unnecessary assert on pointers. Fixes asserting for <4 x s16> operations and 64-bit pointers for AMDGPU. llvm-svn: 354828
* Reapply "Make static counters in ASTContext non-static." with fixes.Alexander Kornienko2019-02-253-37/+24
| | | | | | This reverts commit e50038e4dc53caee1acc811362ac0b15e00ef5eb. llvm-svn: 354827
* [CodeGenObjC] Fix a nullptr dyn_castErik Pilkington2019-02-252-2/+16
| | | | | | | | | | ObjCMessageExpr::getInstanceReceiver returns nullptr if the receiver is 'super'. Make this check more strict, since we don't care about messages to super here. rdar://48247290 llvm-svn: 354826
* AMDGPU/GlobalISel: Fix bit ops for non-power-of-2 sizesMatt Arsenault2019-02-2510-28/+120
| | | | llvm-svn: 354825
* [libclang] Expose warn_unused and warn_unused_result attributes.Emilio Cobos Alvarez2019-02-255-2/+22
| | | | | | | | | This is helpful to properly detect them, and fixing issues like https://github.com/rust-lang/rust-bindgen/issues/1518. Differential Revision: https://reviews.llvm.org/D58570 llvm-svn: 354824
* [libclang] Fix a trivial error introduced in D57946.Emilio Cobos Alvarez2019-02-251-1/+1
| | | | | | | | | | The value for CXCursor_ConvergentAttr is not 420. I'm not really sure how easy it is to test this, and I'm not familiar with the python bindings, just noticed the error while looking at D57946 to write D58570. Differential Revision: https://reviews.llvm.org/D58571 llvm-svn: 354823
* Revert "[Support] Make raw_string_ostream unbuffered"Roman Lebedev2019-02-251-10/+4
| | | | | | | | Shame on me, did not run all the tests, bots are angry. This reverts commit r354819. llvm-svn: 354822
* [LangRef] *.overflow intrinsics now support vectorsSimon Pilgrim2019-02-251-6/+12
| | | | | | | | | | We have all the necessary legalization, expansion and unrolling support required for the *.overflow intrinsics with vector types, so update the docs to make that clear. Note: vectorization is not in place yet (the non-homogenous return types aren't well supported) so we still must explicitly use the vectors intrinsics and not reply on slp/loop. Differential Revision: https://reviews.llvm.org/D58618 llvm-svn: 354821
* [Support] Make raw_string_ostream unbufferedRoman Lebedev2019-02-251-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In D58580 i have noted that `llvm::to_string()` is a memory hog. It uses `raw_string_ostream`, and since it was buffered, every `raw_string_ostream` had a cost of `BUFSIZ` bytes (which is `8192` at least here). So every `llvm::to_string()` call, even to just print an `int`, costed `8192` bytes. In D58580, getting rid of that buffering //had// significant performance and memory consumption improvements for `llvm-xray convert`. Similarly, in D58580 @rnk pointed out that the `raw_svector_ostream` is already unbuffered, and `write_unsigned_impl` and friends do internal buffering. So it should be ok performance-wise to just make the `raw_string_ostream` itself unbuffered. Here, i don't have any perf measurements. Another letdown is that i'm leaving a loose-end - not deleting the `flush()` method. I don't expect that cleanup to be anything more than just fixing every new compiler error, but i'm presently unable to do that. Will look into that later. Reviewers: rnk, zturner Reviewed By: rnk Subscribers: kristina, jdoerfert, llvm-commits, rnk Tags: #llvm Differential Revision: https://reviews.llvm.org/D58643 llvm-svn: 354819
* AMDGPU/GlobalISel: Clamp max implicit_def elementsMatt Arsenault2019-02-252-1/+88
| | | | llvm-svn: 354818
* [OpenMP 5.0] Parsing/sema support for from clause with mapper modifier.Michael Kruse2019-02-2516-71/+203
| | | | | | | | | | | | | | | | | | | | This patch implements the parsing and sema support for the OpenMP 'from'-clause with potential user-defined mappers attached. User-defined mappers are a new feature in OpenMP 5.0. A 'from'-clause can have an explicit or implicit associated mapper, which instructs the compiler to generate and use customized mapping functions. An example is shown below: struct S { int len; int *d; }; #pragma omp declare mapper(id: struct S s) map(s, s.d[0:s.len]) struct S ss; #pragma omp target update from(mapper(id): ss) // use the mapper with name 'id' to map ss from device Contributed-by: Lingda Li <lildmh@gmail.com> Differential Revision: https://reviews.llvm.org/D58638 llvm-svn: 354817
* RegisterScavenger: Allow fail without spillMatt Arsenault2019-02-252-19/+36
| | | | | | | | AMDGPU wants to use this in some contexts where the spilling is either impossible, or a worse alternative to doing something else. llvm-svn: 354816
* AMDGPU: Remove IntrReadMem from memtime/memrealtime intrinsicsMatt Arsenault2019-02-254-4/+60
| | | | | | | EarlyCSE with MemorySSA was able to use this to merge multiple calls with no intervening store. llvm-svn: 354814
* GlobalISel: Make legalizer/regbankselect clear NoPHIs propertyMatt Arsenault2019-02-252-0/+10
| | | | | | | If no phi existed in the original MIR and these introduced one, the verifier would fail. llvm-svn: 354813
* Revert "Make static counters in ASTContext non-static."Vlad Tsyrklevich2019-02-253-24/+37
| | | | | | | This reverts commit r354795, I suspect it is causing test failures on MSan sanitizer bots. llvm-svn: 354812
* [X86] Improve detection of unneeded shift amount masking to also handle the ↵Craig Topper2019-02-254-79/+72
| | | | | | | | | | case that the LHS has known zeroes in it If the LHS has known zeros, the RHS immediate will have had bits removed. So call computeKnownBits to get the known zeroes so we can handle this case. Differential Revision: https://reviews.llvm.org/D58475 llvm-svn: 354811
* Fix a sign compare warning breaking the -Werror build.Andrea Di Biagio2019-02-251-1/+1
| | | | | | The warning was introduced at r354793. llvm-svn: 354810
* AMDGPU: Correct definitions for bitset instructionsMatt Arsenault2019-02-252-13/+21
| | | | | | | These really read and write the result register, so these need a tied input. llvm-svn: 354809
* [Mips] Fix missing masking in fast-isel of br (PR40325)Nikita Popov2019-02-253-12/+49
| | | | | | | | | | | | | | Fixes https://bugs.llvm.org/show_bug.cgi?id=40325 by zero extending (and x, 1) the condition before branching on it. To avoid regressing trivial cases, I'm combining emission of cmp+br sequences for the single-use + same block case (similar to what we do in x86). icmpbr1.ll still regresses due to the cross-bb usage of the condition. Differential Revision: https://reviews.llvm.org/D58576 llvm-svn: 354808
* [AArch64][GlobalISel] Refactor selectBuildVector to use MachineIRBuilder. NFC.Amara Emerson2019-02-251-60/+43
| | | | | | | | | | This is a preparatory change as I want to use emitScalarToVector() elsewhere, and in general we want to transition to MIRBuilder instead of using BuildMI directly. Differential Revision: https://reviews.llvm.org/D58528 llvm-svn: 354807
* [analyzer] Fix infinite recursion in printing macrosKristof Umann2019-02-251-1/+11
| | | | | | | | | | | | | | | | #define f(y) x #define x f(x) int main() { x; } This example results a compilation error since "x" in the first line was not defined earlier. However, the macro expression printer goes to an infinite recursion on this example. Patch by Tibor Brunner! Differential Revision: https://reviews.llvm.org/D57892 llvm-svn: 354806
* LWG3101 - span's Container constructors need another constraint. Reviewed as ↵Marshall Clow2019-02-253-64/+10
| | | | | | https://reviews.llvm.org/D57058. llvm-svn: 354805
* [lldb-mi] Return source line number in proper formatTatyana Krasnukha2019-02-251-1/+1
| | | | | | | | | Line number is a decimal number and is printed as such, however for some reason it was prefixed with '0x', thus turning printed value invalid. Patch by Anton Kolesov <Anton.Kolesov@synopsys.com> llvm-svn: 354804
* [lldb-mi] Fix conversion warning for 64-bit buildTatyana Krasnukha2019-02-251-1/+1
| | | | llvm-svn: 354803
* Commit LWG3144 - span does not have a const_pointer typedef. Reviewed as D57039.Marshall Clow2019-02-252-4/+10
| | | | llvm-svn: 354802
* First part of P1024: Usability Enhancements for std::span. Remove operator() ↵Marshall Clow2019-02-254-15/+175
| | | | | | for indexing, and add 'front' and 'back' calls. llvm-svn: 354801
* [Lanai] Be super conservative about atomicsPhilip Reames2019-02-251-1/+2
| | | | | | | | As requested during review of D57601 <https://reviews.llvm.org/D57601>, be equally conservative for atomic MMOs as for volatile MMOs in all in tree backends. At the moment, all atomic MMOs are also volatile, but I'm about to change that. Reviewed as part of https://reviews.llvm.org/D58490, with other backends still pending review. llvm-svn: 354800
* [lldb-mi] Check raw pointers before passing them to std::string ctor/assignmentTatyana Krasnukha2019-02-2512-23/+78
| | | | | | Differential Revision: https://reviews.llvm.org/D55653 llvm-svn: 354798
* [SelectionDAG] Add demanded elts variants to isConstOrConstSplat helpers. NFCI.Simon Pilgrim2019-02-252-37/+113
| | | | | | | | | | | | These helpers extend the existing isConstOrConstSplat helper checks to support DemandedElts masks as well. We already had a local version of this in SelectionDAG that computeKnownBits/ComputeNumSignBits made use of, but this adds the functionality directly to the BuildVectorSDNode node and extends isConstOrConstSplat etc. to use that. This will allow us to reuse the functionality in SimplifyDemandedVectorElts/SimplifyDemandedBits. Differential Revision: https://reviews.llvm.org/D58503 llvm-svn: 354797
* Update status page with papers/issues adopted in KonaMarshall Clow2019-02-251-3/+37
| | | | llvm-svn: 354796
* Make static counters in ASTContext non-static.Alexander Kornienko2019-02-253-37/+24
| | | | | | | | | | | | | | | | | | Summary: Fixes a data race and makes it possible to run clang-based tools in multithreaded environment with TSan. Reviewers: ilya-biryukov, riccibruno Reviewed By: riccibruno Subscribers: riccibruno, jfb, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58612 llvm-svn: 354795
* [DAGCombine] Add undef shuffle elt support to partitionShuffleOfConcatsSimon Pilgrim2019-02-252-54/+40
| | | | | | | | Support undef shuffle mask indices in the shuffle(concat_vectors, concat_vectors) -> concat_vectors fold Differential Revision: https://reviews.llvm.org/D58585 llvm-svn: 354793
* [clangd] Drop documentation in static index if symbols are not indexed for ↵Haojian Wu2019-02-255-8/+43
| | | | | | | | | | | | | | | | | | | completion. Summary: This is a further optimization of r350803, we drop docs in static index for symbols not being indexed for completion, while keeping the docs in dynamic index (we rely on dynamic index to get docs for class members). Reviewers: ilya-biryukov Reviewed By: ilya-biryukov Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D56539 llvm-svn: 354792
* [ARM] Add some more missing T1 opcodes for the peephole optimisierDavid Green2019-02-254-44/+456
| | | | | | | | | | | This adds a few extra Thumb1 opcodes to improve the peephole opimisers ability to remove redundant cmp instructions. tADC and tSBC require a small fixup to prevent MOVS being moved past the instruction, giving the wrong flags. Differential Revision: https://reviews.llvm.org/D58281 llvm-svn: 354791
* [Vectorizer] Add vectorization support for fixed smul/umul intrinsicsSimon Pilgrim2019-02-254-1001/+773
| | | | | | | | This requires a couple of tweaks to existing vectorization functions as they were assuming that only the second call argument (ctlz/cttz/powi) could ever be the 'always scalar' argument, but for smul.fix + umul.fix its the third argument. Differential Revision: https://reviews.llvm.org/D58616 llvm-svn: 354790
* [AArch64] Add support for Cortex-A76 and Cortex-A76AELuke Cheeseman2019-02-254-0/+57
| | | | | | | | | | - Add LLVM backend support for Cortex-A76 and Cortex-A76AE - Documentation can be found at https://developer.arm.com/products/processors/cortex-a/cortex-a76 Differential Revision: https://reviews.llvm.org/D57764 llvm-svn: 354789
* [AArch64] Add support for Cortex-A76 and Cortex-A76AELuke Cheeseman2019-02-2515-3/+81
| | | | | | | | - Add LLVM backend support for Cortex-A76 and Cortex-A76AE - Documentation can be found at https://developer.arm.com/products/processors/cortex-a/cortex-a76 llvm-svn: 354788
* [llvm-objcopy] Add --add-symbolEugene Leviant2019-02-257-2/+182
| | | | | | Differential revision: https://reviews.llvm.org/D58234 llvm-svn: 354787
* Moved clangd docs to a separate directory in preparation to restructure them ↵Dmitri Gribenko2019-02-253-180/+183
| | | | | | | | | | | | | | into multiple files Reviewers: ilya-biryukov Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58607 llvm-svn: 354786
* Fixed typos in tests: s/CHEKC/CHECK/Dmitri Gribenko2019-02-256-6/+6
| | | | | | | | | | | | Reviewers: ilya-biryukov Subscribers: nemanjai, javed.absar, jsji, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D58611 llvm-svn: 354785
* [TTI] Add generic cost model for smul/umul overflow intrinsicsSimon Pilgrim2019-02-252-36/+408
| | | | | | Based off smul/umul fixed costs and the implementation in TargetLowering::expandMULO. llvm-svn: 354784
* [SLPVectorizer][X86] Add fixed smul/umul testsSimon Pilgrim2019-02-251-0/+2007
| | | | | | Baseline tests - fixed mul intrinsics aren't flagged as vectorizable yet llvm-svn: 354783
* [llvm-objdump] Add `Version References` dumperXing GUO2019-02-255-1/+171
| | | | | | | | | | | | | | | | Summary: Add symbol version dumper for [#30241](https://bugs.llvm.org/show_bug.cgi?id=30241) Reviewers: jhenderson, MaskRay, kristina, emaste, grimar Reviewed By: jhenderson, grimar Subscribers: grimar, rupprecht, jakehehrlich, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D54697 llvm-svn: 354782
* Fixed typos in tests: s/CEHCK/CHECK/Dmitri Gribenko2019-02-2510-15/+15
| | | | | | | | | | | | Reviewers: ilya-biryukov Subscribers: sanjoy, sdardis, javed.absar, jrtc27, atanasyan, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58608 llvm-svn: 354781
* [clang-tidy] misc-string-integer-assignment: ignore toupper/tolowerClement Courbet2019-02-252-4/+18
| | | | | | | | | | | | | | Summary: Tis represents ~20% of false positives. See PR27723. Reviewers: xazax.hun, alexfh Subscribers: rnkovacs, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58604 llvm-svn: 354780
* Updated the documentation build instructions for the current CMake build systemDmitri Gribenko2019-02-251-8/+7
| | | | | | | | | | | | Reviewers: ilya-biryukov Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58603 llvm-svn: 354779
* Fixed grammar in index.rstDmitri Gribenko2019-02-251-1/+1
| | | | | | | | | | Subscribers: arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58601 llvm-svn: 354778
* Removed an unhelpful comment in index.rstDmitri Gribenko2019-02-251-5/+0
| | | | | | | | | | | | Reviewers: ilya-biryukov Subscribers: arphaman, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58602 llvm-svn: 354777
OpenPOWER on IntegriCloud