<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp, branch users/koachan/spr/main.sparcias-enable-parseforallfeatures-in-matchoperandparserimpl</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: fix incorrect usages of divideCeilSigned (#95680)</title>
<updated>2024-06-17T10:43:57+00:00</updated>
<author>
<name>Ramkumar Ramachandra</name>
<email>ramkumar.ramachandra@codasip.com</email>
</author>
<published>2024-06-17T10:43:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e843f029b47e98ae17b9f3e72175a76653f0bd66'/>
<id>e843f029b47e98ae17b9f3e72175a76653f0bd66</id>
<content type='text'>
Follow up on #95087 to fix incorrect usage instances of
divideCeilSigned.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow up on #95087 to fix incorrect usage instances of
divideCeilSigned.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][memref] Unranked support for extract_aligned_pointer_as_index (#93908)</title>
<updated>2024-06-13T13:12:18+00:00</updated>
<author>
<name>Spenser Bauman</name>
<email>sbauman@mathworks.com</email>
</author>
<published>2024-06-13T13:12:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=846103c7e3899a654c470fa360b22d35df888427'/>
<id>846103c7e3899a654c470fa360b22d35df888427</id>
<content type='text'>
memref.extract_aligned_pointer_as_index currently does not support
unranked inputs. This lack of support interferes with the folding
operations in the expand-strided-metadata pass.

    %r = memref.reinterpret_cast %arg0 to
        offset: [0],
        sizes: [],
        strides: [] : memref&lt;*xf32&gt; to memref&lt;f32&gt;

%i = memref.extract_aligned_pointer_as_index %r : memref&lt;f32&gt; -&gt; index

Patterns like this occur when bufferizing operations on unranked
tensors.

This change modifies the extract_aligned_pointer_as_index operation to
support unranked inputs with corresponding support in the MemRef-&gt;LLVM
conversion.

Co-authored-by: Spenser Bauman &lt;sabauma@fastmail&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
memref.extract_aligned_pointer_as_index currently does not support
unranked inputs. This lack of support interferes with the folding
operations in the expand-strided-metadata pass.

    %r = memref.reinterpret_cast %arg0 to
        offset: [0],
        sizes: [],
        strides: [] : memref&lt;*xf32&gt; to memref&lt;f32&gt;

%i = memref.extract_aligned_pointer_as_index %r : memref&lt;f32&gt; -&gt; index

Patterns like this occur when bufferizing operations on unranked
tensors.

This change modifies the extract_aligned_pointer_as_index operation to
support unranked inputs with corresponding support in the MemRef-&gt;LLVM
conversion.

Co-authored-by: Spenser Bauman &lt;sabauma@fastmail&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>mlir/MathExtras: consolidate with llvm/MathExtras (#95087)</title>
<updated>2024-06-11T22:00:02+00:00</updated>
<author>
<name>Ramkumar Ramachandra</name>
<email>ramkumar.ramachandra@codasip.com</email>
</author>
<published>2024-06-11T22:00:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0fb216fb2fbb49c1fe90c1c3267873a100b1c356'/>
<id>0fb216fb2fbb49c1fe90c1c3267873a100b1c356</id>
<content type='text'>
This patch is part of a project to move the Presburger library into
LLVM.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is part of a project to move the Presburger library into
LLVM.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Use `OpBuilder::createBlock` in op builders and patterns (#82770)</title>
<updated>2024-02-24T08:10:07+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>me@m-sp.org</email>
</author>
<published>2024-02-24T08:10:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=91d5653e3ae9742f7fb847f809b534ee128501b0'/>
<id>91d5653e3ae9742f7fb847f809b534ee128501b0</id>
<content type='text'>
When creating a new block in (conversion) rewrite patterns,
`OpBuilder::createBlock` must be used. Otherwise, no
`notifyBlockInserted` notification is sent to the listener.

Note: The dialect conversion relies on listener notifications to keep
track of IR modifications. Creating blocks without the builder API can
lead to memory leaks during rollback.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When creating a new block in (conversion) rewrite patterns,
`OpBuilder::createBlock` must be used. Otherwise, no
`notifyBlockInserted` notification is sent to the listener.

Note: The dialect conversion relies on listener notifications to keep
track of IR modifications. Creating blocks without the builder API can
lead to memory leaks during rollback.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Remove convertible identity restriction for memref.atomic_rmw to LLVM (#72262)</title>
<updated>2023-11-15T03:45:14+00:00</updated>
<author>
<name>Max191</name>
<email>44243577+Max191@users.noreply.github.com</email>
</author>
<published>2023-11-15T03:45:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ce6ef990fee750ed32af180c4c548c5e6677f27d'/>
<id>ce6ef990fee750ed32af180c4c548c5e6677f27d</id>
<content type='text'>
memref.atomic_rmw will fail to convert for memref types that have an offset because they do not have identity maps. This restriction is overly conservative, so this changes the restriction to only strided memref types.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
memref.atomic_rmw will fail to convert for memref types that have an offset because they do not have identity maps. This restriction is overly conservative, so this changes the restriction to only strided memref types.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][affine][nfc] cleanup deprecated T.cast style functions (#71269)</title>
<updated>2023-11-14T05:01:19+00:00</updated>
<author>
<name>long.chen</name>
<email>lipracer@gmail.com</email>
</author>
<published>2023-11-14T05:01:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1609f1c2a5ecc0e0e28f433ec9205122478ddaa3'/>
<id>1609f1c2a5ecc0e0e28f433ec9205122478ddaa3</id>
<content type='text'>
detail see the docment: https://mlir.llvm.org/deprecation/

Not all changes are made manually, most of them are made through a clang
tool I wrote https://github.com/lipracer/cpp-refactor.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
detail see the docment: https://mlir.llvm.org/deprecation/

Not all changes are made manually, most of them are made through a clang
tool I wrote https://github.com/lipracer/cpp-refactor.</pre>
</div>
</content>
</entry>
<entry>
<title>[MLIR][MemRefToLLVM] Remove typed pointer support (#70909)</title>
<updated>2023-11-02T06:35:58+00:00</updated>
<author>
<name>Christian Ulmann</name>
<email>christianulmann@gmail.com</email>
</author>
<published>2023-11-02T06:35:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b28a296cdfb6309fed328e5a299d392a0a841ce1'/>
<id>b28a296cdfb6309fed328e5a299d392a0a841ce1</id>
<content type='text'>
This commit removes the support for lowering MemRefToLLVM to LLVM
dialect with typed pointers. Typed pointers have been deprecated for a
while now and it's planned to soon remove them from the LLVM dialect.

Related PSA:
https://discourse.llvm.org/t/psa-removal-of-typed-pointers-from-the-llvm-dialect/74502</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit removes the support for lowering MemRefToLLVM to LLVM
dialect with typed pointers. Typed pointers have been deprecated for a
while now and it's planned to soon remove them from the LLVM dialect.

Related PSA:
https://discourse.llvm.org/t/psa-removal-of-typed-pointers-from-the-llvm-dialect/74502</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][MemRefToLLVM] Fix crashes with unconvertable memory spaces (#70694)</title>
<updated>2023-10-31T14:01:43+00:00</updated>
<author>
<name>Krzysztof Drewniak</name>
<email>Krzysztof.Drewniak@amd.com</email>
</author>
<published>2023-10-31T14:01:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=73c6248cc2cc3acd01c3580bfdc64825c09a0fd6'/>
<id>73c6248cc2cc3acd01c3580bfdc64825c09a0fd6</id>
<content type='text'>
Fixes #70160

The issue is resolved by:
1. Changing the call to address space conversion to use the correct
return type, preventing the code from moving past the if and into the
crashing optional dereference.
2. Adding handling to the AllocLikeOp rewriter for the case where the
underlying buffer allocation fails.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #70160

The issue is resolved by:
1. Changing the call to address space conversion to use the correct
return type, preventing the code from moving past the if and into the
crashing optional dereference.
2. Adding handling to the AllocLikeOp rewriter for the case where the
underlying buffer allocation fails.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] [memref] Fix alignment bug in memref.copy lowering</title>
<updated>2023-09-14T11:18:12+00:00</updated>
<author>
<name>Felix Schneider</name>
<email>fx.schn@gmail.com</email>
</author>
<published>2023-09-14T11:17:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c336a06144a7bc93156fa01d5489f8d738cdb590'/>
<id>c336a06144a7bc93156fa01d5489f8d738cdb590</id>
<content type='text'>
memref.copy gets lowered to a function call sometimes, this function
is passed the element size of the memref in bytes as an argument.
The element size passed to the copyMemRef() function call can be
miscalculated if the LLVM IR uses aligned access to the memory.

This can be fixed by using llvm.getelementptr to calculate the element
size natively. This is also done in the other lowering path that lowers
to an intrinsic.

Fix https://github.com/llvm/llvm-project/issues/64072

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D156126
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
memref.copy gets lowered to a function call sometimes, this function
is passed the element size of the memref in bytes as an argument.
The element size passed to the copyMemRef() function call can be
miscalculated if the LLVM IR uses aligned access to the memory.

This can be fixed by using llvm.getelementptr to calculate the element
size natively. This is also done in the other lowering path that lowers
to an intrinsic.

Fix https://github.com/llvm/llvm-project/issues/64072

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D156126
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][memref] Fix MemrefToLLVM lowering pattern for memref.transpose</title>
<updated>2023-09-14T11:12:55+00:00</updated>
<author>
<name>Felix Schneider</name>
<email>fx.schn@gmail.com</email>
</author>
<published>2023-09-14T11:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=55088efe061aed2d26cd26cdb8141a79bf9a8528'/>
<id>55088efe061aed2d26cd26cdb8141a79bf9a8528</id>
<content type='text'>
The lowering pattern to LLVM for memref.transpose has a bug where
instead of transposing from (source) -&gt; (dest) it actually transposes
(dest) -&gt; (source). This patch fixes the bug and updates the test.

Fix https://github.com/llvm/llvm-project/issues/65145

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D159290
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The lowering pattern to LLVM for memref.transpose has a bug where
instead of transposing from (source) -&gt; (dest) it actually transposes
(dest) -&gt; (source). This patch fixes the bug and updates the test.

Fix https://github.com/llvm/llvm-project/issues/65145

Reviewed By: nicolasvasilache

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