- Jun 08, 2020
-
-
Craig Topper authored
LowerSELECT sees the CMP with 0 and wants to use a trick with SUB and SBB. But we can use the flags from the BSF/TZCNT. Fixes PR46203. Differential Revision: https://reviews.llvm.org/D81312
-
Hendrik Greving authored
Fixes a minor bug that led to finding the wrong register if the definition had more than one register destination.
-
Sanjay Patel authored
Similar to rG42f488b63a04 This is intended to preserve the logic of the existing transform, but remove unnecessary restrictions on uses and types. https://rise4fun.com/Alive/oS0 Name: narrow input Pre: C1 <= width(C1) - 24 %B = sext i8 %A %C = lshr %B, C1 %r = trunc %C to i24 => %s = ashr i8 %A, trunc(umin(C1, 7)) %r = sext i8 %s to i24 Name: wide input Pre: C1 <= width(C1) - 24 %B = sext i24 %A %C = lshr %B, C1 %r = trunc %C to i8 => %s = ashr i24 %A, trunc(umin(C1, 23)) %r = trunc i24 %s to i8
-
Sanjay Patel authored
Shows missing transforms with extra uses and vectors.
-
Christopher Tetreault authored
Reviewers: efriedma, kmclaughlin, sdesmalen, MaskRay, JDevlieghere Reviewed By: sdesmalen Subscribers: tschuett, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81201
-
Chris Jackson authored
- Now all SalvageDebugInfo() calls will mark undef if the salvage attempt fails. Reviewed by: vsk, Orlando Differential Revision: https://reviews.llvm.org/D78369
-
Yaxun (Sam) Liu authored
__sptr is a keyword for ms-extension. Change it from __sptr to __sinptr.
-
Saleem Abdulrasool authored
Use the default target triple configured by the user to determine the default architecture for `ld64.lld`. Stash the architecture in the configuration as when linking against TBDs, we will need to filter out the symbols based upon the architecture. Treat the Haswell slice as it is equivalent to `x86_64` but with the extra Haswell extensions (e.g. AVX2, FMA3, BMI1, etc). This will make it easier to add new architectures in the future. This change also changes the failure mode where an invalid `-arch` parameter will result in the linker exiting without further processing.
-
Florian Hahn authored
This patch adds a test to check that we do not use an undef renamable register for renaming the other operand in a LDP instruction, as suggested in D81108.
-
Jan-Willem Maessen authored
We sometimes have functions with large numbers of sibling basic blocks (usually with an error path exit from each one). This was triggering the qudratic behavior in this function - after visiting each child llvm would re-scan the parent from the beginning again. We modify the work stack to record the next index to be worked on alongside the pointer. This avoids the need to linearly search for the next unfinished child. Differential Revision: https://reviews.llvm.org/D80029
-
Christopher Tetreault authored
Reviewers: efriedma, c-rhodes, david-arm, spatel, craig.topper, aqjune, paquette, arsenm, gchatelet Reviewed By: spatel, gchatelet Subscribers: wdng, tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80313
-
Hiroshi Yamauchi authored
Summary: Following up D78949. Reviewers: davidxl Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81020
-
LLVM GN Syncbot authored
-
zoecarver authored
All compilers supported by libc++ have rvalues in C++03 mode so, there is no need for this non-rvalue overload. Differential Revision: https://reviews.llvm.org/D80881
-
Jonas Devlieghere authored
Replace the DisableColors with a ColorMode which can be set to Auto, Enabled and Disabled. The purpose of this change is to make it possible to ignore the command line option not only for disabling colors, but also for enabling them. Differential revision: https://reviews.llvm.org/D81056
-
Matt Arsenault authored
The update_*test_checks scripts miss new stuff added at the end of lines. Regenerate checks so the new mode register operands don't show up in the diff of a future patch.
-
David Goldman authored
Summary: Exempt ObjC from arrow/dot fixits since this has limited value for Objective-C, where properties (referenced by dot syntax) are normally backed by ivars (referenced by arrow syntax). In addition, the current implementation doesn't properly mark the fix it condition for Objective-C. This was initially added in https://reviews.llvm.org/D41537 for C++ and then later C, don't believe the Objective-C changes were intentional. Reviewers: sammccall, yvvan Subscribers: jfb, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81263
-
Kadir Cetinkaya authored
-
Fangrui Song authored
With a fix to use -triple %itanium_abi_triple Differential Revision: https://reviews.llvm.org/D80979
-
Ilya Biryukov authored
This commit updates the 'CLion Integration' section in ClangFormat docs. Key changes: - clang-format is enabled automatically when there is a config file; - formatting now works for indentations; - if clang-format is enabled without a config file, CLion suggests creating it based on the IDE settings or uses the LLVM style by default. Patch by Marina Kalashina! Reviewers: sylvestre.ledru, ilya-biryukov Reviewed By: ilya-biryukov Subscribers: ilya-biryukov, klimek, MyDeveloperDay, sammccall, gribozavr2 Differential Revision: https://reviews.llvm.org/D80721
-
Jonas Devlieghere authored
Move the color handling code from raw_fd_ostream to raw_ostream. This makes it possible to use colors with any ostream when enabled. The existing behavior where only raw_fd_ostream supports colors by default remains unchanged. Differential revision: https://reviews.llvm.org/D81110
-
Sanjay Patel authored
This is intended to preserve the logic of the existing transform, but remove unnecessary restrictions on uses and types. https://rise4fun.com/Alive/pYfR Pre: C1 <= width(C1) - 8 %B = sext i8 %A %C = lshr %B, C1 %r = trunc %C to i8 => %r = ashr i8 %A, trunc(umin(C1, 7))
-
David Goldman authored
This bit was assumed to be always false for ParmVarDecls, but attribute objc_externally_retained now can produce it. Differential revision: https://reviews.llvm.org/D74417
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D81344
-
Haojian Wu authored
Summary: crash stack: ``` llvm-project/clang/lib/AST/ASTContext.cpp:2248: clang::TypeInfo clang::ASTContext::getTypeInfoImpl(const clang::Type *) const: Assertion `!A->getDeducedType().isNull() && "cannot request the size of an undeduced or dependent auto type"' failed. PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: #0 0x00000000025bb0bf llvm::sys::PrintStackTrace(llvm::raw_ostream&) llvm-project/llvm/lib/Support/Unix/Signals.inc:564:13 #1 0x00000000025b92b0 llvm::sys::RunSignalHandlers() llvm-project/llvm/lib/Support/Signals.cpp:69:18 #2 0x00000000025bb535 SignalHandler(int) llvm-project/llvm/lib/Support/Unix/Signals.inc:396:3 #3 0x00007f9ef9298110 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14110) #4 0x00007f9ef8d72761 raise /build/glibc-M65Gwz/glibc-2.30/signal/../sysdeps/unix/sysv/linux/raise.c:51:1 #5 0x00007f9ef8d5c55b abort /build/glibc-M65Gwz/glibc-2.30/stdlib/abort.c:81:7 #6 0x00007f9ef8d5c42f get_sysdep_segment_value /build/glibc-M65Gwz/glibc-2.30/intl/loadmsgcat.c:509:8 #7 0x00007f9ef8d5c42f _nl_load_domain /build/glibc-M65Gwz/glibc-2.30/intl/loadmsgcat.c:970:34 #8 0x00007f9ef8d6b092 (/lib/x86_64-linux-gnu/libc.so.6+0x34092) #9 0x000000000458abe0 clang::ASTContext::getTypeInfoImpl(clang::Type const*) const llvm-project/clang/lib/AST/ASTContext.cpp:0:5 ``` Reviewers: sammccall Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81384
-
Sam McCall authored
Summary: This fixes a reported bug: if clang and libc++ are installed under /usr/lib/llvm-11/... but there'- a symlink /usr/bin/clang++-11, then a compile_commands.json with "/usr/bin/clang++-11 -stdlib=libc++" would previously look for libc++ under /usr/include instead of /usr/lib/llvm-11/include. The PATH change makes this work if the compiler is just "clang++-11" too. As this is now doing IO potentially on every getCompileCommand(), we cache the results for each distinct driver. While here: - Added a Memoize helper for this as multithreaded caching is a bit noisy. - Used this helper to simplify QueryDriverDatabase and reduce blocking there. (This makes use of the fact that llvm::Regex is now threadsafe) Reviewers: kadircet Subscribers: jyknight, ormris, ilya-biryukov, MaskRay, jkorous, arphaman, jfb, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75414
-
Sanjay Patel authored
-
Sanjay Patel authored
Shows missing transforms with extra uses and vectors.
-
Shengchen Kan authored
Summary: The macro `INSTANTIATE_TEST_CASE_P` is defined as ``` \# define INSTANTIATE_TEST_CASE_P(prefix, test_case_name, generator, ...) \ ... ``` If we build the test case with -werror, we will get an error like ``` error: ISO C++11 requires at least one argument for the "..." in a variadic macro testing::ValuesIn(TestClangConfig::allConfigs())); ^ ``` This patch fixes that. Reviewers: gribozavr, hlopko, eduucaldas, gribozavr2 Reviewed By: gribozavr2 Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81388
-
Aaron Puchert authored
Summary: When getting a warning that we release a capability that isn't held it's sometimes not clear why. So just like we do for double locking, we add a note on the previous release operation, which marks the point since when the capability isn't held any longer. We can find this previous release operation by looking up the corresponding negative capability. Reviewers: aaron.ballman, delesley Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D81352
-
Aaron Puchert authored
Summary: The standard std::unique_lock can be constructed to manage a lock without initially acquiring it by passing std::defer_lock as second parameter. It can be acquired later by calling lock(). To support this, we use the locks_excluded attribute. This might seem like an odd choice at first, but its consistent with the other annotations we support on scoped capability constructors. By excluding the lock we state that it is currently not in use and the function doesn't change that, which is exactly what the constructor does. Along the way we slightly simplify handling of scoped capabilities. Reviewers: aaron.ballman, delesley Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D81332
-
Aaron Puchert authored
Removing the include was probably just forgotten after f13ba222.
-
Guillaume Chatelet authored
Summary: This is a followup on D81196. Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81362
-
Dmitry Vyukov authored
With the race_debug_openbsd_amd64.syso file created via this diff, Go's race detector is able to detect a race in the example code from this link: https://golang.org/doc/articles/race_detector.html Reviewed-in: https://reviews.llvm.org/D80469 Author: qbit (Aaron Bieber)
-
Xing GUO authored
This patch intends to be an NFC-patch. Test cases will be added in a follow-up patch. Reviewed By: jhenderson, grimar Differential Revision: https://reviews.llvm.org/D81356
-
Isuru Fernando authored
Summary: The only difference is that LLVM_ENABLE_WERROR is set to OFF by default, but we enable this in a standalone flang build This commit fixes some windows issues with the flags Reviewers: DavidTruby, jdoerfert, sscalpone Reviewed By: DavidTruby, sscalpone Subscribers: ormris, richard.barton.arm, mehdi_amini, Meinersbur, ChinouneMehdi, tskeith, mgorny, llvm-commits Tags: #llvm, #flang Differential Revision: https://reviews.llvm.org/D78306
-
Matt Arsenault authored
-
Sam Parker authored
Adding type checks into the other backends that call getTypeLegalizationCost. Differential Revision: https://reviews.llvm.org/D80984
-
Matt Arsenault authored
These have very few users to begin with, and have been marked deprecated for 2 months which should be long enough for out of tree targets.
-
David Sherwood authored
When the input to a wide compare instruction is a DUP or SPLAT_VECTOR node we should deal with cases where the DUP/SPLAT_VECTOR input operand is not an immediate value. I've fixed the code to return SDValue() in such cases and added a couple of tests - one each to represent the signed and unsigned cases. Differential Revision: https://reviews.llvm.org/D81167
-