[llvm-branch-commits] [mlir] [draft] Dialect Conversion without Rollback (PR #93412)

2024-05-28 Thread Matthias Springer via llvm-branch-commits
@@ -321,15 +323,15 @@ class RandomizedWorklist : public Worklist { /// to the worklist in the beginning. class GreedyPatternRewriteDriver : public RewriterBase::Listener { protected: - explicit GreedyPatternRewriteDriver(MLIRContext *ctx, + explicit GreedyPatternRewriteDriver

[llvm-branch-commits] [mlir] [draft] Dialect Conversion without Rollback (PR #93412)

2024-05-28 Thread Matthias Springer via llvm-branch-commits
@@ -1053,3 +1055,241 @@ LogicalResult mlir::applyOpPatternsAndFold( }); return converged; } + +//===--===// +// One-Shot Dialect Conversion Infrastructure +//===-

[llvm-branch-commits] [mlir] [draft] Dialect Conversion without Rollback (PR #93412)

2024-05-28 Thread Matthias Springer via llvm-branch-commits
@@ -1053,3 +1055,241 @@ LogicalResult mlir::applyOpPatternsAndFold( }); return converged; } + +//===--===// +// One-Shot Dialect Conversion Infrastructure +//===-

[llvm-branch-commits] [mlir] [draft] Dialect Conversion without Rollback (PR #93412)

2024-05-29 Thread Matthias Springer via llvm-branch-commits
@@ -1053,3 +1055,241 @@ LogicalResult mlir::applyOpPatternsAndFold( }); return converged; } + +//===--===// +// One-Shot Dialect Conversion Infrastructure +//===-

[llvm-branch-commits] [mlir] [draft] Dialect Conversion without Rollback (PR #93412)

2024-05-29 Thread Matthias Springer via llvm-branch-commits
@@ -1053,3 +1055,241 @@ LogicalResult mlir::applyOpPatternsAndFold( }); return converged; } + +//===--===// +// One-Shot Dialect Conversion Infrastructure +//===-

[llvm-branch-commits] [mlir] [draft] Dialect Conversion without Rollback (PR #93412)

2024-05-29 Thread Matthias Springer via llvm-branch-commits
@@ -1053,3 +1055,241 @@ LogicalResult mlir::applyOpPatternsAndFold( }); return converged; } + +//===--===// +// One-Shot Dialect Conversion Infrastructure +//===-

[llvm-branch-commits] [mlir] [draft] Dialect Conversion without Rollback (PR #93412)

2024-05-29 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/93412 ___ 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] [draft] Dialect Conversion without Rollback (PR #93412)

2024-05-29 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/93412 ___ 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: Simplify handling of dropped arguments (PR #96207)

2024-06-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/96207 This commit simplifies the handling of dropped arguments and updates some dialect conversion documentation that is outdated. When converting a block signature, a `BlockTypeConversionRewrite` object and

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Dialect Conversion: Move argument materialization logic (PR #96329)

2024-06-21 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/96329 This commit moves the argument materialization logic from `legalizeConvertedArgumentTypes` to `legalizeUnresolvedMaterializations`. Before this change: - Argument materializations were created in `lega

[llvm-branch-commits] [mlir] [mlir][Conversion] `FuncToLLVM`: Simplify bare-pointer handling (PR #96393)

2024-06-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/96393 Before this commit, there used to be a workaround in the `func.func`/`gpu.func` op lowering when the bare-pointer calling convention is enabled. This workaround "patched up" the argument materializatio

[llvm-branch-commits] [mlir] [mlir][Conversion] `FuncToLLVM`: Simplify bare-pointer handling (PR #96393)

2024-06-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/96393 >From 2d838580bf8c17ea7a17d73415b3c64c1775b37d Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 22 Jun 2024 14:54:21 +0200 Subject: [PATCH] [mlir][Conversion] `FuncToLLVM`: Simplify bare-poin

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Fix missing source materialization (PR #97903)

2024-07-13 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/97903 ___ 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 missing source materialization (PR #97903)

2024-07-13 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/97903 ___ 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: Simplify handling of dropped arguments (PR #97213)

2024-07-13 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/97213 ___ 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: Simplify handling of dropped arguments (PR #97213)

2024-07-13 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/97213 ___ 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 missing source materialization (PR #97903)

2024-07-13 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/97903 >From 577317640c0f5800650157f5c4c6fbe6220eba38 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 6 Jul 2024 14:28:41 +0200 Subject: [PATCH] fix test --- mlir/docs/DialectConversion.md

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Simplify handling of dropped arguments (PR #97213)

2024-07-13 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/97213 >From b0b781318e5f76f28b9340efbdcc3f91c2c1cf31 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 13 Jul 2024 17:36:37 +0200 Subject: [PATCH] [mlir][Transforms] Dialect conversion: Simplify han

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Simplify handling of dropped arguments (PR #97213)

2024-07-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer ready_for_review https://github.com/llvm/llvm-project/pull/97213 ___ 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] Dialect Conversion: Move argument materialization logic (PR #98805)

2024-07-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/98805 This commit moves the argument materialization logic from `legalizeConvertedArgumentTypes` to `legalizeUnresolvedMaterializations`. Before this change: - Argument materializations were created in `lega

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Dialect conversion: Eagerly build reverse mapping (PR #101476)

2024-08-01 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/101476 ___ 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: Build unresolved materialization for replaced ops (PR #101514)

2024-08-01 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/101514 When inserting an argument/source/target materialization, the dialect conversion framework first inserts a "dummy" `unrealized_conversion_cast` op (during the rewrite process) and then (in the "finial

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Build unresolved materialization for replaced ops (PR #101514)

2024-08-03 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/101514 >From 2d9d1281db99061b212259a60a8bffdfdc800447 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Thu, 1 Aug 2024 18:24:56 +0200 Subject: [PATCH] [mlir][Transforms] Dialect conversion: Build unreso

[llvm-branch-commits] [mlir] [mlir][IR] Auto-generate element type verification for VectorType (PR #102449)

2024-08-08 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/102449 #102326 enables verification of type parameters that are type constraints. The element type verification for `VectorType` (and maybe other builtin types in the future) can now be auto-generated. Also

[llvm-branch-commits] [mlir] [mlir][IR] Auto-generate element type verification for VectorType (PR #102449)

2024-08-08 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/102449 >From 1e3c58ae8903d58c2a10c634e859c8f1e4df9812 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Thu, 8 Aug 2024 12:28:23 +0200 Subject: [PATCH] [mlir][IR] Auto-generate element type verification

[llvm-branch-commits] [mlir] [mlir][ODS] Verify type constraints in Types and Attributes (PR #102326)

2024-08-09 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/102326 ___ 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][ODS] Verify type constraints in Types and Attributes (PR #102326)

2024-08-09 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/102326 ___ 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][ODS] Verify type constraints in Types and Attributes (PR #102326)

2024-08-09 Thread Matthias Springer via llvm-branch-commits
@@ -153,6 +153,9 @@ class TypeConstraint { // The name of the C++ Type class if known, or Type if not. string cppClassName = cppClassNameParam; + // TODO: This field is sometimes called `cppClassName` and sometimes matthias-springer wrote: Fixed in #102657

[llvm-branch-commits] [mlir] [mlir][IR] Auto-generate element type verification for VectorType (PR #102449)

2024-08-09 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/102449 >From c399a1c6e82afcfcc2ad531cb49d53683f294f91 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Thu, 8 Aug 2024 12:28:23 +0200 Subject: [PATCH] [mlir][IR] Auto-generate element type verification

[llvm-branch-commits] [mlir] [mlir][Transforms][WIP] Dialect conversion: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/104668 ___ 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][WIP] Dialect conversion: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/104668 >From ca2db3fa01051a6e9b74e22efc3adbbff585f8f4 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 17 Aug 2024 11:38:40 +0200 Subject: [PATCH] [mlir][Transforms][WIP] Dialect conversion: Make

[llvm-branch-commits] [mlir] [mlir][Transforms][WIP] Dialect conversion: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/104668 >From 26c00f29b320e95f314372cae557cc0294796863 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 17 Aug 2024 11:38:40 +0200 Subject: [PATCH] [mlir][Transforms][WIP] Dialect conversion: Make

[llvm-branch-commits] [mlir] [mlir][Transforms][WIP] Dialect conversion: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/104668 >From 2658d44d5c8aab38f39c34dc99a8e874c6794b75 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 17 Aug 2024 11:38:40 +0200 Subject: [PATCH] [mlir][Transforms][WIP] Dialect conversion: Make

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/104668 ___ 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: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/104668 ___ 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: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/104668 ___ 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: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/104668 ___ 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: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/104668 >From f72f6427871531a135e6621c520b05570dfa3bcb Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Sat, 17 Aug 2024 11:38:40 +0200 Subject: [PATCH] [mlir][Transforms][WIP] Dialect conversion: Make

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Make materializations optional (PR #104668)

2024-08-17 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer ready_for_review https://github.com/llvm/llvm-project/pull/104668 ___ 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] Modularize block actions (PR #81237)

2024-02-09 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/81237 Throughout the rewrite process, the dialect conversion maintains a list of "block actions" that can be rolled back upon failure. This commit encapsulates the existing block actions into separate classe

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Modularize block actions (PR #81237)

2024-02-09 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81237 >From ae9dcbbcf4a23cd9f5a28195ceb3687957fa730f Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 9 Feb 2024 09:29:10 + Subject: [PATCH] [mlir][Transforms][NFC] Modularize block actions Th

[llvm-branch-commits] [mlir] [mlir][Transforms] Support `moveOpBefore`/`After` in dialect conversion (PR #81240)

2024-02-09 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/81240 Add a new rewrite action for "operation movements". This action can roll back `moveOpBefore` and `moveOpAfter`. `RewriterBase::moveOpBefore` and `RewriterBase::moveOpAfter` is no longer virtual. (The

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn in-place op modifications into `RewriteAction`s (PR #81245)

2024-02-09 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/81245 This commit simplifies the internal state of the dialect conversion. A separate field for the previous state of in-place op modifications is no longer needed. >From cdbd92786887ba8f801cb0c4299f708f0a41

[llvm-branch-commits] [mlir] [mlir][Transforms] Support `moveOpBefore`/`After` in dialect conversion (PR #81240)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81240 >From c60c43bcd2296715ceca83a3f9666433883ec303 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 12 Feb 2024 09:05:50 + Subject: [PATCH 1/2] [mlir][Transforms][WIP] RewriteAction BEGIN_PU

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Modularize block actions (PR #81237)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81237 >From c60c43bcd2296715ceca83a3f9666433883ec303 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 12 Feb 2024 09:05:50 + Subject: [PATCH] [mlir][Transforms][WIP] RewriteAction BEGIN_PUBLIC

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn in-place op modifications into `RewriteAction`s (PR #81245)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81245 >From f7010ea9f363c011f4171a6329ad6de30880c3e7 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 12 Feb 2024 09:11:47 + Subject: [PATCH] [mlir][Transforms][NFC] Turn in-place op modificati

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Modularize block actions (PR #81237)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/81237 ___ 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] Modularize block actions (PR #81237)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
@@ -820,6 +740,238 @@ void ArgConverter::insertConversion(Block *newBlock, conversionInfo.insert({newBlock, std::move(info)}); } +//===--===// +// RewriteAction matthias-springer wrote: I r

[llvm-branch-commits] [mlir] [mlir][Transforms] Support `moveOpBefore`/`After` in dialect conversion (PR #81240)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/81240 ___ 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 `moveOpBefore`/`After` in dialect conversion (PR #81240)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
@@ -970,6 +971,54 @@ class BlockTypeConversionAction : public BlockAction { void rollback() override; }; + +/// An operation rewrite. matthias-springer wrote: I renamed the class to `OperationRewrite`. I added more documentation to the superclass `IRRewrit

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn in-place op modification into `IRRewrite` (PR #81245)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/81245 ___ 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] Simplify `ArgConverter` state (PR #81462)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/81462 * When converting a block signature, `ArgConverter` creates a new block with the new signature and moves all operation from the old block to the new block. The new block is temporarily inserted into a

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Simplify `ArgConverter` state (PR #81462)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81462 >From ba1a8085ab576b56a7d1780d9a3f01cb6769df65 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 12 Feb 2024 11:24:52 + Subject: [PATCH] [mlir][Transforms][NFC] Simplify `ArgConverter` sta

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Simplify `ArgConverter` state (PR #81462)

2024-02-12 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/81462 ___ 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 `moveOpBefore`/`After` in dialect conversion (PR #81240)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81240 >From 1d17c768c1588850ceb331e3dd85930deec5728c Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 14 Feb 2024 16:08:38 + Subject: [PATCH] [mlir][Transforms] Support `moveOpBefore`/`After` i

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn in-place op modification into `IRRewrite` (PR #81245)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81245 >From 4bb65218698f0104775f3eea05817c6d5228a9e7 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 14 Feb 2024 16:17:03 + Subject: [PATCH] [mlir][Transforms][NFC] Turn in-place op modificati

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Simplify `ArgConverter` state (PR #81462)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81462 >From c7afdb221528ad0aa76b2ba50a6db47eefd71bb2 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 14 Feb 2024 16:20:30 + Subject: [PATCH] [mlir][Transforms][NFC] Simplify `ArgConverter` sta

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (PR #81756)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/81756 This commit is a refactoring of the dialect conversion. The dialect conversion maintains a list of "IR rewrites" that can be commited (upon success) or rolled back (upon failure). Until now, the signa

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn op/block arg replacements into `IRRewrite`s (PR #81757)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/81757 This commit is a refactoring of the dialect conversion. The dialect conversion maintains a list of "IR rewrites" that can be committed (upon success) or rolled back (upon failure). Until now, op repla

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn op creation into `IRRewrite` (PR #81759)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/81759 This commit is a refactoring of the dialect conversion. The dialect conversion maintains a list of "IR rewrites" that can be committed (upon success) or rolled back (upon failure). Until now, the dial

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Simplify `ArgConverter` state (PR #81462)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81462 >From a79501ebced4a3410c3a28c6555973bb45156e76 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 14 Feb 2024 16:20:30 + Subject: [PATCH] [mlir][Transforms][NFC] Simplify `ArgConverter` sta

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (PR #81756)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81756 >From dcd13b85b50846d84850388e2bbed74c0aa54e62 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 14 Feb 2024 16:23:29 + Subject: [PATCH] [mlir][Transforms][NFC] Turn block type convertion

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn op/block arg replacements into `IRRewrite`s (PR #81757)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81757 >From 613a6162af4ac07066dbcf87b580a085eca5a47a Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 14 Feb 2024 16:27:53 + Subject: [PATCH] [mlir][Transforms][NFC] Turn op/block arg replaceme

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn op creation into `IRRewrite` (PR #81759)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81759 >From 3873a3e96d0582c0ecf24335dad01560b61e8d90 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 14 Feb 2024 16:32:28 + Subject: [PATCH] [mlir][Transforms][NFC] Turn op creation into `IRRe

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC][WIP] Turn unresolved materializations into `IRRewrite`s (PR #81761)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/81761 This commit is a refactoring of the dialect conversion. The dialect conversion maintains a list of "IR rewrites" that can be committed (upon success) or rolled back (upon failure). This commit turns t

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (PR #81756)

2024-02-14 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/81756 ___ 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] Simplify `ArgConverter` state (PR #81462)

2024-02-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81462 >From a7fffc3e18588d1112411a03936e41a2931cefec Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 16 Feb 2024 15:11:41 + Subject: [PATCH] [mlir][Transforms][NFC] Simplify `ArgConverter` sta

[llvm-branch-commits] [mlir] [mlir][Transforms] Dialect conversion: Improve signature conversion API (PR #81997)

2024-02-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/81997 This commit improves the block signature conversion API of the dialect conversion. There is the following comment in `ArgConverter::applySignatureConversion`: ``` // If no arguments are being changed o

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (PR #81756)

2024-02-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81756 >From 5dc79f6af9ac00a61767062980b13eb4ae8d2571 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 16 Feb 2024 15:13:37 + Subject: [PATCH 1/2] [mlir][Transforms] Dialect conversion: Improve

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (PR #81756)

2024-02-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/81756 ___ 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] Turn op/block arg replacements into `IRRewrite`s (PR #81757)

2024-02-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81757 >From b8d4cbd5e237dfc9fa6b7420b85a8e5de94f0725 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 16 Feb 2024 15:19:07 + Subject: [PATCH] [mlir][Transforms][NFC] Turn op/block arg replaceme

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn op creation into `IRRewrite` (PR #81759)

2024-02-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81759 >From 67010343f91c6808a18731f01d139db6cb36fde6 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 16 Feb 2024 15:21:48 + Subject: [PATCH] [mlir][Transforms][NFC] Turn op creation into `IRRe

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC][WIP] Turn unresolved materializations into `IRRewrite`s (PR #81761)

2024-02-16 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81761 >From ab0cd8c2d3b66b0a11bee128dc4e11e754e11a36 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 16 Feb 2024 15:24:42 + Subject: [PATCH] [WIP] UnresolvedMaterialization BEGIN_PUBLIC No pu

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC][WIP] Turn unresolved materializations into `IRRewrite`s (PR #81761)

2024-02-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81761 >From 51a7e12b4e0e8ceee8429460592307adfad18a96 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 19 Feb 2024 10:29:29 + Subject: [PATCH] [WIP] UnresolvedMaterialization BEGIN_PUBLIC No pu

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC][WIP] Turn unresolved materializations into `IRRewrite`s (PR #81761)

2024-02-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/81761 ___ 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][WIP] Turn unresolved materializations into `IRRewrite`s (PR #81761)

2024-02-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer ready_for_review https://github.com/llvm/llvm-project/pull/81761 ___ 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] Turn unresolved materializations into `IRRewrite`s (PR #81761)

2024-02-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/81761 ___ 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] Make `ConversionPatternRewriter` constructor private (PR #82244)

2024-02-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/82244 `ConversionPatternRewriter` objects should not be constructed outside of dialect conversions. Some IR modifications performed through a `ConversionPatternRewriter` are reflected in the IR in a delayed

[llvm-branch-commits] [flang] [mlir] [mlir][Transforms] Make `ConversionPatternRewriter` constructor private (PR #82244)

2024-02-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/82244 >From f3fe2f1f9e2b561693bcaa2c8df84ac8cc8a60af Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 19 Feb 2024 12:50:30 + Subject: [PATCH] [mlir][Transforms] Make `ConversionPatternRewriter`

[llvm-branch-commits] [mlir] [mlir][Transforms] Encapsulate dialect conversion options in `ConversionConfig` (PR #82250)

2024-02-19 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/82250 This commit adds a new `ConversionConfig` struct that allows users to customize the dialect conversion. This configuration is similar to `GreedyRewriteConfig` for the greedy pattern rewrite driver. A

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Decouple `ConversionPatternRewriterImpl` from `ConversionPatternRewriter` (PR #82333)

2024-02-20 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/82333 `ConversionPatternRewriterImpl` no longer maintains a reference to the respective `ConversionPatternRewriter`. An `MLIRContext` is sufficient. This commit simplifies the internal state of `ConversionPa

[llvm-branch-commits] [mlir] [mlir][Transforms] Support rolling back properties in dialect conversion (PR #82474)

2024-02-21 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/82474 The dialect conversion rolls back in-place op modifications upon failure. Rolling back modifications of attributes is already supported, but there was no support for properties until now. >From 7be59f

[llvm-branch-commits] [mlir] [mlir][Transforms] Support rolling back properties in dialect conversion (PR #82474)

2024-02-21 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/82474 >From 33f2ae9da319110ca8d2581ec6d66d2db83201cb Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 21 Feb 2024 08:41:44 + Subject: [PATCH] [mlir][Transforms] Support rolling back properties

[llvm-branch-commits] [mlir] [mlir][Transforms] Support rolling back properties in dialect conversion (PR #82474)

2024-02-21 Thread Matthias Springer via llvm-branch-commits
@@ -1002,12 +1002,31 @@ class ModifyOperationRewrite : public OperationRewrite { : OperationRewrite(Kind::ModifyOperation, rewriterImpl, op), loc(op->getLoc()), attrs(op->getAttrDictionary()), operands(op->operand_begin(), op->operand_end()), -succ

[llvm-branch-commits] [mlir] [mlir][Transforms] Support rolling back properties in dialect conversion (PR #82474)

2024-02-21 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/82474 >From f7a0cc4dd214b9f2b234ea5a61eaecdb19b6b3c4 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 21 Feb 2024 09:37:48 + Subject: [PATCH] [mlir][Transforms] Support rolling back properties

[llvm-branch-commits] [mlir] [mlir][Transforms] Support rolling back properties in dialect conversion (PR #82474)

2024-02-21 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/82474 >From 1795b6dcfdc0b6447c5209000332432de49109cc Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 21 Feb 2024 09:37:48 + Subject: [PATCH] [mlir][Transforms] Support rolling back properties

[llvm-branch-commits] [mlir] [mlir][Transforms] Support rolling back properties in dialect conversion (PR #82474)

2024-02-21 Thread Matthias Springer via llvm-branch-commits
@@ -1002,12 +1002,31 @@ class ModifyOperationRewrite : public OperationRewrite { : OperationRewrite(Kind::ModifyOperation, rewriterImpl, op), loc(op->getLoc()), attrs(op->getAttrDictionary()), operands(op->operand_begin(), op->operand_end()), -succ

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (PR #81756)

2024-02-21 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81756 >From 68cb2590ea6295504b64d065326a606c2892a2a1 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Wed, 21 Feb 2024 16:48:48 + Subject: [PATCH] [mlir][Transforms][NFC] Turn block type convertion

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn op creation into `IRRewrite` (PR #81759)

2024-02-22 Thread Matthias Springer via llvm-branch-commits
@@ -2549,10 +2572,15 @@ LogicalResult OperationConverter::legalizeConvertedArgumentTypes( }); return liveUserIt == val.user_end() ? nullptr : *liveUserIt; }; - for (auto &r : rewriterImpl.rewrites) -if (auto *rewrite = dyn_cast(r.get())) - if (failed(rewrit

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn op creation into `IRRewrite` (PR #81759)

2024-02-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81759 >From d15c439f166426a613ac0021a9101b774d544357 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 16 Feb 2024 15:21:48 + Subject: [PATCH] [mlir][Transforms][NFC] Turn op creation into `IRRe

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Turn unresolved materializations into `IRRewrite`s (PR #81761)

2024-02-22 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/81761 >From 6d02f6d545fff81a41b7e40fa48f19c55483c77b Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 19 Feb 2024 10:29:29 + Subject: [PATCH] [WIP] UnresolvedMaterialization BEGIN_PUBLIC No pu

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Remove `SplitBlockRewrite` (PR #82777)

2024-02-27 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/82777 ___ 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] Simplify `BlockTypeConversionRewrite` (PR #83286)

2024-02-28 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/83286 When a block signature is converted during dialect conversion a `BlockTypeConversionRewrite` object is stored in the stack of rewrites. Such an object represents multiple steps: - Splitting the old blo

[llvm-branch-commits] [mlir] [mlir][Transforms][NFC] Simplify `BlockTypeConversionRewrite` (PR #83286)

2024-02-28 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/83286 ___ 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] Simplify `BlockTypeConversionRewrite` (PR #83286)

2024-02-28 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/83286 ___ 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] Simplify handling of erased IR (PR #83423)

2024-02-29 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/83423 The dialect conversion uses a `SingleEraseRewriter` to ensure that an op/block is not erased twice. This can happen during the "commit" phase when an unresolved materialization is inserted into a block

[llvm-branch-commits] [mlir] [mlir][Transforms] Add listener support to dialect conversion (PR #83425)

2024-02-29 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/83425 This commit adds listener support to the dialect conversion. Similarly to the greedy pattern rewrite driver, an optional listener can be specified in the configuration object. Listeners are notified o

[llvm-branch-commits] [mlir] [mlir][Transforms] Add listener support to dialect conversion (PR #83425)

2024-02-29 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer updated https://github.com/llvm/llvm-project/pull/83425 >From 22e8d5ea80b74d687c3e792c512f50b9de81f489 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Thu, 29 Feb 2024 12:58:26 + Subject: [PATCH] [mlir][Transforms] Add listener support to dialect

[llvm-branch-commits] [mlir] [mlir][Transforms] Encapsulate dialect conversion options in `ConversionConfig` (PR #83754)

2024-03-03 Thread Matthias Springer via llvm-branch-commits
https://github.com/matthias-springer edited https://github.com/llvm/llvm-project/pull/83754 ___ 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 listener support to dialect conversion (PR #83425)

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

  1   2   3   4   >