summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Convert PDB docs to unix line endings. No other changes.Nico Weber2019-05-017-848/+848
| | | | llvm-svn: 359712
* [clang-format] Fix a bug in AlignConsecutiveDeclarations.Owen Pan2019-05-012-3/+22
| | | | | | | | Fixes PR37175 Differential Revision: https://reviews.llvm.org/D61222 llvm-svn: 359711
* [OpenMP] Implement task modifier for reduction clauseJonathan Peyton2019-05-017-57/+757
| | | | | | | | | | | | | | | | | Implemented task modifier in two versions - one without taking into account omp_orig variable (the omp_orig still can be processed by compiler without help of the library, but each reduction object will need separate initializer with global access to omp_orig), another with omp_orig variable included into interface (single initializer can be used for multiple reduction objects of the same type). Second version can be used when the omp_orig is not globally accessible, or to optimize code in case of multiple reduction objects of the same type. Patch by Andrey Churbanov Differential Revision: https://reviews.llvm.org/D60976 llvm-svn: 359710
* [PowerPC] add test that could infinite loop with reordered transforms; NFCSanjay Patel2019-05-011-0/+27
| | | | | | | | This is a slightly reduced version of the test from D61384. Adding this as a preliminary step, so I can update D61149 with the proposed fix. llvm-svn: 359709
* [sanitizer] Implement reallocarray.Evgeniy Stepanov2019-05-0130-9/+215
| | | | | | | | | | | | | | | | Summary: It's a cross of calloc and realloc. Sanitizers implement calloc-like check for size overflow. Reviewers: vitalybuka, kcc Subscribers: kubamracek, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D61108 llvm-svn: 359708
* [X86][SSE] Fold scalar horizontal add/sub for non-0/1 element extractionsSimon Pilgrim2019-05-013-310/+648
| | | | | | | | We already perform horizontal add/sub if we extract from elements 0 and 1, this patch extends it to non-0/1 element extraction indices (as long as they are from the lowest 128-bit vector). Differential Revision: https://reviews.llvm.org/D61263 llvm-svn: 359707
* [Driver] Explicitly request platform rtlib in the Driver pic testPetr Hosek2019-05-011-3/+3
| | | | | | | | | | | | | This test checks whether crtbegin.o and crtend.o appear on the link line, but names of these files may be affected by the choice of the rtlib, specifically when compiler-rt is used as the default rtlib the names will be clang_rt.crtbegin.o and clang_rt.crtend.o instead of crtbeginS.o and crtendS.o. To avoid the test failure, explicitly request to use the platform rtlib. Differential Revision: https://reviews.llvm.org/D61383 llvm-svn: 359706
* [globalisel] Update the legalizer documentationDaniel Sanders2019-05-011-53/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: * The getActionDefinitionsBuilder() is now documented. * Includes descriptions of the various actions (legal*, widenScalar*, lower*, etc). * Includes descriptions of the various predicates (*If, *For, *ForCartesianProduct, etc.) * Includes the rule-order details * Removed the out-of-date prohibition on non-power-of-2 types. * Removed the Vector types section since it was incorrect and vectors follow the same ruleset as scalars. They're only special in the sense that more of the actions and predicates are meaningful for them (e.g. moreElements). * Clarified the position on context sensitive legality (which is not permitted) and contrasted this with context sensitive legalization (which is permitted). Reviewers: bogner, aditya_nandakumar, volkan, aemerson, paquette, arsenm Reviewed By: paquette Subscribers: wdng, rovka, kristof.beyls, jfb, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61273 llvm-svn: 359705
* [AMDGPU] gfx1010 GCNRegBankReassign passStanislav Mekhanoshin2019-05-015-0/+1139
| | | | | | | | Reassign registers to reduce register bank conflicts. Differential Revision: https://reviews.llvm.org/D61344 llvm-svn: 359704
* [WebAssembly] WASI support for libcxxDan Gohman2019-05-015-6/+12
| | | | | | | | | | | | | This adds explicit support for the WASI platform to libcxx. WASI libc uses some components from musl, however it's not fully compatible with musl, so we're planning to stop using _LIBCPP_HAS_MUSL_LIBC and customize for WASI libc specifically. Differential Revision: https://reviews.llvm.org/D61336 Reviewers: sbc100, ldionne llvm-svn: 359703
* Bump DIAG_SIZE_SEMA, as we've hit it.Scott Linder2019-05-011-1/+1
| | | | | | | | | $ grep 'DIAG_SIZE_SEMA =' include/clang/Basic/DiagnosticIDs.h DIAG_SIZE_SEMA = 4000, $ grep DIAG $(build)/tools/clang/include/clang/Basic/DiagnosticSemaKinds.inc | wc -l 3499 llvm-svn: 359702
* Option spell checking: Penalize delimiter flags if input has no argumentNico Weber2019-05-013-5/+26
| | | | | | | | | | | | | | | If the user passes a flag like `-version` to a program, it's more likely they mean `--version` than `-version:`, since there's no parameter passed. Hence, give delimited arguments a penalty of 1 if the user input doesn't contain the delimiter or no data after it. The motivation is that with this, lld-link can suggest "--version" instead of "-version:" for "-version" and "-nodefaultlib" instead of "-nodefaultlib:" for "-nodefaultlibs". Differential Revision: https://reviews.llvm.org/D61382 llvm-svn: 359701
* [AMDGPU] gfx1010 GCNNSAReassign passStanislav Mekhanoshin2019-05-016-71/+597
| | | | | | | | Convert NSA into non-NSA images. Differential Revision: https://reviews.llvm.org/D61341 llvm-svn: 359700
* Disabling test in TestClassTemplateParameterPack.py until we do template ↵Shafik Yaghmour2019-05-012-7/+9
| | | | | | | | | | | | | lookup correctly Summary: Some tests currently only work because we are pulling all the local variables when we are evaluating an expression. This will soon change and these test are working but for the wrong reasons. The details can be found in the discussion here: http://lists.llvm.org/pipermail/lldb-commits/Week-of-Mon-20180507/040689.html Differential Review: https://reviews.llvm.org/D61266 llvm-svn: 359699
* [AMDGPU] gfx1010 MIMG implementationStanislav Mekhanoshin2019-05-0134-395/+2293
| | | | | | Differential Revision: https://reviews.llvm.org/D61339 llvm-svn: 359698
* [ThinLTO] Fix unreachable code when parsing summary entries.Teresa Johnson2019-05-012-5/+13
| | | | | | | | | | | | | | | | | | | Summary: Early returns were causing some code to be skipped. This was missed since the summary entries are typically at the end of the llvm assembly file. Fixes PR41663. Reviewers: RKSimon, wristow Subscribers: mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61355 llvm-svn: 359697
* [AMDGPU] gfx1010 DS implementationStanislav Mekhanoshin2019-05-015-165/+493
| | | | | | Differential Revision: https://reviews.llvm.org/D61332 llvm-svn: 359696
* Revert "[DAGCombiner] try repeated fdiv divisor transform before building ↵Sanjay Patel2019-05-012-30/+42
| | | | | | | | | estimate" This reverts commit fb9a5307a94e6f1f850e4d89f79103b123f16279 (rL359398) because it can cause an infinite loop due to opposing combines. llvm-svn: 359695
* Fix 80 column violation. NFCI.Simon Pilgrim2019-05-011-5/+6
| | | | llvm-svn: 359694
* [SCEV] Use isKnownViaNonRecursiveReasoning for smax simplificationKeno Fischer2019-05-011-3/+4
| | | | | | | | | | | | | | | | | | Summary: Commit rL331949: SCEV] Do not use induction in isKnownPredicate for simplification umax changed the codepath for umax from isKnownPredicate to isKnownViaNonRecursiveReasoning to avoid compile time blow up (and as I found out also stack overflows). However, there is an exact copy of the code for umax that was lacking this change. In D50167 I want to unify these codepaths, but to avoid that being a behavior change for the smax case, pull this independent bit out of it. Reviewed By: sanjoy Differential Revision: https://reviews.llvm.org/D61166 llvm-svn: 359693
* [analyzer][tests][NFC] Add EOF newlines, normalize reference expected filesHubert Tong2019-05-013-2/+3
| | | | | | | | | | | Reference expected files not ending with a newline are normalized to have said newlines. Additionally `plist-macros-with-expansion.cpp.plist` is modified to add a line that is ignored by `%diff_plist`, but not by the more sensitive pattern proposed by http://lists.llvm.org/pipermail/cfe-dev/2019-April/061904.html for `%normalize_plist`. llvm-svn: 359692
* [analyzer][tests] Use diff_plist, correct order of arguments for missed ↵Hubert Tong2019-05-015-5/+5
| | | | | | | | | | | | | cases; NFC For various files under `clang/test/Analysis`, D52036 applied `%diff_plist` to replace `diff` invocations with certain options and D56340 swapped the order of the arguments so that the reference file comes first. The tests that used `tail` to filter the test output were not modified accordingly. This patch applies the corresponding update to those tests. llvm-svn: 359691
* [lit][tests][AIX] Update expected form of diagnostic messages; use `not` to ↵Hubert Tong2019-05-013-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | normalize non-zero exit values Summary: Various tests in the `lit` testing suite expect specific return codes and forms of diagnostic message from utility programs. As per POSIX.1-2017 XCU Section 1.4, Utility Description Defaults, "[the] format of diagnostic messages for most utilities is unspecified". The STDERR subsections of the `cat` and `wc` utilities merely indicate that "[the] standard error shall be used only for diagnostic messages". The corresponding EXIT STATUS subsections merely indicate, with regard to errors, an exit value of >0. The affected tests are updated to accept the applicable diagnostic message as produced by the utilities on AIX. The exit value is normalized using `not` as necessary. Reviewers: xingxue, sfertile, jasonliu Reviewed By: xingxue Subscribers: delcypher, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60553 llvm-svn: 359690
* [tests] Add host-byteorder-*-endian; update XFAILs of big-endian triplesHubert Tong2019-05-0110-9/+11
| | | | | | | | | | | | | | | | | | | | Summary: Triple components in `XFAIL` lines are tested against the target triple. Various tests that are expected to fail on big-endian hosts are marked as being `XFAIL` for big-endian targets. This patch corrects these tests by having them test against a new `host-byteorder-big-endian` feature. Reviewers: xingxue, sfertile, jasonliu Reviewed By: xingxue Subscribers: jvesely, nhaehnle, fedor.sergeev, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60551 llvm-svn: 359689
* [llvm-ar][llvm-nm][llvm-size] Change -long-option to --long-option in tests. NFCFangrui Song2019-05-0113-31/+31
| | | | llvm-svn: 359688
* [clang-format] Fix bug that misses some function-like macro usagesOwen Pan2019-05-012-4/+15
| | | | | | | | Fixes PR41483 Differential Revision: https://reviews.llvm.org/D61297 llvm-svn: 359687
* [X86][SSE] Add demanded elts support X86ISD::PMULDQ\PMULUDQSimon Pilgrim2019-05-013-181/+202
| | | | | | Add to SimplifyDemandedVectorEltsForTargetNode and SimplifyDemandedBitsForTargetNode llvm-svn: 359686
* Fix OptTable::findNearest() adding delimiter for freeNico Weber2019-05-013-9/+16
| | | | | | | | | | | Prior to this, OptTable::findNearest() thought that the input `--foo` had an editing distance of 0 from an existing flag `--foo=`, which made it suggest flags with delimiters more often than flags without one. After this, it correctly assigns this case an editing distance of 1. Differential Revision: https://reviews.llvm.org/D61373 llvm-svn: 359685
* [LoopInfo] Faster implementation of setLoopID. NFC.Keno Fischer2019-05-011-10/+4
| | | | | | | | | | | | | | | | Summary: This change was part of D46460. However, in the meantime rL341926 fixed the correctness issue here. What remained was the performance issue in setLoopID where it would iterate through all blocks in the loop and their successors, rather than just the predecessor of the header (the later presumably being much faster). We already have the `getLoopLatches` to compute precisely these basic blocks in an efficient manner, so just use it (as the original commit did for `getLoopID`). Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D61215 llvm-svn: 359684
* [LLD] Emit dynamic relocations for references to script symbols in -pie linksBen Dunbobbin2019-05-012-5/+24
| | | | | | | | | | https://reviews.llvm.org/D55423 caused LLD to stop emitting dynamic relocations for references to script symbols in -pie links. This patch fixes that regression. https://reviews.llvm.org/D61298 llvm-svn: 359683
* [lldb] [lit] Add write tests for r8-r15 & xmm8-xmm15 registersMichal Gorny2019-05-012-0/+114
| | | | | | Differential Revision: https://reviews.llvm.org/D61303 llvm-svn: 359682
* [lldb] [lit] Add write tests for MM/XMM registersMichal Gorny2019-05-012-0/+114
| | | | | | Differential Revision: https://reviews.llvm.org/D61303 llvm-svn: 359681
* [X86][SSE] Add SSE vector shift support to ↵Simon Pilgrim2019-05-0120-334/+340
| | | | | | SimplifyDemandedVectorEltsForTargetNode vector splitting llvm-svn: 359680
* Wrap to 80 columns, no behavior changeNico Weber2019-05-011-1/+2
| | | | llvm-svn: 359679
* [X86][SSE] Split 512-bit -> 128-bit vector directly in ↵Simon Pilgrim2019-05-013-209/+220
| | | | | | SimplifyDemandedVectorEltsForTargetNode llvm-svn: 359678
* [X86][SSE] Add 512-bit vector support to ↵Simon Pilgrim2019-05-013-56/+47
| | | | | | SimplifyDemandedVectorEltsForTargetNode vector splitting llvm-svn: 359677
* DAG: allow DAG pointer size different from memory representation.Tim Northover2019-05-017-48/+178
| | | | | | | | | | | | | | | | | | | | | In preparation for supporting ILP32 on AArch64, this modifies the SelectionDAG builder code so that pointers are allowed to have a larger type when "live" in the DAG compared to memory. Pointers get zero-extended whenever they are loaded, and truncated prior to stores. In addition, a few not quite so obvious locations need updating: * A GEP that has not been marked inbounds needs to enforce the IR-documented 2s-complement wrapping at the memory pointer size. Inbounds GEPs are undefined if they overflow the address space, so no additional operations are needed. * Signed comparisons would give incorrect results if performed on the zero-extended values. This shouldn't affect CodeGen for now, but will become active when the AArch64 ILP32 support is committed. llvm-svn: 359676
* [libFuzzer] Add --dump-input-on-failure to help diagnose AArch64 failuresPeter Smith2019-05-012-6/+6
| | | | | | | | | | | | | | The fork-siguser.test and fork.test intermittently fail on the AArch64 buildbot. Unfortunately these failures are not reproducible on a similar machine and seem to fail when the machines are under load. Before suggesting the tests be marked unsupported for AArch64 we'd like to see if we can get some more information about the failures to see if it helps us reproduce. This patch adds --dump-input-on-failure to the FileCheck commands to see if we can get some more information about the failures. Differential Revision: https://reviews.llvm.org/D61315 llvm-svn: 359675
* [clangd] Delete an unused declarationFangrui Song2019-05-011-3/+0
| | | | llvm-svn: 359674
* [X86][SSE] Add X86ISD::PACKSS\PACKUS to ↵Simon Pilgrim2019-05-013-543/+525
| | | | | | SimplifyDemandedVectorEltsForTargetNode vector splitting llvm-svn: 359673
* Get rid of a bunch of 'unused variable' warnings in test when run with ↵Marshall Clow2019-05-015-4/+8
| | | | | | debug_level set. NFC llvm-svn: 359672
* [X86][SSE] Add scalar horizontal add/sub tests for element extractions from ↵Simon Pilgrim2019-05-012-0/+361
| | | | | | | | upper lanes As suggested on D61263 llvm-svn: 359671
* [X86][SSE] Add X86ISD::UNPCKL\UNPCK to ↵Simon Pilgrim2019-05-013-216/+218
| | | | | | SimplifyDemandedVectorEltsForTargetNode vector splitting llvm-svn: 359670
* [X86][SSE] Move extract_subvector(pshufb) fold to ↵Simon Pilgrim2019-05-012-30/+16
| | | | | | | | SimplifyDemandedVectorEltsForTargetNode This lets us hit more cases than combineExtractSubvector and allows us reuse more code. llvm-svn: 359669
* [llvm-objdump] Print newlines before and after "Disassembly of section ...:"Fangrui Song2019-05-01184-29/+445
| | | | | | | | | | | This improves readability and the behavior is consistent with GNU objdump. The new test test/tools/llvm-objdump/X86/disassemble-section-name.s checks we print newlines before and after "Disassembly of section ...:" Differential Revision: https://reviews.llvm.org/D61127 llvm-svn: 359668
* [X86] SimplifyDemandedVectorEltsForTargetNode - pull out vector halving ↵Simon Pilgrim2019-05-011-10/+13
| | | | | | | | code. NFCI. Pull out the HADD/HSUB code to halve vector widths if the upper half isn't used - prep work to adding support for other opcodes. llvm-svn: 359667
* [X86][SSE] Extract i1 elements from vXi1 bool vectorsSimon Pilgrim2019-05-014-156/+137
| | | | | | | | This is an alternative to D59669 which more aggressively extracts i1 elements from vXi1 bool vectors using a MOVMSK. Differential Revision: https://reviews.llvm.org/D61189 llvm-svn: 359666
* Fix build URL in new LLDB websiteRaphael Isemann2019-05-011-1/+1
| | | | | | | | | | | | | | | | | | | Summary: After the LLDB website was migrated to be generated by Sphinx the build.html file lives in another location. See http://lists.llvm.org/pipermail/lldb-dev/2019-April/014992.html. Reviewers: teemperor Reviewed By: teemperor Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D61368 llvm-svn: 359665
* Removed unnecessary conversion to StringRefRaphael Isemann2019-05-011-3/+1
| | | | llvm-svn: 359664
* [yaml2obj] - Report when unknown section is referenced from program header ↵George Rimar2019-05-013-31/+42
| | | | | | | | | | | | declaration block. Previously we did not report this. Also this removes multiple lookups in the map what cleanups the code. Differential revision: https://reviews.llvm.org/D61322 llvm-svn: 359663
OpenPOWER on IntegriCloud