<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp, branch users/chapuni/cov/single/loop</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][bufferization]-Refactor findValueInReverseUseDefChain to accept opOperand (#121304)</title>
<updated>2024-12-30T19:18:38+00:00</updated>
<author>
<name>Amir Bishara</name>
<email>139038766+amirBish@users.noreply.github.com</email>
</author>
<published>2024-12-30T19:18:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d9111f19d2ea53d8ce105b3d09425394ccf37969'/>
<id>d9111f19d2ea53d8ce105b3d09425394ccf37969</id>
<content type='text'>
Edit the `findValueInReverseUseDefChain` method to accept `OpOperand`
instead of the `Value` type, This change will make sure that the
populated `visitedOpOperands` argument is fully accurate and contains
the opOperand we have started the reverse chain from.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Edit the `findValueInReverseUseDefChain` method to accept `OpOperand`
instead of the `Value` type, This change will make sure that the
populated `visitedOpOperands` argument is fully accurate and contains
the opOperand we have started the reverse chain from.</pre>
</div>
</content>
</entry>
<entry>
<title>[Linalg] Migrate away from PointerUnion::{is,get} (NFC) (#120043)</title>
<updated>2024-12-16T17:40:38+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-12-16T17:40:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4f279a570110e3d688356a327637c57071f4b13b'/>
<id>4f279a570110e3d688356a327637c57071f4b13b</id>
<content type='text'>
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa&lt;T&gt;, cast&lt;T&gt; and the llvm::dyn_cast&lt;T&gt;

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa&lt;T&gt;, cast&lt;T&gt; and the llvm::dyn_cast&lt;T&gt;

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.</pre>
</div>
</content>
</entry>
<entry>
<title>Switch member calls to `isa/dyn_cast/cast/...` to free function calls. (#89356)</title>
<updated>2024-04-19T13:58:27+00:00</updated>
<author>
<name>Christian Sigg</name>
<email>chsigg@users.noreply.github.com</email>
</author>
<published>2024-04-19T13:58:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a5757c5b65f1894de16f549212b1c37793312703'/>
<id>a5757c5b65f1894de16f549212b1c37793312703</id>
<content type='text'>
This change cleans up call sites. Next step is to mark the member
functions deprecated.

See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change cleans up call sites. Next step is to mark the member
functions deprecated.

See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward.</pre>
</div>
</content>
</entry>
<entry>
<title>Add llvm::min/max_element and use it in llvm/ and mlir/ directories. (#84678)</title>
<updated>2024-03-11T03:00:13+00:00</updated>
<author>
<name>Justin Lebar</name>
<email>justin.lebar@gmail.com</email>
</author>
<published>2024-03-11T03:00:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fab2bb8bfda865bd438dee981d7be7df8017b76d'/>
<id>fab2bb8bfda865bd438dee981d7be7df8017b76d</id>
<content type='text'>
For some reason this was missing from STLExtras.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For some reason this was missing from STLExtras.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][IR] Rename "update root" to "modify op" in rewriter API (#78260)</title>
<updated>2024-01-17T10:08:59+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>me@m-sp.org</email>
</author>
<published>2024-01-17T10:08:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5fcf907b34355980f77d7665a175b05fea7a6b7b'/>
<id>5fcf907b34355980f77d7665a175b05fea7a6b7b</id>
<content type='text'>
This commit renames 4 pattern rewriter API functions:
* `updateRootInPlace` -&gt; `modifyOpInPlace`
* `startRootUpdate` -&gt; `startOpModification`
* `finalizeRootUpdate` -&gt; `finalizeOpModification`
* `cancelRootUpdate` -&gt; `cancelOpModification`

The term "root" is a misnomer. The root is the op that a rewrite pattern
matches against
(https://mlir.llvm.org/docs/PatternRewriter/#root-operation-name-optional).
A rewriter must be notified of all in-place op modifications, not just
in-place modifications of the root
(https://mlir.llvm.org/docs/PatternRewriter/#pattern-rewriter). The old
function names were confusing and have contributed to various broken
rewrite patterns.

Note: The new function names use the term "modify" instead of "update"
for consistency with the `RewriterBase::Listener` terminology
(`notifyOperationModified`).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit renames 4 pattern rewriter API functions:
* `updateRootInPlace` -&gt; `modifyOpInPlace`
* `startRootUpdate` -&gt; `startOpModification`
* `finalizeRootUpdate` -&gt; `finalizeOpModification`
* `cancelRootUpdate` -&gt; `cancelOpModification`

The term "root" is a misnomer. The root is the op that a rewrite pattern
matches against
(https://mlir.llvm.org/docs/PatternRewriter/#root-operation-name-optional).
A rewriter must be notified of all in-place op modifications, not just
in-place modifications of the root
(https://mlir.llvm.org/docs/PatternRewriter/#pattern-rewriter). The old
function names were confusing and have contributed to various broken
rewrite patterns.

Note: The new function names use the term "modify" instead of "update"
for consistency with the `RewriterBase::Listener` terminology
(`notifyOperationModified`).</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Use llvm::is_contained (NFC)</title>
<updated>2024-01-13T06:08:29+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-01-13T06:08:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8e8bbbd48ee23764cc6030fd259dde6a1107c00c'/>
<id>8e8bbbd48ee23764cc6030fd259dde6a1107c00c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][memref] Remove redundant `memref.tensor_store` op (#71010)</title>
<updated>2023-11-05T03:47:18+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>me@m-sp.org</email>
</author>
<published>2023-11-05T03:47:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=437c62178c78deb2eefa32235ef93724141b15bb'/>
<id>437c62178c78deb2eefa32235ef93724141b15bb</id>
<content type='text'>
`bufferization.materialize_in_destination` should be used instead. Both
ops bufferize to a memcpy. This change also conceptually cleans up the
memref dialect a bit: the memref dialect no longer contains ops that
operate on tensor values.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`bufferization.materialize_in_destination` should be used instead. Both
ops bufferize to a memcpy. This change also conceptually cleans up the
memref dialect a bit: the memref dialect no longer contains ops that
operate on tensor values.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][Bufferization] Add support for controlled bufferization of alloc_tensor (#70957)</title>
<updated>2023-11-02T10:34:10+00:00</updated>
<author>
<name>Nicolas Vasilache</name>
<email>nicolasvasilache@users.noreply.github.com</email>
</author>
<published>2023-11-02T10:34:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3a223f4414444c3ecc65abb6482df3df87e26b86'/>
<id>3a223f4414444c3ecc65abb6482df3df87e26b86</id>
<content type='text'>
This revision adds support to
`transform.structured.bufferize_to_allocation` to bufferize
`bufferization.alloc_tensor()` ops.
    
This is useful as a means path to control the bufferization of
`tensor.empty` ops that have bene previously
`bufferization.empty_tensor_to_alloc_tensor`'ed.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This revision adds support to
`transform.structured.bufferize_to_allocation` to bufferize
`bufferization.alloc_tensor()` ops.
    
This is useful as a means path to control the bufferization of
`tensor.empty` ops that have bene previously
`bufferization.empty_tensor_to_alloc_tensor`'ed.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][linalg] Optional dealloc insertion for bufferize_to_allocation (#65610)</title>
<updated>2023-09-07T15:49:48+00:00</updated>
<author>
<name>Martin Erhart</name>
<email>merhart@google.com</email>
</author>
<published>2023-09-07T15:49:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=412c2fd27030f084088e0f395c28e0767df8b212'/>
<id>412c2fd27030f084088e0f395c28e0767df8b212</id>
<content type='text'>
This commit allows to omit insertion of the memref.dealloc operation
when linalg.structured.bufferize_to_allocation is run and makes this the
default behavior. This is desirable when the
buffer-deallocation-pipeline is run after bufferization to handle buffer
deallocation.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit allows to omit insertion of the memref.dealloc operation
when linalg.structured.bufferize_to_allocation is run and makes this the
default behavior. This is desirable when the
buffer-deallocation-pipeline is run after bufferization to handle buffer
deallocation.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][linalg] Fix bufferize_to_allocation error checking</title>
<updated>2023-09-04T11:13:35+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>me@m-sp.org</email>
</author>
<published>2023-09-04T08:40:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b76a180d3b1db1e5ad6fdddfdef0d01788a6a0da'/>
<id>b76a180d3b1db1e5ad6fdddfdef0d01788a6a0da</id>
<content type='text'>
`bufferize_to_allocation` does not supports ops with regions, unless `bufferize_destination_only` is set. In that case, only the operand is replaced with an allocation and wrapped in a `to_tensor` op. The error checking was too strict.

Differential Revision: https://reviews.llvm.org/D159420
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`bufferize_to_allocation` does not supports ops with regions, unless `bufferize_destination_only` is set. In that case, only the operand is replaced with an allocation and wrapped in a `to_tensor` op. The error checking was too strict.

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