[Mlir-commits] [mlir] 4f4cd96 - [mlir][spirv] Fix OOB error in TestModuleCombiner
Jakub Kuderski
llvmlistbot at llvm.org
Mon Apr 24 11:00:50 PDT 2023
Author: Jakub Kuderski
Date: 2023-04-24T13:56:22-04:00
New Revision: 4f4cd963a6e820b50514706a1a3faed3a05779a2
URL: https://github.com/llvm/llvm-project/commit/4f4cd963a6e820b50514706a1a3faed3a05779a2
DIFF: https://github.com/llvm/llvm-project/commit/4f4cd963a6e820b50514706a1a3faed3a05779a2.diff
LOG: [mlir][spirv] Fix OOB error in TestModuleCombiner
Also fix a typo in the surrounding code.
Fixes: https://github.com/llvm/llvm-project/issues/62318
Reviewed By: qedawkins
Differential Revision: https://reviews.llvm.org/D149069
Added:
Modified:
mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/basic.mlir
mlir/test/lib/Dialect/SPIRV/TestModuleCombiner.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp b/mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
index 3083bb8d8ce69..1f708c2ae37ad 100644
--- a/mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
+++ b/mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
@@ -28,7 +28,7 @@ using namespace mlir;
static constexpr unsigned maxFreeID = 1 << 20;
-/// Returns an unsed symbol in `module` for `oldSymbolName` by trying numeric
+/// Returns an unused symbol in `module` for `oldSymbolName` by trying numeric
/// suffix in `lastUsedID`.
static StringAttr renameSymbol(StringRef oldSymName, unsigned &lastUsedID,
spirv::ModuleOp module) {
diff --git a/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/basic.mlir b/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/basic.mlir
index f9d46656358c0..4aed260420ae7 100644
--- a/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/basic.mlir
+++ b/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/basic.mlir
@@ -77,3 +77,11 @@ spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], [SPV_KHR_storag
}
}
+// -----
+
+// No spir-v modules to combine.
+module {
+ func.func @foo(%arg0: i32) -> i32 {
+ return %arg0 : i32
+ }
+}
diff --git a/mlir/test/lib/Dialect/SPIRV/TestModuleCombiner.cpp b/mlir/test/lib/Dialect/SPIRV/TestModuleCombiner.cpp
index 56a2d1d3fdc41..3f5f094ed3afc 100644
--- a/mlir/test/lib/Dialect/SPIRV/TestModuleCombiner.cpp
+++ b/mlir/test/lib/Dialect/SPIRV/TestModuleCombiner.cpp
@@ -34,6 +34,8 @@ class TestModuleCombinerPass
void TestModuleCombinerPass::runOnOperation() {
auto modules = llvm::to_vector<4>(getOperation().getOps<spirv::ModuleOp>());
+ if (modules.empty())
+ return;
OpBuilder combinedModuleBuilder(modules[0]);
More information about the Mlir-commits
mailing list