History log of /llvm-project/mlir/tools/mlir-tblgen/RewriterGen.cpp (Results 1 – 25 of 201)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6
# b0746c68 15-Dec-2024 Kazu Hirata <kazu@google.com>

[mlir-tblgen] Migrate away from PointerUnion::{is,get} (NFC) (#119994)

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

// FIXME: Replace the uses of is(), get() a

[mlir-tblgen] Migrate away from PointerUnion::{is,get} (NFC) (#119994)

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>

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.

show more ...


Revision tags: llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2
# e8137503 03-Oct-2024 Rahul Joshi <rjoshi@nvidia.com>

[NFC] Rename variable `recordKeeper` to `records` (#110989)


Revision tags: llvmorg-19.1.1, llvmorg-19.1.0
# b60c6cbc 07-Sep-2024 Rahul Joshi <rjoshi@nvidia.com>

[MLIR][TableGen] Migrate MLIR backends to use const RecordKeeper (#107505)

- Migrate MLIR backends to use a const RecordKeeper reference.


# 16df489f 06-Sep-2024 Rahul Joshi <rjoshi@nvidia.com>

[TableGen] Add const variants of accessors for backend (#106658)

Split RecordKeeper `getAllDerivedDefinitions` family of functions into
two variants:
(a) non-const ones that return vectors of `R

[TableGen] Add const variants of accessors for backend (#106658)

Split RecordKeeper `getAllDerivedDefinitions` family of functions into
two variants:
(a) non-const ones that return vectors of `Record *` and
(b) const ones, that return vector/ArrayRef of `const Record *`.

This will help gradual migration of TableGen backends to use
`const RecordKeeper` and by implication change code to work
with const pointers and better const correctness.

Existing backends are not yet compatible with the const family of
functions, so change them to use a non-constant `RecordKeeper`
reference, till they are migrated.

show more ...


Revision tags: llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init
# db791b27 02-Jul-2024 Ramkumar Ramachandra <ramkumar.ramachandra@codasip.com>

mlir/LogicalResult: move into llvm (#97309)

This patch is part of a project to move the Presburger library into
LLVM.


# 7d6de19f 27-Jun-2024 akirchhoff-modular <akirchhoff@modular.com>

[mlir] Fix -Wextra-semi warnings in generated code (NFC) (#96981)

While building a downstream project including `mlir-tblgen`-generated
headers, I received some `-Wextra-semi` warnings. Fix these i

[mlir] Fix -Wextra-semi warnings in generated code (NFC) (#96981)

While building a downstream project including `mlir-tblgen`-generated
headers, I received some `-Wextra-semi` warnings. Fix these in the
generated code by removing the extra semicolon in the generator.

show more ...


# ca1a9636 17-Jun-2024 Jacques Pienaar <jpienaar@google.com>

[mlir][drr] Fix variadic destination emission (#95855)

Its possible for handleResultPattern to emit helpers, these helpers
cannot be interleaved with pushing into the array. Emit into a separate
s

[mlir][drr] Fix variadic destination emission (#95855)

Its possible for handleResultPattern to emit helpers, these helpers
cannot be interleaved with pushing into the array. Emit into a separate
string to enable helpers to be emitted before the population of vector.

Signed-off-by: Jacques Pienaar <jpienaar@google.com>

show more ...


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7
# c26847dc 24-May-2024 Jacques Pienaar <jpienaar@google.com>

[mlir][drr] Allow variadic in rewrite side (#93340)

Enables writing patterns where one has op creation with variadic in
result pattern more easily.

Signed-off-by: Jacques Pienaar <jpienaar@googl

[mlir][drr] Allow variadic in rewrite side (#93340)

Enables writing patterns where one has op creation with variadic in
result pattern more easily.

Signed-off-by: Jacques Pienaar <jpienaar@google.com>

show more ...


Revision tags: llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1
# 471a6128 06-Mar-2024 Jacques Pienaar <jpienaar@google.com>

[mlir][drr] Add warning for simple case of mismatched variadic. (#84040)

When a variadic argument is expected but not provided the compilation
fails later with a difficult to follow compilation err

[mlir][drr] Add warning for simple case of mismatched variadic. (#84040)

When a variadic argument is expected but not provided the compilation
fails later with a difficult to follow compilation error. Add a simple
check to catch one such case.

This is not yet general as it doesn't yet check leaf nodes.

show more ...


Revision tags: llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4
# e13bbd1e 20-Oct-2023 Mehdi Amini <joker.eph@gmail.com>

Apply clang-tidy fixes for modernize-use-emplace in RewriterGen.cpp (NFC)


# 616c86ac 19-Oct-2023 Jacques Pienaar <jpienaar@google.com>

[mlir][drr] Set operand segment in rewrite

This allows some basic variadic operands in rewrites. There were some workarounds employed (like "aliasing" the attribute). Couldn't find a way to do this

[mlir][drr] Set operand segment in rewrite

This allows some basic variadic operands in rewrites. There were some workarounds employed (like "aliasing" the attribute). Couldn't find a way to do this directly with properties.

show more ...


Revision tags: llvmorg-17.0.3, llvmorg-17.0.2
# b0e28eb8 26-Sep-2023 Shao-Ce SUN <ssc@lanxincomputing.com>

[llvm][tblgen] Add `Source Filename` for `emitSourceFileHeader` (#65744)

I think this is very helpful for reading generated `.inc` files.


# 7421040b 21-Sep-2023 Jian Cai <jcai19@users.noreply.github.com>

[mlir] Move supplemental patterns before op replacement (#66959)

This moves the C++ code generated from supplemental patterns before op
replacement. It is necessary if the supllemental patterns nee

[mlir] Move supplemental patterns before op replacement (#66959)

This moves the C++ code generated from supplemental patterns before op
replacement. It is necessary if the supllemental patterns need to access
the source op.

show more ...


Revision tags: llvmorg-17.0.1, llvmorg-17.0.0
# 830b9b07 12-Sep-2023 Mehdi Amini <joker.eph@gmail.com>

Update some uses of `getAttr()` to be explicit about Inherent vs Discardable (NFC)


Revision tags: llvmorg-17.0.0-rc4
# 0a0aff2d 30-Aug-2023 Mikhail Goncharov <goncharov.mikhail@gmail.com>

fix unused variable warnings in conditionals

warning was updated in 92023b15099012a657da07ebf49dd7d94a260f84


Revision tags: llvmorg-17.0.0-rc3
# 08d7377b 12-Aug-2023 Logan Chien <loganchien@google.com>

[mlir] Enable DRR variadic operand matching

This commit enables DRR rewriter to match a fixed number of sub-operands
as a variadic operand.

Differential Review: https://reviews.llvm.org/D157359


# d22965f0 16-Aug-2023 Jian Cai <caij2003@gmail.com>

Reland "[mlir] Add a postprocessing parameter in Pattern"

This fixed a test failure that caused the rollback of the original
commit. Verified with ninja check-mlir.


# 2d8f793b 15-Aug-2023 Mehdi Amini <joker.eph@gmail.com>

Revert "[mlir] Add a postprocessing parameter in Pattern"

This reverts commit 02596693fac55f550e85620f5184547c80c8f930.
This reverts commit 3c5b4dabdc06dd380391ac965b16961610c0db77.

The build is br

Revert "[mlir] Add a postprocessing parameter in Pattern"

This reverts commit 02596693fac55f550e85620f5184547c80c8f930.
This reverts commit 3c5b4dabdc06dd380391ac965b16961610c0db77.

The build is broken:

mlir/test/lib/Dialect/Test/TestOps.td:988:7: error: Value specified for template argument 'Pat:supplemental_results' is of type dag; expected type list<dag>: (addBenefit 10)
def : Pat<(OpD $input), (OpF $input), [], (addBenefit 10)>;
^

show more ...


Revision tags: llvmorg-17.0.0-rc2
# 02596693 07-Aug-2023 Jian Cai <caij2003@gmail.com>

[mlir] Add a postprocessing parameter in Pattern

This adds a parameter SupplementalPatterns in tablegen class Pattern for
postprocessing code. For example, this can be used to ensure ops are
placed

[mlir] Add a postprocessing parameter in Pattern

This adds a parameter SupplementalPatterns in tablegen class Pattern for
postprocessing code. For example, this can be used to ensure ops are
placed in the correct device by copying the atttributes that decide
devicement placement in Tensorflow dialect to prevent performance
regression.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D157032

show more ...


# 2660fef8 12-Aug-2023 Logan Chien <loganchien@google.com>

[mlir] Fix DRR either local variable redefinition

Differential Revision: https://reviews.llvm.org/D157771


Revision tags: llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5
# 68f58812 26-May-2023 Tres Popp <tpopp@google.com>

[mlir] Move casting calls from methods to function calls

The MLIR classes Type/Attribute/Operation/Op/Value support
cast/dyn_cast/isa/dyn_cast_or_null functionality through llvm's doCast
functionali

[mlir] Move casting calls from methods to function calls

The MLIR classes Type/Attribute/Operation/Op/Value support
cast/dyn_cast/isa/dyn_cast_or_null functionality through llvm's doCast
functionality in addition to defining methods with the same name.
This change begins the migration of uses of the method to the
corresponding function call as has been decided as more consistent.

Note that there still exist classes that only define methods directly,
such as AffineExpr, and this does not include work currently to support
a functional cast/isa call.

Context:
- https://mlir.llvm.org/deprecation/ at "Use the free function variants
for dyn_cast/cast/isa/…"
- Original discussion at https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443

Implementation:
This patch updates all remaining uses of the deprecated functionality in
mlir/. This was done with clang-tidy as described below and further
modifications to GPUBase.td and OpenMPOpsInterfaces.td.

Steps are described per line, as comments are removed by git:
0. Retrieve the change from the following to build clang-tidy with an
additional check:
main...tpopp:llvm-project:tidy-cast-check
1. Build clang-tidy
2. Run clang-tidy over your entire codebase while disabling all checks
and enabling the one relevant one. Run on all header files also.
3. Delete .inc files that were also modified, so the next build rebuilds
them to a pure state.

```
ninja -C $BUILD_DIR clang-tidy

run-clang-tidy -clang-tidy-binary=$BUILD_DIR/bin/clang-tidy -checks='-*,misc-cast-functions'\
-header-filter=mlir/ mlir/* -fix

rm -rf $BUILD_DIR/tools/mlir/**/*.inc
```

Differential Revision: https://reviews.llvm.org/D151542

show more ...


Revision tags: llvmorg-16.0.4
# 32032cbf 03-May-2023 Chia-hung Duan <chiahungduan@google.com>

[mlir][tblgen] Fix emitting wrong index for `either` directive.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D149152


Revision tags: llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0
# 4e585e51 16-Mar-2023 Kazu Hirata <kazu@google.com>

Use *{Map,Set}::contains (NFC)


Revision tags: llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7
# b4bdcea2 09-Dec-2022 Jakub Kuderski <kubak@google.com>

[mlir][arith] Define mului_extended op

Add conversion to the SPIR-V and LLVM dialects.

This was originally proposed in:
https://discourse.llvm.org/t/rfc-arith-add-extended-multiplication-ops/66869.

[mlir][arith] Define mului_extended op

Add conversion to the SPIR-V and LLVM dialects.

This was originally proposed in:
https://discourse.llvm.org/t/rfc-arith-add-extended-multiplication-ops/66869.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D139688

show more ...


# 3cfe412e 06-Dec-2022 Fangrui Song <i@maskray.me>

[TableGen] llvm::Optional => std::optional


123456789