<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in transform-patterns.mlir</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>5a001136 - [mlir][Linalg] Retire LinalgPromotion pattern</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#5a001136</link>
        <description>[mlir][Linalg] Retire LinalgPromotion patternThis revision removes the LinalgPromotion pattern and adds a `transform.structured.promotion` op.Since the LinalgPromotion transform allows the injection of arbitrary C++ via lambdas, the currenttransform op does not handle it.It is left for future work to decide what the right transform op control is for those cases.Note the underlying implementation remains unchanged and the mechanism is still controllable bylambdas from the API.During this refactoring it was also determined that the `dynamicBuffers` option does not actuallyconnect to a change of behavior in the algorithm.This also exhibits that the related test is wrong (and dangerous).Both the option and the test are therefore removed.Lastly, a test that connects patterns using the filter-based mechanism is removed: all the independentpieces are already tested separately.Context: https://discourse.llvm.org/t/psa-retire-linalg-filter-based-patterns/63785Differential Revision: https://reviews.llvm.org/D129649

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Wed, 13 Jul 2022 15:09:38 +0000</pubDate>
        <dc:creator>Nicolas Vasilache &lt;nicolas.vasilache@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>92d38adb - [mlir][NFC] Update textual references of `func` to `func.func` in Linalg tests</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#92d38adb</link>
        <description>[mlir][NFC] Update textual references of `func` to `func.func` in Linalg testsThe special case parsing of `func` operations is being removed.

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Wed, 20 Apr 2022 23:16:23 +0000</pubDate>
        <dc:creator>River Riddle &lt;riddleriver@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>af371f9f - Reland [GreedPatternRewriter] Preprocess constants while building worklist when not processing top down</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#af371f9f</link>
        <description>Reland [GreedPatternRewriter] Preprocess constants while building worklist when not processing top downReland Note: Adds a fix to properly mark a commutative operation as folded if we change the order             of its operands. This was uncovered by the fact that we no longer re-process constants.This avoids accidentally reversing the order of constants during successiveapplication, e.g. when running the canonicalizer. This helps reduce the numberof iterations, and also avoids unnecessary changes to input IR.Fixes #51892Differential Revision: https://reviews.llvm.org/D122692

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Thu, 07 Apr 2022 01:52:39 +0000</pubDate>
        <dc:creator>River Riddle &lt;riddleriver@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ba43d6f8 - Revert &quot;[GreedPatternRewriter] Preprocess constants while building worklist when not processing top down&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#ba43d6f8</link>
        <description>Revert &quot;[GreedPatternRewriter] Preprocess constants while building worklist when not processing top down&quot;This reverts commit 59bbc7a0851b6e0054bb3ed47df0958822f08880.This exposes an issue breaking the contract of`applyPatternsAndFoldGreedily` where we &quot;converge&quot; without applyingremaining patterns.

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Fri, 01 Apr 2022 06:16:00 +0000</pubDate>
        <dc:creator>Mehdi Amini &lt;joker.eph@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>59bbc7a0 - [GreedPatternRewriter] Preprocess constants while building worklist when not processing top down</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#59bbc7a0</link>
        <description>[GreedPatternRewriter] Preprocess constants while building worklist when not processing top downThis avoids accidentally reversing the order of constants during successiveapplication, e.g. when running the canonicalizer. This helps reduce the numberof iterations, and also avoids unnecessary changes to input IR.Fixes #51892Differential Revision: https://reviews.llvm.org/D122692

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Tue, 29 Mar 2022 23:28:38 +0000</pubDate>
        <dc:creator>River Riddle &lt;riddleriver@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7294be2b - [mlir][linalg] Replace linalg.fill by OpDSL variant.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#7294be2b</link>
        <description>[mlir][linalg] Replace linalg.fill by OpDSL variant.The revision removes the linalg.fill operation and renames the OpDSL generated linalg.fill_tensor operation to replace it. After the change, all named structured operations are defined via OpDSL and there are no handwritten operations left.A side-effect of the change is that the pretty printed form changes from:```%1 = linalg.fill(%cst, %0) : f32, tensor&lt;?x?xf32&gt; -&gt; tensor&lt;?x?xf32&gt;```changes to```%1 = linalg.fill ins(%cst : f32) outs(%0 : tensor&lt;?x?xf32&gt;) -&gt; tensor&lt;?x?xf32&gt;```Additionally, the builder signature now takes input and output value ranges as it is the case for all other OpDSL operations:```rewriter.create&lt;linalg::FillOp&gt;(loc, val, output)```changes to```rewriter.create&lt;linalg::FillOp&gt;(loc, ValueRange{val}, ValueRange{output})```All other changes remain minimal. In particular, the canonicalization patterns are the same and the `value()`, `output()`, and `result()` methods are now implemented by the FillOpInterface.Depends On D120726Reviewed By: nicolasvasilacheDifferential Revision: https://reviews.llvm.org/D120728

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Mon, 14 Mar 2022 10:45:04 +0000</pubDate>
        <dc:creator>gysit &lt;gysit@google.com&gt;</dc:creator>
    </item>
<item>
        <title>ebc81537 - Revert &quot;Revert &quot;[mlir] Purge `linalg.copy` and use `memref.copy` instead.&quot;&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#ebc81537</link>
        <description>Revert &quot;Revert &quot;[mlir] Purge `linalg.copy` and use `memref.copy` instead.&quot;&quot;This reverts commit 25bf6a2a9bc6ecb3792199490c70c4ce50a94aea.

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Tue, 01 Feb 2022 17:07:33 +0000</pubDate>
        <dc:creator>Alexander Belyaev &lt;pifon@google.com&gt;</dc:creator>
    </item>
<item>
        <title>25bf6a2a - Revert &quot;[mlir] Purge `linalg.copy` and use `memref.copy` instead.&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#25bf6a2a</link>
        <description>Revert &quot;[mlir] Purge `linalg.copy` and use `memref.copy` instead.&quot;This reverts commit 016956b68081705ffee511c334e31e414fa1ddbf.Reverting it to fix NVidia build without being in a hurry.

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Mon, 31 Jan 2022 17:51:39 +0000</pubDate>
        <dc:creator>Alexander Belyaev &lt;pifon@google.com&gt;</dc:creator>
    </item>
<item>
        <title>016956b6 - [mlir] Purge `linalg.copy` and use `memref.copy` instead.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#016956b6</link>
        <description>[mlir] Purge `linalg.copy` and use `memref.copy` instead.Differential Revision: https://reviews.llvm.org/D118028

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Mon, 31 Jan 2022 17:18:28 +0000</pubDate>
        <dc:creator>Alexander Belyaev &lt;pifon@google.com&gt;</dc:creator>
    </item>
<item>
        <title>a54f4eae - [MLIR] Replace std ops with arith dialect ops</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#a54f4eae</link>
        <description>[MLIR] Replace std ops with arith dialect opsPrecursor: https://reviews.llvm.org/D110200Removed redundant ops from the standard dialect that were moved to the`arith` or `math` dialects.Renamed all instances of operations in the codebase and in tests.Reviewed By: rriddle, jpienaarDifferential Revision: https://reviews.llvm.org/D110797

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Tue, 12 Oct 2021 23:14:57 +0000</pubDate>
        <dc:creator>Mogball &lt;jeffniu22@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a21a6f51 - [mlir][linalg] Change the pretty printed FillOp operand order.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#a21a6f51</link>
        <description>[mlir][linalg] Change the pretty printed FillOp operand order.The patch changes the pretty printed FillOp operand order from output, value to value, output. The change is a follow up to https://reviews.llvm.org/D104121 that passes the fill value using a scalar input instead of the former capture semantics.Differential Revision: https://reviews.llvm.org/D104356

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Wed, 23 Jun 2021 06:28:58 +0000</pubDate>
        <dc:creator>Tobias Gysi &lt;gysit@google.com&gt;</dc:creator>
    </item>
<item>
        <title>ef33c6e3 - [mlir][Linalg] Drop spurious usage of OperationFolder</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#ef33c6e3</link>
        <description>[mlir][Linalg] Drop spurious usage of OperationFolderInstead, use createOrFold builders which result in more static information available.Differential Revision: https://reviews.llvm.org/D102832

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Thu, 20 May 2021 09:07:21 +0000</pubDate>
        <dc:creator>Nicolas Vasilache &lt;nicolas.vasilache@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>06bb9cf3 - [mlir][linalg] Remove IndexedGenericOp support from LinalgInterchangePattern...</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#06bb9cf3</link>
        <description>[mlir][linalg] Remove IndexedGenericOp support from LinalgInterchangePattern...after introducing the IndexedGenericOp to GenericOp canonicalization (https://reviews.llvm.org/D101612).Differential Revision: https://reviews.llvm.org/D102245

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Wed, 12 May 2021 12:43:34 +0000</pubDate>
        <dc:creator>Tobias Gysi &lt;gysit@google.com&gt;</dc:creator>
    </item>
<item>
        <title>42e5f422 - [mlir] Support complex numbers in Linalg promotion</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#42e5f422</link>
        <description>[mlir] Support complex numbers in Linalg promotionFillOp allows complex ops, and filling a properly sized buffer witha default zero complex number is implemented.Differential Revision: https://reviews.llvm.org/D99939

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Tue, 06 Apr 2021 10:39:07 +0000</pubDate>
        <dc:creator>Tres Popp &lt;tpopp@google.com&gt;</dc:creator>
    </item>
<item>
        <title>1d9d7f6a - [MLIR, test] Fix use of undef FileCheck var</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#1d9d7f6a</link>
        <description>[MLIR, test] Fix use of undef FileCheck varMLIR test Dialect/Linalg/transform-patterns.mlir tries to check for theabsence of a sequence of instructions with several CHECK-NOT with one ofthose directives using a variable defined in another. However CHECK-NOTare checked independently so that is using a variable defined in apattern that should not occur in the input.This commit removes the dependency between those CHECK-NOT by replacingoccurences of variables by the regex that were used to define them.Note to reviewers: please pay attention to whether the remainingreference to l0 is correct. There was a l0 defined in those CHECK-NOTand one defined before. I&apos;m not sure what was the intent there.Reviewed By: nicolasvasilacheDifferential Revision: https://reviews.llvm.org/D99957

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Sun, 28 Mar 2021 00:03:37 +0000</pubDate>
        <dc:creator>Thomas Preud&apos;homme &lt;thomasp@graphcore.ai&gt;</dc:creator>
    </item>
<item>
        <title>0b20413e - Revert &quot;[Canonicalizer] Process regions top-down instead of bottom up &amp; reuse existing constants.&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#0b20413e</link>
        <description>Revert &quot;[Canonicalizer] Process regions top-down instead of bottom up &amp; reuse existing constants.&quot;This reverts commit 361b7d125b438cda13fa45f13790767a62252be9 by ChrisLattner &lt;clattner@nondot.org&gt; dated Fri Mar 19 21:22:15 2021 -0700.The change to the greedy rewriter driver picking a different order wasmade without adequate analysis of the trade-offs and experimentation. Achange like this has far reaching consequences on transformationpipelines, and a major impact upstream and downstream. For eg., onecan&#8217;t be sure that it doesn&#8217;t slow down a large number of cases by smallamounts or create other issues. More discussion here:https://llvm.discourse.group/t/speeding-up-canonicalize/3015/25Reverting this so that improvements to the traversal order can be madeon a clean slate, in bigger steps, and higher bar.Differential Revision: https://reviews.llvm.org/D99329

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Thu, 25 Mar 2021 11:23:45 +0000</pubDate>
        <dc:creator>Uday Bondhugula &lt;uday@polymagelabs.com&gt;</dc:creator>
    </item>
<item>
        <title>361b7d12 - [Canonicalizer] Process regions top-down instead of bottom up &amp; reuse existing constants.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#361b7d12</link>
        <description>[Canonicalizer] Process regions top-down instead of bottom up &amp; reuse existing constants.This reapplies b5d9a3c / https://reviews.llvm.org/D98609 with a one line fix inprocessExistingConstants to skip() when erasing a constant we&apos;ve already seen.Original commit message: 1) Change the canonicalizer to walk the function in top-down order instead of    bottom-up order.  This composes well with the &quot;top down&quot; nature of constant    folding and simplification, reducing iterations and re-evaluation of ops in    simple cases. 2) Explicitly enter existing constants into the OperationFolder table before    canonicalizing.  Previously we would &quot;constant fold&quot; them and rematerialize    them, wastefully recreating a bunch fo constants, which lead to pointless    memory traffic.Both changes together provide a 33% speedup for canonicalize on some mid-sizeCIRCT examples.One artifact of this change is that the constants generated in normal patternapplication get inserted at the top of the function as the patterns are applied.Because of this, we get &quot;inverted&quot; constants more often, which is an aetheticchange to the IR but does permute some testcases.Differential Revision: https://reviews.llvm.org/D99006

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Sat, 20 Mar 2021 04:22:15 +0000</pubDate>
        <dc:creator>Chris Lattner &lt;clattner@nondot.org&gt;</dc:creator>
    </item>
<item>
        <title>e2310704 - [MLIR] Create memref dialect and move dialect-specific ops from std.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#e2310704</link>
        <description>[MLIR] Create memref dialect and move dialect-specific ops from std.Create the memref dialect and move dialect-specific opsfrom std dialect to this dialect.Moved ops:AllocOp -&gt; MemRef_AllocOpAllocaOp -&gt; MemRef_AllocaOpAssumeAlignmentOp -&gt; MemRef_AssumeAlignmentOpDeallocOp -&gt; MemRef_DeallocOpDimOp -&gt; MemRef_DimOpMemRefCastOp -&gt; MemRef_CastOpMemRefReinterpretCastOp -&gt; MemRef_ReinterpretCastOpGetGlobalMemRefOp -&gt; MemRef_GetGlobalOpGlobalMemRefOp -&gt; MemRef_GlobalOpLoadOp -&gt; MemRef_LoadOpPrefetchOp -&gt; MemRef_PrefetchOpReshapeOp -&gt; MemRef_ReshapeOpStoreOp -&gt; MemRef_StoreOpSubViewOp -&gt; MemRef_SubViewOpTransposeOp -&gt; MemRef_TransposeOpTensorLoadOp -&gt; MemRef_TensorLoadOpTensorStoreOp -&gt; MemRef_TensorStoreOpTensorToMemRefOp -&gt; MemRef_BufferCastOpViewOp -&gt; MemRef_ViewOpThe roadmap to split the memref dialect from std is discussed here:https://llvm.discourse.group/t/rfc-split-the-memref-dialect-from-std/2667Differential Revision: https://reviews.llvm.org/D98041

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Wed, 10 Feb 2021 12:53:11 +0000</pubDate>
        <dc:creator>Julian Gross &lt;julian.gross@dfki.de&gt;</dc:creator>
    </item>
<item>
        <title>40d8e4d3 - Revert &quot;[Canonicalizer] Process regions top-down instead of bottom up &amp; reuse existing constants.&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#40d8e4d3</link>
        <description>Revert &quot;[Canonicalizer] Process regions top-down instead of bottom up &amp; reuse existing constants.&quot;This reverts commit b5d9a3c92358349d5444ab28de8ab5b2bee33a01.The commit introduced a memory error in canonicalization/operationwalking that is exposed when compiled with ASAN. It leads to crashes insome &quot;release&quot; configurations.

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Mon, 15 Mar 2021 09:26:41 +0000</pubDate>
        <dc:creator>Alex Zinenko &lt;zinenko@google.com&gt;</dc:creator>
    </item>
<item>
        <title>b5d9a3c9 - [Canonicalizer] Process regions top-down instead of bottom up &amp; reuse existing constants.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir#b5d9a3c9</link>
        <description>[Canonicalizer] Process regions top-down instead of bottom up &amp; reuse existing constants.Two changes: 1) Change the canonicalizer to walk the function in top-down order instead of    bottom-up order.  This composes well with the &quot;top down&quot; nature of constant    folding and simplification, reducing iterations and re-evaluation of ops in    simple cases. 2) Explicitly enter existing constants into the OperationFolder table before    canonicalizing.  Previously we would &quot;constant fold&quot; them and rematerialize    them, wastefully recreating a bunch fo constants, which lead to pointless    memory traffic.Both changes together provide a 33% speedup for canonicalize on some mid-sizeCIRCT examples.One artifact of this change is that the constants generated in normal patternapplication get inserted at the top of the function as the patterns are applied.Because of this, we get &quot;inverted&quot; constants more often, which is an aetheticchange to the IR but does permute some testcases.Differential Revision: https://reviews.llvm.org/D98609

            List of files:
            /llvm-project-15.0.7/mlir/test/Dialect/Linalg/transform-patterns.mlir</description>
        <pubDate>Sun, 14 Mar 2021 20:14:48 +0000</pubDate>
        <dc:creator>Chris Lattner &lt;clattner@nondot.org&gt;</dc:creator>
    </item>
</channel>
</rss>
