summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Index] Report specialization bases as references when ↵Fangrui Song2018-09-232-5/+16
| | | | | | | | | | | | | | | | | | | | IndexImplicitInstantiation is true Summary: template <typename T> struct B {}; template <typename T> struct D : B<T> {}; // `B` was not reported as a reference This patch fixes this. Reviewers: akyrtzi, arphaman, devnexen Reviewed By: devnexen Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D52331 llvm-svn: 342831
* [X86] Add isel pattern for (v8i16 (sext (v8i1))) with DQI and no BWI.Craig Topper2018-09-232-118/+536
| | | | | | | | Our lowering that tries to avoid this sign extend can be defeated by the DAG combine folding it with a truncate. The pattern needs to extend to an v8i32 then truncate back down to v8i16. llvm-svn: 342830
* [X86] Fix a few typos in comments.Craig Topper2018-09-231-2/+2
| | | | llvm-svn: 342829
* [ORC] Update ORC C bindings to use the new llvm::Error C API.Lang Hames2018-09-234-183/+175
| | | | | | | | | This replaces instances of the LLVMOrcErrorCode type with LLVMErrorRef, simplifying the implementation of the OrcCBindingsStack class and ORC C API bindings and making it possible to return arbitrary (wrapped) llvm::Errors. llvm-svn: 342828
* Fix modules build with shared library.Eric Fiselier2018-09-231-0/+6
| | | | | | | | | | | | | r341994 caused clangAnalysis to pull all of the AST matchers library into clang. Due to inline key functions in the headers, importing the AST matchers library gives a link dependency on the AST matchers (and thus the AST), which clang should not have. This patch works around the issues by excluding the offending libclangAnalysis header in the modulemap. llvm-svn: 342827
* [DAGCombiner] Simplify some code in visitBITCAST. NFCICraig Topper2018-09-221-9/+3
| | | | llvm-svn: 342826
* [Index] Fix header guard namingFangrui Song2018-09-221-1/+1
| | | | llvm-svn: 342825
* [AArch64] Support adding X[8-15,18] registers as CSRs.Tri Vo2018-09-2211-7/+253
| | | | | | | | | | | | | | | | | | | Summary: Specifying X[8-15,18] registers as callee-saved is used to support CONFIG_ARM64_LSE_ATOMICS in Linux kernel. As part of this patch we: - use custom CSR list/mask when user specifies custom CSRs - update Machine Register Info's list of CSRs with additional custom CSRs in LowerCall and LowerFormalArguments. Reviewers: srhines, nickdesaulniers, efriedma, javed.absar Reviewed By: nickdesaulniers Subscribers: kristof.beyls, jfb, llvm-commits Differential Revision: https://reviews.llvm.org/D52216 llvm-svn: 342824
* Eliminate some unneeded signed/unsigned conversionsAaron Puchert2018-09-223-17/+19
| | | | | | | No functional change is intended, but generally this should be a bit more safe. llvm-svn: 342823
* [NFC][libc++] Fix typo in the description of LIBCXX_INCLUDE_BENCHMARKSLouis Dionne2018-09-221-1/+1
| | | | llvm-svn: 342822
* Mark [[nodiscard]] tests unsupported on GCC prior to 7.0Eric Fiselier2018-09-221-0/+3
| | | | llvm-svn: 342821
* Fix UB in SIMD tests.Eric Fiselier2018-09-221-1/+1
| | | | | | | | | One of the SIMD tests attempted to left shift a value by 42, which is UB when the left hand side is a 32 bit integer type. This patch adjusts the test to use the value 4 instead of 42. llvm-svn: 342820
* [libcxx] Readjust nodiscard_extensions.pass.cpp test - just disable for ASANRoman Lebedev2018-09-221-2/+4
| | | | | | | | | | | In rL342814, i have committed a blind fix to unbreak the asan buildbot, but as it was later discussed, the leak is intentional, so we can not fix the failure that way. So this reverts the leak 'fix', and simply disables the test in the presence of ASAN. llvm-svn: 342819
* Mark test as flakyEric Fiselier2018-09-221-0/+2
| | | | llvm-svn: 342818
* Update docs to reference new libc++ mailing lists.Eric Fiselier2018-09-221-3/+3
| | | | llvm-svn: 342817
* Correct docs to reference the new libc++ lists.Eric Fiselier2018-09-222-15/+12
| | | | | | | | We recently added libcxx-dev and libcxx-commits mailing lists. This patch updates the libc++ documentation to correctly reference the libc++ lists instead of the old Clang ones. llvm-svn: 342816
* Fix incorrectly aligned exceptions in 32 bit builds.Eric Fiselier2018-09-221-0/+3
| | | | | | | | | | | | | | | | | This patch fixes a bug where exceptions in 32 bit builds would be incorrectly aligned because malloc only provides 8 byte aligned memory where 16 byte alignment is needed. This patch makes libc++abi correctly use posix_memalign when it's available. This requires defining _LIBCPP_BUILDING_LIBRARY so that libc++ only defines _LIBCPP_HAS_NO_ALIGNED_ALLOCATION when libc doesn't support it and not when aligned new/delete are disable for other reasons. This bug somehow made it into the 7.0 release, making it a regression. Therefore this patch should be included in the next dot release. llvm-svn: 342815
* [libcxx] Blind attempt to fix harmless leak in nodiscard_extensions.pass.cpp ↵Roman Lebedev2018-09-221-1/+2
| | | | | | | | test libcxx-libcxxabi-x86_64-linux-ubuntu-asan complains about a leak here. llvm-svn: 342814
* [libcxx] Fix the definition of the check-cxx-abilist target on DarwinLouis Dionne2018-09-221-7/+11
| | | | | | | | | | | | | | | | Summary: r342805 added support for the check-cxx-abilist target on FreeBSD, but broke the target on macOS in doing so. The problem is that the GENERIC_TARGET_TRIPLE gets overwritten after replacing the FreeBSD regular expression, which nullifies the replacement done with the darwin regular expression. Reviewers: dim, EricWF Subscribers: emaste, mgorny, krytarowski, christof, dexonsmith, cfe-commits, libcxx-commits Differential Revision: https://reviews.llvm.org/D52394 llvm-svn: 342813
* Fix codemodels.c test case (only test mcmodel=medium on X86).Caroline Tice2018-09-221-1/+1
| | | | | | | | | aarch64 testing is broken because "medium" is not a valid code-model on aarch64, and codemodels.c tests that. This fixes that problem by adding "-triple x86_64-unknown-linux-gnu" to the test with "-mcode-model moedium". llvm-svn: 342812
* [libunwind][NFC] Suppress unused parameter warningsLouis Dionne2018-09-221-1/+4
| | | | | | | | | | Reviewers: EricWF Subscribers: christof, chrib, dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D52393 llvm-svn: 342811
* Document new symbols for __u64toa and __u32toaZhihao Yuan2018-09-221-0/+12
| | | | | | | | | | | | | | | | | Summary: They are introduced in r338479; their Linux ABI changes are recorded in r338486. TODO: Record the Mac OS X ABI changes. Reviewers: EricWF Reviewed By: EricWF Subscribers: christof, ldionne, libcxx-commits, cfe-commits Differential Revision: https://reviews.llvm.org/D52391 llvm-svn: 342810
* [DAGCombiner] Rewrite r331896 in a different way to address a FIXME. NFCICraig Topper2018-09-221-11/+14
| | | | llvm-svn: 342809
* [libc++] Add _LIBCPP_ENABLE_NODISCARD and _LIBCPP_NODISCARD_EXT to allow ↵Roman Lebedev2018-09-2212-17/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pre-C++2a [[nodiscard]] Summary: The `[[nodiscard]]` attribute is intended to help users find bugs where function return values are ignored when they shouldn't be. After C++17 the C++ standard has started to declared such library functions as `[[nodiscard]]`. However, this application is limited and applies only to dialects after C++17. Users who want help diagnosing misuses of STL functions may desire a more liberal application of `[[nodiscard]]`. For this reason libc++ provides an extension that does just that! The extension must be enabled by defining `_LIBCPP_ENABLE_NODISCARD`. The extended applications of `[[nodiscard]]` takes two forms: 1. Backporting `[[nodiscard]]` to entities declared as such by the standard in newer dialects, but not in the present one. 2. Extended applications of `[[nodiscard]]`, at the libraries discretion, applied to entities never declared as such by the standard. Users may also opt-out of additional applications `[[nodiscard]]` using additional macros. Applications of the first form, which backport `[[nodiscard]]` from a newer dialect may be disabled using macros specific to the dialect it was added. For example `_LIBCPP_DISABLE_NODISCARD_AFTER_CXX17`. Applications of the second form, which are pure extensions, may be disabled by defining `_LIBCPP_DISABLE_NODISCARD_EXT`. This patch was originally written by me (Roman Lebedev), then but then reworked by Eric Fiselier. Reviewers: mclow.lists, thakis, EricWF Reviewed By: thakis, EricWF Subscribers: llvm-commits, mclow.lists, lebedev.ri, EricWF, rjmccall, Quuxplusone, cfe-commits, christof Differential Revision: https://reviews.llvm.org/D45179 llvm-svn: 342808
* [bpf] Test case for symbol information in object fileYonghong Song2018-09-221-0/+8
| | | | | | | This patch tests the change introduced in r342556. Signed-off-by: Paul Chaignon <paul.chaignon@orange.com> llvm-svn: 342807
* [InstCombine][x86] try even harder to convert blendv intrinsic to generic IR ↵Sanjay Patel2018-09-222-18/+30
| | | | | | | | | | | | | | | | (PR38814) Follow-up to rL342324 (D52059): Missing optimizations with blendv are shown in: https://bugs.llvm.org/show_bug.cgi?id=38814 This is an easier and more powerful solution than adding pattern matching for a few special cases in the backend. The potential danger with this transform in IR is that the condition value can get separated from the select, and the backend might not be able to make a blendv out of it again. llvm-svn: 342806
* Similar to the handling of darwin target triples, strip the versionDimitry Andric2018-09-221-4/+7
| | | | | | | | | | numbers off of freebsd target triples, when generating the name of the ABI list file for check-cxx-abilist target. Also remove unnecessary parentheses in the regex for darwin, and slightly reword the comment. llvm-svn: 342805
* Change type of m_user_expression_start_pos to size_tRaphael Isemann2018-09-222-2/+2
| | | | | | | | | AbsPosToLineColumnPos is the only reader of m_user_expression_start_pos and actually treats it like a size_t. Also the value we store in m_user_expression_start_pos is originally a size_t, so it makes sense to change the type of this variable to size_t. llvm-svn: 342804
* Remove a bunch of empty subdirectories. NFCI.Dimitry Andric2018-09-220-0/+0
| | | | llvm-svn: 342803
* use the current url for bugzillaSylvestre Ledru2018-09-223-3/+3
| | | | llvm-svn: 342802
* update the links to use httpsSylvestre Ledru2018-09-221-6/+6
| | | | llvm-svn: 342801
* [lib/MC] - Set SHF_EXCLUDE flag for .dwo sections.George Rimar2018-09-222-11/+43
| | | | | | | | | | | | | | | | | DWARF5 spec says about single file split case: "The sections that do not require relocation, however, can be written to the relocatable object (.o) file but ignored by the the linker or they can be written to a separate DWARF object (.dwo) file that need not be accessed by the linker." Nice way to make linker to ignore them is to set SHF_EXCLUDE flag. It seems to be not harmful to always set it for .dwo sections. That is what this patch does. Differential revision: https://reviews.llvm.org/D52303 llvm-svn: 342800
* [mips] Provide more detailed description for MIPS targets. NFCSimon Atanasyan2018-09-221-4/+5
| | | | llvm-svn: 342799
* [mips] Remove obsoleted "experimental" tag from MIPS 64-bit targets. NFCSimon Atanasyan2018-09-221-2/+2
| | | | llvm-svn: 342798
* [InstCombine] Fold (min/max ~X, Y) -> ~(max/min X, ~Y) when Y is freely ↵Craig Topper2018-09-227-64/+112
| | | | | | | | | | | | | | | | invertible Summary: This restores the combine that was reverted in r341883. The infinite loop from the failing test no longer occurs due to changes from r342163. Reviewers: spatel, dmgreen Reviewed By: spatel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52070 llvm-svn: 342797
* [X86] Fix inline expansion for memset in x32Craig Topper2018-09-223-23/+54
| | | | | | | | | | | | | | Summary: Similar to D51893 which was for memcpy Reviewers: efriedma Reviewed By: efriedma Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52063 llvm-svn: 342796
* [X86] Fold (movmsk (setne (and X, (1 << C)), 0)) -> (movmsk (X << C)) for ↵Craig Topper2018-09-222-128/+67
| | | | | | | | vXi8 vectors. We don't have a vXi8 shift left so we need to bitcast to a vXi16 vector to perform the shift. If we let lowering legalize the vXi8 shift we get an extra and that we don't need and fail to remove. llvm-svn: 342795
* Update smart pointer detection for thread safety analysis.Richard Trieu2018-09-222-8/+122
| | | | | | | | | Objects are determined to be smart pointers if they have both a star and arrow operator. Some implementations of smart pointers have these overloaded operators in a base class, while the check only searched the derived class. This fix will also look for the operators in the base class. llvm-svn: 342794
* [Lexer] Add udefined_behavior_sanitizer featureLeonard Chan2018-09-222-0/+15
| | | | | | | | | This can be used to detect whether the code is being built with UBSan using the __has_feature(undefined_behavior_sanitizer) predicate. Differential Revision: https://reviews.llvm.org/D52386 llvm-svn: 342793
* Test commit.Vyacheslav Zakharin2018-09-221-0/+1
| | | | llvm-svn: 342792
* [llvm-size] Berkeley formatting: use tabs instead of spaces as field delimeters.Jordan Rupprecht2018-09-212-12/+33
| | | | | | This matches GNU behavior for size and allows use of cut to parse the output of llvm-size. llvm-svn: 342791
* Thread safety analysis: Make printSCFG compile again [NFC]Aaron Puchert2018-09-213-8/+33
| | | | | | | | | Not used productively, so no observable functional change. Note that printSCFG doesn't yet work reliably, it seems to crash sometimes. llvm-svn: 342790
* Fix codemodels.c test case (only test mcmodel-kernel on x86)Caroline Tice2018-09-211-1/+1
| | | | | | | | | | | | A recent commit I made broke aarch64 testing, because "kernel" apparently is not a valid code-model on aarch64, and one of my tests tested that. This fixes the problem (hopefully) by adding "-triple x86_64-unknown-linux-gnu" to the test build with "-mcodel-model kernel". Differential Revision: https://reviews.llvm.org/D52383 llvm-svn: 342789
* [X86] Teach fast isel to use MOV32ri64 for loading an unsigned 32 immediate ↵Craig Topper2018-09-212-15/+7
| | | | | | | | into a 64-bit register. Previously we used SUBREG_TO_REG+MOV32ri. But regular isel was changed recently to use the MOV32ri64 pseudo. Fast isel now does the same. llvm-svn: 342788
* Thread safety analysis: Make sure FactEntrys stored in FactManager are ↵Aaron Puchert2018-09-211-12/+12
| | | | | | | | | immutable [NFC] Since FactEntrys are stored in the FactManager, we can't manipulate them anymore when they are stored there. llvm-svn: 342787
* [Loop Vectorizer] Abandon vectorization when no integer IV foundWarren Ristow2018-09-214-0/+59
| | | | | | | | | | | | | | | | | Support for vectorizing loops with secondary floating-point induction variables was added in r276554. A primary integer IV is still required for vectorization to be done. If an FP IV was found, but no integer IV was found at all (primary or secondary), the attempt to vectorize still went forward, causing a compiler-crash. This change abandons that attempt when no integer IV is found. (Vectorizing FP-only cases like this, rather than bailing out, is discussed as possible future work in D52327.) See PR38800 for more information. Differential Revision: https://reviews.llvm.org/D52327 llvm-svn: 342786
* Move individual benchmark targets into the Utils folder in IDEs.Aaron Ballman2018-09-211-0/+1
| | | | llvm-svn: 342785
* Try moving this function to another file.Zachary Turner2018-09-212-7/+11
| | | | | | | I can't reproduce this compilation failure so I can't really test this fix. llvm-svn: 342784
* [ORC] In RTDyldObjectLinkingLayer, only call NotifyFreed if the object fileLang Hames2018-09-211-1/+1
| | | | | | | | | | | has been finalized. This prevents crashes on unfinalized objects for clients using JITEventListeners. Patch by Geoff Levner. Thanks Geoff! llvm-svn: 342783
* Add benchmark and benchmark_main to the Utils folder in IDEs.Aaron Ballman2018-09-211-0/+2
| | | | llvm-svn: 342782
OpenPOWER on IntegriCloud