summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [AMDGPU] gfx1010 tests. NFC.Stanislav Mekhanoshin2019-05-1311-98/+526
| | | | llvm-svn: 360615
* Make more friendly with unions. Reviewed as https://reviews.llvm.org/D61858Marshall Clow2019-05-132-1/+23
| | | | llvm-svn: 360614
* [clang-tidy] readability-redundant-declaration: fix false positive with C ↵Matthias Gehre2019-05-133-2/+49
| | | | | | | | | | | | | | | | | | | "extern inline" Summary: readability-redundant-declaration was diagnosing a redundant declaration on "extern inline void f();", which is needed in C code to force an external definition of the inline function f. (This is different to how inline behaves in C++). Reviewers: alexfh, danielmarjamaki Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61700 llvm-svn: 360613
* Merge target and launch info environmentsJonas Devlieghere2019-05-133-1/+18
| | | | | | | | | | | Before this change we were overriding the launch info environment with the target environment. This meant that the environment variables passed to `process launch --environment <>` were lost. Instead of replacing the environment, we should merge them. Differential revision: https://reviews.llvm.org/D61864 llvm-svn: 360612
* Remove commented-out codeJonas Devlieghere2019-05-131-43/+0
| | | | llvm-svn: 360611
* Add a new LIBUNWIND_WEAK_PTHREAD Cmake option to forceSterling Augustine2019-05-133-2/+39
| | | | | | | | | | | calls into the pthread library use weak symbols. This option allows libpthread to be a weak dependency rather than a hard one. Differential Revision: https://reviews.llvm.org/D60285 llvm-svn: 360610
* [AMDGPU] Reorder includes per coding standard. NFC.Stanislav Mekhanoshin2019-05-131-1/+1
| | | | llvm-svn: 360609
* [AMDGPU] Remove now unused V2FP16_ONE constant def. NFC.Stanislav Mekhanoshin2019-05-131-1/+0
| | | | llvm-svn: 360608
* [clang][ASTContext] Call setAttached for comments attached to a declarationJan Korous2019-05-131-0/+2
| | | | | | | | | | | This is a bug affecting performance when compiling with -Wdocumentation. In Sema::ActOnDocumentable we're checking whether there are any comments unattached to declaration at the end of comment list whenever we encounter new documentable declaration. Since this property of RawComment was never set we were trying to find comments every time and that involves at least a couple expensive SourceLocation decompositions. Differential Revision: https://reviews.llvm.org/D61538 llvm-svn: 360607
* Revert [X86] Avoid SFB - Fix inconsistent codegen with/without debug info Robert Lougher2019-05-132-252/+2
| | | | | | Revert r360436 as it is causing clang-x64-windows-msvc buildbot to fail. llvm-svn: 360606
* [InstCombine] try harder to form rotate (funnel shift) (PR20750)Sanjay Patel2019-05-132-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a similar match for patterns ending in a truncate. This should be ok for all targets because the default expansion would still likely be better from replacing 2 'and' ops with 1. Attempt to show the logic equivalence in Alive (which doesn't currently have funnel-shift in its vocabulary AFAICT): %shamt = zext i8 %i to i32 %m = and i32 %shamt, 31 %neg = sub i32 0, %shamt %and4 = and i32 %neg, 31 %shl = shl i32 %v, %m %shr = lshr i32 %v, %and4 %or = or i32 %shr, %shl => %a = and i8 %i, 31 %shamt2 = zext i8 %a to i32 %neg2 = sub i32 0, %shamt2 %and4 = and i32 %neg2, 31 %shl = shl i32 %v, %shamt2 %shr = lshr i32 %v, %and4 %or = or i32 %shr, %shl https://rise4fun.com/Alive/V9r llvm-svn: 360605
* [TargetLowering] Handle multi depth GEPs w/ inline asm constraintsNick Desaulniers2019-05-136-72/+87
| | | | | | | | | | | | | | | | | | | | | | | Summary: X86TargetLowering::LowerAsmOperandForConstraint had better support than TargetLowering::LowerAsmOperandForConstraint for arbitrary depth getelementpointers for "i", "n", and "s" extended inline assembly constraints. Hoist its support from the derived class into the base class. Link: https://github.com/ClangBuiltLinux/linux/issues/469 Reviewers: echristo, t.p.northover Reviewed By: t.p.northover Subscribers: t.p.northover, E5ten, kees, jyknight, nemanjai, javed.absar, eraman, hiraditya, jsji, llvm-commits, void, craig.topper, nathanchance, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D61560 llvm-svn: 360604
* Stop defining negative versions of some lit feature keywords:Paul Robinson2019-05-131-9/+8
| | | | | | | | | | | | | | | | | | | zlib/nozlib, asan/not_asan, msan/not_msan, ubsan/not_ubsan. We still have two other ways to express the absence of a feature. First, we have the '!' operator to invert the sense of a keyword. For example, given a feature that depends on zlib being unavailable, its test can say: REQUIRES: !zlib Second, if a test doesn't play well with some features, such as sanitizers, that test can say: UNSUPPORTED: asan, msan The different ways of writing these exclusions both have the same technical effect, but have different implications to the reader. llvm-svn: 360603
* fixed typo made by commit r360595Andrey Churbanov2019-05-131-1/+2
| | | | llvm-svn: 360602
* [InstCombine] add tests for rotates with narrow shift amount (PR20750); NFCSanjay Patel2019-05-131-0/+46
| | | | llvm-svn: 360601
* gn build: Fewer dependencies in llvm/lib/TargetNico Weber2019-05-136-26/+44
| | | | | | | | | | | The tablegen groups only need public_deps for inc files included (possibly transitively) in other targets. Move inc files that are internan to the MCTargetDesc libraries into regular deps. Related to the changes that merged InstPrinter into MCTargetDesc (360484, 360486 etc). llvm-svn: 360600
* [DataFormatters] FindLibCppStdFunctionCallableInfo() currently uses ↵Shafik Yaghmour2019-05-131-2/+2
| | | | | | | | FindFunctions() in order to find a lambdas operator()() but using FindSymbolsMatchingRegExAndType() is cheaper and if we also anchor the regex using ^ this adds some additional performance gains. Differential Revision: https://reviews.llvm.org/D61759 llvm-svn: 360599
* [WebAssembly] Refactor relocation processing. NFC.Sam Clegg2019-05-131-19/+17
| | | | | | | | | This is the remaining NFC part of https://reviews.llvm.org/D61539 which was reverted. Differential Revision: https://reviews.llvm.org/D61800 llvm-svn: 360598
* gn build: Merge r360572Nico Weber2019-05-131-0/+3
| | | | llvm-svn: 360597
* [X86][SSE] LowerBuildVectorv4x32 - don't insert MOVQ for undef eltsSimon Pilgrim2019-05-132-27/+14
| | | | | | | | Fixes the regression noted in D61782 where a VZEXT_MOVL was being inserted because we weren't discriminating between 'zeroable' and 'all undef' for the upper elts. Differential Revision: https://reviews.llvm.org/D61782 llvm-svn: 360596
* Fixed creation of aliases in Windows build.Andrey Churbanov2019-05-131-2/+1
| | | | | | | | | Changed file extension of the destination of the copy of libomp.lib (it was mistakely .dll, now it is .lib) in installation on Windows. Differential Revision: https://reviews.llvm.org/D61673 llvm-svn: 360595
* [X86][SSE] Relax use limits for lowerAddSubToHorizontalOp (PR32433)Simon Pilgrim2019-05-133-53/+76
| | | | | | | | | | Now that we can use HADD/SUB for scalar additions from any pair of extracted elements (D61263), we can relax the one use limit as we will be able to merge multiple uses into using the same HADD/SUB op. This exposes a couple of missed opportunities in LowerBuildVectorv4x32 which will be committed separately. Differential Revision: https://reviews.llvm.org/D61782 llvm-svn: 360594
* [ELF] Full support for -n (--nmagic) and -N (--omagic) via common pagePeter Smith2019-05-1314-22/+515
| | | | | | | | | | | | | | | | | | | | | | The -n (--nmagic) disables page alignment, and acts as a -Bstatic The -N (--omagic) does what -n does but also marks the executable segment as writeable. As page alignment is disabled headers are not allocated unless explicit in the linker script. To disable page alignment in LLD we choose to set the page sizes to 1 so that any alignment based on the page size does nothing. To set the Target->PageSize to 1 we implement -z common-page-size, which has the side effect of allowing the user to set the value as well. Setting the page alignments to 1 does mean that any use of CONSTANT(MAXPAGESIZE) or CONSTANT(COMMONPAGESIZE) in a linker script will return 1, unlike in ld.bfd. However given that -n and -N disable paging these probably shouldn't be used in a linker script where -n or -N is in use. Differential Revision: https://reviews.llvm.org/D61688 llvm-svn: 360593
* [TargetLowering] Add SimplifyDemandedBits support for ZERO_EXTEND_VECTOR_INREGSimon Pilgrim2019-05-133-53/+68
| | | | | | More work for PR39709. llvm-svn: 360592
* [X86] Add test case for mask register variant of PR41619 which should be ↵Craig Topper2019-05-131-1/+32
| | | | | | fixed after r360552 llvm-svn: 360591
* [libcxx] teach type_traits test about long uint32_tBrian Cain2019-05-131-1/+8
| | | | | | Patch by Ben Craig. llvm-svn: 360590
* Revert "[LSR] Tweak setup cost depth threshold to 10."Amara Emerson2019-05-131-1/+1
| | | | | | Changing the threshold might not be the best long term approach. Revert for now. llvm-svn: 360589
* [X86] Add SimplifyDemandedBits support for PEXTRB/PEXTRW (PR39709)Simon Pilgrim2019-05-131-1/+6
| | | | | | Test case will be included in a followup - its being used but its tricky to show a case that isn't caught at a later stage anyway. llvm-svn: 360588
* [NativePDB] Fix tests after r360569Aleksandr Urakov2019-05-131-6/+0
| | | | llvm-svn: 360587
* Add a test for LWG#3204 and mark it as complete. Reviewed as ↵Marshall Clow2019-05-132-1/+34
| | | | | | https://reviews.llvm.org/D61829 Thanks to Zoe for the patch. llvm-svn: 360586
* [DAGCombiner] narrow vector binop with inserts/extractSanjay Patel2019-05-136-121/+116
| | | | | | | | | | | | We catch most of these patterns (on x86 at least) by matching a concat vectors opcode early in combining, but the pattern may emerge later using insert subvector instead. The AVX1 diffs for add/sub overflow show another missed narrowing pattern. That one may be falling though the cracks because of combine ordering and multiple uses. llvm-svn: 360585
* [OPENMP][NVPTX]Simplify handling of thread limit, NFC.Alexey Bataev2019-05-136-26/+19
| | | | | | | | | | | | | | | | | Summary: Patch improves performance of the full runtime mode by moving threads limit counter to the shared memory. It also allows to save global memory. Reviewers: grokos, kkwli0, gtbercea Subscribers: guansong, jdoerfert, openmp-commits, caomhin Tags: #openmp Differential Revision: https://reviews.llvm.org/D61801 llvm-svn: 360584
* DWARF/DIERef: remove non-const operator<Pavel Labath2019-05-131-2/+0
| | | | | | It serves no purpose as one can always invoke the const version instead. llvm-svn: 360583
* [x86] add test for insert/extract binop; NFCSanjay Patel2019-05-131-0/+53
| | | | | | This pattern is visible in the c-ray benchmark with an AVX target. llvm-svn: 360582
* Add constrained fptrunc and fpext intrinsics.Kevin P. Neal2019-05-1318-32/+668
| | | | | | | | | | | The new fptrunc and fpext intrinsics are constrained versions of the regular fptrunc and fpext instructions. Reviewed by: Andrew Kaylor, Craig Topper, Cameron McInally, Conner Abbot Approved by: Craig Topper Differential Revision: https://reviews.llvm.org/D55897 llvm-svn: 360581
* Revert r360559 "[c++20] P1064R0: Allow virtual function calls in constant ↵Hans Wennborg2019-05-1314-414/+52
| | | | | | | | | expression evaluation." This caused Chromium builds to hit the new "can't handle virtual calls with virtual bases" assert. Reduced repro coming up. llvm-svn: 360580
* TargetLowering::SimplifyDemandedBits - early-out for UNDEF ops. NFCI.Simon Pilgrim2019-05-131-3/+5
| | | | llvm-svn: 360579
* FileCheck [5/12]: Introduce regular numeric variablesThomas Preud'homme2019-05-1311-152/+803
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch is part of a patch series to add support for FileCheck numeric expressions. This specific patch introduces regular numeric variables which can be set on the command-line. This commit introduces regular numeric variable that can be set on the command-line with the -D option to a numeric value. They can then be used in CHECK patterns in numeric expression with the same shape as @LINE numeric expression, ie. VAR, VAR+offset or VAR-offset where offset is an integer literal. The commit also enable strict whitespace in the verbose.txt testcase to check that the position or the location diagnostics. It fixes one of the existing CHECK in the process which was not accurately testing a location diagnostic (ie. the diagnostic was correct, not the CHECK). Copyright: - Linaro (changes up to diff 183612 of revision D55940) - GraphCore (changes in later versions of revision D55940 and in new revision created off D55940) Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk Subscribers: hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, tra, rnk, kristina, hfinkel, rogfer01, JonChesterfield Tags: #llvm Differential Revision: https://reviews.llvm.org/D60385 llvm-svn: 360578
* [ThinLTO] Don't internalize weak writeable variablesEugene Leviant2019-05-132-1/+55
| | | | | | | | | | Variables with linkonce_odr and weak_odr linkage shouldn't be internalized if they're not readonly. Otherwise we may end up with multiple copies of such variable, so reads and writes will become inconsistent Differential revision: https://reviews.llvm.org/D61255 llvm-svn: 360577
* Add REQUIRES: windows to NativePDB/stack_unwinding01.cppPavel Labath2019-05-131-2/+2
| | | | | | | The test runs the compiled executable. As such, it can only work on windows hosts. llvm-svn: 360576
* Simplify llvm-cat helpSerge Guelton2019-05-131-3/+9
| | | | | | | | Only output options that are directly relevant. Differential Revision: https://reviews.llvm.org/D61740 llvm-svn: 360575
* Breakpad: Generate unwind plans from STACK CFI recordsPavel Labath2019-05-135-2/+298
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch implements the GetUnwindPlan interface (added in the previous patch) for SymbolFileBreakpad, and uses it to generate unwind plans from STACK CFI records in breakpad files. We first perform a light-weight parse of the breakpad in order to build up a map of regions covered by the unwind info so that we can later jump to the right record when we need to unwind a specific function. The actual parsing is relatively straight-forward, as the STACK CFI records are just another (text) form of the eh_frame unwind instructions, and the same goes for lldb's UnwindPlans. The newly-introduced PostfixExpression API is used to convert the breakpad postfix expressions into DWARF. The generated dwarf expressions are stored in a BumpPtrAllocator, as the UnwindPlan does not take ownership of the expression data it references (usually this is static data in an object file, so special ownership is needed). At this moment the generated unwind plans aren't used in the actual unwind machinery (only in the image show-unwind command), but that is coming in a separate patch. Reviewers: amccarth, clayborg, markmentovai Subscribers: aprantl, jasonmolenda, lldb-commits Differential Revision: https://reviews.llvm.org/D61733 llvm-svn: 360574
* [AArch64][SVE2] Add SVE2 target features to backend and TargetParserCullen Rhodes2019-05-1319-36/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds the following features defined by Arm SVE2 architecture extension: sve2, sve2-aes, sve2-sm4, sve2-sha3, bitperm For existing CPUs these features are declared as unsupported to prevent scheduler errors. The specification can be found here: https://developer.arm.com/docs/ddi0602/latest Reviewers: SjoerdMeijer, sdesmalen, ostannard, rovka Reviewed By: SjoerdMeijer, rovka Subscribers: rovka, javed.absar, tschuett, kristof.beyls, kristina, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61513 llvm-svn: 360573
* [ASTImporter] Separate unittest filesGabor Marton2019-05-136-1065/+1189
| | | | | | | | | | | | | | | | Summary: Move generic redecl chain tests and visibility tests into their own separate test files. Reviewers: a_sidorin, a.sidorin, shafik Subscribers: mgorny, rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61786 llvm-svn: 360572
* Fix flakiness in lldb lit testStefan Granitz2019-05-131-1/+0
| | | | | | | | Messages "breakpoint locations added" and "process stopped" may come out of order. Differential Revision: https://reviews.llvm.org/D61611#anchor-1499662 llvm-svn: 360571
* [SystemZ] Model floating-point control registerUlrich Weigand2019-05-1312-296/+402
| | | | | | | | | | | | | | This adds the FPC (floating-point control register) as a reserved physical register and models its use by SystemZ instructions. Note that only the current rounding modes and the IEEE exception masks are modeled. *Changes* of the FPC due to exceptions (in particular the IEEE exception flags and the DXC) are not modeled. At this point, this patch is mostly NFC, but it will prevent scheduling of floating-point instructions across SPFC/LFPC etc. llvm-svn: 360570
* [NativePDB] Support member function types in PdbAstBuilderAleksandr Urakov2019-05-134-0/+75
| | | | | | | | | | | | | | | | | Summary: This patch implements missing case in PdbAstBuilder::CreateType for LF_MFUNCTION. This is necessary, for example, in stack unwinding of struct methods. Reviewers: amccarth, aleksandr.urakov Reviewed By: amccarth Subscribers: abidh, teemperor, lldb-commits, leonid.mashinskiy Differential Revision: https://reviews.llvm.org/D61128 llvm-svn: 360569
* minidump: Use yaml instead of checked-in binaries for ThreadList testsPavel Labath2019-05-135-30/+41
| | | | | | yaml2obj now supports the ThreadList stream. llvm-svn: 360568
* [ARM][ParallelDSP] Relax alias checksSam Parker2019-05-1313-334/+733
| | | | | | | | | | | | | | | | | | | | | | | When deciding the safety of generating smlad, we checked for any writes within the block that may alias with any of the loads that need to be widened. This is overly conservative because it only matters when there's a potential aliasing write to a location accessed by a pair of loads. Now we check for aliasing writes only once, during setup. If two loads are found to have an aliasing write between them, we don't add these loads to LoadPairs. This means that later during the transform, we can safely widened a pair without worrying about aliasing. However, to maintain correctness, we also need to change the way that wide loads are inserted because the order is now important. The MatchSMLAD method has also been changed, absorbing MatchReductions and AddMACCandidate to hopefully improve readability. Differential Revision: https://reviews.llvm.org/D6102 llvm-svn: 360567
* [DAGCombiner] Fix invalid alias analysis.Clement Courbet2019-05-132-18/+19
| | | | | | | | | | | | | | | | | | | | | Summary: When we know for sure whether two addresses do or do not alias, we should immediately return from DAGCombiner::isAlias(). I think this comes from a bad copy/paste, Sorry for not catching that during the code review. Fixes PR41855. Reviewers: niravd, gchatelet, EricWF Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61846 llvm-svn: 360566
OpenPOWER on IntegriCloud