<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/mlir/lib/Conversion/SCFToControlFlow, 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][SCF] Add pass option to deactivate pattern rollback (#168481)</title>
<updated>2025-11-18T08:08:27+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>me@m-sp.org</email>
</author>
<published>2025-11-18T08:08:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5327c6b57efba007350ab961899150d3fbfe5b45'/>
<id>5327c6b57efba007350ab961899150d3fbfe5b45</id>
<content type='text'>
Add a pass option to `convert-scf-to-cf` to deactivate pattern rollback
for better performance. The lowering patterns from SCF-&gt;CF to benefit a
lot from this feature because `splitBlock` is expensive in the rollback
driver.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a pass option to `convert-scf-to-cf` to deactivate pattern rollback
for better performance. The lowering patterns from SCF-&gt;CF to benefit a
lot from this feature because `splitBlock` is expensive in the rollback
driver.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][SCF] `scf.for`: Add support for unsigned integer comparison (#153379)</title>
<updated>2025-08-15T08:59:14+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>me@m-sp.org</email>
</author>
<published>2025-08-15T08:59:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=21b607adbeb4326c10f899fb293d057ee1199794'/>
<id>21b607adbeb4326c10f899fb293d057ee1199794</id>
<content type='text'>
Add a new unit attribute to allow for unsigned integer comparison.

Example:
```mlir
scf.for unsigned %iv_32 = %lb_32 to %ub_32 step %step_32 : i32 {
  // body
}
```

Discussion:
https://discourse.llvm.org/t/scf-should-scf-for-support-unsigned-comparison/84655</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a new unit attribute to allow for unsigned integer comparison.

Example:
```mlir
scf.for unsigned %iv_32 = %lb_32 to %ub_32 step %step_32 : i32 {
  // body
}
```

Discussion:
https://discourse.llvm.org/t/scf-should-scf-for-support-unsigned-comparison/84655</pre>
</div>
</content>
</entry>
<entry>
<title>[MLIR][SCF] Propagate loop annotation during while op lowering (#151746)</title>
<updated>2025-08-01T19:14:58+00:00</updated>
<author>
<name>Thomas Raoux</name>
<email>thomas.raoux@openai.com</email>
</author>
<published>2025-08-01T19:14:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0b37de296833f2bd860d735b671f0612f3c194a4'/>
<id>0b37de296833f2bd860d735b671f0612f3c194a4</id>
<content type='text'>
This is expanding on https://github.com/llvm/llvm-project/pull/102562 

This allows also propagating attributes for scf.while lowering</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is expanding on https://github.com/llvm/llvm-project/pull/102562 

This allows also propagating attributes for scf.while lowering</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][SCF] Do not access erased operation in `scf.while` lowering (#150741)</title>
<updated>2025-07-26T09:07:06+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>me@m-sp.org</email>
</author>
<published>2025-07-26T09:07:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cccde9b2b1aa05f2797b29cba209c7642b7ac0f6'/>
<id>cccde9b2b1aa05f2797b29cba209c7642b7ac0f6</id>
<content type='text'>
Do not access the erased `scf.while` operation in the lowering pattern.
That won't work anymore in a One-Shot Dialect Conversion and triggers a
use-after-free sanitizer error.

After the One-Shot Dialect Conversion refactoring, a
`ConversionPatternRewriter` will behave more like a normal
`PatternRewriter`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not access the erased `scf.while` operation in the lowering pattern.
That won't work anymore in a One-Shot Dialect Conversion and triggers a
use-after-free sanitizer error.

After the One-Shot Dialect Conversion refactoring, a
`ConversionPatternRewriter` will behave more like a normal
`PatternRewriter`.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][NFC] update `Conversion` create APIs (7/n) (#149889)</title>
<updated>2025-07-22T14:41:06+00:00</updated>
<author>
<name>Maksim Levental</name>
<email>maksim.levental@gmail.com</email>
</author>
<published>2025-07-22T14:41:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=38976a03cd367b27437e0d1e81c0ccaee2777b47'/>
<id>38976a03cd367b27437e0d1e81c0ccaee2777b47</id>
<content type='text'>
See https://github.com/llvm/llvm-project/pull/147168 for more info.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See https://github.com/llvm/llvm-project/pull/147168 for more info.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][SCF] Do not access erased op in `scf.while` lowering (#148356)</title>
<updated>2025-07-12T14:14:04+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>me@m-sp.org</email>
</author>
<published>2025-07-12T14:14:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7f7cf2743a80848fb6a02814dfa82251efd3631a'/>
<id>7f7cf2743a80848fb6a02814dfa82251efd3631a</id>
<content type='text'>
Do not access the erased `scf.condition` operation in the lowering
pattern. That won't work anymore in a One-Shot Dialect Conversion and
triggers a use-after-free sanitizer error.

After the One-Shot Dialect Conversion refactoring, a
`ConversionPatternRewriter` will behave more like a normal
`PatternRewriter`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not access the erased `scf.condition` operation in the lowering
pattern. That won't work anymore in a One-Shot Dialect Conversion and
triggers a use-after-free sanitizer error.

After the One-Shot Dialect Conversion refactoring, a
`ConversionPatternRewriter` will behave more like a normal
`PatternRewriter`.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] [scf-to-cf] attach the loop annotation to latch block (#147462)</title>
<updated>2025-07-09T04:07:35+00:00</updated>
<author>
<name>Menooker</name>
<email>myjisgreat@live.cn</email>
</author>
<published>2025-07-09T04:07:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=18b409558a9936cc7367f9cc59eaae4867a31e2b'/>
<id>18b409558a9936cc7367f9cc59eaae4867a31e2b</id>
<content type='text'>
As [required by LLVM](https://llvm.org/docs/LangRef.html#llvm-loop), the
loop annotation (loop metadata) should be attached on the ["latch"
block](https://llvm.org/docs/LoopTerminology.html). Otherwise, the
annotation might be ignored by LLVM. This PR fixes this issue.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As [required by LLVM](https://llvm.org/docs/LangRef.html#llvm-loop), the
loop annotation (loop metadata) should be attached on the ["latch"
block](https://llvm.org/docs/LoopTerminology.html). Otherwise, the
annotation might be ignored by LLVM. This PR fixes this issue.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Remove unused includes (NFC) (#147101)</title>
<updated>2025-07-04T20:30:21+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-07-04T20:30:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fa9adbfda9679250ab753edd9aa908d9ea53be0a'/>
<id>fa9adbfda9679250ab753edd9aa908d9ea53be0a</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][NFC] Retire `let constructor` for passes in Conversion directory (part1) (#127403)</title>
<updated>2025-02-17T09:55:27+00:00</updated>
<author>
<name>lorenzo chelini</name>
<email>l.chelini@icloud.com</email>
</author>
<published>2025-02-17T09:55:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c1a229252617ed58f943bf3f4698bd8204ee0f04'/>
<id>c1a229252617ed58f943bf3f4698bd8204ee0f04</id>
<content type='text'>
`let constructor` is deprecated since the table gen backend emits most
of the glue logic to build a pass. This PR retires the td method for
most (I need another pass) passes in the Conversion directory.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`let constructor` is deprecated since the table gen backend emits most
of the glue logic to build a pass. This PR retires the td method for
most (I need another pass) passes in the Conversion directory.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] [scf] fix crash when conversion from scf to control flow (#107221)</title>
<updated>2024-09-06T02:02:05+00:00</updated>
<author>
<name>donald chen</name>
<email>chenxunyu1993@gmail.com</email>
</author>
<published>2024-09-06T02:02:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c02fd17c1e20615c9e6174a3f8ad4ef0ec5ebbec'/>
<id>c02fd17c1e20615c9e6174a3f8ad4ef0ec5ebbec</id>
<content type='text'>
This patch fixed a crash when scf.parallel's region donesn't terminate
with reduce op. This can happend in dialect conversion.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixed a crash when scf.parallel's region donesn't terminate
with reduce op. This can happend in dialect conversion.</pre>
</div>
</content>
</entry>
</feed>
