summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Make] Revert some changes from r372795.Jonas Devlieghere2019-09-252-4/+4
| | | | | | These changes cause the corresponding test to fail on the Linux bots. llvm-svn: 372801
* remove unused method ResetOutputFileHandle()Jonas Devlieghere2019-09-254-11/+0
| | | | | | | | | | | ResetOutputFileHandle() isn't being used by anything. Also it's using FILE*, which is something we should be doing less of. Remove it. Patch by: Lawrence D'Anna Differential revision: https://reviews.llvm.org/D68001 llvm-svn: 372800
* [CMake] Don't modify LLVM_DISTRIBUTION_COMPONENTS if it's not setJonas Devlieghere2019-09-251-2/+4
| | | | | | | Don't try to remove debugserver from LLVM_DISTRIBUTION_COMPONENTS if the list is not set. llvm-svn: 372799
* [ELF] accept thinlto options without --plugin-opt= prefixBob Haarman2019-09-257-22/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When support for ThinLTO was first added to lld, the options that control it were prefixed with --plugin-opt= for compatibility with an existing implementation as a linker plugin. This change enables shorter versions of the options to be used, as follows: New Existing -thinlto-emit-imports-files --plugin-opt=thinlto-emit-imports-files -thinlto-index-only --plugin-opt=thinlto-index-only -thinlto-index-only= --plugin-opt=thinlto-index-only= -thinlto-object-suffix-replace= --plugin-opt=thinlto-object-suffix-replace= -thinlto-prefix-replace= --plugin-opt=thinlto-prefix-replace= -lto-obj-path= --plugin-opt=obj-path= The options with the --plugin-opt= prefix have been retained as aliases for the shorter variants so that they continue to be accepted. Reviewers: tejohnson, ruiu, espindola Reviewed By: ruiu Subscribers: emaste, arichardson, MaskRay, steven_wu, dexonsmith, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67782 llvm-svn: 372798
* [Documentation] Expand on testing variants.Jonas Devlieghere2019-09-251-7/+54
| | | | | | | | | | | | The testing documentation appears to be from an era when the only kind of tests were the lldbsuite python tests. This patch adds a short description of the unittests and LIT tests and how to run them. Patch by: Lawrence D'Anna Differential revision: https://reviews.llvm.org/D67943 llvm-svn: 372797
* [Docs] Moves Reference docs to new pageDeForest Richards2019-09-253-40/+46
| | | | | | Moves Reference docs to new page. Also adds a table of contents to Getting Involved page. llvm-svn: 372796
* Canonicalize variable usage in testsuite MakefilesAdrian Prantl2019-09-25146-219/+264
| | | | | | | | | | | | This test streamlines our use of variables that are expected by Makefile.rules throughout the test suite. Mostly it replaced potentially dangerous overrides and updates of variables like CFLAGS with safe assignments to variables reserved for this purpose like CFLAGS_EXTRAS. Differential Revision: https://reviews.llvm.org/D67984 llvm-svn: 372795
* [CMake] Don't try to install the system debugserver.Jonas Devlieghere2019-09-251-0/+4
| | | | | | | The custom target for the system debugserver has no install target, so we need to remove it from the LLVM_DISTRIBUTION_COMPONENTS list. llvm-svn: 372793
* [WebAssembly][NFC] Remove duplicate SIMD instructions and predicatesThomas Lively2019-09-252-59/+32
| | | | | | | | | | | | | | | | | | Summary: Instead of having different v128.load and v128.store instructions for each MVT, just have one of each that is reused in all the patterns. Also removes the HasSIMD128 predicate where accompanied by HasUnimplementedSIMD128, since the latter implies the former. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67930 llvm-svn: 372792
* Use double quotes for LDFLAGS in -DLLVM_BUILD_INSTRUMENTED_COVERAGEJustin Bogner2019-09-241-1/+1
| | | | | | | | Mimics the changes in r372209 to handle the change of quotes in r372226. Probably isn't sufficient for windows, but unbreaks the cmake flag at least. llvm-svn: 372791
* [NFC] Invoke lipo from CMAKE_LIPO.Puyan Lotfi2019-09-241-1/+3
| | | | | | | This shouldn't change anything, except that a cmake cache file that specifies CMAKE_LIPO can specify an alternate lipo to use. llvm-svn: 372790
* [SCEV] Disable canonical expansion for non-affine addrecs.Artur Pilipenko2019-09-243-4/+201
| | | | | | | | | | Reviewed By: apilipenko Differential Revision: https://reviews.llvm.org/D65276 Patch by Evgeniy Brevnov (ybrevnov@azul.com) llvm-svn: 372789
* Host: use the platform identifiers from LLVM (NFC)Saleem Abdulrasool2019-09-241-4/+5
| | | | | | | Use symbolic constants for the platform identifiers rather than replicating them locally. llvm-svn: 372788
* [libc++] Purge mentions of GCC 4 from the test suiteLouis Dionne2019-09-2432-66/+13
| | | | | | | We don't support GCC 4 and older according to the documentation, so we should pretend it doesn't exist. llvm-svn: 372787
* [CMake] Copy over the system debugserver when using LLDB_USE_SYSTEM_DEBUGSERVERJonas Devlieghere2019-09-247-5/+13
| | | | | | | | | | | | | | | | r366433 broke support for the system debugserver. Although the change was well-intended, it (presumably) unintentionally removed the logic to copy over the debugserver. As a result, even with LLDB_USE_SYSTEM_DEBUGSERVER enabled, we ended up building, signing and using the just-built debugserver. This patch partially recovers the old behavior: when LLDB_USE_SYSTEM_DEBUGSERVER is set we don't build debugserver and just copy over the system one. Differential revision: https://reviews.llvm.org/D67991 llvm-svn: 372786
* [BPF] Generate array dimension size properly for zero-size elementsYonghong Song2019-09-242-27/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, if an array element type size is 0, the number of array elements will be set to 0, regardless of what user specified. This implementation is done in the beginning where BTF is mostly used to calculate the member offset. For example, struct s {}; struct s1 { int b; struct s a[2]; }; struct s1 s1; The BTF will have struct "s1" member "a" with element count 0. Now BTF types are used for compile-once and run-everywhere relocations and we need more precise type representation for type comparison. Andrii reported the issue as there are differences between original structure and BTF-generated structure. This patch made the change to correctly assign "2" as the number elements of member "a". Some dead codes related to ElemSize compuation are also removed. Differential Revision: https://reviews.llvm.org/D67979 llvm-svn: 372785
* Adding support for overriding LLVM_ENABLE_RUNTIMES for runtimes builds.Puyan Lotfi2019-09-241-1/+5
| | | | | | | | | | | | Second attempt: Now with ';' -> '|' replacement. On some platforms, certain runtimes are not supported. For runtimes builds of those platforms it would be nice if we could disable certain runtimes (ie libunwind on Windows). Differential Revision: https://reviews.llvm.org/D67195 llvm-svn: 372784
* [PGO][PGSO] ProfileSummary changes.Hiroshi Yamauchi2019-09-243-0/+132
| | | | | | | | | | (Split of off D67120) ProfileSummary changes for profile guided size optimization. Differential Revision: https://reviews.llvm.org/D67377 llvm-svn: 372783
* [libc++] Try fixing tests that fail on GCC 5 and olderLouis Dionne2019-09-247-1/+27
| | | | llvm-svn: 372782
* [ELF][ARM] Fix crash when discarding InputSections that have .ARM.exidxPeter Smith2019-09-244-10/+38
| | | | | | | | | | | | When /DISCARD/ is used on an input section, that input section may have a .ARM.exidx metadata section that depends on it. As the discard handling comes after the .ARM.exidx synthetic section is created we need to make sure that we account for the case where the .ARM.exidx output section should be removed because there are no more live input sections. Differential Revision: https://reviews.llvm.org/D67848 llvm-svn: 372781
* [libc++] Remove C++03 variadics in shared_ptrZoe Carver2019-09-244-323/+80
| | | | | | | | | | | | | | Summary: As suggested by @ldionne in D66178, this patch removes C++03 variadics //only//. Following patches will apply more updates. Reviewers: ldionne, EricWF, mclow.lists Subscribers: christof, dexonsmith, libcxx-commits, ldionne Tags: #libc Differential Revision: https://reviews.llvm.org/D67675 llvm-svn: 372780
* [lld][WebAssembly] Fix static linking of -fPIC code with external undefined ↵Sam Clegg2019-09-247-34/+68
| | | | | | | | functions Differential Revision: https://reviews.llvm.org/D66784 llvm-svn: 372779
* [libc++] Implement LWG 3158Louis Dionne2019-09-245-17/+65
| | | | | | | | | | | | | | | | | Summary: LWG 3158 marks the allocator_arg_t constructor of std::tuple as conditionnally explicit based on whether the default constructors of the tuple's members are explicitly default constructible. Reviewers: EricWF, mclow.lists Subscribers: christof, jkorous, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D65232 llvm-svn: 372778
* [libc++] Implement LWG 2510Louis Dionne2019-09-2424-38/+387
| | | | | | | | | | | | | | | | | | | Summary: LWG2510 makes tag types like allocator_arg_t explicitly default constructible instead of implicitly default constructible. It also makes the constructors for std::pair and std::tuple conditionally explicit based on the explicit-ness of the default constructibility for the pair/tuple's elements. Reviewers: mclow.lists, EricWF Subscribers: christof, jkorous, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D65161 llvm-svn: 372777
* [NFC][COFF] fix typo in comment ("algortihm" -> "algorithm")Bob Haarman2019-09-241-1/+1
| | | | llvm-svn: 372776
* [NFC] Strenghten preconditions for warningDavid Bolvansky2019-09-241-1/+2
| | | | llvm-svn: 372775
* [unittest] Skip the socket tests if we $TMPDIR is too long.Jonas Devlieghere2019-09-241-4/+8
| | | | | | | | | | | | | Adrian added a sanity check to the socket tests to ensure the $TMPDIR is not too long for a socket. While this is great for diagnosing the problem it doesn't really solve the problem for environment where you have no control over that variable such as in CI. I propose to just skip the test in that case similar to what we do for tests that rely on targets that are not currently build, etc. Differential revision: https://reviews.llvm.org/D67972 llvm-svn: 372774
* [HIP] Support new kernel launching APIYaxun Liu2019-09-248-15/+44
| | | | | | Differential Revision: https://reviews.llvm.org/D67947 llvm-svn: 372773
* Extends the expansion of the LWZtoc pseduo op for AIX.Sean Fertile2019-09-242-15/+59
| | | | | | Differential Revision: https://reviews.llvm.org/D67853 llvm-svn: 372772
* [GCRelocate] Add a peephole to canonicalize base pointer relocationPhilip Reames2019-09-242-1/+23
| | | | | | If we generate the gc.relocate, and then later prove two arguments to the statepoint are equivalent, we should canonicalize the gc.relocate to the form we would have produced if this had been known before rewriting. llvm-svn: 372771
* [X86] Add MMX MOVD/MOVQ stores to folding tables to support stack foldingSimon Pilgrim2019-09-242-6/+4
| | | | llvm-svn: 372770
* [InstCombine] (a+b) < a && (a+b) != 0 -> (0-b) < a iff a/b != 0 (PR43259)Roman Lebedev2019-09-242-38/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is again motivated by D67122 sanitizer check enhancement. That patch seemingly worsens `-fsanitize=pointer-overflow` overhead from 25% to 50%, which strongly implies missing folds. For ``` #include <cassert> char* test(char& base, signed long offset) { __builtin_assume(offset < 0); return &base + offset; } ``` We produce https://godbolt.org/z/r40U47 and again those two icmp's can be merged: ``` Name: 0 Pre: C != 0 %adjusted = add i8 %base, C %not_null = icmp ne i8 %adjusted, 0 %no_underflow = icmp ult i8 %adjusted, %base %r = and i1 %not_null, %no_underflow => %neg_offset = sub i8 0, C %r = icmp ugt i8 %base, %neg_offset ``` https://rise4fun.com/Alive/ALap https://rise4fun.com/Alive/slnN There are 3 other variants of this pattern, i believe they all will go into InstSimplify. https://bugs.llvm.org/show_bug.cgi?id=43259 Reviewers: spatel, xbolva00, nikic Reviewed By: spatel Subscribers: efriedma, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67849 llvm-svn: 372768
* [InstCombine] (a+b) <= a && (a+b) != 0 -> (0-b) < a (PR43259)Roman Lebedev2019-09-242-28/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is again motivated by D67122 sanitizer check enhancement. That patch seemingly worsens `-fsanitize=pointer-overflow` overhead from 25% to 50%, which strongly implies missing folds. This pattern isn't exactly what we get there (strict vs. non-strict predicate), but this pattern does not require known-bits analysis, so it is best to handle it first. ``` Name: 0 %adjusted = add i8 %base, %offset %not_null = icmp ne i8 %adjusted, 0 %no_underflow = icmp ule i8 %adjusted, %base %r = and i1 %not_null, %no_underflow => %neg_offset = sub i8 0, %offset %r = icmp ugt i8 %base, %neg_offset ``` https://rise4fun.com/Alive/knp There are 3 other variants of this pattern, they all will go into InstSimplify: https://rise4fun.com/Alive/bIDZ https://bugs.llvm.org/show_bug.cgi?id=43259 Reviewers: spatel, xbolva00, nikic Reviewed By: spatel Subscribers: hiraditya, majnemer, vsk, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67846 llvm-svn: 372767
* [X86] Add tests showing failure to stack fold MMX MOVD/MOVQ storesSimon Pilgrim2019-09-241-0/+62
| | | | llvm-svn: 372766
* [TextAPI] Remove redundant checking causing warnings. NFC.Michael Liao2019-09-241-4/+4
| | | | | | - Minor coding format. llvm-svn: 372765
* Regex: Make "match" and "sub" const member functionsThomas Preud'homme2019-09-246-23/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The Regex "match" and "sub" member functions were previously not "const" because they wrote to the "error" member variable. This commit removes those assignments, and instead assumes that the validity of the regex is already known after the initial compilation of the regular expression. As a result, these member functions were possible to make "const". This makes it easier to do things like pre-compile Regexes up-front, and makes "match" and "sub" thread-safe. The error status is now returned as an optional output, which also makes the API of "match" and "sub" more consistent with each other. Also, some uses of Regex that could be refactored to be const were made const. Patch by Nicolas Guillemot Reviewers: jankratochvil, thopre Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67241 llvm-svn: 372764
* [NFC] Fix typo in the "kind" description for the software single-step breakpointTatyana Krasnukha2019-09-241-1/+1
| | | | llvm-svn: 372763
* [yaml2obj/obj2yaml] - Add support for .stack_sizes sections.George Rimar2019-09-248-15/+480
| | | | | | | | | | | .stack_sizes is a SHT_PROGBITS section that contains pairs of <address (4/8 bytes), stack size (uleb128)>. This patch teach tools to parse and dump it. Differential revision: https://reviews.llvm.org/D67757 llvm-svn: 372762
* [Compiler] Fix LLVM_NODISCARD for GCCDavid Bolvansky2019-09-241-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This branch is currently dead since we don't use C++17. #if __cplusplus > 201402L && LLVM_HAS_CPP_ATTRIBUTE(nodiscard) #define LLVM_NODISCARD [[nodiscard]] This branch is Clang-only. #elif LLVM_HAS_CPP_ATTRIBUTE(clang::warn_unused_result) #define LLVM_NODISCARD [[clang::warn_unused_result]] While we could use gnu variant [[gnu::warn_unused_result]], it is not ideal because it works only on functions. /home/xbolva00/LLVM/llvm/include/llvm/ADT/ArrayRef.h:41:24: warning: ‘warn_unused_result’ attribute only applies to function types [-Wattributes] GCC (checked 5,6,7,8) seems to enable [[nodiscard]] even in C++14 mode and does not produce warnings that nodiscard is C++17 feature. but Clang does - but we do not reach it due the code above. So it affects only GCC and does what we want. Reviewers: jfb, rsmith, echristo, aaron.ballman Reviewed By: aaron.ballman Subscribers: MaskRay, dexonsmith Differential Revision: https://reviews.llvm.org/D67663 llvm-svn: 372761
* [clang-format] [PR36858] Add missing .hh and .cs extensions from python ↵Paul Hoad2019-09-242-3/+4
| | | | | | | | | | | | | | | | | | support utilities Summary: https://bugs.llvm.org/show_bug.cgi?id=36858 identifies .hh as a missing C++ header extension file while making this change I realized there was no support for .cs files which were added recently Reviewers: pseyfert, klimek, owenpan Reviewed By: klimek Subscribers: cfe-commits Tags: #clang-tools-extra, #clang Differential Revision: https://reviews.llvm.org/D67949 llvm-svn: 372760
* AggressiveAntiDepBreaker - silence static analyzer null dereference warning. ↵Simon Pilgrim2019-09-241-1/+1
| | | | | | | | NFCI. Assert that we've found the critical path. llvm-svn: 372759
* SafepointIRVerifier - silence static analyzer dyn_cast<Instruction> null ↵Simon Pilgrim2019-09-241-2/+2
| | | | | | | | dereference warnings. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<Instruction> directly and if not assert will fire for us. llvm-svn: 372758
* [COFF] Silence static analyzer null dereference warning. NFCI.Simon Pilgrim2019-09-241-1/+4
| | | | | | Assert that the COFFSymbolRef is correct. llvm-svn: 372757
* Revert r372333: [DAG][X86] Convert isNegatibleForFree/GetNegatedExpression ↵Ilya Biryukov2019-09-247-477/+357
| | | | | | | | | | to a target hook (PR42863) Reason: this caused severe compile time regressions in JAX. See email thread of original revision on llvm-commits for details: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190923/697042.html llvm-svn: 372756
* [lldb] [Process/NetBSD] Fix handling LLDB_INVALID_SIGNAL_NUMBERMichal Gorny2019-09-241-2/+4
| | | | | | | | | Fix NativeProcessNetBSD::Resume() to handle LLDB_INVALID_SIGNAL_NUMBER correctly. Fixes breakage caused by r372090 and r372300. I have major rewrite of that function pending; however, the fixes to gdb-remote were committed prior to that. llvm-svn: 372755
* [docs][llvm-strip][llvm-objcopy] Improve wording and fix highlightingJames Henderson2019-09-242-7/+7
| | | | llvm-svn: 372754
* [clangd] Add semantic selection to ClangdLSPServer.Utkarsh Saxena2019-09-246-0/+123
| | | | | | | | | | | | | | | | | | | | | | Summary: This adds semantic selection to the LSP Server. Adds support for serialization of input request and the output reply. Also adds regression tests for the feature. Currently we do not support multi cursor.The LSP Server only accepts single position in the request as opposed to many position in the spec. Spec: https://github.com/microsoft/language-server-protocol/blob/dbaeumer/3.15/specification.md#textDocument_selectionRange Reviewers: hokein Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67720 llvm-svn: 372753
* [clangd] Save an unnecessary copy, NFC.Haojian Wu2019-09-241-1/+1
| | | | llvm-svn: 372752
* [docs][llvm-size] Fix typoJames Henderson2019-09-241-1/+1
| | | | llvm-svn: 372750
* [Diagnostics] Handle tautological left shifts in boolean context David Bolvansky2019-09-243-12/+30
| | | | llvm-svn: 372749
OpenPOWER on IntegriCloud