<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/mlir/lib/Reducer/ReductionTreePass.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[MLIR] Add reduction interface with tester to mlir-reduce (#166096)</title>
<updated>2025-11-13T03:28:49+00:00</updated>
<author>
<name>AidinT</name>
<email>at.aidin@gmail.com</email>
</author>
<published>2025-11-13T03:28:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=329dec9efa4de6cd508a4a8af9b21c6d42dd75f1'/>
<id>329dec9efa4de6cd508a4a8af9b21c6d42dd75f1</id>
<content type='text'>
Currently, we don't have support for patterns that need access to a
`Tester` instance in `mlir-reduce`. This PR adds
`DialectReductionPatternWithTesterInterface` to the set of supported
interfaces. Dialects can implement this interface to inject the tester
into their pattern classes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, we don't have support for patterns that need access to a
`Tester` instance in `mlir-reduce`. This PR adds
`DialectReductionPatternWithTesterInterface` to the set of supported
interfaces. Dialects can implement this interface to inject the tester
into their pattern classes.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Remove unused includes (NFC) (#148872)</title>
<updated>2025-07-16T03:47:53+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-07-16T03:47:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=606e7f90b1d59799829eb9485eccfca5101b775f'/>
<id>606e7f90b1d59799829eb9485eccfca5101b775f</id>
<content type='text'>
These are identified by misc-include-cleaner.  I've filtered out those
that break builds.  Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are identified by misc-include-cleaner.  I've filtered out those
that break builds.  Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] add a fluent API to GreedyRewriterConfig (#137122)</title>
<updated>2025-04-24T07:51:42+00:00</updated>
<author>
<name>Oleksandr "Alex" Zinenko</name>
<email>git@ozinenko.com</email>
</author>
<published>2025-04-24T07:51:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0c61b24337236a0f67be54c26e12c98e9aecef5b'/>
<id>0c61b24337236a0f67be54c26e12c98e9aecef5b</id>
<content type='text'>
This is similar to other configuration objects used across MLIR.

Rename some fields to better reflect that they are no longer booleans.

Reland 04d261101b4f229189463136a794e3e362a793af / #132253.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is similar to other configuration objects used across MLIR.

Rename some fields to better reflect that they are no longer booleans.

Reland 04d261101b4f229189463136a794e3e362a793af / #132253.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[mlir] add a fluent API to GreedyRewriterConfig (#132253)"</title>
<updated>2025-04-18T16:40:28+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-04-18T16:40:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4cb9a3700c31357821e192124baeb3a3a35ff93b'/>
<id>4cb9a3700c31357821e192124baeb3a3a35ff93b</id>
<content type='text'>
This reverts commit 63b8f1c9482ed0a964980df4aed89bef922b8078.

Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/172/builds/12083/steps/5/logs/stdio

I've reproduced the error with a release build (-DCMAKE_BUILD_TYPE=Release).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 63b8f1c9482ed0a964980df4aed89bef922b8078.

Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/172/builds/12083/steps/5/logs/stdio

I've reproduced the error with a release build (-DCMAKE_BUILD_TYPE=Release).
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] add a fluent API to GreedyRewriterConfig (#132253)</title>
<updated>2025-04-18T13:19:57+00:00</updated>
<author>
<name>Oleksandr "Alex" Zinenko</name>
<email>git@ozinenko.com</email>
</author>
<published>2025-04-18T13:19:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=63b8f1c9482ed0a964980df4aed89bef922b8078'/>
<id>63b8f1c9482ed0a964980df4aed89bef922b8078</id>
<content type='text'>
This is similar to other configuration objects used across MLIR.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is similar to other configuration objects used across MLIR.</pre>
</div>
</content>
</entry>
<entry>
<title>[MLIR][NFC] Retire let constructor for Reducer (#134786)</title>
<updated>2025-04-08T08:31:15+00:00</updated>
<author>
<name>lorenzo chelini</name>
<email>l.chelini@icloud.com</email>
</author>
<published>2025-04-08T08:31:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e7365d3143d762c290c426b172f588756b6f1ef8'/>
<id>e7365d3143d762c290c426b172f588756b6f1ef8</id>
<content type='text'>
let constructor is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
let constructor is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Update docs for Greedy Pattern Rewrite Driver(NFC) (#126701)</title>
<updated>2025-02-17T14:11:49+00:00</updated>
<author>
<name>Longsheng Mou</name>
<email>moulongsheng@huawei.com</email>
</author>
<published>2025-02-17T14:11:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4e41e9ac4c6fd1cb7f3aa3a42725727aff5aadd7'/>
<id>4e41e9ac4c6fd1cb7f3aa3a42725727aff5aadd7</id>
<content type='text'>
The `applyOpPatternsAndFold` is deprecated, use
`applyOpPatternsGreedily` instead.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `applyOpPatternsAndFold` is deprecated, use
`applyOpPatternsGreedily` instead.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Enable decoupling two kinds of greedy behavior. (#104649)</title>
<updated>2024-12-20T16:15:48+00:00</updated>
<author>
<name>Jacques Pienaar</name>
<email>jpienaar@google.com</email>
</author>
<published>2024-12-20T16:15:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=09dfc5713d7e2342bea4c8447d1ed76c85eb8225'/>
<id>09dfc5713d7e2342bea4c8447d1ed76c85eb8225</id>
<content type='text'>
The greedy rewriter is used in many different flows and it has a lot of
convenience (work list management, debugging actions, tracing, etc). But
it combines two kinds of greedy behavior 1) how ops are matched, 2)
folding wherever it can.

These are independent forms of greedy and leads to inefficiency. E.g.,
cases where one need to create different phases in lowering and is
required to applying patterns in specific order split across different
passes. Using the driver one ends up needlessly retrying folding/having
multiple rounds of folding attempts, where one final run would have
sufficed.

Of course folks can locally avoid this behavior by just building their
own, but this is also a common requested feature that folks keep on
working around locally in suboptimal ways.

For downstream users, there should be no behavioral change. Updating
from the deprecated should just be a find and replace (e.g., `find ./
-type f -exec sed -i
's|applyPatternsAndFoldGreedily|applyPatternsGreedily|g' {} \;` variety)
as the API arguments hasn't changed between the two.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The greedy rewriter is used in many different flows and it has a lot of
convenience (work list management, debugging actions, tracing, etc). But
it combines two kinds of greedy behavior 1) how ops are matched, 2)
folding wherever it can.

These are independent forms of greedy and leads to inefficiency. E.g.,
cases where one need to create different phases in lowering and is
required to applying patterns in specific order split across different
passes. Using the driver one ends up needlessly retrying folding/having
multiple rounds of folding attempts, where one final run would have
sufficed.

Of course folks can locally avoid this behavior by just building their
own, but this is also a common requested feature that folks keep on
working around locally in suboptimal ways.

For downstream users, there should be no behavioral change. Updating
from the deprecated should just be a find and replace (e.g., `find ./
-type f -exec sed -i
's|applyPatternsAndFoldGreedily|applyPatternsGreedily|g' {} \;` variety)
as the API arguments hasn't changed between the two.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] GreedyPatternRewriteDriver: Move strict mode to GreedyPatternRewriteDriver</title>
<updated>2023-01-27T14:52:01+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>springerm@google.com</email>
</author>
<published>2023-01-27T14:44:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6bdecbcb99bc6b8fa25a2841bf2087bdbb91b4aa'/>
<id>6bdecbcb99bc6b8fa25a2841bf2087bdbb91b4aa</id>
<content type='text'>
`strictMode` is moved to GreedyRewriteConfig to simplify the API and state of rewriter classes. The region-based GreedyPatternRewriteDriver now also supports strict mode.

MultiOpPatternRewriteDriver becomes simpler: fewer method must be overridden.

Differential Revision: https://reviews.llvm.org/D142623
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`strictMode` is moved to GreedyRewriteConfig to simplify the API and state of rewriter classes. The region-based GreedyPatternRewriteDriver now also supports strict mode.

MultiOpPatternRewriteDriver becomes simpler: fewer method must be overridden.

Differential Revision: https://reviews.llvm.org/D142623
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir-reduce] Support parsing operations other than 'builtin.module' as top-level</title>
<updated>2022-10-03T20:15:53+00:00</updated>
<author>
<name>rkayaith</name>
<email>rkayaith@gmail.com</email>
</author>
<published>2022-09-19T20:59:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=55300991b5ed574812db318742fd0de3887b54dd'/>
<id>55300991b5ed574812db318742fd0de3887b54dd</id>
<content type='text'>
This adds a `--no-implicit-module` option, which disables the insertion
of a top-level `builtin.module` during parsing. Although other ops can
now be parsed as top-level, the actual reduction passes are still
restricted to `builtin.module` as it didn't seem straightforward to
update them.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D134242
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a `--no-implicit-module` option, which disables the insertion
of a top-level `builtin.module` during parsing. Although other ops can
now be parsed as top-level, the actual reduction passes are still
restricted to `builtin.module` as it didn't seem straightforward to
update them.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D134242
</pre>
</div>
</content>
</entry>
</feed>
