- Sep 13, 2022
-
-
Nicolas Vasilache authored
This revision significantly improves and tests the broadcast behavior of vector.warp_execute_on_lane_0. Previously, the implementation of the broadcast behavior of vector.warp_execute_on_lane_0 assumed that the broadcasted value was always of scalar type. This is not necessarily the case. Differential Revision: https://reviews.llvm.org/D133767
-
Aaron Ballman authored
The original proposal was seen in Apr 2019 and we accidentally used that date (201904L) as the feature testing value. However, WG14 N2408 was adopted at the Oct 2019 meeting and so that's the correct date for the feature testing macro. The committee draft for C2x shows 201910L for this value, so this changes brings us in line with the standard.
-
Alex Zinenko authored
Include the transform op being applied when reporting it using an invalidated handle. This was missing previously and made it harder for the user to understand where the handle is being used, especially if the transform script included some sort of iteration. Reviewed By: guraypp Differential Revision: https://reviews.llvm.org/D133774
-
Nico Weber authored
-
David Green authored
If the Shuffle is a splat and the operand is a zext/sext, sinking the operand and the s/zext can help create indexed s/umull. This is especially useful to prevent i64 mul being scalarized. Differential Revision: https://reviews.llvm.org/D133355
-
Matt Arsenault authored
-
Christian Sigg authored
This tool is only used if `MLIR_ENABLE_SPIRV_CPU_RUNNER` was specified and should only be substituted in that case. Alternatively, we could make the substitution optional. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D133752
-
Aaron Ballman authored
Now that Clang 15 is out, we can swap all the unreleased entries over.
-
Aaron Ballman authored
The original proposal was adopted in Apr 2019, but was subsequently updated by WG14 N2662 in June 2021. We already supported the attribute on a label and it behaved as expected, but we had not bumped the feature test value.
-
Nico Weber authored
This reverts commit 35028d41. Breaks tests on Windows, see https://reviews.llvm.org/D133549#3785952
-
Simon Pilgrim authored
-
Matt Arsenault authored
This was happening for every iteration but only needs to be done once.
-
Matt Arsenault authored
This is the common case and should be checked first. Provides a very marginal compile time improvement on the example I'm looking at.
-
Aaron Ballman authored
This addresses the failures found in: https://lab.llvm.org/buildbot/#/builders/30/builds/25899
-
Aaron Ballman authored
The original proposal was adopted in Apr 2019 and so the previous value was 201904L. However, a subsequent proposal (N2448) was adopted to add an optional message argument to the attribute. We already support that functionality, but had not bumped the feature test value.
-
Animesh Kumar authored
This construct is being tested for atomic operation based upon the test 5.0/parallel_for_simd/test_parallel_for_simd_atomic.c from the SOLLVE repo: https://github.com/SOLLVE/sollve_vv Differential Revision: https://reviews.llvm.org/D132643
-
Tres Popp authored
The class set a SmallVector stack allocation size to 64 elements which is uncommonly large. These structures are then used extensively and copied often in functions which led to stack frame sizes considered excessively large for some use cases. Differential Revision: https://reviews.llvm.org/D133761
-
Zain Jaffal authored
If one of the operands is negated in a multiplication we can optimise the operation by moving the negation to the smallest operand or to the result Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D133287
-
Simon Pilgrim authored
We should be able to efficiently use the vector version for scalar bitreverse, like we do for XOP.
-
Simon Pilgrim authored
-
Alexander Kornienko authored
This reverts commit d200db38, which causes a clang crash. See https://reviews.llvm.org/D111283#3785755 Test case for convenience: ``` template <typename T> using P = int T::*; template <typename T, typename... A> void j(P<T>, T, A...); template <typename T> void j(P<T>, T); struct S { int b; }; void g(P<S> k, S s) { j(k, s); } ```
-
David Spickett authored
This extends 4658366d to add a note explaining why the register is reserved. note: x13 is clobbered by asynchronous signals when using Arm64EC. I've added testing for w/x registers and v/q/s/d and h floating point registers. llvm will accept, but silently do nothing with, b registers. So they are not tested here (clang rejects them so at least for C you're safe anyway). Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D133701
-
Jay Foad authored
-
Pavel Samolysov authored
Some uses of std::make_pair and the std::pair's first/second members in the ScheduleDAGInstrs.[cpp|h] files were replaced with using of the vector's emplace_back along with structure bindings from C++17.
-
Dmitry Preobrazhensky authored
Differential Revision: https://reviews.llvm.org/D133608
-
Dmitry Preobrazhensky authored
Differential Revision: https://reviews.llvm.org/D133606
-
Sven van Haastregt authored
Ensure any uses of `image2d_depth_t` and `image2d_array_depth_t` are guarded behind the `cl_khr_depth_images` extension in `OpenCLBuiltins.td`. Fix a few missing guards in `opencl-c.h`.
-
jacquesguan authored
Reviewed By: reames Differential Revision: https://reviews.llvm.org/D133005
-
Sylvestre Ledru authored
Causing: https://github.com/llvm/llvm-project/issues/57709 This reverts commit ab56719a.
-
Jean Perier authored
CompareToBlankPadding was doing signed compare on architecture where `char` is signed. This caused `'abc'//char(128) > 'abc'` to evaluate to false at runtime instead of true. Differential Revision: https://reviews.llvm.org/D133693
-
Timm Bäder authored
Add is a template parameter, so we can use constexpr if here.
-
Timm Bäder authored
Make stackRef() const as well and use that.
-
Timm Bäder authored
Make localRef() const and use that.
-
Timm Bäder authored
-
Timm Bäder authored
No need to include the full Pointer.h here.
-
Timm Bäder authored
References are implemented through pointers, so we need a second deref when encountering a DeclRefExpr of a reference type. Differential Revision: https://reviews.llvm.org/D132997
-
Haojian Wu authored
-
Nikita Popov authored
This call is expensive, so don't perform it for zero indices. Also rename the variable to use Alloc rather than Alloca, this doesn't have anything to do with allocas in particular.
-
Florian Hahn authored
This is to reduce the diff in follow-up changes.
-
David Green authored
This attempts to stop the type promotion pass transforming where it is not profitable, by not marking PhiNodes as ToPromote and being more aggressive about pulling extends out of loops. Differential Revision: https://reviews.llvm.org/D133203
-