[Mlir-commits] [mlir] [mlir] Fix GCC compilation warning in TuneExtensionOps.cpp (PR #168850)

David Spickett llvmlistbot at llvm.org
Thu Nov 20 02:48:45 PST 2025


https://github.com/DavidSpickett created https://github.com/llvm/llvm-project/pull/168850

Building with GCC produces:
<...>/TuneExtensionOps.cpp:180:26: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
  180 |   if (*selectedRegionIdx < 0 || *selectedRegionIdx >= getNumRegions())
      |       ~~~~~~~~~~~~~~~~~~~^~~
<...>/TuneExtensionOps.cpp: In member function ‘llvm::LogicalResult mlir::transform::tune::AlternativesOp::verify()’:
/home/david.spickett/llvm-project/mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp:236:19: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
  236 |     if (regionIdx < 0 || regionIdx >= getNumRegions())
      |         ~~~~~~~~~~^~~

Both of these are a size_t, which is always unsigned.

>From 3df1e675785d126d7a756cba49223a3308b23ed9 Mon Sep 17 00:00:00 2001
From: David Spickett <david.spickett at linaro.org>
Date: Thu, 20 Nov 2025 10:46:09 +0000
Subject: [PATCH] [mlir] Fix GCC compilation warning in TuneExtensionOps.cpp
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Building with GCC produces:
<...>/TuneExtensionOps.cpp:180:26: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
  180 |   if (*selectedRegionIdx < 0 || *selectedRegionIdx >= getNumRegions())
      |       ~~~~~~~~~~~~~~~~~~~^~~
<...>/TuneExtensionOps.cpp: In member function ‘llvm::LogicalResult mlir::transform::tune::AlternativesOp::verify()’:
/home/david.spickett/llvm-project/mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp:236:19: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
  236 |     if (regionIdx < 0 || regionIdx >= getNumRegions())
      |         ~~~~~~~~~~^~~

Both of these are a size_t, which is always unsigned.
---
 mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp b/mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp
index f727118f3f9a0..78663827a2abd 100644
--- a/mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp
+++ b/mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp
@@ -177,7 +177,7 @@ transform::tune::AlternativesOp::apply(transform::TransformRewriter &rewriter,
                                  << " is only resolved through providing a "
                                     "`selected_region` attr/param";
 
-  if (*selectedRegionIdx < 0 || *selectedRegionIdx >= getNumRegions())
+  if (*selectedRegionIdx >= getNumRegions())
     return emitDefiniteFailure()
            << "'selected_region' attribute/param specifies region at index "
            << *selectedRegionIdx << " while op has only " << getNumRegions()
@@ -233,7 +233,7 @@ LogicalResult transform::tune::AlternativesOp::verify() {
 
   if (auto selectedRegionAttr = getSelectedRegionAttr()) {
     size_t regionIdx = selectedRegionAttr->getSExtValue();
-    if (regionIdx < 0 || regionIdx >= getNumRegions())
+    if (regionIdx >= getNumRegions())
       return emitOpError()
              << "'selected_region' attribute specifies region at index "
              << regionIdx << " while op has only " << getNumRegions()



More information about the Mlir-commits mailing list