[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Store per-pattern IR modifications in separate state (PR #145319)

2025-06-23 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/145319 This commit adds extra state to `ConversionPatternRewriterImpl` to store all modified / newly-created operations and moved / newly-created blocks in separate lists on a per-pattern basis. This is in

[llvm-branch-commits] [mlir] [mlir][Transforms] Add 1:N support to `replaceUsesOfBlockArgument` (PR #145171)

2025-06-22 Thread Matthias Springer via llvm-branch-commits
@@ -1434,12 +1439,15 @@ Block *ConversionPatternRewriterImpl::applySignatureConversion( if (!inputMap) { // This block argument was dropped and no replacement value was provided. // Materialize a replacement value "out of thin air". - buildUnresolvedMateri

[llvm-branch-commits] [mlir] [mlir][Transforms] Add 1:N support to `replaceUsesOfBlockArgument` (PR #145171)

2025-06-21 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/145171 This commit adds 1:N support to `ConversionPatternRewriter::replaceUsesOfBlockArgument`. This was one of the few remaining dialect conversion APIs that does not support 1:N conversions yet. This comm

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add missing erasure notifications (PR #145030)

2025-06-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/145030 >From d65161f2d8e65512a6924ac96f069ab5acce0fcd Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 20 Jun 2025 12:25:00 + Subject: [PATCH] [mlir][Transforms] Dialect conversion: Add missing

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add missing erasure notifications (PR #145030)

2025-06-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/145030 >From edb49ecf11faa51847b324d6e43336845e71fcf4 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 20 Jun 2025 12:25:00 + Subject: [PATCH] [mlir][Transforms] Dialect conversion: Add missing

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add missing erasure notifications (PR #145030)

2025-06-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/145030 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add missing erasure notifications (PR #145030)

2025-06-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/145030 Add missing listener notifications when erasing nested blocks/operations. This commit also moves some of the functionality from `ConversionPatternRewriter` to `ConversionPatternRewriterImpl`. This is

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Dialect Conversion: Manually populate `unresolvedMaterializations` (PR #144664)

2025-06-18 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/144664 Manually populate the `unresolvedMaterializations` map instead of automatically in the `UnresolvedMaterializationRewrite` constructor. This simplifies the constructor a bit. This commit is in prepara

[llvm-branch-commits] [mlir] [mlir][SparseTensor] Fix type conversion rule (PR #140350)

2025-05-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/140350 A type conversion rule cannot make any assumptions about the number of pre-existing types in the `results` vector. This commit fixes a failed assertion in a SparseTensor type conversion rule. This is

[llvm-branch-commits] [mlir] Add missing imports (PR #138550)

2025-05-06 Thread Matthias Springer via llvm-branch-commits
@@ -10,6 +10,7 @@ #define MLIR_DIALECT_AFFINE_IR_VALUEBOUNDSOPINTERFACEIMPL_H #include "mlir/Support/LLVM.h" +#include matthias-springer wrote: Why is this import needed? https://github.com/llvm/llvm-project/pull/138550 _

[llvm-branch-commits] [mlir] Add missing imports (PR #138550)

2025-05-06 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer commented: I'm not sure what's the process for pushing to a release branch. https://github.com/llvm/llvm-project/pull/138550 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm

[llvm-branch-commits] [mlir] Add missing imports (PR #138550)

2025-05-06 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/138550 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add flag to disable rollback (PR #136490)

2025-04-21 Thread Matthias Springer via llvm-branch-commits
@@ -861,8 +861,10 @@ struct ConversionPatternRewriterImpl : public RewriterBase::Listener { /// conversion process succeeds. void applyRewrites(); - /// Reset the state of the rewriter to a previously saved point. - void resetState(RewriterState state); + /// Reset the

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add flag to disable rollback (PR #136490)

2025-04-21 Thread Matthias Springer via llvm-branch-commits
matthias-springer wrote: > So this would also allow folks to prefetch the future state? E.g., used to > test for failures when rollback no longer supported? Yes, that's correct. The simplest way to do that is to change the default value of the new `allowPatternRollback` flag to `false` in `Dia

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add flag to disable rollback (PR #136490)

2025-04-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/136490 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add flag to disable rollback (PR #136490)

2025-04-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/136490 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add flag to disable rollback (PR #136490)

2025-04-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer ready_for_review https://github.com/llvm/llvm-project/pull/136490 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Add flag to disable rollback (PR #136490)

2025-04-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/136490 This commit adds a new flag to `ConversionConfig` to disallow the rollback of IR modification. This commit is in preparation of the One-Shot Dialect Conversion refactoring, which will remove the abili

[llvm-branch-commits] [mlir] [mlir][memref][NFC] Simplify `constifyIndexValues` (PR #135940)

2025-04-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/135940 >From 05d2c7b8c4645dc686ea7ad20ed351c707430475 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 16 Apr 2025 10:02:41 +0200 Subject: [PATCH] [mlir][memref][NFC] Simplify `constifyIndexValues`

[llvm-branch-commits] [mlir] [mlir][memref][NFC] Simplify `constifyIndexValues` (PR #135940)

2025-04-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/135940 >From d137ec06b1b846232a77b78472c522183b872152 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 16 Apr 2025 10:02:41 +0200 Subject: [PATCH] [mlir][memref][NFC] Simplify `constifyIndexValues`

[llvm-branch-commits] [mlir] [mlir][memref][NFC] Simplify `constifyIndexValues` (PR #135940)

2025-04-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/135940 >From ea19bcfab213967b0e86aa1346734432e4843e0f Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 16 Apr 2025 10:02:41 +0200 Subject: [PATCH] [mlir][memref][NFC] Simplify `constifyIndexValues`

[llvm-branch-commits] [mlir] [mlir][memref][NFC] Simplify `constifyIndexValues` (PR #135940)

2025-04-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/135940 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][memref][NFC] Simplify `constifyIndexValues` (PR #135940)

2025-04-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/135940 Depends on #135939. >From 0ca00d18d5ce5b118fbc4c777ae9eabd5ae410e5 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 16 Apr 2025 10:02:41 +0200 Subject: [PATCH] [mlir][memref][NFC] Simplify

[llvm-branch-commits] [mlir] [mlir][LLVM] Delete `getFixedVectorType` and `getScalableVectorType` (PR #135051)

2025-04-10 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/135051 The LLVM dialect no longer has its own vector types. It uses `mlir::VectorType` everywhere. Remove `LLVM::getFixedVectorType/getScalableVectorType` and use `VectorType::get` instead. This commit addre

[llvm-branch-commits] [mlir] [mlir][LLVM] Delete `getFixedVectorType` and `getScalableVectorType` (PR #135051)

2025-04-09 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/135051 >From 120778f6eff8af147add819a4a9f3f31d495f6d8 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 9 Apr 2025 19:05:11 +0200 Subject: [PATCH] [mlir][LLVM] Delete `getFixedVectorType` and `getS

[llvm-branch-commits] [mlir] [mlir][LLVM] Delete `LLVMFixedVectorType` and `LLVMScalableVectorType` (PR #133286)

2025-04-08 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/133286 error: too big or took too long to generate ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/lis

[llvm-branch-commits] [mlir] [mlir][memref] Check memory space before lowering alloc ops (PR #134427)

2025-04-07 Thread Matthias Springer via llvm-branch-commits
@@ -75,9 +75,11 @@ class ConvertToLLVMPattern : public ConversionPattern { ValueRange indices, ConversionPatternRewriter &rewriter) const; - /// Returns if the given memref has identity maps and the element type is -

[llvm-branch-commits] [mlir] [mlir][memref] Check memory space before lowering alloc ops (PR #134427)

2025-04-07 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/134427 >From bd104624a51dc315b94f651271b95b8b438a8146 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 4 Apr 2025 19:59:28 +0200 Subject: [PATCH 1/2] [mlir][memref] Check memory space before loweri

[llvm-branch-commits] [mlir] [mlir][memref] Check memory space before lowering alloc ops (PR #134427)

2025-04-06 Thread Matthias Springer via llvm-branch-commits
@@ -22,7 +22,7 @@ func.func @bad_address_space(%a: memref<2xindex, "foo">) { // CHECK-LABEL: @invalid_int_conversion func.func @invalid_int_conversion() { - // expected-error@+1 {{conversion of memref memory space 1 : ui64 to integer address space failed. Consider adding

[llvm-branch-commits] [mlir] [mlir][LLVM] Delete `LLVMFixedVectorType` and `LLVMScalableVectorType` (PR #133286)

2025-04-05 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/133286 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][memref] Verify out-of-bounds access for `memref.subview` (PR #131876)

2025-04-04 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/131876 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][memref] Check memory space before lowering alloc ops (PR #134427)

2025-04-04 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/134427 Check the memory space before lowering allocation ops, instead of starting the lowering and then rolling back the pattern when the memory space was found to be incompatible with LLVM. Note: This is i

[llvm-branch-commits] [mlir] [mlir][LLVM] Delete `LLVMFixedVectorType` and `LLVMScalableVectorType` (PR #133286)

2025-03-27 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/133286 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][LLVM] Delete `LLVMFixedVectorType` and `LLVMScalableVectorType` (PR #133286)

2025-03-27 Thread Matthias Springer via llvm-branch-commits
@@ -150,8 +150,7 @@ generatedTypePrinter(Type def, AsmPrinter &printer); bool LLVMArrayType::isValidElementType(Type type) { return !llvm::isa( - type); +LLVMFunctionType, LLVMTokenType>(type); matthias-springer wrote: Note: `LLVMSc

[llvm-branch-commits] [mlir] [mlir][LLVM] Delete `LLVMFixedVectorType` and `LLVMScalableVectorType` (PR #133286)

2025-03-27 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/133286 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][LLVM] Delete `LLVMFixedVectorType` (PR #133286)

2025-03-27 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/133286 >From 44cfa133cbaae27620c911d15d985a5b51f1f1aa Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Thu, 27 Mar 2025 18:42:56 +0100 Subject: [PATCH 1/2] [mlir][LLVM] Delete `LLVMFixedVectorType` ---

[llvm-branch-commits] [mlir] [mlir][LLVM] Delete `LLVMFixedVectorType` (PR #133286)

2025-03-27 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/133286 Since #125690, the MLIR vector type supports `!llvm.ptr` as an element type. The only remaining element type for `LLVMFixedVectorType` is now `LLVMPPCFP128Type`. This commit turns `LLVMPPCFP128Type`

[llvm-branch-commits] [mlir] [mlir][memref] Remove runtime verification for `memref.reinterpret_cast` (PR #132547)

2025-03-25 Thread Matthias Springer via llvm-branch-commits
matthias-springer wrote: > I think this is OK, but when we create a new memref, dont we want to verify > that the strides specified dont make it such that accessing using strides > goes out of bounds? By "create a new memref" you mean the reinterpret_cast result, right? I'd say you don't want

[llvm-branch-commits] [mlir] [mlir][memref] Remove runtime verification for `memref.reinterpret_cast` (PR #132547)

2025-03-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/132547 The runtime verification code used to verify that the result of a `memref.reinterpret_cast` is in-bounds with respect to the source memref. This is incorrect: `memref.reinterpret_cast` allows users to

[llvm-branch-commits] [mlir] [mlir][memref] Remove runtime verification for `memref.reinterpret_cast` (PR #132547)

2025-03-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/132547 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][memref] Verify out-of-bounds access for `memref.subview` (PR #131876)

2025-03-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/131876 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir] Use `getSingleElement`/`hasSingleElement` in various places (PR #131460)

2025-03-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/131460 >From cacf322a8476879786076c2537363b8ac4af6d57 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 15 Mar 2025 16:45:53 +0100 Subject: [PATCH] [llvm] Add `getSingleElement` helper and use in ML

[llvm-branch-commits] [mlir] [mlir] Use `getSingleElement`/`hasSingleElement` in various places (PR #131460)

2025-03-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/131460 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir] Use `getSingleElement`/`hasSingleElement` in various places (PR #131460)

2025-03-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/131460 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][memref] Add runtime verification for `memref.copy` (PR #130437)

2025-03-11 Thread Matthias Springer via llvm-branch-commits
@@ -182,6 +182,53 @@ struct CastOpInterface } }; +struct CopyOpInterface +: public RuntimeVerifiableOpInterface::ExternalModel { + void generateRuntimeVerification(Operation *op, OpBuilder &builder, + Location loc) const { +auto cop

[llvm-branch-commits] [mlir] [mlir][memref] Add runtime verification for `memref.copy` (PR #130437)

2025-03-08 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/130437 Implement runtime op verification for `memref.copy`. Only ranked memrefs are verified at the moment. >From 7bb852c420fb718eec9198ec3659fbcd1221ca33 Mon Sep 17 00:00:00 2001 From: Matthias Springer Da

[llvm-branch-commits] [mlir] [mlir][memref] Add runtime verification for `memref.assume_alignment` (PR #130412)

2025-03-08 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/130412 Implement runtime verification for `memref.assume_alignment`. >From 7cf452f01303e82cb3dd63fed1a1ce306f311e95 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 8 Mar 2025 13:45:45 +0100 Subj

[llvm-branch-commits] [mlir] [mlir][memref] Add runtime verification for `memref.atomic_rmw` (PR #130414)

2025-03-08 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/130414 Implement runtime verification for `memref.atomic_rmw` and `memref.generic_atomic_rmw`. >From c37848a198f4abac8bfdd20cf9a687263f8a8241 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 8 Ma

[llvm-branch-commits] [mlir] [mlir][IR] Remove `isF...()` type API for low-precision FP types (PR #123326)

2025-01-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/123326 Remove `type.isFloat4E2M1FN()` etc. Use `isa(type)` instead. For details, see: https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361/28 Depends on #123321. >From 55825a99

[llvm-branch-commits] [flang] [mlir] [mlir][rocdl] Add AMDGPU-specific `cf.assert` lowering (PR #121067)

2025-01-06 Thread Matthias Springer via llvm-branch-commits
matthias-springer wrote: llvm:users/matthias-springer/gpu_assert was deleted when I merged my PR. Looks like this cannot be reopened, I think you have to create a new PR. Or maybe you can change the target branch and then reopen. https://github.com/llvm/llvm-project/pull/121067 __

[llvm-branch-commits] [flang] [mlir] [mlir][rocdl] Add AMDGPU-specific `cf.assert` lowering (PR #121067)

2025-01-06 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer closed https://github.com/llvm/llvm-project/pull/121067 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Detect mapping overwrites during block signature conversion (PR #121646)

2025-01-04 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/121646 >From bf57b8d0a3da1c9d383374399a36f766df3f255e Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 4 Jan 2025 13:53:38 +0100 Subject: [PATCH] [mlir][Transforms] Detect mapping overwrites during

[llvm-branch-commits] [mlir] [mlir][Transforms] Detect mapping overwrites during block signature conversion (PR #121646)

2025-01-04 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer converted_to_draft https://github.com/llvm/llvm-project/pull/121646 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Detect mapping overwrites during block signature conversion (PR #121646)

2025-01-04 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/121646 Add extra assertions to make sure that a value in the conversion value mapping is not overwritten during `applySignatureConversion`. Depends on #121644. >From f0edd0362d0b4ff6b1b2aef53b9cce256d60da0

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Use `DominanceInfo` to compute materialization insertion point (PR #120746)

2025-01-03 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/120746 >From b6a6f1c020ede4e1fb3ee586d4544afe04644f82 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 9 Nov 2024 12:29:16 +0100 Subject: [PATCH] use dominfo --- mlir/include/mlir/IR/Dominance.h

[llvm-branch-commits] [llvm] [mlir] [mlir][Transforms] Delete 1:N dialect conversion driver (PR #121389)

2024-12-31 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/121389 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [mlir] [mlir][Transforms] Remove 1:N dialect conversion driver (PR #121389)

2024-12-31 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/121389 The 1:N dialect conversion driver has been deprecated. Use the regular dialect conversion driver instead. This commit deletes the 1:N dialect conversion driver. For details, see https://discourse.ll

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-22 Thread Matthias Springer via llvm-branch-commits
@@ -63,80 +113,140 @@ static OpBuilder::InsertPoint computeInsertPoint(Value value) { return OpBuilder::InsertPoint(insertBlock, insertPt); } +/// Helper function that computes an insertion point where the given values are +/// defined and can be used without a dominance vi

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Use `DominanceInfo` in dialect conversion (PR #120746)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/120746 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Use `DominanceInfo` in dialect conversion (PR #120746)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/120746 In the dialect conversion driver, use `DominanceInfo` to compute a suitable insertion point for N:1 source materializations. Note: This PR is related to #114940, but I could't reopen it. >From 61b51

[llvm-branch-commits] [mlir] [mlir][IR][NFC] `DominanceInfo`: Share same impl for block/op dominance (PR #115587)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/115587 >From b484c72cf7a79c7203b853725761e08c2233241c Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 9 Nov 2024 07:13:07 +0100 Subject: [PATCH] [mlir][IR][NFC] `DominanceInfo`: Share same impl fo

[llvm-branch-commits] [mlir] [mlir][IR][NFC] `DominanceInfo`: Share same impl for block/op dominance (PR #115587)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/115587 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
@@ -53,6 +54,55 @@ static void logFailure(llvm::ScopedPrinter &os, StringRef fmt, Args &&...args) { }); } +/// Given two insertion points in the same block, choose the later one. +static OpBuilder::InsertPoint +chooseLaterInsertPointInBlock(OpBuilder::InsertPoint a, +

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer ready_for_review https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116524 >From 53f97f5a68033bd46ffd5a982435d64afe9048dd Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sun, 15 Dec 2024 17:36:49 +0100 Subject: [PATCH] ex --- .../lib/Optimizer/CodeGen/BoxedProcedure.

[llvm-branch-commits] [mlir] [mlir][CF] Split `cf-to-llvm` from `func-to-llvm` (PR #120580)

2024-12-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/120580 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][CF] Split `cf-to-llvm` from `func-to-llvm` (PR #120580)

2024-12-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/120580 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][CF] Split `cf-to-llvm` from `func-to-llvm` (PR #120580)

2024-12-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/120580 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][CF] Split `cf-to-llvm` from `func-to-llvm` (PR #120580)

2024-12-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/120580 Do not run `cf-to-llvm as part of `func-to-llvm`. This commit fixes https://github.com/llvm/llvm-project/issues/70982. This commit changes the way how `func.func` ops are lowered to LLVM. Previously,

[llvm-branch-commits] [mlir] [mlir][GPU] Add NVVM-specific `cf.assert` lowering (PR #120431)

2024-12-18 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/120431 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][GPU] Add NVVM-specific `cf.assert` lowering (PR #120431)

2024-12-18 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/120431 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][GPU] Add `gpu.assert` op (PR #120431)

2024-12-18 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer converted_to_draft https://github.com/llvm/llvm-project/pull/120431 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][GPU] Add `gpu.assert` op (PR #120431)

2024-12-18 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/120431 >From 79ca017333d2f03e99015e6fe821fea5bf2e4537 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 18 Dec 2024 15:42:59 +0100 Subject: [PATCH] [mlir][GPU] Add `gpu.assert` op --- .../Conversi

[llvm-branch-commits] [mlir] [mlir][GPU] Add `gpu.assert` op (PR #120431)

2024-12-18 Thread Matthias Springer via llvm-branch-commits
matthias-springer wrote: > Can we just use cf.assert ? This is a good idea. But I first have to move a few things around because there is an existing pattern in `populateControlFlowToLLVMConversionPatterns`... https://github.com/llvm/llvm-project/pull/120431 ___

[llvm-branch-commits] [mlir] [mlir][GPU] Add `gpu.assert` op (PR #120431)

2024-12-18 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/120431 >From 4d8342992a22677686ea7a7dd88d032ca2289391 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 18 Dec 2024 15:42:59 +0100 Subject: [PATCH] [mlir][GPU] Add `gpu.assert` op --- mlir/include

[llvm-branch-commits] [mlir] [mlir][GPU] Add `gpu.assert` op (PR #120431)

2024-12-18 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/120431 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][GPU] Add `gpu.assert` op (PR #120431)

2024-12-18 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/120431 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-15 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116524 >From bc93c7840aa0d9d361f6f7aab08ec59b786bab2a Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sun, 15 Dec 2024 17:36:49 +0100 Subject: [PATCH] ex --- .../lib/Optimizer/CodeGen/BoxedProcedure.

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-15 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116524 >From eff9c47de3405dc542644d5d64e5a26f793214d0 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sun, 15 Dec 2024 17:36:49 +0100 Subject: [PATCH] ex --- .../lib/Optimizer/CodeGen/BoxedProcedure.

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect Conversion: No target mat. for 1:N replacement (PR #117513)

2024-12-15 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/117513 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-15 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116524 >From bf0d13553b2bc2124a266e398976ba80a1114580 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 14 Dec 2024 16:34:47 +0100 Subject: [PATCH 1/4] [mlir][Vector] Move mask materialization patte

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-15 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116524 >From bf0d13553b2bc2124a266e398976ba80a1114580 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 14 Dec 2024 16:34:47 +0100 Subject: [PATCH 1/4] [mlir][Vector] Move mask materialization patte

[llvm-branch-commits] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-15 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116524 >From bf0d13553b2bc2124a266e398976ba80a1114580 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 14 Dec 2024 16:34:47 +0100 Subject: [PATCH 1/4] [mlir][Vector] Move mask materialization patte

[llvm-branch-commits] [mlir] [mlir][Vector] Clean up `populateVectorToLLVMConversionPatterns` (PR #119975)

2024-12-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/119975 Clean up `populateVectorToLLVMConversionPatterns` so that it populates only conversion patterns. All rewrite patterns that do not lower to LLVM should be populated into a separate greedy pattern rewri

[llvm-branch-commits] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (PR #116524)

2024-12-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116524 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Func] Delete `DecomposeCallGraphTypes.cpp` (PR #117424)

2024-11-28 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/117424 >From 5f1f24552547c6eac3e711155c35927356b9d862 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 23 Nov 2024 08:22:13 +0100 Subject: [PATCH] [mlir][Func] Delete `DecomposeCallGraphTypes.cpp`

[llvm-branch-commits] [mlir] [mlir][Transforms] Add 1:N `matchAndRewrite` overload (PR #116470)

2024-11-27 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116470 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Add 1:N `matchAndRewrite` overload (PR #116470)

2024-11-27 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/116470 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Fix `replaceUsesOfBlockArgument` (PR #117666)

2024-11-25 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/117666 This commit fixes the implementation of `ConversionPatternRewriter::replaceUsesOfBlockArgument`. The old implementation was different from what the documentation says. ``` /// Replace all the uses of

[llvm-branch-commits] [mlir] [mlir][LLVM] `LLVMTypeConverter`: Tighten materialization checks (PR #116532)

2024-11-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/116532 >From 4e4a5c81a1c45c8d4fbadacd67fa5439231e912e Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 23 Nov 2024 08:22:13 +0100 Subject: [PATCH 1/2] [mlir][Func] Delete `DecomposeCallGraphTypes.c

  1   2   3   4   >