<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/mlir/lib/TableGen/Pattern.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] Allow using non-attribute properties in declarative rewrite patterns (#143071)</title>
<updated>2025-06-24T05:20:27+00:00</updated>
<author>
<name>Krzysztof Drewniak</name>
<email>krzysdrewniak@gmail.com</email>
</author>
<published>2025-06-24T05:20:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5ce5ed4b856542a369b29db61ebed6b66c349f9e'/>
<id>5ce5ed4b856542a369b29db61ebed6b66c349f9e</id>
<content type='text'>
This commit adds support for non-attribute properties (such as
StringProp and I64Prop) in declarative rewrite patterns. The handling
for properties follows the handling for attributes in most cases,
including in the generation of static matchers.

Constraints that are shared between multiple types are supported by
making the constraint matcher a templated function, which is the
equivalent to passing ::mlir::Attribute for an arbitrary C++ type.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds support for non-attribute properties (such as
StringProp and I64Prop) in declarative rewrite patterns. The handling
for properties follows the handling for attributes in most cases,
including in the generation of static matchers.

Constraints that are shared between multiple types are supported by
making the constraint matcher a templated function, which is the
equivalent to passing ::mlir::Attribute for an arbitrary C++ type.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][drr] Use fully qualified name in getValueAndRangeUse (#139847)</title>
<updated>2025-05-14T05:41:00+00:00</updated>
<author>
<name>Jacques Pienaar</name>
<email>jpienaar@google.com</email>
</author>
<published>2025-05-14T05:41:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fbeab2c391361eeaaa56fe13177dbdb446e2b6c9'/>
<id>fbeab2c391361eeaaa56fe13177dbdb446e2b6c9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][drr] Fix getValueAndRangeUse for Optional operands (#138742)</title>
<updated>2025-05-07T02:40:08+00:00</updated>
<author>
<name>Lei Zhang</name>
<email>antiagainst@gmail.com</email>
</author>
<published>2025-05-07T02:40:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3c709802d31b5bc5ed3af8284b40593ff39b9eec'/>
<id>3c709802d31b5bc5ed3af8284b40593ff39b9eec</id>
<content type='text'>
Optional operands should just return one single value.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Optional operands should just return one single value.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Decouple enum generation from attributes, adding EnumInfo and EnumCase (#132148)</title>
<updated>2025-03-28T00:40:06+00:00</updated>
<author>
<name>Krzysztof Drewniak</name>
<email>krzysdrewniak@gmail.com</email>
</author>
<published>2025-03-28T00:40:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d7c53a91c2c11439429bbd50bb1d0a202c553a47'/>
<id>d7c53a91c2c11439429bbd50bb1d0a202c553a47</id>
<content type='text'>
This commit pulls apart the inherent attribute dependence of classes
like EnumAttrInfo and EnumAttrCase, factoring them out into simpler
EnumCase and EnumInfo variants. This allows specifying the cases of an
enum without needing to make the cases, or the EnumInfo itself, a
subclass of SignlessIntegerAttrBase.

The existing classes are retained as subclasses of the new ones, both
for backwards compatibility and to allow attribute-specific information.

In addition, the new BitEnum class changes its default printer/parser
behavior: cases when multiple keywords appear, like having both nuw and
nsw in overflow flags, will no longer be quoted by the operator&lt;&lt;, and
the FieldParser instance will now expect multiple keywords. All
instances of BitEnumAttr retain the old behavior.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit pulls apart the inherent attribute dependence of classes
like EnumAttrInfo and EnumAttrCase, factoring them out into simpler
EnumCase and EnumInfo variants. This allows specifying the cases of an
enum without needing to make the cases, or the EnumInfo itself, a
subclass of SignlessIntegerAttrBase.

The existing classes are retained as subclasses of the new ones, both
for backwards compatibility and to allow attribute-specific information.

In addition, the new BitEnum class changes its default printer/parser
behavior: cases when multiple keywords appear, like having both nuw and
nsw in overflow flags, will no longer be quoted by the operator&lt;&lt;, and
the FieldParser instance will now expect multiple keywords. All
instances of BitEnumAttr retain the old behavior.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][NFC] Move and rename EnumAttrCase, EnumAttr C++ classes (#132650)</title>
<updated>2025-03-27T01:26:14+00:00</updated>
<author>
<name>Krzysztof Drewniak</name>
<email>krzysdrewniak@gmail.com</email>
</author>
<published>2025-03-27T01:26:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=263ec7221ef6ef96876d75b69ab48bf37dcbb25e'/>
<id>263ec7221ef6ef96876d75b69ab48bf37dcbb25e</id>
<content type='text'>
This moves the EnumAttrCase and EnumAttr classes from Attribute.h/.cpp
to a new EnumInfo.h/cpp and renames them to EnumCase and EnumInfo,
respectively.

This doesn't change any of the tablegen files or any user-facing aspects
of the enum attribute generation system, just reorganizes code in order
to make main PR (#132148) shorter.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This moves the EnumAttrCase and EnumAttr classes from Attribute.h/.cpp
to a new EnumInfo.h/cpp and renames them to EnumCase and EnumInfo,
respectively.

This doesn't change any of the tablegen files or any user-facing aspects
of the enum attribute generation system, just reorganizes code in order
to make main PR (#132148) shorter.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Migrate away from PointerUnion::{is,get} (NFC) (#122569)</title>
<updated>2025-01-11T08:17:40+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-01-11T08:17:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=26d513d197e14b824dd9d353aff38af1925c3770'/>
<id>26d513d197e14b824dd9d353aff38af1925c3770</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;</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;</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][MLIR][TableGen] Eliminate `llvm::` for commonly used types (#112456)</title>
<updated>2024-10-18T21:26:57+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-10-18T21:26:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=659192b1843c4af180700783caca4cdc7afa3eab'/>
<id>659192b1843c4af180700783caca4cdc7afa3eab</id>
<content type='text'>
Eliminate `llvm::` namespace qualifier for commonly used types in MLIR
TableGen backends to reduce code clutter.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Eliminate `llvm::` namespace qualifier for commonly used types in MLIR
TableGen backends to reduce code clutter.</pre>
</div>
</content>
</entry>
<entry>
<title>[MLIR][TableGen] Use const pointers for various `Init` objects (#112562)</title>
<updated>2024-10-16T18:46:38+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-10-16T18:46:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e768b076e3b7ed38485a29244a0b989076e4b131'/>
<id>e768b076e3b7ed38485a29244a0b989076e4b131</id>
<content type='text'>
This reverts commit 0eed3055511381436ee69d1caf64a4af47f8d65c and applies
additional fixes in `verifyArgument` in OmpOpGen.cpp for gcc-7 bot
failures</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 0eed3055511381436ee69d1caf64a4af47f8d65c and applies
additional fixes in `verifyArgument` in OmpOpGen.cpp for gcc-7 bot
failures</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[MLIR][TableGen] Use const pointers for various `Init` objects" (#112506)</title>
<updated>2024-10-16T09:09:17+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>joker.eph@gmail.com</email>
</author>
<published>2024-10-16T09:09:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0eed3055511381436ee69d1caf64a4af47f8d65c'/>
<id>0eed3055511381436ee69d1caf64a4af47f8d65c</id>
<content type='text'>
Reverts llvm/llvm-project#112316

Bots are failing.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#112316

Bots are failing.</pre>
</div>
</content>
</entry>
<entry>
<title>[MLIR][TableGen] Use const pointers for various `Init` objects (#112316)</title>
<updated>2024-10-15T06:48:12+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-10-15T06:48:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1ae9fe5ea0c502195f0c857759e2277ba9c8b338'/>
<id>1ae9fe5ea0c502195f0c857759e2277ba9c8b338</id>
<content type='text'>
Use const pointers for various `Init` objects. This is a part of effort
to have better const correctness in TableGen backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use const pointers for various `Init` objects. This is a part of effort
to have better const correctness in TableGen backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089</pre>
</div>
</content>
</entry>
</feed>
