- May 19, 2020
-
-
Ayal Zaks authored
LV considers an internally computed MaxVF to decide if a constant trip-count is a multiple of any subsequently chosen VF, and conclude that no scalar remainder iterations (tail) will be left for Fold Tail to handle. If an external VF is provided via -force-vector-width, it must be considered instead of the internal MaxVF. If an external UF is provided via -force-vector-interleave, it too must be considered in addition to MaxVF or user VF. Fixes PR45679. Differential Revision: https://reviews.llvm.org/D80085
-
LLVM GN Syncbot authored
-
Kirstóf Umann authored
One of the pain points in simplifying MallocCheckers interface by gradually changing to CallEvent is that a variety of C++ allocation and deallocation functionalities are modeled through preStmt<...> where CallEvent is unavailable, and a single one of these callbacks can prevent a mass parameter change. This patch introduces a new CallEvent, CXXDeallocatorCall, which happens after preStmt<CXXDeleteExpr>, and can completely replace that callback as demonstrated. Differential Revision: https://reviews.llvm.org/D75430
-
Matt Arsenault authored
-
Francesco Petrogalli authored
Summary: This patch adds IR intrinsics for the mnemonics USDOT and SUDOT of the 8.6 extension of Armv8-a. Reviewers: sdesmalen, efriedma, david-arm Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79876
-
Francesco Petrogalli authored
Summary: Guarded by __ARM_FEATURE_SVE_MATMUL_INT8: * svmmla_u32 * svmmla_s32 * svusmmla_s32 Guarded by __ARM_FEATURE_SVE_MATMUL_FP32: * svmmla_f32 Guarded by __ARM_FEATURE_SVE_MATMUL_FP64: * svmmla_f64 Reviewers: sdesmalen, kmclaughlin, efriedma, rengolin Subscribers: tschuett, kristof.beyls, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79639
-
Francesco Petrogalli authored
Summary: Instructions: * SMMLA * UMMLA * USMMLA * FMMLA Reviewers: sdesmalen, efriedma, kmclaughlin Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79638
-
- May 18, 2020
-
-
Amara Emerson authored
-
Sanjay Patel authored
-
Sanjay Patel authored
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D80155
-
Matt Arsenault authored
This was ignoring the address space, and would assert on address spaces with a different size from the default.
-
Sam McCall authored
Summary: This is worth another 10% or so on InedxBenchmark.DexBuild. Reviewers: kbobyrev Subscribers: ilya-biryukov, MaskRay, jkorous, mgrang, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79950
-
Craig Topper authored
Fix several places that were calling verifyFunction or verifyModule without checking the return value. verifyFunction/verifyModule don't assert or error internally. They also don't print anything if you don't pass a raw_ostream to them. So the caller needs to check the result and ideally pass a stream to get the messages. Otherwise they're just really expensive no-ops. I've filed PR45965 for another instance in SLPVectorizer that causes a lit test failure. Differential Revision: https://reviews.llvm.org/D80106
-
Vedant Kumar authored
Summary: Fixes UBSan-reported issues where the date value inside of an uninitialized NSDate overflows the 64-bit epoch. rdar://61774575 Reviewers: JDevlieghere, mib, teemperor Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D80150
-
Nikita Popov authored
Instead of fetching the pointer element type.
-
Jinsong Ji authored
When build in runtime bulid mode with LLVM_ENABLE_RUNTIMES, the base-config-ix.cmake will complain about two errors. One is empty string in replace, the other one is unknown `TEST_BIG_ENDIAN ` command. This patch fix it so that we can test runtime build. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D80040
-
Jean-Michel Gorius authored
Summary: Propagate memory operands when folding test instructions. This was split from D80062. Reviewers: craig.topper, rnk, lebedev.ri Reviewed By: craig.topper Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80140
-
Matt Arsenault authored
This was assumed to be a simple move, and interpreting the immediate modifier operand as a materialized immediate. Apparently the SDWA pass never produces these, but GlobalISel does emit these for some vector shuffles.
-
Artem Belevich authored
Still breaks CUDA compilation. This reverts commit e03394c6.
-
Lei Zhang authored
Differential Revision: https://reviews.llvm.org/D80149
-
Matt Arsenault authored
This was using an integer multiply instead of FP.
-
Volkan Keles authored
If both OpA and OpB is an add with NSW/NUW and with the same LHS operand, we can guarantee that the transformation is safe if we can prove that OpA won't overflow when IdxDiff added to the RHS of OpA. Review: https://reviews.llvm.org/D79817
-
Nikita Popov authored
Now that load/store have required alignment, accept Align here. This also avoids uses of getPointerElementType(), which is incompatible with opaque pointers.
-
George authored
Differential Revision: https://reviews.llvm.org/D80087
-
Jonas Devlieghere authored
As suggested by Adrian in D79398.
-
Arthur Eubanks authored
Summary: Currently they are not supported together. Supporting them will require a LangRef change. See discussion in https://reviews.llvm.org/D77689. Reviewers: rnk, efriedma Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80132
-
Jay Foad authored
r2694 fixed a bug where removePredecessor could create IR with a use not dominated by its def in a self loop. But this could only happen in an unreachable loop, and since that time the rules have been relaxed so that defs don't have to dominate uses in unreachable code, so the fix is unnecessary. The regression test added in r2691 still stands. Differential Revision: https://reviews.llvm.org/D80128
-
Jonas Paulsson authored
It's better to reuse the first source value than to use an undef second operand, because that will make more resulting VPERMs have identical operands and therefore MachineCSE more successful. Review: Ulrich Weigand
-
Mircea Trofin authored
Changed OnPass{Entry|Exit} -> onPass{Entry|Exit} Also fixed a small typo in a comment.
-
Jonas Devlieghere authored
Mark more tests as unsupported with reproducers.
-
Vedant Kumar authored
Summary: When salvaging a dead zext instruction, append a convert operation to the DIExpressions of the debug uses of the instruction, to prevent the salvaged value from being sign-extended. I confirmed that lldb prints out the correct unsigned result for "f" in the example from PR45923 with this changed applied. rdar://63246143 Reviewers: aprantl, jmorse, chrisjackson, davide Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80034
-
Alexandre Rames authored
This is equivalent to what is done for other projects (e.g. clang). Differential Revision: https://reviews.llvm.org/D80022
-
Tobias Gysi authored
Summary: This revision adds support for assembly formats with optional attributes. It elides optional attributes that are part of the syntax from the attribute dictionary. Reviewers: ftynse, Kayjukh Reviewed By: ftynse, Kayjukh Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, jurahul, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80113
-
Pierre Oechsel authored
For now the promoted buffer is indexed using the `full view`. The full view might be slightly bigger than the partial view (which is accounting for boundaries). Unfortunately this does not compose easily with other transformations when multiple buffers with shapes related to each other are involved. Take `linalg.matmul A B C` (with A of size MxK, B of size KxN and C of size MxN) and suppose we are: - Tiling over M by 100 - Promoting A only This is producing a `linalg.matmul promoted_A B subview_C` where `promoted_A` is a promoted buffer of `A` of size (100xK) and `subview_C` is a subview of size mxK where m could be smaller than 100 due to boundaries thus leading to a possible incorrect behavior. We propose to: - Add a new parameter to the tiling promotion allowing to enable the use of the full tile buffer. - By default all promoted buffers will be indexed by the partial view. Note that this could be considered as a breaking change in comparison to the way the tiling promotion was working. Differential Revision: https://reviews.llvm.org/D79927
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Nicolas Vasilache authored
Summary: Vector transfer ops semantic is extended to allow specifying a per-dimension `masked` attribute. When the attribute is false on a particular dimension, lowering to LLVM emits unmasked load and store operations. Differential Revision: https://reviews.llvm.org/D80098
-
Nicolas Vasilache authored
Summary: This revision makes the use of vector transfer operatons more idiomatic by allowing to omit and inferring the permutation_map. Differential Revision: https://reviews.llvm.org/D80092
-
David Sherwood authored
I have changed the pass so that we ignore shuffle vectors with scalable vector types, and replaced VectorType with FixedVectorType in the rest of the pass. I couldn't think of an easy way to test this change, since for scalable vectors we shouldn't be using shufflevectors for interleaving. This change fixes up some type size assert warnings I found in the following test: CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll Differential Revision: https://reviews.llvm.org/D79700
-