- Apr 30, 2020
-
-
Benjamin Kramer authored
-
Sebastian Neubauer authored
When embedding LLVM as a CMake subproject, using cross-compiling does not work at the moment. This also affects -DLLVM_OPTIMIZED_TABLEGEN=1, which uses the same CMake infrastructure. This patch replaces global CMake variables with the current version, which allows cross-compilation to work in a subproject. CMAKE_BINARY_DIR -> CMAKE_CURRENT_BINARY_DIR CMAKE_SOURCE_DIR -> CMAKE_CURRENT_SOURCE_DIR CMAKE_PROJECT_NAME -> PROJECT_NAME Differential Revision: https://reviews.llvm.org/D78913
-
Kadir Cetinkaya authored
-
Raphael Isemann authored
This file currently doesn't compile under LLVM_ENABLE_MODULES as SmallVector is used in this header but is never forward declared or included in any way. Let's include SmallVector.h instead and get rid of the SmallVectorImpl fwd declaration which is now no longer necessary.
-
Jay Foad authored
-
Alexander Potapenko authored
I couldn't make arc land the changes properly, for some reason they all got squashed. Reverting them now to land cleanly. Summary: This reverts commit cfb5f89b. Reviewers: kcc, thejh Subscribers:
-
diggerlin authored
SUMMARY: emit .extern and .weak directive linkage Reviewers: hubert.reinterpretcast, Jason Liu Subscribers: wuzish, nemanjai, hiraditya Differential Revision: https://reviews.llvm.org/D76932
-
Simon Pilgrim authored
Shows issue that the IsNot() test can't see through shuffles/broadcasts
-
Kadir Cetinkaya authored
-
Jann Horn authored
Summary: A following commit will split the loop over ToInstrument into two. To avoid having to duplicate the condition for suppressing instrumentation sites based on ClDebug{Min,Max}, refactor it out into a new function. While we're at it, we can also avoid the indirection through NumInstrumented for setting FunctionModified. This is patch 1/4 of a patch series: https://reviews.llvm.org/D77616 [PATCH 1/4] [AddressSanitizer] Refactor ClDebug{Min,Max} handling https://reviews.llvm.org/D77617 [PATCH 2/4] [AddressSanitizer] Split out memory intrinsic handling https://reviews.llvm.org/D77618 [PATCH 3/4] [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction https://reviews.llvm.org/D77619 [PATCH 4/4] [AddressSanitizer] Instrument byval call arguments Reviewers: kcc, glider Reviewed By: glider Subscribers: jfb, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77616 -
Lei Zhang authored
This commit marks AllocLikeOp as MemAlloc in StandardOps. Also in Linalg dependency analysis use memory effect to detect allocation. This allows the dependency analysis to be more general and recognize other allocation-like operations. Differential Revision: https://reviews.llvm.org/D78705
-
Sanjay Patel authored
-
Sanjay Patel authored
-
jasonliu authored
Use unique_ptr to manage the lifetime of ABIInfo member inside TargetCodeGenInfo. Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D79033
-
Kadir Cetinkaya authored
-
Simon Pilgrim authored
X86 matches several 'shift+xor' funnel shift patterns: fold (or (srl (srl x1, 1), (xor y, 31)), (shl x0, y)) -> (fshl x0, x1, y) fold (or (shl (shl x0, 1), (xor y, 31)), (srl x1, y)) -> (fshr x0, x1, y) fold (or (shl (add x0, x0), (xor y, 31)), (srl x1, y)) -> (fshr x0, x1, y) These patterns are also what we end up with the proposed expansion changes in D77301. This patch moves these to DAGCombine's generic MatchFunnelPosNeg. All existing X86 test cases still pass, and we just have a small codegen change in pr32282.ll. Reviewed By: @spatel Differential Revision: https://reviews.llvm.org/D78935
-
Simon Pilgrim authored
As discussed on D78935
-
Sanjay Patel authored
-
Jay Foad authored
-
David Spickett authored
of a struct that cover the whole struct This can happen when the rest of the members of are zero length. Following the same pattern applied to the SROA pass in: d7f6f163 Fixes: https://bugs.llvm.org/show_bug.cgi?id=45335 Differential Revision: https://reviews.llvm.org/D78720
-
Sam Elliott authored
-
Cullen Rhodes authored
Summary: FP reductions no longer use these intrinsics since D78723. Reviewers: efriedma, sdesmalen Reviewed By: efriedma, sdesmalen Differential Revision: https://reviews.llvm.org/D79010
-
Cullen Rhodes authored
Summary: This patch implements custom floating-point reduction ISD nodes that have vector results, which are used to lower the following intrinsics: * llvm.aarch64.sve.fadda * llvm.aarch64.sve.faddv * llvm.aarch64.sve.fmaxv * llvm.aarch64.sve.fmaxnmv * llvm.aarch64.sve.fminv * llvm.aarch64.sve.fminnmv SVE reduction instructions keep their result within a vector register, with all other bits set to zero. Changes in this patch were implemented by Paul Walker and Sander de Smalen. Reviewers: sdesmalen, efriedma, rengolin Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D78723 -
David Sherwood authored
Summary: This patch tries to ensure that we do something sensible when generating code for the ISD::INSERT_VECTOR_ELT DAG node when operating on scalable vectors. Previously we always returned 'undef' when inserting an element into an out-of-bounds lane index, whereas now we only do this for fixed length vectors. For scalable vectors it is assumed that the backend will do the right thing in the same way that we have to deal with variable lane indices. In this patch I have permitted a few basic combinations for scalable vector types where it makes sense, but in general avoided most cases for now as they currently require the use of BUILD_VECTOR nodes. This patch includes tests for all scalable vector types when inserting into lane 0, but I've only included one or two vector types for other cases such as variable lane inserts. Differential Revision: https://reviews.llvm.org/D78992
-
Kadir Cetinkaya authored
-
mydeveloperday authored
Summary: The condition added with the new setting checked whether the character was an l-brace, not specifically a lambda l-brace, when deciding whether it was possible to break before it or not. This caused the l-brace of some initialiser lists to break onto the next line with the first argument of the initialiser list when the setting was enabled. Reviewed By: MyDeveloperDay, Wawha Patch By: duncan-llvm Subscribers: cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D79022
-
mydeveloperday authored
Summary: Due to the order in which the enum cases were defined the old options which were retained for backwards compatibility were being preferred over the new options when printing with the --dump-config option. Reviewers: MyDeveloperDay Reviewed By: MyDeveloperDay Patch By: duncan-llvm Subscribers: cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D79020
-
mydeveloperday authored
Summary: BTW my actual code that hit this issue is like ``` [a, b = std::move(b)](auto &&... c) mutable -> std::invoke_result_t<decltype(b), decltype(c)...> { /* omitted */ } ``` where this explicit return type is required for SFINAE. Reviewed By: krasimir, MyDeveloperDay Patch By: johnchen902 Subscribers: krasimir, dexonsmith, cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D78694 -
mydeveloperday authored
Summary: This is a tentative fix for https://bugs.llvm.org/show_bug.cgi?id=45357 Spaces seem to be introduced between * and * due to changes brought in for {D69573} Reviewers: sylvestre.ledru, mitchell-stellar, sammccall, Abpostelnicu, krasimir, jbcoe Reviewed By: Abpostelnicu Subscribers: tstellar, hans, Abpostelnicu, cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D78879
-
mydeveloperday authored
[clang-format] NFC Correct clang-format headers file so documentation can be once again autogenerated Summary: `ClangFormatStyleOptions.rst` should ALWAYS be autogenerated from Format.h using `clang/docs/tools/dump_format_style.py` if not its liable to get removed leaving options undocumented. This revision reworks the documentation for {D73354} {D73768} to ensure we can continue to regenerated Fix other minor changes that ensure the documentation remains consistent (Format.h obviously got re clang-formatted after the rst had been regenerated previously) Reviewed By: krasimir Subscribers: cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D79095 -
James Henderson authored
This makes it consistent throughout the options, although the end result is unchanged.
-
serge-sans-paille authored
-
Tres Popp authored
Summary: The purpose of this is to aid in having code behave differently on Operations based on their Dialect without caring about the specific Op. Additionally this is consistent with most other types supporting isa<> and dyn_cast<>. A Dialect matches isa<> based only on its namespace and relies on each namespace being unique. Differential Revision: https://reviews.llvm.org/D79088
-
Evgeniy Brevnov authored
Summary: There is no need to create BPI explicitly. It should be requested through AM in a normal way. Reviewers: skatkov Reviewed By: skatkov Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79080
-
Kadir Cetinkaya authored
-
Alexey Lapshin authored
Summary: Change std::vector to SmallVector to prevent re-allocations and to have small pre-allocated storage. Reviewers: clayborg, dblaikie Differential Revision: https://reviews.llvm.org/D79123
-
Jay Foad authored
The loops over use operands and def operands were mostly identical. Combine them, and likewise for load memoperands and store memoperands. NFC.
-
Jay Foad authored
It's cleaner to check this in the callers instead.
-
Kadir Cetinkaya authored
Summary: This makes FileShardedIndex more robust and gets rid of the need for a URIToFileCache, as it is done by the callers now and it is only once per file, rather than once per symbol. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79079
-
Fangrui Song authored
The generic implementation is actually specific to x86. It assumes the offset is relative to the end of the instruction and the immediate is not scaled (which is false on most RISC).
-