summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [CStringSyntaxChecker] Reduces space around error message for strlcat.David Carlier2018-08-152-2/+2
| | | | llvm-svn: 339808
* Refactor Darwin driver to refer to runtimes by componentChris Bieneman2018-08-152-64/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In r335809, Petr Hosek lays out support for what he calls the multiarch runtimes layout. This new way of laying out the directories for runtime libraries is workable for all platforms. Petr did some of the common infrastructure and made it work for Linux and Fuscia. This patch is a cleanup to the Darwin and MachO drivers to serve as a step toward supporting it in Darwin. This patch does primarily two things: (1) Changes the APIs for how the Darwin driver refers to compiler-rt libraries to use the component names, similar to how Linux and Fuscia do (2) Removes some legacy functionality for supporting macOS versions before 10.6. This functionality is effectively dead code because in r339277, the support was removed from compiler-rt for generating the 10.4 runtime support library, and Xcode 10 (currently in beta) removes libgcc_s.10.4 and libgcc_s.10.5 from the macOS SDK. With this patch landed a subsequent patch can modify MachO::AddLinkRuntimeLib to support the multiarch runtimes layout. Worth noting: None of the removed functionality was actually covered in the test suite. So no test case updates are required. Reviewers: phosek, bruno, arphaman Reviewed By: phosek, arphaman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D50618 llvm-svn: 339807
* Revert "[ARM] Allow signed icmps in ARMCodeGenPrepare"Vitaly Buka2018-08-152-144/+22
| | | | | | | | use-after-poison in check-llvm under asan This reverts commit r339755. llvm-svn: 339806
* [OPENMP] FIx processing of declare target variables.Alexey Bataev2018-08-159-32/+76
| | | | | | | | The compiler may produce unexpected error messages/crashes when declare target variables were used. Patch fixes problems with the declarations marked as declare target to or link. llvm-svn: 339805
* Mark the at_exit and at_quick_exit tests as unsupported under C++98 an 03, ↵Marshall Clow2018-08-153-2/+3
| | | | | | since those calls were introduced in C++11. They're already guarded by an ifdef in the code, so this is a 'belt-and-suspenders' change. llvm-svn: 339804
* clang-format: Change Google style wrt. the formatting of empty messages.Daniel Jasper2018-08-152-9/+5
| | | | | | | | | | | Before: message Empty { } After: message Empty {} llvm-svn: 339803
* [Support] Add a basic C API for llvm::Error.Lang Hames2018-08-154-1/+133
| | | | | | | | | | | | | | | | Summary: The C-API supports consuming errors, converting an error to a string error message, and querying an error's type. Other LLVM C APIs that wish to use llvm::Error can supply error-type-id checkers and custom error-to-structured-type converters for any custom errors they provide. Reviewers: bogner, zturner, labath, dblaikie Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D50716 llvm-svn: 339802
* [WebAssembly][NFC] Standardize SIMD multiclass formatThomas Lively2018-08-151-36/+30
| | | | | | | | | | | | | | Summary: This CL changes the ExtractLane ISEL multiclass to more closely mirror the structure of the splat and replace_lane multiclasses. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D50794 llvm-svn: 339801
* cfi: Remove blacklist entries for libc++.Peter Collingbourne2018-08-151-4/+2
| | | | | | | These functions have had no-CFI annotations in the source code for a while now. llvm-svn: 339800
* llvm-readobj: Fix addend in relocations for android packed formatPeter Collingbourne2018-08-152-9/+48
| | | | | | | | | | | If a relocation group doesn't have the RELOCATION_GROUP_HAS_ADDEND_FLAG set, then this implies the group's addend equals zero. In this case android packed format won't encode an explicit addend delta, instead we need to set Addend, the "previous addend" variable, to zero by ourself. Patch by Yi-Yo Chiang! Differential Revision: https://reviews.llvm.org/D50601 llvm-svn: 339799
* [WebAssembly] Test commitThomas Lively2018-08-151-2/+1
| | | | | | Changes a comment and some whitespace to test commit access. llvm-svn: 339798
* libcxx: Mark __temp_value::__temp_value as _LIBCPP_NO_CFI.Peter Collingbourne2018-08-151-2/+5
| | | | | | | | | | | | | | This constructor needs to cast a pointer to uninitialized memory to a pointer to object type in order to call allocator_traits::construct(). This cast is not allowed when CFI cast checks are enabled. I did this instead of marking __addr() as _LIBCPP_NO_CFI so that we don't lose CFI checks on get() or the dtor. Differential Revision: https://reviews.llvm.org/D50743 llvm-svn: 339797
* [InstCombine] Fix IC trying to create a xor of pointer types.Amara Emerson2018-08-152-1/+15
| | | | | | | | rdar://42473741 Differential Revision: https://reviews.llvm.org/D50775 llvm-svn: 339796
* [MemorySSA] Expose the verify as a debug option.Alina Sbirlea2018-08-152-3/+13
| | | | | | | | | | | | Summary: Expose VerifyMemorySSA as a debug option. If set, passes will call the MSSA->verifyMemorySSA() after calling into the updater's APIs when MemorySSA should be valid. Reviewers: george.burgess.iv Subscribers: sanjoy, jlebar, Prazek, llvm-commits Differential Revision: https://reviews.llvm.org/D50749 llvm-svn: 339795
* For FreeBSD, don't define _M in nasty_macros.hppDimitry Andric2018-08-151-0/+4
| | | | | | | | | | Because FreeBSD uses _M in its <sys/types.h>, and it is hard to avoid including that header, only define _M to NASTY_MACRO for other operating systems. This fixes almost 2000 unexpected test failures. Discussed with Eric Fiselier. llvm-svn: 339794
* [AArch64] add tests for poor vector intrinsic lowering via legalization ↵Sanjay Patel2018-08-151-0/+564
| | | | | | | | | (PR38527); NFC These correspond to the x86 tests added with rL339790 / rL339791, but I widened the non-fsin tests to v3f32 to show the problem because AArch supports v2f32 ops. llvm-svn: 339793
* [RegisterCoalescer] Ensure that both registers have subranges if one doesKrzysztof Parzyszek2018-08-152-1/+45
| | | | llvm-svn: 339792
* [x86] add fabs test for vector intrinsic to potential libcall bug; NFCSanjay Patel2018-08-151-0/+10
| | | | | | This is a negative test for x86 because it has custom lowering for fabs. llvm-svn: 339791
* [x86] add tests for poor vector intrinsic lowering via legalization ↵Sanjay Patel2018-08-151-0/+549
| | | | | | (PR38527); NFC llvm-svn: 339790
* [AST] Pack the unsigned of PackExpansionType into TypeBruno Ricci2018-08-151-13/+28
| | | | | | | | | | | The bit-fields of `Type` have enough space for the `unsigned NumExpansions` of `PackExpansionType` Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D50711 llvm-svn: 339789
* [RegisterCoalescer] Reset VNInfo def when copying segments overKrzysztof Parzyszek2018-08-152-2/+57
| | | | llvm-svn: 339788
* [AST] Pack the bits of TemplateSpecializationType into TypeBruno Ricci2018-08-152-13/+32
| | | | | | | | | | | Type has enough space for two members of TemplateSpecializationType. Mechanical patch. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D50643 llvm-svn: 339787
* [WebAssembly] SIMD replace_laneDerek Schuff2018-08-152-1/+90
| | | | | | | | | | Implement and test replace_lane instructions. Patch by Thomas Lively Differential Revision: https://reviews.llvm.org/D50750 llvm-svn: 339786
* [clang-doc] Explicitly cast to unique_ptrJulie Hockett2018-08-151-1/+1
| | | | | | | Older compilers don't like the implicit cast & move when returning a unique_ptr to an llvm::Expected type. llvm-svn: 339785
* [RegAlloc] Check that subreg liveness tracking applies to given virtual regKrzysztof Parzyszek2018-08-152-1/+23
| | | | | | | | Subregister liveness applies selectively to register classes with certain properties. Make sure that when it's enabled, it applies to a given virtual register (in virtual register rewriter). llvm-svn: 339784
* Reland "[clang-doc] Updating BitcodeReader to use llvm::Error""Julie Hockett2018-08-152-208/+257
| | | | | | | With explicit unique_ptr casts so that bots with older compilers don't break. llvm-svn: 339783
* [clangd][tests] Rename tests of clangd instance terminationJan Korous2018-08-152-0/+0
| | | | | | | | Just making testnames better reflect their testing scenarios. Differential Revision: https://reviews.llvm.org/D50641 llvm-svn: 339782
* [clangd][tests] Fix typo in tests - invalid LSP exit messageJan Korous2018-08-156-6/+6
| | | | | | | | Syntactically invalid JSON payload was causing clangd to terminate because of unexpected EOF rather than exit as a response to LSP exit message. Differential Revision: https://reviews.llvm.org/D50641 llvm-svn: 339781
* [SystemZ] Add testcase for r339778Krzysztof Parzyszek2018-08-151-0/+48
| | | | llvm-svn: 339780
* [PowerPC] Enhance the selection(ISD::VSELECT) of vector typeNemanja Ivanovic2018-08-155-21/+107
| | | | | | | | | | | | | | | To make ISD::VSELECT available(legal) so long as there are altivec instruction, otherwise it's default behavior is expanding. Use xxsel to match vselect if vsx is open, or use vsel. In order to do not write many patterns in td file, promote (for vector it's bitcast) all other type into v4i32 and only pattern match vselect of v4i32 into vsel or xxsel. Patch by wuzish Differential revision: https://reviews.llvm.org/D49531 llvm-svn: 339779
* [SystemZ] Replace subreg_r with subreg_hKrzysztof Parzyszek2018-08-155-24/+21
| | | | | | | | | | | | | | | | | | | | Change subreg_r32 -> subreg_h32 subreg_r64 -> subreg_h64 subreg_hr32 -> subreg_hh32 The subregisters subreg_r32 and subreg_r64 were added to emphasize the fact that modifying these subregisters may clobber the entire register. This is not necessarily the case for subreg_h32, et al. However, the ability to compose subreg_h64 with subreg_r32, and with subreg_h32 and subreg_l32 at the same time makes the compositions be treated as non-overlapping (leading to problems when tracking subreg liveness). See D50468 for more details. Differential Revision: https://reviews.llvm.org/D50725 llvm-svn: 339778
* [GVN] Fix typo in IsValueFullyAvailableInBlock. NFC.Marcello Maggioni2018-08-151-1/+1
| | | | | | | | DenseMap insert() method return a pair<iterator, bool> not pair<iterator, char> Noticed it and thought I might just fix it ... llvm-svn: 339777
* [SystemZ] New CL option to enable subreg livenessJonas Paulsson2018-08-152-0/+13
| | | | | | | | | | This option is needed to enable subreg liveness tracking during register allocation. Review: Ulrich Weigand https://reviews.llvm.org/D50779 llvm-svn: 339776
* [LLD][ELF] - Stop using binary input in merge-invalid-size.s test. NFCI.George Rimar2018-08-153-3/+21
| | | | | | This rewrites the test using yaml. llvm-svn: 339775
* [LLD][ELF] - Convert binary input to yaml in sht-group.s test. NFC.George Rimar2018-08-153-3/+18
| | | | | | This removes test that used binary input and adds a yaml based test instead. llvm-svn: 339774
* [SimplifyCFG] Remove pointer from SmallPtrSet before deletionChijun Sima2018-08-151-3/+3
| | | | | | | | | | | | | | | | | Summary: Previously, `eraseFromParent()` calls `delete` which invalidates the value of the pointer. Copying the value of the pointer later is undefined behavior in C++11 and implementation-defined (which may cause a segfault on implementations having strict pointer safety) in C++14. This patch removes the BasicBlock pointer from related SmallPtrSet before `delete` invalidates it in the SimplifyCFG pass. Reviewers: kuhar, dmgreen, davide, trentxintong Reviewed By: kuhar, dmgreen Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D50717 llvm-svn: 339773
* [yaml2obj] - Teach yaml2obj to produce SHT_GROUP section with a custom Info ↵George Rimar2018-08-152-1/+28
| | | | | | | | | | | | | field. This allows to set custom Info field value for SHT_GROUP sections. It is useful to allow this because we would be able to replace at least one binary object committed in LLD and replace it with the yaml2obj based test. Differential revision: https://reviews.llvm.org/D50776 llvm-svn: 339772
* [OMPT] Remove OMPT idle callbackJoachim Protze2018-08-155-72/+0
| | | | | | | | | | | | | The idle callback was removed from the spec as of TR7. This removes it from the implementation. Patch provided by Simon Convent Reviewers: hbae, protze.joachim Differential Revision: https://reviews.llvm.org/D48362 llvm-svn: 339771
* [ARM] TypeSize lower bound for ARMCodeGenPrepareSam Parker2018-08-152-1/+25
| | | | | | | | | We only try to promote types with are smaller than 16-bits, but we also need to check that the type is not less than 8-bits. Differential Revision: https://reviews.llvm.org/D50769 llvm-svn: 339770
* [PowerPC] Don't run BV DAG Combine before legalization if it assumes legal typesNemanja Ivanovic2018-08-152-3/+65
| | | | | | | | | | | | | | When trying to combine a DAG that builds a vector out of sign-extensions of vector extracts, the code assumes legal input types. Due to that, we have to disable this combine prior to legalization. In some cases, the DAG will look slightly different after legalization so account for that in the matching code. This is a fix for https://bugs.llvm.org/show_bug.cgi?id=38087 Differential Revision: https://reviews.llvm.org/D49080 llvm-svn: 339769
* [llvm-mca] Fix PR38575: Avoid an invalid implicit truncation of a processor ↵Andrea Di Biagio2018-08-152-1/+83
| | | | | | | | | | | | | | | | | resource mask (an uint64_t value) to unsigned. This patch fixes a regression introduced at revision 338702. A processor resource mask was incorrectly implicitly truncated to an unsigned quantity. Later on, the truncated mask was used to initialize an element of a vector of processor resource descriptors. On targets with more than 32 processor resources, some elements of the vector are left uninitialized. As a consequence, this bug might have eventually caused a crash due to null dereference in the Scheduler. This patch fixes PR38575, and adds a test for it. llvm-svn: 339768
* Remove lambda default argument to fix gcc pedantic warning.Simon Pilgrim2018-08-151-2/+2
| | | | llvm-svn: 339767
* Use .cpp extension for certain tests instead of .ccMomchil Velikov2018-08-152-0/+0
| | | | | | | | | | | | The tests `CodeGen/aapcs[64]-align.cc` are not run since files with a `.cc` suffix aren't recognisze as tests. This patch renames the above two files to `.cpp`. Differential Revision: https://reviews.llvm.org/D46013 Comitting as obvious. llvm-svn: 339766
* [LLD][ELF] - Handle SHT_GROUP more carefully. NFCI.George Rimar2018-08-152-1/+30
| | | | | | | | | | | | This patch solves 2 problems: 1) It adds a test to check the line below: https://github.com/llvm-mirror/lld/blob/master/ELF/InputFiles.cpp#L334 Test case contains SHT_GROUP section with a broken (0xFF) flag. 2) The patch fixes the case when we silently accepted such broken groups in the case when there were no other objects with the same group signature. llvm-svn: 339765
* [yaml2obj] - Teach tool to produce SHT_GROUP section with a custom type.George Rimar2018-08-152-1/+36
| | | | | | | | | | | | Currently, it is possible to use yaml2obj for producing SHT_GROUP sections of type GRP_COMDAT. For LLD test case I need to produce an object with a broken (different from GRP_COMDAT) type. The patch teaches tool to do such things. Differential revision: https://reviews.llvm.org/D50761 llvm-svn: 339764
* [TargetLowering] Minor cleanup of TargetLowering::BuildSDIV. NFCI.Simon Pilgrim2018-08-151-21/+20
| | | | | | Pull out some types to match layout in TargetLowering::BuildUDIV. Early step towards adding non-uniform vector support. llvm-svn: 339763
* [UnJ] Rename hasInvariantIterationCount to ↵David Green2018-08-153-4/+4
| | | | | | | | hasIterationCountInvariantInParent NFC This hopefully describes the API of the function more precisely. llvm-svn: 339762
* [X86][SSE] Add sdiv by nonuniform constant vector testsSimon Pilgrim2018-08-151-0/+789
| | | | | | Tests cover each TargetLowering::BuildSDIV path separately plus combos llvm-svn: 339761
* [X86] Add sibling-call test casesAleksandr Urakov2018-08-151-0/+109
| | | | | | | | This commit adds new sibling-call test cases, so it will be possible to see how these test cases will be changed after applying D45653. See D45653 for details. llvm-svn: 339760
* Fix ASTMatchersTraversalTest testcase compile on older compilersDavid Green2018-08-151-3/+3
| | | | | | | | Some versions of gcc, especially when invoked through ccache (-E), can have trouble with raw string literals inside macros. This moves the string out of the macro. llvm-svn: 339759
OpenPOWER on IntegriCloud