summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* VERSION_GREATER_EQUAL not supported in llvm cmake.Ranjeet Singh2019-01-281-1/+1
| | | | | | | | | | | | Patch https://reviews.llvm.org/D56329 caused build failures for me when building on Windows because of the use of cmake operator 'VERSION_GREATER_EQUAL' which isn't supported in older versions of cmake. The llvm website states that minimum required version of cmake for building llvm is 3.4.3 https://llvm.org/docs/CMake.html Differential Revision: https://reviews.llvm.org/D57326 llvm-svn: 352378
* Remove no longer needed Arm specific words in the LICENSE.txt file.Arnaud A. de Grandmaison2019-01-281-50/+0
| | | | | | | | | As the codebase is now under the Apache 2.0 license with LLVM Exceptions, and all Arm's contributions, past or future, are under that new license, this Arm specific words in LICENSE.txt are no longer needed. llvm-svn: 352377
* Remove no longer needed Arm specific LICENSE.TXT file.Arnaud A. de Grandmaison2019-01-281-47/+0
| | | | | | | | | As the codebase is now under the Apache 2.0 license with LLVM Exceptions, and all Arm's contributions, past or future, are under that new license, this Arm specific LICENSE.TXT is no longer needed, thus removing it. llvm-svn: 352376
* [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT alwaysMichal Gorny2019-01-284-4/+3
| | | | | | | | | | | | | | | | | | | | | Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT, and require the fallback to be defined explicitly as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone after r346888. The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache variable and an optional pre-definition of default value from caller (e.g. libcxx). It included a hack to make this work by assigning the value back and forth but it was fragile and stopped working in libcxx. The new logic is simpler and more transparent. Default value is provided in a separate variable, and used only when user-specified variable is empty (i.e. not overriden). Differential Revision: https://reviews.llvm.org/D57282 llvm-svn: 352374
* [obj2yaml] - Dump the sh_entsize section field.George Rimar2019-01-286-0/+31
| | | | | | | | | | | | I faced with the fact that obj2yaml does not dump the sh_entsize field. A problem arose when I tried to dump ELF versioning sections. This is close to what D50235 did, but D50235 did the change for yaml2obj, and now I had to do the same for obj2yaml. Differential revision: https://reviews.llvm.org/D57229 llvm-svn: 352373
* [LLD][ELF] - Update tests after r352366.George Rimar2019-01-2828-31/+31
| | | | | | | r352366 "[llvm-objdump] - Print LMAs when dumping section headers." changed the format of llvm-objdump output. We have to update the LLD tests. llvm-svn: 352372
* [llvm-objcopy] Fix crash when writing empty binary outputJordan Rupprecht2019-01-283-0/+52
| | | | | | | | | | | | | | Summary: When using llvm-objcopy -O binary and the resulting file will be empty (e.g. removing the only section that would be written, or using --only-keep with a section that doesn't exist/isn't SHF_ALLOC), we crash because FileOutputBuffer expects Size > 0. Add a regression test, and change Buffer to open/truncate the output file in this case. Reviewers: alexshap, jhenderson, jakehehrlich, espindola Reviewed By: alexshap, jhenderson Subscribers: jfb, llvm-commits, emaste, arichardson Differential Revision: https://reviews.llvm.org/D56806 llvm-svn: 352371
* [mips] Support for +abs2008 attributeAleksandar Beserminji2019-01-2810-26/+177
| | | | | | | | | | | | | | | | Instruction abs.[ds] is not generating correct result when working with NaNs for revisions prior mips32r6 and mips64r6. To generate a sequence which always produce a correct result, but also to allow user more control on how his code is compiled, attribute +abs2008 is added, so user can choose legacy or 2008. By default legacy mode is used on revisions prior R6. Mips32r6 and mips64r6 use abs2008 mode by default. Differential Revision: https://reviews.llvm.org/D35983 llvm-svn: 352370
* [AST] Introduce GenericSelectionExpr::AssociationBruno Ricci2019-01-289-55/+173
| | | | | | | | | | | | | | | | | Introduce a new class GenericSelectionExpr::Association which bundle together an association expression and its TypeSourceInfo. An iterator GenericSelectionExpr::AssociationIterator is additionally added to make it possible to iterate over ranges of Associations. This iterator is a kind of proxy iterator which abstract over how exactly the expressions and the TypeSourceInfos are stored. Differential Revision: https://reviews.llvm.org/D57106 Reviewed By: aaron.ballman Reviewers: aaron.ballman, steveire, dblaikie, mclow.lists llvm-svn: 352369
* [clangd] Index main-file macros (bug 39761)Haojian Wu2019-01-283-22/+42
| | | | | | | | Patch by Nathan Ridge! Differential Revision: https://reviews.llvm.org/D55739 llvm-svn: 352367
* [llvm-objdump] - Print LMAs when dumping section headers.George Rimar2019-01-2810-14/+181
| | | | | | | | | | | | When --section-headers is used, GNU objdump prints both LMA and VMA for sections. llvm-objdump does not do that what makes it's output be slightly inconsistent. Patch teaches llvm-objdump to print LMA/VMA for ELF file formats. The behavior for other formats remains unchanged. Differential revision: https://reviews.llvm.org/D57146 llvm-svn: 352366
* [clang-tidy] Fix a build error.Haojian Wu2019-01-281-1/+1
| | | | llvm-svn: 352364
* [clang-tidy] Add the abseil-duration-addition checkHyrum Wright2019-01-2811-1/+301
| | | | | | Differential Revision: https://reviews.llvm.org/D57185 llvm-svn: 352362
* [clangd] Suggest adding missing includes for incomplete type diagnostics.Eric Liu2019-01-2826-383/+763
| | | | | | | | | | | | | | | | | | | Summary: This enables clangd to intercept compiler diagnostics and attach fixes (e.g. by querying index). This patch adds missing includes for incomplete types e.g. member access into class with only forward declaration. This would allow adding missing includes for user-typed symbol names that are missing declarations (e.g. typos) in the future. Reviewers: sammccall Reviewed By: sammccall Subscribers: mgorny, ilya-biryukov, javed.absar, MaskRay, jkorous, mgrang, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D56903 llvm-svn: 352361
* [AMDGPU] Add interpolation builtinsTim Corringham2019-01-282-0/+43
| | | | | | | | | | | | | | | | Summary: Added builtins for the interpolation intrinsics, and related LIT test. Reviewers: arsenm, tpr, dstuttard, #amdgpu Reviewed By: arsenm, #amdgpu Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, cfe-commits Differential Revision: https://reviews.llvm.org/D46871 llvm-svn: 352358
* [AMDGPU] Add intrinsics for 16 bit interpolationTim Corringham2019-01-289-3/+322
| | | | | | | | | | | | | | | | | | | Summary: Added the intrinsics llvm.amdgcn.interp.p1.f16() and llvm.amdgcn.interp.p2.f16() and related LIT test. The p1 intrinsic generates code appropriate for both 16 and 32 bank LDS. Reviewers: #amdgpu, dstuttard, arsenm, tpr Reviewed By: #amdgpu, arsenm Subscribers: jvesely, mgorny, arsenm, kzhuravl, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D46754 llvm-svn: 352357
* [opaque pointer types] Remove GraphTraits specialization for Type.James Y Knight2019-01-281-22/+0
| | | | | | | | The only caller has been deleted in r352076, and I'd like to minimize the amount of code walking Type hierarchies generically, to make it easier to identify code depending on pointee types. llvm-svn: 352353
* [MIPS GlobalISel] Select subPetar Avramovic2019-01-287-2/+631
| | | | | | | | | Lower G_USUBO and G_USUBE. Add narrowScalar for G_SUB. Legalize and select G_SUB for MIPS 32. Differential Revision: https://reviews.llvm.org/D53416 llvm-svn: 352351
* [DebugInfo][DAG] Avoid re-ordering of DBG_VALUEsJeremy Morse2019-01-284-30/+107
| | | | | | | | | | | | | | | | This patch improves the placement of DBG_VALUEs when by SelectionDAG, which as documented in PR40427 can go very wrong. At the core of this is ProcessSourceNode, which assumes the last instruction in a BB is the start of the last processed IR instruction, which isn't always true. Instead, use a helper function to call InstrEmitter::EmitNode, that records before-and-after iterators and determines the first of any new instruction created during emission. This is passed to ProcessSourceNode, which can then make more elightened decisions about ordering for DBG_VALUE placement. Differential revision: https://reviews.llvm.org/D57163 llvm-svn: 352350
* Rename getTypeQualifiers to getMethodQualifiers.Anastasia Stulova2019-01-2822-48/+48
| | | | | | | | Use more descriptive name for the method qualifiers getter. Differential Revision: https://reviews.llvm.org/D56792 llvm-svn: 352349
* [llvm-objdump] - Fix comment. NFC.George Rimar2019-01-281-1/+1
| | | | | | | This was mentioned by James Henderson in review for https://reviews.llvm.org/D57051. llvm-svn: 352348
* [llvm-objdump] - Implement the --adjust-vma option.George Rimar2019-01-282-4/+169
| | | | | | | | | | | | | | | | | GNU objdump's help says: "--adjust-vma: Add OFFSET to all displayed section addresses" In real life what it does is a bit more complicated (and IMO not always reasonable. For example, GNU objdump prints not only VMA, but also LMA for sections. And with --adjust-vma it adjusts LMA, but only when a section has relocations. llvm-objsump does not seem to support printing LMAs yet, but GNU's logic anyways does not make sense for me here). This patch tries to adjust VMA. I tried to implement a reasonable approach. I am not adjusting sections that are not allocatable. As, for example, adjusting debug sections VA's and rel[a] sections VA's should not make sense. This behavior seems to be GNU compatible. Differential revision: https://reviews.llvm.org/D57051 llvm-svn: 352347
* [ARM GlobalISel] Support integer division for Thumb2Diana Picus2019-01-283-58/+145
| | | | | | | | | Support G_SDIV, G_UDIV, G_SREM and G_UREM. The only significant difference between arm and thumb mode is that we need to check a different subtarget feature. llvm-svn: 352346
* [AST] Add structural eq tests for template argsGabor Marton2019-01-281-0/+19
| | | | | | | | | | | | | | Summary: New tests added to verify equivalency of templates when their parameters are different. Reviewers: a_sidorin, shafik Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Differential Revision: https://reviews.llvm.org/D57235 llvm-svn: 352345
* [X86] Add new variadic avx512 compress/expand intrinsics that use vXi1 types ↵Craig Topper2019-01-285-72/+126
| | | | | | | | for the mask argument. Custom lower the builtins to these intrinsics. This enables the middle end to optimize out bitcasts for the masks. llvm-svn: 352344
* [X86] Add new variadic avx512 compress/expand intrinsics that use vXi1 types ↵Craig Topper2019-01-2812-565/+2058
| | | | | | | | for the mask argument. Remove and autoupgrade the old intrinsics llvm-svn: 352343
* [X86] Add vbmi2 compressstore and expandload tests that aren't fast-isel tests.Craig Topper2019-01-283-92/+666
| | | | | | | | These got removed when we autoupgraded to target independent intrinsics, but we didn't have coverage anywhere else. The avx512f/avx512vl versions do have coverage. Also move some tests back from the upgrade file that aren't really upgraded. llvm-svn: 352342
* [CMake] Use __libc_start_main rather than fopen when checking for C libraryPetr Hosek2019-01-285-5/+5
| | | | | | | | | | | | | | | | | | The check_library_exists CMake uses a custom symbol definition. This is a problem when checking for C library symbols because Clang recognizes many of them as builtins, and returns the -Wbuiltin-requires-header (or -Wincompatible-library-redeclaration) error. When building with -Werror which is the default, this causes the check_library_exists check fail making the build think that C library isn't available. To avoid this issue, we should use a symbol that isn't recognized by Clang and wouldn't cause the same issue. __libc_start_main seems like reasonable choice that fits the bill. Differential Revision: https://reviews.llvm.org/D57142 llvm-svn: 352341
* [AArch64][GlobalISel] Teach RBS about G_FNEG default mapping.Amara Emerson2019-01-282-0/+15
| | | | llvm-svn: 352340
* update upcoming meeting issue statusEric Fiselier2019-01-281-1/+1
| | | | llvm-svn: 352339
* [AArch64][GlobalISel] Add some missing vector support for FP arithmetic ops.Amara Emerson2019-01-285-35/+109
| | | | | | | Moved the fneg lowering legalization test from AArch64 to X86, as we want to specify that it's already legal. llvm-svn: 352338
* [AArch64][GlobalISel] Add some vector support for fp <-> int conversions.Amara Emerson2019-01-285-12/+160
| | | | | | Some unrelated, but benign, test changes as well due to the test update script. llvm-svn: 352337
* [LLD][COFF] Partial sectionsAlexandre Ganea2019-01-281-50/+95
| | | | | | | | Persist (input) sections that make up an OutputSection. This is a supporting patch for the upcoming D54802. Differential Revision: https://reviews.llvm.org/D55293 llvm-svn: 352336
* Make more allocator methods work correctly with in an out-of-process mode.Dan Liew2019-01-272-13/+18
| | | | | | | | | | | | | | | | | | | | | | Summary: This makes `GetBlockBegin()` and `GetBlockBeginFastLocked()` work correctly with `RemoteAddressSpaceView`. This has a knock on effect of also making the `PointerIsMine()` and `GetMetaData()` methods behave correctly when `RemoteAddressSpaceView` is used to instantiate the allocators. This will be used by future out-of-process allocator enumeration patches. rdar://problem/45284065 Reviewers: kcc, vitalybuka, dvyukov, cryptoad, eugenis, george.karpenkov, yln Subscribers: #sanitizers, llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D56964 llvm-svn: 352335
* GlobalISel: Don't reduce elements for atomic load/storeMatt Arsenault2019-01-272-1/+55
| | | | | | | This is invalid for the same reason as in the narrowScalar handling for load. llvm-svn: 352334
* [x86] add restriction for lowering to vpermpsSanjay Patel2019-01-272-60/+45
| | | | | | | | | This transform was added with rL351346, and we had an escape for shufps, but we also want one for unpckps vs. vpermps because vpermps doesn't take an immediate shuffle index operand. llvm-svn: 352333
* GlobalISel: Factor fewerElementVectors into separate functionsMatt Arsenault2019-01-272-156/+182
| | | | llvm-svn: 352332
* [x86] add tests for extract/extract/unpack; NFCSanjay Patel2019-01-271-0/+255
| | | | llvm-svn: 352331
* [X86][SSE] Add UNDEF handling to combineSelect ISD::USUBSAT matching (PR40083)Simon Pilgrim2019-01-272-35/+14
| | | | llvm-svn: 352330
* [X86][SSE] Add UNDEF test case for combineSelect ISD::USUBSAT matching (PR40083)Simon Pilgrim2019-01-271-0/+45
| | | | llvm-svn: 352329
* [X86][SSE] Permit UNDEFs in combineAddToSUBUS matching (PR40083)Simon Pilgrim2019-01-272-31/+10
| | | | llvm-svn: 352328
* [x86] add more tests for lowerShuffleWithUndefHalf; NFCSanjay Patel2019-01-271-0/+90
| | | | | | | Some other transform is creating the opposite form and causing an infinite loop if we try to split some of these. llvm-svn: 352327
* [X86][SSE] Add PSUBUS undef element test case (PR40083)Simon Pilgrim2019-01-271-0/+44
| | | | llvm-svn: 352326
* [COFF] Add support for the new relocation IMAGE_REL_ARM{,64}_REL32Martin Storsjo2019-01-273-7/+61
| | | | | | Differential Revision: https://reviews.llvm.org/D57292 llvm-svn: 352325
* [COFF] Add new relocation types.Martin Storsjo2019-01-273-1/+10
| | | | | | Differential Revision: https://reviews.llvm.org/D57291 llvm-svn: 352324
* [SemaCXX] Fix ICE with structure bindings to members of templateNicolas Lesser2019-01-272-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Trying to use structure binding with a structure that doesn't implement std::tuple_size, should unpack the data members. When the struct is a template though, clang might hit an assertion (if the type has not been completed before), because CXXRecordDecl::DefinitionData is nullptr. This commit fixes the problem by completing the type while trying to decompose the structured binding. The ICE happens in real world code, for example, when trying to iterate a protobuf generated map with a range-based for loop and structure bindings (because google::protobuf::MapPair is a template and doesn't support std::tuple_size). Reported-by: nicholas.sun@nlsun.com Patch by Daniele Di Proietto Reviewers: #clang, rsmith Reviewed By: #clang, rsmith Subscribers: cpplearner, Rakete1111, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D56974 llvm-svn: 352323
* Fix some warnings on MSVCAlexandre Ganea2019-01-272-1/+20
| | | | | | Differential Revision: https://reviews.llvm.org/D56329 llvm-svn: 352322
* [X86] Add test cases for PR36721 (unnecessary andl for %cl when shifting)Simon Pilgrim2019-01-271-0/+52
| | | | llvm-svn: 352321
* [x86] refactor logic in lowerShuffleWithUndefHalfSanjay Patel2019-01-271-28/+49
| | | | | | | | Although this is longer code, this is no-functional-change-intended. The goal is to untangle the conditions under which we bail out, so that's easier to adjust. llvm-svn: 352320
* GlobalISel: Verify load/store has a pointer inputMatt Arsenault2019-01-2719-62/+137
| | | | | | | I expected this to be automatically verified, but it seems nothing uses that the type index was declared as a "ptype" llvm-svn: 352319
OpenPOWER on IntegriCloud