[Mlir-commits] [mlir] Materialize known constant values only when the value type is integer-like (PR #196133)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed May 6 10:44:26 PDT 2026
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff origin/main HEAD --extensions cpp -- mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp mlir/test/lib/Dialect/Test/TestOpDefs.cpp --diff_from_common_commit
``````````
:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp b/mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
index 559073951..9fcda3908 100644
--- a/mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
+++ b/mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
@@ -137,11 +137,11 @@ struct MaterializeKnownConstantValues : public RewritePattern {
if (matchPattern(op, m_Constant()))
return failure();
- // We need to check isIntOrIndex() here as well to avoid infinite loops in the
- // greedy pattern rewriter. If we only check it in maybeReplaceWithConstant,
- // this lambda might still return true for non-integral types, causing the
- // pattern to match and claim success without making any changes, leading to
- // non-convergence.
+ // We need to check isIntOrIndex() here as well to avoid infinite loops in
+ // the greedy pattern rewriter. If we only check it in
+ // maybeReplaceWithConstant, this lambda might still return true for
+ // non-integral types, causing the pattern to match and claim success
+ // without making any changes, leading to non-convergence.
auto needsReplacing = [&](Value v) {
return getElementTypeOrSelf(v.getType()).isIntOrIndex() &&
getMaybeConstantValue(solver, v).has_value() && !v.use_empty();
``````````
</details>
https://github.com/llvm/llvm-project/pull/196133
More information about the Mlir-commits
mailing list