summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Reland "[COFF] Add null check in case of symbols defined in LTO blobs"Reid Kleckner2019-07-154-1/+141
| | | | | | | | | | This reverts r365990 (git commit 1a6053ebc61cb0b8146f5ca27b74859a9a91e0a3) The test no longer depends on the Visual C++ libraries. I confirmed that the crash still reproduces with the new test case if I remove the null check. llvm-svn: 366095
* AMDGPU: Add 24-bit mul intrinsicsMatt Arsenault2019-07-159-11/+751
| | | | | | | | | | | Insert these during codegenprepare. This works around a DAG issue where generic combines eliminate the and asserting the high bits are zero, which then exposes an unknown read source to the mul combine. It doesn't worth the hassle of trying to insert an AssertZext or something to try to deal with it. llvm-svn: 366094
* Add some release notes for 9.0 releaseMatt Arsenault2019-07-151-1/+11
| | | | llvm-svn: 366093
* [AMDGPU] Copy missing predicate from pseudo to realStanislav Mekhanoshin2019-07-151-0/+1
| | | | | | | | NFC at the momemnt, needed for future commit. Differential Revision: https://reviews.llvm.org/D64761 llvm-svn: 366092
* Update __VERSION__ to remove the hardcoded 4.2.1 versionSylvestre Ledru2019-07-154-6/+13
| | | | | | | | | | | | | | | | | | Summary: Just like in https://reviews.llvm.org/D56803 for -dumpversion Reviewers: rnk Reviewed By: rnk Subscribers: dexonsmith, lebedev.ri, hubert.reinterpretcast, xbolva00, fedor.sergeev, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63048 llvm-svn: 366091
* [FunctionAttrs] Remove readonly and writeonly assertionJohannes Doerfert2019-07-152-2/+25
| | | | | | | | | | | | | There are scenarios where mutually recursive functions may cause the SCC to contain both read only and write only functions. This removes an assertion when adding read attributes which caused a crash with a the provided test case, and instead just doesn't add the attributes. Patch by Luke Lau <luke.lau@intel.com> Differential Revision: https://reviews.llvm.org/D60761 llvm-svn: 366090
* [ARM] Minor formatting in ARMInstrMVE.td. NFCDavid Green2019-07-151-34/+34
| | | | llvm-svn: 366089
* Use a unique_ptr instead of manual memory management for LineTableNico Weber2019-07-152-4/+2
| | | | llvm-svn: 366088
* AMDGPU/GlobalISel: Select easy cases for G_BUILD_VECTORMatt Arsenault2019-07-152-0/+156
| | | | llvm-svn: 366087
* AMDGPU/GlobalISel: RegBankSelect for G_CONCAT_VECTORSMatt Arsenault2019-07-152-1/+71
| | | | llvm-svn: 366086
* Use a unique_ptr instead of manual memory management for CustomDiagInfoNico Weber2019-07-152-6/+4
| | | | llvm-svn: 366085
* Use unique_ptr instead of manual delete in one place. No behavior change.Nico Weber2019-07-151-7/+5
| | | | llvm-svn: 366084
* [lldb][doc] Document how our LLDB table gen initialized optionsRaphael Isemann2019-07-151-0/+98
| | | | | | | | | | | | | | | | Summary: This patch adds documentation that should make it easier to migrate from using the old initializers to the table gen format. Reviewers: jingham Reviewed By: jingham Subscribers: abidh, lldb-commits, JDevlieghere Tags: #lldb Differential Revision: https://reviews.llvm.org/D64670 llvm-svn: 366083
* [x86] add tests for reductions that might be better with more horizontal ↵Sanjay Patel2019-07-152-0/+567
| | | | | | ops; NFC llvm-svn: 366082
* Revert "r366069: [PatternMatch] Implement matching code for LibFunc"Ilya Biryukov2019-07-152-89/+1
| | | | | | | Reason: the change introduced a layering violation by adding a dependency on IR to Analysis. llvm-svn: 366081
* [docs][llvm-nm] Fix inconsistent grammarJames Henderson2019-07-151-1/+1
| | | | llvm-svn: 366080
* [X86][SSE] Regenerated packss.ll test file.Simon Pilgrim2019-07-151-5/+5
| | | | | | Not sure what went wrong in rL366077.... llvm-svn: 366079
* [X86][SSE] Add PACKSS with zero shuffle masks.Simon Pilgrim2019-07-151-0/+61
| | | | | | This is an example of expansion due to D61129 - it should combine back to a PACKSS with a zero operand. llvm-svn: 366077
* fix unnamed fiefield issue and add tests for __builtin_preserve_access_index ↵Yonghong Song2019-07-154-2/+212
| | | | | | | | | | | | | | | | | | | | intrinsic This is a followup patch for https://reviews.llvm.org/D61809. Handle unnamed bitfield properly and add more test cases. Fixed the unnamed bitfield issue. The unnamed bitfield is ignored by debug info, so we need to ignore such a struct/union member when we try to get the member index in the debug info. D61809 contains two test cases but not enough as it does not checking generated IRs in the fine grain level, and also it does not have semantics checking tests. This patch added unit tests for both code gen and semantics checking for the new intrinsic. Signed-off-by: Yonghong Song <yhs@fb.com> llvm-svn: 366076
* [ORC] Start adding ORCv1 to ORCv2 transition tips to the ORCv2 doc.Lang Hames2019-07-152-13/+152
| | | | llvm-svn: 366075
* [AMDGPU] fixed scheduler crash in gfx908Stanislav Mekhanoshin2019-07-152-2/+24
| | | | | | | | | For some reason scheduler can send down an SUnit without an instruction. Differential Revision: https://reviews.llvm.org/D64709 llvm-svn: 366074
* [clangd] Fix docKadir Cetinkaya2019-07-151-1/+1
| | | | llvm-svn: 366073
* gn build: Add a note on how to locally tell git to ignore build dirNico Weber2019-07-151-0/+2
| | | | llvm-svn: 366072
* [AMDGPU][MC][GFX9][GFX10] Added support of GET_DOORBELL messageDmitry Preobrazhensky2019-07-157-5/+42
| | | | | | | | Reviewers: artem.tamazov, arsenm Differential Revision: https://reviews.llvm.org/D64729 llvm-svn: 366071
* [clangd] Fix duplicate highlighting tokens appearing in initializer lists.Johan Vikstrom2019-07-152-0/+15
| | | | | | | | | | | | | | Summary: The RecursiveASTVisitor sometimes visits exprs in initializer lists twice. Added deduplication to prevent duplicate highlighting tokens from appearing. Done by sorting and a linear search. Reviewers: hokein, sammccall, ilya-biryukov Subscribers: MaskRay, jkorous, mgrang, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64634 llvm-svn: 366070
* [PatternMatch] Implement matching code for LibFuncDmitry Venikov2019-07-152-1/+89
| | | | | | | | | | | | | | | | Summary: Provides m_LibFunc pattern that can be used to match LibFuncs. Reviewers: spatel, hfinkel, efriedma, lebedev.ri Reviewed By: lebedev.ri Subscribers: lebedev.ri, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D42047 llvm-svn: 366069
* [OPENMP]Add support for analysis of if clauses.Alexey Bataev2019-07-1527-239/+494
| | | | | | | | | | | | | | | | Summary: Added support for analysis of if clauses in the OpenMP directives to be able to check for the use of uninitialized variables. Reviewers: NoQ Subscribers: guansong, jfb, jdoerfert, caomhin, kkwli0, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64646 llvm-svn: 366068
* [AMDGPU][MC] Corrected encoding of src0 for DS_GWS_* instructionsDmitry Preobrazhensky2019-07-1511-143/+145
| | | | | | | | | | See bug 42599: https://bugs.llvm.org/show_bug.cgi?id=42599 Reviewers: artem.tamazov, arsenm Differential Revision: https://reviews.llvm.org/D64716 llvm-svn: 366067
* [X86] isTargetShuffleEquivalent - assert the expected mask is correctly ↵Simon Pilgrim2019-07-151-0/+2
| | | | | | | | formed. NFCI. While we don't make any assumptions about the actual mask, assert that the expected mask only contains valid mask element values. llvm-svn: 366066
* [Testing] Add missing "REQUIRES: asserts"David Zarzycki2019-07-151-0/+1
| | | | | | This broke after r366048 / https://reviews.llvm.org/D63923 llvm-svn: 366065
* [mips] Remove "else-after-return". NFCSimon Atanasyan2019-07-151-1/+1
| | | | llvm-svn: 366064
* [OpenCL] Deduce addr space for pointee of dependent types in instantiation.Anastasia Stulova2019-07-152-0/+56
| | | | | | | | | | Since pointee doesn't require context sensitive addr space deduction it's easier to handle pointee of dependent types during templ instantiation. Differential Revision: https://reviews.llvm.org/D64400 llvm-svn: 366063
* Fix uninitialized variable analyzer warning. NFCI.Simon Pilgrim2019-07-151-1/+1
| | | | llvm-svn: 366062
* [ASTImporter] Using Lang_CXX14 in ASTImporterVisibilityTest.Balazs Keri2019-07-151-17/+23
| | | | | | | | | | | | | | | | | | | | Summary: These tests may work with C++14 language constructs in the future (variable templates and others). To avoid warnings about language version C++ version constants in the tests are updated. Reviewers: martong, a.sidorin Reviewed By: martong Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64477 llvm-svn: 366061
* PDB HashTable: Make iterator key type constNico Weber2019-07-151-8/+8
| | | | | | | | | | | | | | | | | | Having the hash table key change during iteration is bad, so make it impossible. Nothing relied on the key type not being const. (This is also necessary to be able to call the const version of iterator_facade_base::operator->(). Nothing calls this, and nothing will, but I tried using it locally during development and it took me a while to understand what was going wrong.) Also rename the iterator typedef to const_iterator. No behavior change. Differential Revision: https://reviews.llvm.org/D64641 llvm-svn: 366060
* [OpenCL][PR41727] Prevent ICE on global dtorsAnastasia Stulova2019-07-155-13/+52
| | | | | | | | | | Pass NULL to pointer arg of __cxa_atexit if addr space is not matching with its param. This doesn't align yet with how dtors are generated that should be changed too. Differential Revision: https://reviews.llvm.org/D62413 llvm-svn: 366059
* Recommit r366052 "[obj2yaml] - Rework tool's error reporting logic for ELF ↵George Rimar2019-07-156-184/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | target." No changes, LLD code was updated in r366057. Original commit message: ELF.h contains two getSymbol methods which seems to be used only from obj2yaml. One of these methods calls another, which in turn contains untested error message which doesn't provide enough information. Problem is that after improving only just that message, obj2yaml will not show it, ("Error reading file: yaml: Invalid data was encountered while parsing the file" message will be shown instead), because internal errors handling of tool is based on ErrorOr<> class which stores a error code and as a result can only show a predefined error string, what actually isn't very useful. In this patch, I rework obj2yaml's error reporting system for ELF targets to use Error Expected<> classes. Also, I improve the error message produced by getSymbol for demonstration of the new functionality. Differential revision: https://reviews.llvm.org/D64631 llvm-svn: 366058
* [LLD][ELF] - Minor simplification. NFC.George Rimar2019-07-151-4/+6
| | | | | | | | | | | | | | | | | This removes a call to `object::getSymbol<ELFT>`. We used this function in a next way: it was given an array of symbols and index and returned either a symbol at the index given or a error. This function was removed in D64631. (rL366052, but was reverted because of LLD compilation error that I didn't know about). It does not make much sense to keep this function on LLVM side only for LLD, because having only a list of symbols and the index it is not able to produce a valueable error message about context anyways. llvm-svn: 366057
* [ARM] MVE Vector ShiftsDavid Green2019-07-155-60/+508
| | | | | | | | | | | | | | | | | | | | | | | | This adds basic lowering for MVE shifts. There are many shifts in MVE, but the instructions handled here are: VSHL (imm) VSHRu (imm) VSHRs (imm) VSHL (vector) VSHL (register) MVE, like NEON before it, doesn't have shift right by a vector (or register). We instead have to negate the amount and shift in the opposite direction. This means we have to convert any SHR's into a form of SHL (that is still signed or unsigned) with a negated condition and selecting from there. MVE still does have shifting by an immediate for SHL, ASR and LSR. This adds lowering for these and for register forms, which work well for shift lefts but may require an extra fold of neg(vdup(x)) -> vdup(neg(x)) to potentially work optimally for right shifts. Differential Revision: https://reviews.llvm.org/D64212 llvm-svn: 366056
* [libFuzzer] Disable fork.test on AArch64Diana Picus2019-07-151-1/+1
| | | | | | This crashes sporadically on our AArch64 buildbots. Disable for now. llvm-svn: 366055
* [ARM] Move Shifts after Bits. NFCDavid Green2019-07-151-564/+565
| | | | | | | This just moves the shift instruction definitions further down the ARMInstrMVE.td file, to make positioning patterns slightly more natural. llvm-svn: 366054
* Revert r366052 "[obj2yaml] - Rework tool's error reporting logic for ELF ↵George Rimar2019-07-156-199/+184
| | | | | | | | | target." Seems it broke LLD: http://lab.llvm.org:8011/builders/sanitizer-windows/builds/48434 llvm-svn: 366053
* [obj2yaml] - Rework tool's error reporting logic for ELF target.George Rimar2019-07-156-184/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | ELF.h contains two getSymbol methods which seems to be used only from obj2yaml. One of these methods calls another, which in turn contains untested error message which doesn't provide enough information. Problem is that after improving only just that message, obj2yaml will not show it, ("Error reading file: yaml: Invalid data was encountered while parsing the file" message will be shown instead), because internal errors handling of tool is based on ErrorOr<> class which stores a error code and as a result can only show a predefined error string, what actually isn't very useful. In this patch, I rework obj2yaml's error reporting system for ELF targets to use Error Expected<> classes. Also, I improve the error message produced by getSymbol for demonstration of the new functionality. Differential revision: https://reviews.llvm.org/D64631 llvm-svn: 366052
* [ARM] Adjust how NEON shifts are loweredDavid Green2019-07-155-258/+340
| | | | | | | | | | | | This adjusts the way that we lower NEON shifts to use a DAG target node, not via a neon intrinsic. This is useful for handling MVE shifts operations in the same the way. It also renames some of the immediate shift nodes for consistency, and moves some of the processing of immediate shifts into LowerShift allowing it to capture more cases. Differential Revision: https://reviews.llvm.org/D64426 llvm-svn: 366051
* [Loop Peeling] Fix the bug with IDom setting for exit loopsSerguei Katkov2019-07-152-3/+73
| | | | | | | | | | | | | It is possible that loop exit has two predecessors in a loop body. In this case after the peeling the iDom of the exit should be a clone of iDom of original exit but no a clone of a block coming to this exit. Reviewers: reames, fhahn Reviewed By: reames Subscribers: hiraditya, zzheng, llvm-commits Differential Revision: https://reviews.llvm.org/D64618 llvm-svn: 366050
* [LoopVectorize] Pass unfiltered list of arguments to getIntrinsicInstCost.Florian Hahn2019-07-152-5/+32
| | | | | | | We do not compute the scalarization overhead in getVectorIntrinsicCost and TTI::getIntrinsicInstrCost requires the full arguments list. llvm-svn: 366049
* [Loop Peeling] Enable peeling for loops with multiple exitsSerguei Katkov2019-07-153-1/+102
| | | | | | | | | | | | | | | This CL enables peeling of the loop with multiple exits where one exit should be from latch and others are basic blocks with call to deopt. The peeling is enabled under the flag which is false by default. Reviewers: reames, mkuper, iajbar, fhahn Reviewed By: reames Subscribers: xbolva00, hiraditya, zzheng, llvm-commits Differential Revision: https://reviews.llvm.org/D63923 llvm-svn: 366048
* [clangd] Added highlighting for members and methods.Johan Vikstrom2019-07-154-11/+67
| | | | | | | | | | | | | | Summary: Added highlighting for members and methods. Reviewers: hokein, sammccall, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64617 llvm-svn: 366047
* DeveloperPolicy: fix a typoRichard Sandiford2019-07-151-1/+1
| | | | llvm-svn: 366046
* [clangd] Added highlighting to enum constants.Johan Vikstrom2019-07-154-5/+23
| | | | | | | | | | | | | | Summary: VSCode does not have a scope for enum constants. So they were placed under "constant.other.enum" as that seems to be the most correct scope for enum constants. However, this makes theia color them blue (the same color it uses for keywords). Reviewers: hokein, sammccall, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64624 llvm-svn: 366045
OpenPOWER on IntegriCloud