- Aug 01, 2023
-
-
Joseph Huber authored
The GPU makes use of different address spaces. We generally work with global memory, thread private memory, and thread shared memory. This patch simply adds a few preliminary wrappers to map these concepts to the numerical values the backend uses. Obviously casts between these will need to be checked by the user. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D156731
-
Younan Zhang authored
This is a follow-up to D151785, addressing https://github.com/clangd/clangd/issues/1703. The previous approach of peeling pointer types during a traversal using getPointeeType might have produced unexpected results; since the method would implicitly desugar the type if the type being passed in could not be cast to a Pointer-like Type. Reviewed By: nridge Differential Revision: https://reviews.llvm.org/D156300
-
Francesco Petrogalli authored
When dealing with the subunits of a resource group, we should reset the subunits availability at the first avaiable cycle of the resource that contains the subunits. Previously, the reset operation was returning cycle 0, effectively erasing the booking history of the subunits. Without this change, when using intervals for models have make use of subunits, the erasing of resource booking for subunits can raise the assertion "A resource is being overwritten" in `ResourceSegments::add`. The test added in the patch is one of such cases. Reviewed By: andreadb Differential Revision: https://reviews.llvm.org/D156530
-
LLVM GN Syncbot authored
-
Sameer Sahasrabuddhe authored
This reverts commit 93a37067. The "extern template" declaration of CycleInfo caused problems in a shared build when CycleInfo was removed from Verifier.cpp. There needs to be an explicit instantiation corresponding to an extern template in every SO.
-
Aaron Ballman authored
This amends 1e06b82b
-
Paulo Matos authored
Adds support for SPV_INTEL_optnone. Currently still in draft form but I wanted to open this revision to ask some questions. Differential Revision: https://reviews.llvm.org/D156297
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D149960
-
Ben Shi authored
Reviewed By: zixuan-wu Differential Revision: https://reviews.llvm.org/D156780
-
Timm Bäder authored
Instead of evaluating the entire thing and then pop'ing the value from the stack, just pass the discard() on.
-
Nikita Popov authored
Set phi inputs to poison whenever we find a dead edge (either during initial worklist population or the main InstCombine run), instead of only doing this for successors of dead blocks. This means that the phi operand is set to poison even if for critical edges without an intermediate block. There are quite a few test changes, because the pattern is fairly common in vectorizer output, for cases where we know the vectorized loop will be entered.
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D149837
-
Nikita Popov authored
-
Nikita Popov authored
To reduce spurious diffs in future changes.
-
Nikita Popov authored
-
Sameer Sahasrabuddhe authored
The GenericConvergenceVerifier stores a pointer *OS, which can be nullptr. This can crash the verifier.
-
Nikita Popov authored
Avoid the second backedge condition from being optimized away, that's not the point of the test.
-
Maksim Kita authored
Improve foldOpIntoPhi() for icmp operator to check if incoming PHI value can be replaced with constant based on implied condition. Depends on D156619. Differential Revision: https://reviews.llvm.org/D156620
-
Maksim Kita authored
Precommit tests for D156620. Differential Revision: https://reviews.llvm.org/D156619
-
Ben Shi authored
Reviewed By: zixuan-wu Differential Revision: https://reviews.llvm.org/D156543
-
Ben Shi authored
Reviewed By: zixuan-wu Differential Revison: https://reviews.llvm.org/D154588
-
Kadir Cetinkaya authored
Per C++ standard, programs omitting the definition for initializer_list is ill-formed, https://eel.is/c++draft/dcl.init.list#2. Fixes https://github.com/llvm/llvm-project/issues/64198 Differential Revision: https://reviews.llvm.org/D156712
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D149834
-
Benjamin Kramer authored
-
Benjamin Kramer authored
This can be nullptr and ubsan found a couple of cases in LLVM's unit tests.
-
Andrzej Warzynski authored
This patch adds our first integration test for scalable vectorisation in Linalg. It simply runs `linalg.fill` to fill a scalable vector with a pre-defined f32 value. The result is printed to stdout. Note that with scalable architectures, the vector size is not know at compile time, but it is known at runtime. For this reason, the length of the output generated by the new test depends on the hardware implementation. For Arm's SVE we do know that there will be at least 4 f32 elements in every scalable vector register. CHECK lines were designed accordingly. In order to see what happens for different implementations of SVE, you can use the following QEMU settings: * qemu-aarch64 -cpu max,sve128=on * qemu-aarch64 -cpu max,sve512=on ATM, this test is only enabled when `MLIR_RUN_ARM_SVE_TESTS` is set. Differential Revision: https://reviews.llvm.org/D155839
-
Timm Bäder authored
Ignore the expressions and re-do the tests without all the "result ignored" expected warnings. Those are expected, given the nature of the tests. Differential Revision: https://reviews.llvm.org/D149831
-
Cullen Rhodes authored
The inner 1d vector row can be summed with vector.reduction op. The earlier mul reduction can't be updated similarly as it currently crashes in the backend with: LLVM ERROR: Expanding reductions for scalable vectors is undefined. Reviewed By: awarzynski, dcaballe Differential Revision: https://reviews.llvm.org/D156701
-
Cullen Rhodes authored
Currently a loop is materialized when lowering ArmSME loads and stores to intrinsics. This patch introduces two new ops to the ArmSME dialect that map 1-1 with intrinsics: 1. arm_sme.load_tile_slice - Loads a 1D tile slice from memory into a 2D SME "virtual tile". 2. arm_sme.store_tile_slice - Stores a 1D tile slice from a 2D SME "virtual tile" into memory. As well as a new conversion pass '-convert-arm-sme-to-scf' that materializes loops with these ops. The existing load/store lowering to intrinsics is updated to use these ops. Depends on D156517 Discourse thread: https://discourse.llvm.org/t/loop-materialization-in-armsme/72354 Reviewed By: awarzynski, dcaballe, WanderAway Differential Revision: https://reviews.llvm.org/D156467 -
Nikita Popov authored
In degenerate cases, it is possible for unreachable code removal to remove the current instruction. However, we still return the instruction to report a change, resulting in a use after free. Instead, perform the change reporting in the same way as eraseInstFromFunction() does, by directly setting MadeIRChange and returning nullptr. Fixes https://github.com/llvm/llvm-project/issues/64235.
-
Timm Bäder authored
The Base expression might cause side-effects, so we still have to evaluate it. Differential Revision: https://reviews.llvm.org/D149828
-
Corentin Jabot authored
Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D156597
-
Cullen Rhodes authored
The 'get_tile_id' op is currently marked as pure so CSE thinks these ops are equivalent and replaces with them a single one. This patch removes pure to prevent this. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D156558
-
Cullen Rhodes authored
Add -canonicalize to simplify Vector to ArmSME test and use CHECK-DAG. Reviewed By: awarzynski, dcaballe Differential Revision: https://reviews.llvm.org/D156517
-
Ingo Müller authored
Create a mix-in class with an overloaded constructor that makes the return type optional. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D156561
-
ManuelJBrito authored
Currently, we consider any instruction that might read from memory to be unsafe for phi-of-ops. This patch refines that by walking the clobbering memDefs until we either hit a block that strictly dominates the phi block (safe) or we hit a clobbering memPhi (unsafe). Differential Revision: https://reviews.llvm.org/D156055
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D154475
-
Kazu Hirata authored
The last use was removed by: commit 6b31e63b Author: Kazu Hirata <kazu@google.com> Date: Sat Jun 24 07:33:50 2023 -0700
-
Christian Kandeler authored
It's valuable to have document highlights for labels and be able to find references to them. Reviewed By: nridge Differential Revision: https://reviews.llvm.org/D150124
-
Nikita Popov authored
This reverts commit 3e386b22. Next to the original fold, this also implements an unnecessary and inappropriate simplifyICmpWithDominatingAssume() based fold.
-