<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git, branch users/mingmingl-llvm/targetpassconfig</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>Extend MemProfUse pass to make use of data access profiles</title>
<updated>2025-07-29T18:59:23+00:00</updated>
<author>
<name>mingmingl</name>
<email>mingmingl@google.com</email>
</author>
<published>2025-07-28T08:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=92fc07a8a8f2e80dff4d4ec2dd74de10ab65298e'/>
<id>92fc07a8a8f2e80dff4d4ec2dd74de10ab65298e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[mlir][linalg] Restrict linalg.pack to not have artificial padding." (#150675)</title>
<updated>2025-07-25T18:27:41+00:00</updated>
<author>
<name>Han-Chung Wang</name>
<email>hanhan0912@gmail.com</email>
</author>
<published>2025-07-25T18:27:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0844812b2e9d7f5ab005223443791c9287bcf5a2'/>
<id>0844812b2e9d7f5ab005223443791c9287bcf5a2</id>
<content type='text'>
Reverts llvm/llvm-project#150522 because it breaks
`Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir`.

https://lab.llvm.org/buildbot/#/builders/116/builds/16097</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#150522 because it breaks
`Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir`.

https://lab.llvm.org/buildbot/#/builders/116/builds/16097</pre>
</div>
</content>
</entry>
<entry>
<title>[DA] Add check for base pointer invariance (#148241)</title>
<updated>2025-07-25T18:25:01+00:00</updated>
<author>
<name>Ryotaro Kasuga</name>
<email>kasuga.ryotaro@fujitsu.com</email>
</author>
<published>2025-07-25T18:25:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b06f10d96c6d0fb89253c75c7f1d75c4cf519339'/>
<id>b06f10d96c6d0fb89253c75c7f1d75c4cf519339</id>
<content type='text'>
As specified in #53942, DA assumes base pointer invariance in its
process. Some cases were fixed by #116628. However, that PR only
addressed the parts related to AliasAnalysis, so the original issue
persists in later stages, especially when the AliasAnalysis results in
`MustAlias`.
This patch insert an explicit loop-invariant checks for the base pointer
and skips analysis when it is not loop-invariant.

Fix the cases added in #148240.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As specified in #53942, DA assumes base pointer invariance in its
process. Some cases were fixed by #116628. However, that PR only
addressed the parts related to AliasAnalysis, so the original issue
persists in later stages, especially when the AliasAnalysis results in
`MustAlias`.
This patch insert an explicit loop-invariant checks for the base pointer
and skips analysis when it is not loop-invariant.

Fix the cases added in #148240.</pre>
</div>
</content>
</entry>
<entry>
<title>[clang-doc] add param comments to comment template (#150571)</title>
<updated>2025-07-25T18:16:04+00:00</updated>
<author>
<name>Erick Velez</name>
<email>erickvelez7@gmail.com</email>
</author>
<published>2025-07-25T18:16:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=80594820512605f25993b28d0aab2214d5308d59'/>
<id>80594820512605f25993b28d0aab2214d5308d59</id>
<content type='text'>
Serializes parameter comments for all descriptions.
We do not support Doxygen's parameter checking, which warns if a documented parameter is not actually present.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Serializes parameter comments for all descriptions.
We do not support Doxygen's parameter checking, which warns if a documented parameter is not actually present.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][linalg] Restrict linalg.pack to not have artificial padding. (#150522)</title>
<updated>2025-07-25T18:06:17+00:00</updated>
<author>
<name>Han-Chung Wang</name>
<email>hanhan0912@gmail.com</email>
</author>
<published>2025-07-25T18:06:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=773e158c64735a80b814f20be6b959d9577531f8'/>
<id>773e158c64735a80b814f20be6b959d9577531f8</id>
<content type='text'>
The revision restrict the `linalg.pack` op to not have artificial
padding semantics. E.g., the below is valid without the change, and it
becomes invalid with the change.

```mlir
func.func @foo(%src: tensor&lt;9xf32&gt;) -&gt; tensor&lt;100x8xf32&gt; {
  %cst = arith.constant 0.000000e+00 : f32
  %dest = tensor.empty() : tensor&lt;100x8xf32&gt;
  %pack = linalg.pack %src
    padding_value(%cst : f32)
    inner_dims_pos = [0]
    inner_tiles = [8] into %dest
    : tensor&lt;9xf32&gt; -&gt; tensor&lt;100x8xf32&gt;
  return %pack : tensor&lt;100x8xf32&gt;
}
```

IMO, it is a misuse if we use pack ops with artificial padding sizes
because the intention of the pack op is to relayout the source based on
target intrinsics, etc. The output shape is expected to be
`tensor&lt;2x8xf32&gt;`. If people need extra padding sizes, they can create a
new pad op followed by the pack op.

This also makes consumer tiling much easier because the consumer fusion
does not support artificial padding sizes. It is very hard to make it
work without using ad-hoc patterns because the tiling sizes are about
source, which implies that you don't have a core_id/thread_id to write
padding values to the whole tile.

People may have a question how why pad tiling implementation works. The
answer is that it creates an `if-else` branch to handle the case. In my
experience, it is very struggle in transformation because most of the
time people only need one side of the branch given that the tile sizes
are usually greater than padding sizes. However, the implementation is
conservatively correct in terms of semantics. Given that the
introduction of `pack` op is to serve the relayout needs better, having
the restriction makes sense to me.

Removed tests:
-
`no_bubble_up_pack_extending_dimension_through_expand_cannot_reassociate`
from `data-layout-propagation.mlir`: it is a dup test to
`bubble_up_pack_non_expanded_dims_through_expand` after we fix the
shape.
- `fuse_pack_consumer_with_untiled_extra_padding` from
`tile-and-fuse-consumer.mlir`: it was created for artificial padding in
the consumer fusion implementation.

The other changes in lit tests are just fixing the shape.

---------

Signed-off-by: hanhanW &lt;hanhan0912@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The revision restrict the `linalg.pack` op to not have artificial
padding semantics. E.g., the below is valid without the change, and it
becomes invalid with the change.

```mlir
func.func @foo(%src: tensor&lt;9xf32&gt;) -&gt; tensor&lt;100x8xf32&gt; {
  %cst = arith.constant 0.000000e+00 : f32
  %dest = tensor.empty() : tensor&lt;100x8xf32&gt;
  %pack = linalg.pack %src
    padding_value(%cst : f32)
    inner_dims_pos = [0]
    inner_tiles = [8] into %dest
    : tensor&lt;9xf32&gt; -&gt; tensor&lt;100x8xf32&gt;
  return %pack : tensor&lt;100x8xf32&gt;
}
```

IMO, it is a misuse if we use pack ops with artificial padding sizes
because the intention of the pack op is to relayout the source based on
target intrinsics, etc. The output shape is expected to be
`tensor&lt;2x8xf32&gt;`. If people need extra padding sizes, they can create a
new pad op followed by the pack op.

This also makes consumer tiling much easier because the consumer fusion
does not support artificial padding sizes. It is very hard to make it
work without using ad-hoc patterns because the tiling sizes are about
source, which implies that you don't have a core_id/thread_id to write
padding values to the whole tile.

People may have a question how why pad tiling implementation works. The
answer is that it creates an `if-else` branch to handle the case. In my
experience, it is very struggle in transformation because most of the
time people only need one side of the branch given that the tile sizes
are usually greater than padding sizes. However, the implementation is
conservatively correct in terms of semantics. Given that the
introduction of `pack` op is to serve the relayout needs better, having
the restriction makes sense to me.

Removed tests:
-
`no_bubble_up_pack_extending_dimension_through_expand_cannot_reassociate`
from `data-layout-propagation.mlir`: it is a dup test to
`bubble_up_pack_non_expanded_dims_through_expand` after we fix the
shape.
- `fuse_pack_consumer_with_untiled_extra_padding` from
`tile-and-fuse-consumer.mlir`: it was created for artificial padding in
the consumer fusion implementation.

The other changes in lit tests are just fixing the shape.

---------

Signed-off-by: hanhanW &lt;hanhan0912@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[SLP]Initial support for copyable elements (non-schedulable only)</title>
<updated>2025-07-25T17:55:07+00:00</updated>
<author>
<name>Alexey Bataev</name>
<email>a.bataev@outlook.com</email>
</author>
<published>2025-07-21T18:07:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ef98e248c7740fb882b256dd325d22a057de1951'/>
<id>ef98e248c7740fb882b256dd325d22a057de1951</id>
<content type='text'>
Adds initial support for copyable elements. This patch only models adds
and model copyable elements as add &lt;element&gt;, 0, i.e. uses identity
constants for missing lanes.
Only support for elements, which do not require scheduling, is added to
reduce size of the patch.

Fixed compile time regressions, reported crashes, updated release notes

Reviewers: RKSimon, hiraditya

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/140279
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds initial support for copyable elements. This patch only models adds
and model copyable elements as add &lt;element&gt;, 0, i.e. uses identity
constants for missing lanes.
Only support for elements, which do not require scheduling, is added to
reduce size of the patch.

Fixed compile time regressions, reported crashes, updated release notes

Reviewers: RKSimon, hiraditya

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/140279
</pre>
</div>
</content>
</entry>
<entry>
<title>[MLIR] Add missing includes to NVVM/Target.cpp (fix build) (#150637)</title>
<updated>2025-07-25T17:54:46+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>joker.eph@gmail.com</email>
</author>
<published>2025-07-25T17:54:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ce535c870038dd480649461c2d6d4dffe9697253'/>
<id>ce535c870038dd480649461c2d6d4dffe9697253</id>
<content type='text'>
Depending on the CMake configuration, these missing headers triggers a
compilation error.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Depending on the CMake configuration, these missing headers triggers a
compilation error.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Make fenv utility functions constexpr. (#150447)</title>
<updated>2025-07-25T17:44:47+00:00</updated>
<author>
<name>lntue</name>
<email>lntue@google.com</email>
</author>
<published>2025-07-25T17:44:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=252119eb24c71933634c2b006d9b0a64e8352648'/>
<id>252119eb24c71933634c2b006d9b0a64e8352648</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang-doc] generate comments for functions (#150570)</title>
<updated>2025-07-25T17:40:48+00:00</updated>
<author>
<name>Erick Velez</name>
<email>erickvelez7@gmail.com</email>
</author>
<published>2025-07-25T17:40:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=237a485c8146fd971c594b05c016c406b4d29900'/>
<id>237a485c8146fd971c594b05c016c406b4d29900</id>
<content type='text'>
Change the function partial to enable comments to be generated for
functions. This only enables the brief comments in the basic project.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the function partial to enable comments to be generated for
functions. This only enables the brief comments in the basic project.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][NFC] update `mlir` create APIs (34/n) (#150660)</title>
<updated>2025-07-25T17:36:54+00:00</updated>
<author>
<name>Maksim Levental</name>
<email>maksim.levental@gmail.com</email>
</author>
<published>2025-07-25T17:36:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=258daf539583b80e0217d1d87941412d65cf16aa'/>
<id>258daf539583b80e0217d1d87941412d65cf16aa</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>
</feed>
