Renaming util.initializer.return to util.return.
Progress on #16187.
diff --git a/compiler/src/iree/compiler/Codegen/SPIRV/test/link_executables.mlir b/compiler/src/iree/compiler/Codegen/SPIRV/test/link_executables.mlir
index 7812df7..25afd64 100644
--- a/compiler/src/iree/compiler/Codegen/SPIRV/test/link_executables.mlir
+++ b/compiler/src/iree/compiler/Codegen/SPIRV/test/link_executables.mlir
@@ -100,7 +100,7 @@
hal.command_buffer.dispatch.symbol<%cmd : !hal.command_buffer> target(@dispatch_0::@spirv::@dispatch_0) workgroups([%c1, %c1, %c1])
hal.command_buffer.dispatch.symbol<%cmd : !hal.command_buffer> target(@dispatch_1::@spirv::@dispatch_1) workgroups([%c1, %c1, %c1])
hal.command_buffer.dispatch.symbol<%cmd : !hal.command_buffer> target(@dispatch_2::@spirv::@dispatch_2) workgroups([%c1, %c1, %c1])
- util.initializer.return
+ util.return
}
// CHECK-NOT: hal.executable private @dispatch_0
diff --git a/compiler/src/iree/compiler/Codegen/VMVX/test/link_executables.mlir b/compiler/src/iree/compiler/Codegen/VMVX/test/link_executables.mlir
index 93425d8..eb679d4 100644
--- a/compiler/src/iree/compiler/Codegen/VMVX/test/link_executables.mlir
+++ b/compiler/src/iree/compiler/Codegen/VMVX/test/link_executables.mlir
@@ -93,7 +93,7 @@
hal.command_buffer.dispatch.symbol<%cmd : !hal.command_buffer> target(@dispatch_0::@vmvx::@dispatch_0) workgroups([%c1, %c1, %c1])
hal.command_buffer.dispatch.symbol<%cmd : !hal.command_buffer> target(@dispatch_1::@vmvx::@dispatch_1) workgroups([%c1, %c1, %c1])
hal.command_buffer.dispatch.symbol<%cmd : !hal.command_buffer> target(@dispatch_2::@vmvx::@dispatch_2) workgroups([%c1, %c1, %c1])
- util.initializer.return
+ util.return
}
// All executables (including their interfaces and entry points) should be
diff --git a/compiler/src/iree/compiler/ConstEval/test/compile_regressions.mlir b/compiler/src/iree/compiler/ConstEval/test/compile_regressions.mlir
index 903ed6c..72064e4 100644
--- a/compiler/src/iree/compiler/ConstEval/test/compile_regressions.mlir
+++ b/compiler/src/iree/compiler/ConstEval/test/compile_regressions.mlir
@@ -42,7 +42,7 @@
linalg.yield %2 : i32
} -> tensor<4xi32>
util.global.store %1, @hoisted : tensor<4xi32>
- util.initializer.return
+ util.return
}
}
diff --git a/compiler/src/iree/compiler/ConstEval/test/failing.mlir b/compiler/src/iree/compiler/ConstEval/test/failing.mlir
index 71edad7..c2fb16c 100644
--- a/compiler/src/iree/compiler/ConstEval/test/failing.mlir
+++ b/compiler/src/iree/compiler/ConstEval/test/failing.mlir
@@ -15,6 +15,6 @@
%offset = util.global.load @offset : f64
%sum = arith.addf %cst, %offset : f64
util.global.store %sum, @hoisted : f64
- util.initializer.return
+ util.return
}
}
diff --git a/compiler/src/iree/compiler/ConstEval/test/jit_globals.mlir b/compiler/src/iree/compiler/ConstEval/test/jit_globals.mlir
index 23be518..f662751 100644
--- a/compiler/src/iree/compiler/ConstEval/test/jit_globals.mlir
+++ b/compiler/src/iree/compiler/ConstEval/test/jit_globals.mlir
@@ -36,7 +36,7 @@
linalg.yield %4 : f32
} -> tensor<5x6xf32>
util.global.store %3, @hoisted : tensor<5x6xf32>
- util.initializer.return
+ util.return
}
}
@@ -52,7 +52,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<[2, 2]> : tensor<2xi32>
util.global.store %cst, @hoisted : tensor<2xi32>
- util.initializer.return
+ util.return
}
}
@@ -69,7 +69,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<2.0e+2> : tensor<5x6xf16>
util.global.store %cst, @hoisted : tensor<5x6xf16>
- util.initializer.return
+ util.return
}
}
@@ -86,7 +86,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<2.0e+2> : tensor<5x6xbf16>
util.global.store %cst, @hoisted : tensor<5x6xbf16>
- util.initializer.return
+ util.return
}
}
@@ -102,7 +102,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<[2.0e+2, 3.2e+3]> : tensor<2xf32>
util.global.store %cst, @hoisted : tensor<2xf32>
- util.initializer.return
+ util.return
}
}
@@ -118,7 +118,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<[2.0e+2, 3.2e+3]> : tensor<2xf64>
util.global.store %cst, @hoisted : tensor<2xf64>
- util.initializer.return
+ util.return
}
}
@@ -137,7 +137,7 @@
%cst = arith.constant dense<[0, 1, 0, 1, 1, 0]> : tensor<6xi8>
%casted = arith.trunci %cst : tensor<6xi8> to tensor<6xi1>
util.global.store %casted, @hoisted : tensor<6xi1>
- util.initializer.return
+ util.return
}
}
@@ -153,7 +153,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<3> : tensor<5x6xi4>
util.global.store %cst, @hoisted : tensor<5x6xi4>
- util.initializer.return
+ util.return
}
}
@@ -169,7 +169,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<[2, 3]> : tensor<2xi8>
util.global.store %cst, @hoisted : tensor<2xi8>
- util.initializer.return
+ util.return
}
}
@@ -185,7 +185,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<[2, 3]> : tensor<2xi16>
util.global.store %cst, @hoisted : tensor<2xi16>
- util.initializer.return
+ util.return
}
}
@@ -201,7 +201,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<[2, 3]> : tensor<2xi32>
util.global.store %cst, @hoisted : tensor<2xi32>
- util.initializer.return
+ util.return
}
}
@@ -217,7 +217,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<[2, 3]> : tensor<2xi64>
util.global.store %cst, @hoisted : tensor<2xi64>
- util.initializer.return
+ util.return
}
}
@@ -234,7 +234,7 @@
util.initializer attributes {iree.compiler.consteval} {
%cst = arith.constant dense<2> : tensor<2xi64>
util.global.store %cst, @hoisted : tensor<2xi64>
- util.initializer.return
+ util.return
}
}
@@ -260,6 +260,6 @@
linalg.yield %2 : i8
} -> tensor<5x6xi8>
util.global.store %1, @hoisted : tensor<5x6xi8>
- util.initializer.return
+ util.return
}
}
diff --git a/compiler/src/iree/compiler/ConstEval/test/scalar_values.mlir b/compiler/src/iree/compiler/ConstEval/test/scalar_values.mlir
index 513d0e9..633c639 100644
--- a/compiler/src/iree/compiler/ConstEval/test/scalar_values.mlir
+++ b/compiler/src/iree/compiler/ConstEval/test/scalar_values.mlir
@@ -14,7 +14,7 @@
%offset = util.global.load @offset : i8
%sum = arith.addi %cst, %offset : i8
util.global.store %sum, @hoisted : i8
- util.initializer.return
+ util.return
}
}
@@ -33,7 +33,7 @@
%offset = util.global.load @offset : i16
%sum = arith.addi %cst, %offset : i16
util.global.store %sum, @hoisted : i16
- util.initializer.return
+ util.return
}
}
@@ -52,7 +52,7 @@
%offset = util.global.load @offset : i32
%sum = arith.addi %cst, %offset : i32
util.global.store %sum, @hoisted : i32
- util.initializer.return
+ util.return
}
}
@@ -71,7 +71,7 @@
%offset = util.global.load @offset : i64
%sum = arith.addi %cst, %offset : i64
util.global.store %sum, @hoisted : i64
- util.initializer.return
+ util.return
}
}
@@ -90,6 +90,6 @@
%offset = util.global.load @offset : f32
%sum = arith.addf %cst, %offset : f32
util.global.store %sum, @hoisted : f32
- util.initializer.return
+ util.return
}
}
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Transforms/ExportBenchmarkFuncs.cpp b/compiler/src/iree/compiler/Dialect/Flow/Transforms/ExportBenchmarkFuncs.cpp
index 71e83f4..ec66bed 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Transforms/ExportBenchmarkFuncs.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/Transforms/ExportBenchmarkFuncs.cpp
@@ -85,7 +85,7 @@
// util.global.store
initializerBuilder.create<IREE::Util::GlobalStoreOp>(
loc, barrierOp.getResult(0), globalOp.getName());
- initializerBuilder.create<IREE::Util::InitializerReturnOp>(loc);
+ initializerBuilder.create<IREE::Util::ReturnOp>(loc);
return globalOp;
}
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Transforms/test/deduplicate_executables.mlir b/compiler/src/iree/compiler/Dialect/Flow/Transforms/test/deduplicate_executables.mlir
index c36afc9..c28ffef 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Transforms/test/deduplicate_executables.mlir
+++ b/compiler/src/iree/compiler/Dialect/Flow/Transforms/test/deduplicate_executables.mlir
@@ -72,7 +72,7 @@
// CHECK: {{.*}} = flow.dispatch @duplicate_executables_ex_0::@duplicate_executables_entry_0(%[[CST]]) : (tensor<4xf32>) -> tensor<4xf32>
%0 = flow.dispatch @duplicate_executables_ex_1::@duplicate_executables_entry_1(%cst) : (tensor<4xf32>) -> tensor<4xf32>
util.optimization_barrier %0 : tensor<4xf32>
- util.initializer.return
+ util.return
}
// -----
diff --git a/compiler/src/iree/compiler/Dialect/HAL/Transforms/DumpExecutableBenchmarks.cpp b/compiler/src/iree/compiler/Dialect/HAL/Transforms/DumpExecutableBenchmarks.cpp
index 473c392..ec7ec71 100644
--- a/compiler/src/iree/compiler/Dialect/HAL/Transforms/DumpExecutableBenchmarks.cpp
+++ b/compiler/src/iree/compiler/Dialect/HAL/Transforms/DumpExecutableBenchmarks.cpp
@@ -194,7 +194,7 @@
initBuilder.create<IREE::Util::GlobalStoreOp>(loc, allocateOp.getResult(),
globalOp.getNameAttr());
- initBuilder.create<IREE::Util::InitializerReturnOp>(loc);
+ initBuilder.create<IREE::Util::ReturnOp>(loc);
return globalOp;
}
diff --git a/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeDispatchInstrumentation.cpp b/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeDispatchInstrumentation.cpp
index b48f7c9..e2c6089 100644
--- a/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeDispatchInstrumentation.cpp
+++ b/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeDispatchInstrumentation.cpp
@@ -152,7 +152,7 @@
/*uninitialized=*/true, /*affinity=*/nullptr);
initializerBuilder.create<IREE::Util::GlobalStoreOp>(loc, buffer,
globalOp);
- initializerBuilder.create<IREE::Util::InitializerReturnOp>(loc);
+ initializerBuilder.create<IREE::Util::ReturnOp>(loc);
}
FlatbufferBuilder metadataBuilder;
diff --git a/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeResourceCaches.cpp b/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeResourceCaches.cpp
index 3620e52..f48183e 100644
--- a/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeResourceCaches.cpp
+++ b/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeResourceCaches.cpp
@@ -131,7 +131,7 @@
loc, layoutType, device, flags, bindingAttrs);
blockBuilder.create<IREE::Util::GlobalStoreOp>(loc, layout,
globalOp.getName());
- blockBuilder.create<IREE::Util::InitializerReturnOp>(loc);
+ blockBuilder.create<IREE::Util::ReturnOp>(loc);
return globalOp;
}
@@ -186,7 +186,7 @@
setLayoutValues);
blockBuilder.create<IREE::Util::GlobalStoreOp>(loc, layout,
globalOp.getName());
- blockBuilder.create<IREE::Util::InitializerReturnOp>(loc);
+ blockBuilder.create<IREE::Util::ReturnOp>(loc);
return globalOp;
}
@@ -283,7 +283,7 @@
auto executableValue = switchOp.getResult(0);
blockBuilder.create<IREE::Util::GlobalStoreOp>(loc, executableValue,
globalOp.getName());
- blockBuilder.create<IREE::Util::InitializerReturnOp>(loc);
+ blockBuilder.create<IREE::Util::ReturnOp>(loc);
}
// Inlines a constant block as a function in |moduleBuilder| and then inserts
diff --git a/compiler/src/iree/compiler/Dialect/HAL/Transforms/MemoizeDeviceQueries.cpp b/compiler/src/iree/compiler/Dialect/HAL/Transforms/MemoizeDeviceQueries.cpp
index 1bc5ae0..c4184b2 100644
--- a/compiler/src/iree/compiler/Dialect/HAL/Transforms/MemoizeDeviceQueries.cpp
+++ b/compiler/src/iree/compiler/Dialect/HAL/Transforms/MemoizeDeviceQueries.cpp
@@ -101,7 +101,7 @@
okGlobalOp.getName());
funcBuilder.create<IREE::Util::GlobalStoreOp>(
fusedLoc, queryOp.getValue(), valueGlobalOp.getName());
- funcBuilder.create<IREE::Util::InitializerReturnOp>(fusedLoc);
+ funcBuilder.create<IREE::Util::ReturnOp>(fusedLoc);
for (auto queryOp : queryOps) {
OpBuilder replaceBuilder(queryOp);
diff --git a/compiler/src/iree/compiler/Dialect/HAL/Transforms/test/materialize_resource_caches.mlir b/compiler/src/iree/compiler/Dialect/HAL/Transforms/test/materialize_resource_caches.mlir
index ce67b16..3701456 100644
--- a/compiler/src/iree/compiler/Dialect/HAL/Transforms/test/materialize_resource_caches.mlir
+++ b/compiler/src/iree/compiler/Dialect/HAL/Transforms/test/materialize_resource_caches.mlir
@@ -250,7 +250,7 @@
%device = hal.devices.get %c0 : !hal.device
%descriptor_set_layout = hal.descriptor_set_layout.create device(%device : !hal.device) flags("None") bindings([#hal.descriptor_set.binding<0, storage_buffer>, #hal.descriptor_set.binding<1, storage_buffer>]) : !hal.descriptor_set_layout
util.global.store %descriptor_set_layout, @_descriptor_set_layout_0 : !hal.descriptor_set_layout
- util.initializer.return
+ util.return
}
util.global private @_pipeline_layout_0 : !hal.pipeline_layout
@@ -260,7 +260,7 @@
%device = hal.devices.get %c0 : !hal.device
%pipeline_layout = hal.pipeline_layout.create device(%device : !hal.device) push_constants(0) layouts([%_descriptor_set_layout_0]) : !hal.pipeline_layout
util.global.store %pipeline_layout, @_pipeline_layout_0 : !hal.pipeline_layout
- util.initializer.return
+ util.return
}
util.global private @_executable_exe : !hal.executable
@@ -281,7 +281,7 @@
scf.yield %null : !hal.executable
}
util.global.store %selected, @_executable_exe : !hal.executable
- util.initializer.return
+ util.return
}
hal.executable @exe {
diff --git a/compiler/src/iree/compiler/Dialect/Stream/Conversion/UtilToStream/Patterns.cpp b/compiler/src/iree/compiler/Dialect/Stream/Conversion/UtilToStream/Patterns.cpp
index dcab2a0..a9b45b7 100644
--- a/compiler/src/iree/compiler/Dialect/Stream/Conversion/UtilToStream/Patterns.cpp
+++ b/compiler/src/iree/compiler/Dialect/Stream/Conversion/UtilToStream/Patterns.cpp
@@ -142,7 +142,7 @@
globalOp.getLoc(), initialValue, resourceOp.getSymName());
rewriter.create<IREE::Util::GlobalStoreOp>(
globalOp.getLoc(), initialValueSize, resourceSizeOp.getSymName());
- rewriter.create<IREE::Util::InitializerReturnOp>(globalOp.getLoc());
+ rewriter.create<IREE::Util::ReturnOp>(globalOp.getLoc());
}
expansionState->globalMap[globalOp.getSymName()] = ExpandedGlobalResource{
@@ -256,7 +256,7 @@
});
conversionTarget
- .addLegalOp<IREE::Util::InitializerOp, IREE::Util::InitializerReturnOp>();
+ .addLegalOp<IREE::Util::InitializerOp, IREE::Util::ReturnOp>();
conversionTarget.addDynamicallyLegalOp<IREE::Util::GlobalOp>(
[&](IREE::Util::GlobalOp op) {
return typeConverter.isLegal(op.getType()) &&
diff --git a/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/dump_statistics.mlir b/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/dump_statistics.mlir
index e7c7aa0..1e960f8 100644
--- a/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/dump_statistics.mlir
+++ b/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/dump_statistics.mlir
@@ -43,7 +43,7 @@
%did_map, %result = stream.resource.try_map %1[%c0] : !util.buffer -> i1, !stream.resource<constant>{%c192}
util.global.store %result, @_constant : !stream.resource<constant>
util.global.store %0, @_constant__timepoint : !stream.timepoint
- util.initializer.return
+ util.return
}
stream.executable private @func_a_ex_0 {
diff --git a/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/elide_timepoints_coverage.mlir b/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/elide_timepoints_coverage.mlir
index 48280db..c21c390 100644
--- a/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/elide_timepoints_coverage.mlir
+++ b/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/elide_timepoints_coverage.mlir
@@ -12,7 +12,7 @@
util.global.store %t0, @global0 : !stream.timepoint
%t1 = stream.cmd.execute await(%t0) => with() {} => !stream.timepoint
util.global.store %t1, @global1 : !stream.timepoint
- util.initializer.return
+ util.return
}
// CHECK-LABEL: @initializedGlobals
diff --git a/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/materialize_builtins.mlir b/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/materialize_builtins.mlir
index 3f8c39e..92a0627 100644
--- a/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/materialize_builtins.mlir
+++ b/compiler/src/iree/compiler/Dialect/Stream/Transforms/test/materialize_builtins.mlir
@@ -82,7 +82,7 @@
%c0_i64 = arith.constant 0 : i64
// CHECK: = stream.async.dispatch @__builtin_splat_i64::@__builtin_splat_i64
%0 = stream.async.splat %c0_i64 : i64 -> !stream.resource<*>{%c128}
- util.initializer.return
+ util.return
}
// CHECK: stream.executable private @__builtin_splat_i64
diff --git a/compiler/src/iree/compiler/Dialect/Util/Conversion/MemRefToUtil/Patterns.cpp b/compiler/src/iree/compiler/Dialect/Util/Conversion/MemRefToUtil/Patterns.cpp
index 16a4c85..7b870e6 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Conversion/MemRefToUtil/Patterns.cpp
+++ b/compiler/src/iree/compiler/Dialect/Util/Conversion/MemRefToUtil/Patterns.cpp
@@ -148,8 +148,7 @@
alignmentAttr, /*mimeType=*/nullptr);
initializerBuilder.create<IREE::Util::GlobalStoreOp>(
globalOp.getLoc(), constantOp.getResult(), newOp.getName());
- initializerBuilder.create<IREE::Util::InitializerReturnOp>(
- globalOp.getLoc());
+ initializerBuilder.create<IREE::Util::ReturnOp>(globalOp.getLoc());
return success();
}
diff --git a/compiler/src/iree/compiler/Dialect/Util/Conversion/test/structural_ops.mlir b/compiler/src/iree/compiler/Dialect/Util/Conversion/test/structural_ops.mlir
index b6d910b..357d55f 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Conversion/test/structural_ops.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/Conversion/test/structural_ops.mlir
@@ -11,7 +11,7 @@
cf.br ^bb1(%value : memref<?xi8>)
// CHECK: ^bb1(%[[ARG:.+]]: !util.buffer)
^bb1(%block_arg: memref<?xi8>):
- util.initializer.return
+ util.return
}
func.func private @extern() -> memref<?xi8>
diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/UtilDialect.cpp b/compiler/src/iree/compiler/Dialect/Util/IR/UtilDialect.cpp
index e7f9be2..217dcac 100644
--- a/compiler/src/iree/compiler/Dialect/Util/IR/UtilDialect.cpp
+++ b/compiler/src/iree/compiler/Dialect/Util/IR/UtilDialect.cpp
@@ -65,7 +65,7 @@
}
void handleTerminator(Operation *op, Block *newDest) const final {
- auto returnOp = dyn_cast<IREE::Util::InitializerReturnOp>(op);
+ auto returnOp = dyn_cast<IREE::Util::ReturnOp>(op);
if (!returnOp)
return;
// util.initialize.return takes no args - just branch to the new block.
diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOpFolders.cpp b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOpFolders.cpp
index f76c1ff..4588d03 100644
--- a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOpFolders.cpp
+++ b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOpFolders.cpp
@@ -538,7 +538,7 @@
if (op.getBody().getBlocks().size() != 1)
return failure();
auto &block = op.getBody().front();
- if (block.empty() || isa<InitializerReturnOp>(block.front())) {
+ if (block.empty() || isa<IREE::Util::ReturnOp>(block.front())) {
rewriter.eraseOp(op);
return success();
}
diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.cpp b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.cpp
index 0ef4383..880a57d 100644
--- a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.cpp
+++ b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.cpp
@@ -1014,6 +1014,32 @@
}
//===----------------------------------------------------------------------===//
+// util.return
+//===----------------------------------------------------------------------===//
+
+LogicalResult ReturnOp::verify() {
+ Operation *op = getOperation();
+ auto parentOp = cast<FunctionOpInterface>(op->getParentOp());
+ auto expectedTypes = parentOp.getResultTypes();
+ if (getNumOperands() != expectedTypes.size()) {
+ return emitOpError("has ")
+ << getNumOperands()
+ << " operands, but enclosing function-like op returns "
+ << expectedTypes.size();
+ }
+ for (auto [i, expectedType, actualType] :
+ llvm::enumerate(expectedTypes, getOperandTypes())) {
+ if (expectedType != actualType) {
+ return emitOpError() << "type of return operand " << i << " ("
+ << actualType
+ << ") doesn't match function result type ("
+ << expectedType << ")";
+ }
+ }
+ return success();
+}
+
+//===----------------------------------------------------------------------===//
// util.global
//===----------------------------------------------------------------------===//
diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.td b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.td
index ab2c669..5260c0d 100644
--- a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.td
+++ b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.td
@@ -63,10 +63,10 @@
def Util_CastOp : Util_PureOp<"cast", [
DeclareOpInterfaceMethods<CastOpInterface>,
DeclareOpInterfaceMethods<Util_TiedOpInterface, [
- "getTiedResult",
- "getTiedResultOperand",
- "getTiedResultOperandIndex",
- "getTiedResultOperandIndices",
+ "getTiedResult",
+ "getTiedResultOperand",
+ "getTiedResultOperandIndex",
+ "getTiedResultOperandIndices",
]>,
]> {
let summary = [{casts one util type to another ala static_cast/dynamic_cast}];
@@ -294,7 +294,7 @@
} // OpGroupRangeArithmeticOps
//===----------------------------------------------------------------------===//
-// Address/offset Arithmetic
+// Address/offset arithmetic
//===----------------------------------------------------------------------===//
def OpGroupAddressOffsetArithmeticOps : OpDocGroup {
@@ -306,7 +306,7 @@
def Util_AlignOp : Util_PureOp<"align", [
SameOperandsAndResultType
- ]> {
+]> {
let summary = "Aligns up to a power-of-two alignment if required";
let description = [{
Aligns |value| up to the given power-of-two |alignment| if required.
@@ -474,10 +474,10 @@
}
def Util_UnreachableOp : Util_Op<"unreachable", [
- NoMemoryEffect,
- ReturnLike,
- Terminator
- ]> {
+ NoMemoryEffect,
+ ReturnLike,
+ Terminator
+]> {
let summary = [{unreachable assertion op}];
let description = [{
Signals to the compiler that the parent block should not be reachable.
@@ -516,11 +516,11 @@
let opDocGroup = OpGroupStructuralOps in {
def Util_InitializerOp : Util_Op<"initializer", [
- IsolatedFromAbove,
- FunctionOpInterface,
- CallableOpInterface,
- Util_InitializerOpInterface,
- ]> {
+ IsolatedFromAbove,
+ FunctionOpInterface,
+ CallableOpInterface,
+ Util_InitializerOpInterface,
+]> {
let summary = [{global initialization function}];
let description = [{
A function that is called in definition order upon module initialization.
@@ -579,8 +579,10 @@
let hasCanonicalizer = 1;
}
-def Util_InitializerReturnOp : Util_Op<"initializer.return", [
- HasParent<"IREE::Util::InitializerOp">,
+def Util_ReturnOp : Util_Op<"return", [
+ ParentOneOf<[
+ "IREE::Util::InitializerOp",
+ ]>,
Pure,
ReturnLike,
Terminator,
@@ -590,9 +592,22 @@
Returns control from an initializer function.
}];
- let arguments = (ins);
+ let arguments = (ins
+ Variadic<AnyType>:$operands
+ );
- let assemblyFormat = "attr-dict";
+ let builders = [
+ OpBuilder<(ins), [{
+ build($_builder, $_state, std::nullopt);
+ }]>,
+ ];
+
+ let assemblyFormat = [{
+ attr-dict
+ ($operands^ `:` type($operands))?
+ }];
+
+ let hasVerifier = 1;
}
} // OpGroupStructuralOps
@@ -821,8 +836,9 @@
let opDocGroup = OpGroupListOps in {
-def Util_ListCreateOp : Util_PureOp<
- "list.create", [MemoryEffects<[MemAlloc]>]> {
+def Util_ListCreateOp : Util_PureOp<"list.create", [
+ MemoryEffects<[MemAlloc]>,
+]> {
let summary = [{creates a new empty list}];
let description = [{
Creates a new empty list with an optional initial capacity.
@@ -838,7 +854,9 @@
let assemblyFormat = "($initial_capacity^)? attr-dict `:` qualified(type($result))";
}
-def Util_ListSizeOp : Util_Op<"list.size", [MemoryEffects<[MemRead]>]> {
+def Util_ListSizeOp : Util_Op<"list.size", [
+ MemoryEffects<[MemRead]>,
+]> {
let summary = [{the size of the list in elements}];
let description = [{
Returns the current size of the list in elements.
@@ -854,7 +872,9 @@
let assemblyFormat = "operands attr-dict `:` qualified(type($list))";
}
-def Util_ListResizeOp : Util_Op<"list.resize", [MemoryEffects<[MemWrite]>]> {
+def Util_ListResizeOp : Util_Op<"list.resize", [
+ MemoryEffects<[MemWrite]>,
+]> {
let summary = [{resizes the list to a new count in elements}];
let description = [{
Resizes the list to contain `new_size` elements. This will either truncate
@@ -870,7 +890,9 @@
let assemblyFormat = "operands attr-dict `:` qualified(type($list))";
}
-def Util_ListGetOp : Util_Op<"list.get", [MemoryEffects<[MemRead]>]> {
+def Util_ListGetOp : Util_Op<"list.get", [
+ MemoryEffects<[MemRead]>,
+]> {
let summary = [{element accessor}];
let description = [{
Returns the value of the element at the given index. Note that the value
@@ -890,7 +912,9 @@
let hasVerifier = 1;
}
-def Util_ListSetOp : Util_Op<"list.set", [MemoryEffects<[MemWrite]>]> {
+def Util_ListSetOp : Util_Op<"list.set", [
+ MemoryEffects<[MemWrite]>,
+]> {
let summary = [{element mutator}];
let description = [{
Sets the element at the given index to the new value.
diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/test/global_folding.mlir b/compiler/src/iree/compiler/Dialect/Util/IR/test/global_folding.mlir
index 331a0ae..5edef3c 100644
--- a/compiler/src/iree/compiler/Dialect/Util/IR/test/global_folding.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/IR/test/global_folding.mlir
@@ -6,7 +6,7 @@
util.initializer {
%0 = arith.constant dense<4> : tensor<4xi32>
util.global.store %0, @v_initialized : tensor<4xi32>
- util.initializer.return
+ util.return
}
// -----
diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/test/global_ops.mlir b/compiler/src/iree/compiler/Dialect/Util/IR/test/global_ops.mlir
index 551f4fe..b19b1b0 100644
--- a/compiler/src/iree/compiler/Dialect/Util/IR/test/global_ops.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/IR/test/global_ops.mlir
@@ -35,7 +35,7 @@
%0 = func.call @initializer() : () -> tensor<4xi32>
// CHECK-NEXT: util.global.store %[[VALUE]], @v_initialized : tensor<4xi32>
util.global.store %0, @v_initialized : tensor<4xi32>
- util.initializer.return
+ util.return
}
func.func private @initializer() -> tensor<4xi32>
diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/test/structural_folding.mlir b/compiler/src/iree/compiler/Dialect/Util/IR/test/structural_folding.mlir
index 8eeaec5..875b771 100644
--- a/compiler/src/iree/compiler/Dialect/Util/IR/test/structural_folding.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/IR/test/structural_folding.mlir
@@ -2,5 +2,5 @@
// CHECK-NOT: util.initializer
util.initializer {
- util.initializer.return
+ util.return
}
diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/test/structural_ops.mlir b/compiler/src/iree/compiler/Dialect/Util/IR/test/structural_ops.mlir
index ec45966..3de5a58 100644
--- a/compiler/src/iree/compiler/Dialect/Util/IR/test/structural_ops.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/IR/test/structural_ops.mlir
@@ -1,19 +1,19 @@
// RUN: iree-opt --split-input-file %s | iree-opt --split-input-file | FileCheck %s
// CHECK: util.initializer {
-// CHECK-NEXT: util.initializer.return
+// CHECK-NEXT: util.return
// CHECK-NEXT: }
util.initializer {
- util.initializer.return
+ util.return
}
// -----
// CHECK: util.initializer attributes {foo} {
-// CHECK-NEXT: util.initializer.return
+// CHECK-NEXT: util.return
// CHECK-NEXT: }
util.initializer attributes {foo} {
- util.initializer.return
+ util.return
}
// -----
@@ -26,6 +26,6 @@
cf.br ^bb1(%zero: i32)
// CHECK-NEXT: ^bb1(%0: i32):
^bb1(%0: i32):
- // CHECK-NEXT: util.initializer.return
- util.initializer.return
+ // CHECK-NEXT: util.return
+ util.return
}
diff --git a/compiler/src/iree/compiler/Dialect/Util/Transforms/CombineInitializers.cpp b/compiler/src/iree/compiler/Dialect/Util/Transforms/CombineInitializers.cpp
index 48e9f04..e8768d0 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Transforms/CombineInitializers.cpp
+++ b/compiler/src/iree/compiler/Dialect/Util/Transforms/CombineInitializers.cpp
@@ -70,7 +70,7 @@
builder.setInsertionPointToEnd(&newOp.back());
initializerOp.erase();
}
- builder.create<IREE::Util::InitializerReturnOp>(fusedLoc);
+ builder.create<IREE::Util::ReturnOp>(fusedLoc);
}
};
diff --git a/compiler/src/iree/compiler/Dialect/Util/Transforms/HoistIntoGlobals.cpp b/compiler/src/iree/compiler/Dialect/Util/Transforms/HoistIntoGlobals.cpp
index b489e7f..b999a83 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Transforms/HoistIntoGlobals.cpp
+++ b/compiler/src/iree/compiler/Dialect/Util/Transforms/HoistIntoGlobals.cpp
@@ -267,7 +267,7 @@
builder.create<GlobalStoreOp>(loc, clonedResult, globalSymbol);
}
- builder.create<InitializerReturnOp>(loc);
+ builder.create<IREE::Util::ReturnOp>(loc);
return success();
}
diff --git a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/annotate_op_ordinals.mlir b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/annotate_op_ordinals.mlir
index 37b613c..4236330 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/annotate_op_ordinals.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/annotate_op_ordinals.mlir
@@ -15,8 +15,8 @@
// CHECK-NEXT: cf.br {{.+}} {util.ordinal = 5 : index}
cf.br ^bb2
^bb2:
- // CHECK: util.initializer.return {util.ordinal = 6 : index}
- util.initializer.return
+ // CHECK: util.return {util.ordinal = 6 : index}
+ util.return
}
// CHECK: util.global private mutable @globalB {util.ordinal = 7 : index}
diff --git a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/combine_initializers.mlir b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/combine_initializers.mlir
index da526d1..a69a09d 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/combine_initializers.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/combine_initializers.mlir
@@ -9,7 +9,7 @@
util.initializer {
%value0 = func.call @extern() : () -> index
util.global.store %value0, @global0 : index
- util.initializer.return
+ util.return
}
// CHECK-NEXT: util.global private @global1 : index
util.global private @global1 : index
@@ -20,7 +20,7 @@
util.global.store %value1, @global1 : index
%value2 = func.call @extern() : () -> index
util.global.store %value2, @global2 : index
- util.initializer.return
+ util.return
}
// CHECK-NEXT: util.initializer {
// CHECK-NEXT: %[[VALUE0:.+]] = func.call @extern()
@@ -29,7 +29,7 @@
// CHECK-NEXT: util.global.store %[[VALUE1]], @global1
// CHECK-NEXT: %[[VALUE2:.+]] = func.call @extern()
// CHECK-NEXT: util.global.store %[[VALUE2]], @global2
-// CHECK-NEXT: util.initializer.return
+// CHECK-NEXT: util.return
// CHECK-LABEL: @orderedCombining
func.func @orderedCombining(%arg0: index) -> (index, index, index) {
@@ -59,14 +59,14 @@
util.global.store %c200, @globalA : index
cf.br ^bb3
^bb3:
- util.initializer.return
+ util.return
}
// CHECK-NEXT: util.global private @globalB : index
util.global private @globalB : index
util.initializer {
%c300 = arith.constant 300 : index
util.global.store %c300, @globalB : index
- util.initializer.return
+ util.return
}
// CHECK: util.initializer {
// CHECK: ^bb1:
@@ -76,5 +76,5 @@
// CHECK: ^bb3:
// CHECK: cf.br ^bb4
// CHECK: ^bb4:
-// CHECK: util.initializer.return
+// CHECK: util.return
// CHECK: }
diff --git a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/demote_i64_to_i32.mlir b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/demote_i64_to_i32.mlir
index ad9116c..1aa3b54 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/demote_i64_to_i32.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/demote_i64_to_i32.mlir
@@ -162,7 +162,7 @@
%0 = func.call @initializer() : () -> tensor<4xi64>
// CHECK: util.global.store %[[VALUE]], @v_initializer : tensor<4xi32>
util.global.store %0, @v_initializer : tensor<4xi64>
- util.initializer.return
+ util.return
}
// CHECK: func.func private @initializer() -> tensor<4xi32>
func.func private @initializer() -> tensor<4xi64>
diff --git a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/fold_globals.mlir b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/fold_globals.mlir
index 40451a2..d222ff2 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/fold_globals.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/fold_globals.mlir
@@ -81,7 +81,7 @@
util.initializer {
%c6 = arith.constant 6 : index
util.global.store %c6, @immutable1 : index
- util.initializer.return
+ util.return
}
func.func @foo(%arg0: index) -> (index, index, index) {
// CHECK-DAG: %[[C5:.+]] = arith.constant 5
@@ -125,7 +125,7 @@
%c6 = arith.constant 6 : index
// CHECK-NOT: util.global.store %c6, @unused1 : index
util.global.store %c6, @unused1 : index
- util.initializer.return
+ util.return
}
// -----
@@ -153,7 +153,7 @@
util.initializer {
%c7 = arith.constant 7 : index
util.global.store %c7, @nondupeCst1 : index
- util.initializer.return
+ util.return
}
func.func @foo() -> (index, index) {
// CHECK-DAG: %[[C6:.+]] = arith.constant 6 : index
diff --git a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/fuse_globals.mlir b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/fuse_globals.mlir
index 8d54bb1..e77f49d 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/fuse_globals.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/fuse_globals.mlir
@@ -43,7 +43,7 @@
util.initializer {
%0 = "some.op"() : () -> index
util.global.store %0, @unfusable1 : index
- util.initializer.return
+ util.return
}
// -----
@@ -101,7 +101,7 @@
util.global.store %v, @fusableSubset1 : index
// CHECK-NEXT: util.global.store %[[V]], @unfusableSubset2
util.global.store %v, @unfusableSubset2 : index
- util.initializer.return
+ util.return
}
// CHECK: func.func @mutate_unfusable(%[[ARG0:.+]]: index)
func.func @mutate_unfusable(%arg0: index) {
diff --git a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/hoist_into_globals.mlir b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/hoist_into_globals.mlir
index 74e2a9e..4d8a2aa 100644
--- a/compiler/src/iree/compiler/Dialect/Util/Transforms/test/hoist_into_globals.mlir
+++ b/compiler/src/iree/compiler/Dialect/Util/Transforms/test/hoist_into_globals.mlir
@@ -19,7 +19,7 @@
// CHECK: %[[C1:.*]] = arith.constant 1 : i32
// CHECK: %[[CE0:.*]] = "iree_unregistered.const_expr"(%[[C0]], %[[C1]])
// CHECK: util.global.store %[[CE0]], @[[HOISTED_SYM]] : i32
- // CHECK: util.initializer.return
+ // CHECK: util.return
// CHECK: }
}
@@ -131,14 +131,14 @@
// CHECK: %[[C1:.*]] = arith.constant 1 : i32
// CHECK: %[[CE0:.*]] = "iree_unregistered.const_expr"(%[[C0]], %[[C1]])
// CHECK: util.global.store %[[CE0]], @[[HOISTED_0]] : i32
- // CHECK: util.initializer.return
+ // CHECK: util.return
// CHECK: }
// CHECK: util.initializer attributes {iree.compiler.consteval} {
// CHECK: %[[LOAD_HOISTED_0:.*]] = util.global.load @[[HOISTED_0]] : i32
// CHECK: %[[LOAD_LATENT_GLOBAL:.*]] = util.global.load @latent_global : i32
// CHECK: %[[CE1:.*]] = "iree_unregistered.const_expr"(%[[LOAD_HOISTED_0]], %[[LOAD_LATENT_GLOBAL]])
// CHECK: util.global.store %[[CE1]], @[[HOISTED_1]] : i32
- // CHECK: util.initializer.return
+ // CHECK: util.return
// CHECK: }
}
@@ -163,7 +163,7 @@
// CHECK: %[[C1:.*]] = arith.constant 1 : i32
// CHECK: %[[CE0:.*]] = "iree_unregistered.const_expr"(%[[C0]], %[[C1]])
// CHECK: util.global.store %[[CE0]], @[[HOISTED_0]] : i32
- // CHECK: util.initializer.return
+ // CHECK: util.return
// CHECK: }
}
@@ -192,7 +192,7 @@
// CHECK: %[[CE0:.*]] = "iree_unregistered.non_leaf_const_expr"(%[[C0]], %[[C1]])
// CHECK: %[[CE1:.*]] = "iree_unregistered.const_expr"(%[[CE0]])
// CHECK: util.global.store %[[CE1]], @[[HOISTED]] : i32
- // CHECK: util.initializer.return
+ // CHECK: util.return
// CHECK: }
}
@@ -224,7 +224,7 @@
// CHECK: ^bb0(%[[B0:.*]]: i32):
// CHECK: arith.addi %[[B0]], %[[C1]]
// CHECK: util.global.store %[[CE0]], @[[HOISTED_SYM]] : i32
- // CHECK: util.initializer.return
+ // CHECK: util.return
// CHECK: }
}
diff --git a/compiler/src/iree/compiler/Dialect/VM/Conversion/UtilToVM/ConvertGlobalOps.cpp b/compiler/src/iree/compiler/Dialect/VM/Conversion/UtilToVM/ConvertGlobalOps.cpp
index 0c57535..2aacef3 100644
--- a/compiler/src/iree/compiler/Dialect/VM/Conversion/UtilToVM/ConvertGlobalOps.cpp
+++ b/compiler/src/iree/compiler/Dialect/VM/Conversion/UtilToVM/ConvertGlobalOps.cpp
@@ -38,12 +38,11 @@
}
};
-struct InitializerReturnOpConversion
- : public OpConversionPattern<IREE::Util::InitializerReturnOp> {
+struct ReturnOpConversion : public OpConversionPattern<IREE::Util::ReturnOp> {
using OpConversionPattern::OpConversionPattern;
LogicalResult
- matchAndRewrite(IREE::Util::InitializerReturnOp op, OpAdaptor adaptor,
+ matchAndRewrite(IREE::Util::ReturnOp op, OpAdaptor adaptor,
ConversionPatternRewriter &rewriter) const override {
rewriter.replaceOpWithNewOp<IREE::VM::ReturnOp>(op);
return success();
@@ -282,10 +281,10 @@
ConversionTarget &conversionTarget,
TypeConverter &typeConverter,
RewritePatternSet &patterns) {
- conversionTarget.addIllegalOp<IREE::Util::InitializerOp,
- IREE::Util::InitializerReturnOp>();
- patterns.insert<InitializerOpConversion, InitializerReturnOpConversion>(
- typeConverter, context);
+ conversionTarget
+ .addIllegalOp<IREE::Util::InitializerOp, IREE::Util::ReturnOp>();
+ patterns.insert<InitializerOpConversion, ReturnOpConversion>(typeConverter,
+ context);
conversionTarget.addIllegalOp<
IREE::Util::GlobalOp, IREE::Util::GlobalAddressOp,
diff --git a/compiler/src/iree/compiler/Dialect/VM/Conversion/UtilToVM/test/global_ops.mlir b/compiler/src/iree/compiler/Dialect/VM/Conversion/UtilToVM/test/global_ops.mlir
index eb3618c..f772f94 100644
--- a/compiler/src/iree/compiler/Dialect/VM/Conversion/UtilToVM/test/global_ops.mlir
+++ b/compiler/src/iree/compiler/Dialect/VM/Conversion/UtilToVM/test/global_ops.mlir
@@ -24,7 +24,7 @@
util.initializer {
%0 = func.call @initializer() : () -> !hal.buffer
util.global.store %0, @v_initialized : !hal.buffer
- util.initializer.return
+ util.return
}
// CHECK-NEXT: vm.import private @initializer() -> !vm.ref<!hal.buffer>
func.func private @initializer() -> !hal.buffer
diff --git a/compiler/src/iree/compiler/GlobalOptimization/test/flow_hoist_into_globals.mlir b/compiler/src/iree/compiler/GlobalOptimization/test/flow_hoist_into_globals.mlir
index e8656bf..d02826b 100644
--- a/compiler/src/iree/compiler/GlobalOptimization/test/flow_hoist_into_globals.mlir
+++ b/compiler/src/iree/compiler/GlobalOptimization/test/flow_hoist_into_globals.mlir
@@ -19,7 +19,7 @@
// CHECK: %[[CEXPR:.+]] = "iree_unregistered.const_expr"
// CHECK: %[[CASTED_GLOBAL:.+]] = flow.tensor.bitcast %[[CEXPR]] : tensor<64xi4> -> tensor<32xi8>
// CHECK: util.global.store %[[CASTED_GLOBAL]]
-// CHECK: util.initializer.return
+// CHECK: util.return
// -----
@@ -52,7 +52,7 @@
// CHECK: %[[CE0:.*]] = "iree_unregistered.const_expr"(%[[C0]], %[[C1]])
// CHECK: %[[BITCAST_2:.*]] = flow.tensor.bitcast %[[CE0]] : tensor<8xi4> -> tensor<4xi8>
// CHECK: util.global.store %[[BITCAST_2]], @[[HOISTED_0]] : tensor<4xi8>
- // CHECK: util.initializer.return
+ // CHECK: util.return
// CHECK: }
// CHECK: util.initializer attributes {iree.compiler.consteval} {
// CHECK: %[[LOAD_HOISTED_0:.*]] = util.global.load @[[HOISTED_0]] : tensor<4xi8>
@@ -61,7 +61,7 @@
// CHECK: %[[CE1:.*]] = "iree_unregistered.const_expr"(%[[BITCAST_3]], %[[LOAD_LATENT_GLOBAL]])
// CHECK: %[[BITCAST_4:.*]] = flow.tensor.bitcast %[[CE1]] : tensor<8xi4> -> tensor<4xi8>
// CHECK: util.global.store %[[BITCAST_4]], @[[HOISTED_1]] : tensor<4xi8>
- // CHECK: util.initializer.return
+ // CHECK: util.return
// CHECK: }
}
diff --git a/compiler/src/iree/compiler/InputConversion/Common/IREEImportPublic.cpp b/compiler/src/iree/compiler/InputConversion/Common/IREEImportPublic.cpp
index d315caf..e288e3b 100644
--- a/compiler/src/iree/compiler/InputConversion/Common/IREEImportPublic.cpp
+++ b/compiler/src/iree/compiler/InputConversion/Common/IREEImportPublic.cpp
@@ -376,7 +376,7 @@
srcOp.getLoc(), srcOp.getInitializerAttr(), TypeRange{newType});
rewriter.create<IREE::Util::GlobalStoreOp>(
srcOp.getLoc(), callOp.getResult(0), srcOp.getName());
- rewriter.create<IREE::Util::InitializerReturnOp>(srcOp.getLoc());
+ rewriter.create<IREE::Util::ReturnOp>(srcOp.getLoc());
rewriter.restoreInsertionPoint(ip);
}
return success();
diff --git a/compiler/src/iree/compiler/InputConversion/Common/test/iree_import_public.mlir b/compiler/src/iree/compiler/InputConversion/Common/test/iree_import_public.mlir
index 5aa7bbf..31ad781 100644
--- a/compiler/src/iree/compiler/InputConversion/Common/test/iree_import_public.mlir
+++ b/compiler/src/iree/compiler/InputConversion/Common/test/iree_import_public.mlir
@@ -304,7 +304,7 @@
// CHECK-NEXT: util.initializer {
// CHECK-NEXT: %[[VALUE:.+]] = func.call @initializer() : () -> tensor<4xi32>
// CHECK-NEXT: util.global.store %[[VALUE]], @global5 : tensor<4xi32>
- // CHECK-NEXT: util.initializer.return
+ // CHECK-NEXT: util.return
// CHECK-NEXT: }
// CHECK: func.func private @initializer() -> tensor<4xi32>
func.func private @initializer() -> tensor<4xi32>
diff --git a/compiler/src/iree/compiler/Modules/HAL/Inline/Transforms/test/inline_executables.mlir b/compiler/src/iree/compiler/Modules/HAL/Inline/Transforms/test/inline_executables.mlir
index e6dfb34..14f4d28 100644
--- a/compiler/src/iree/compiler/Modules/HAL/Inline/Transforms/test/inline_executables.mlir
+++ b/compiler/src/iree/compiler/Modules/HAL/Inline/Transforms/test/inline_executables.mlir
@@ -27,7 +27,7 @@
util.initializer {
%buffer_cst = util.buffer.constant : !util.buffer = dense<[1, 2, 3, 4, 5]> : tensor<5xi32>
util.global.store %buffer_cst, @global_constant : !util.buffer
- util.initializer.return
+ util.return
}
func.func @dispatch_0(
%local_memory: !util.buffer,
diff --git a/compiler/src/iree/compiler/Modules/HAL/Loader/Transforms/MaterializeExecutables.cpp b/compiler/src/iree/compiler/Modules/HAL/Loader/Transforms/MaterializeExecutables.cpp
index abeb574..fb4a603 100644
--- a/compiler/src/iree/compiler/Modules/HAL/Loader/Transforms/MaterializeExecutables.cpp
+++ b/compiler/src/iree/compiler/Modules/HAL/Loader/Transforms/MaterializeExecutables.cpp
@@ -57,7 +57,7 @@
loc, status,
"none of the executable binaries in the module are supported by the "
"runtime");
- failBuilder.create<IREE::Util::InitializerReturnOp>(loc);
+ failBuilder.create<IREE::Util::ReturnOp>(loc);
}
// Exit block takes the loaded executable and stores it.
@@ -67,7 +67,7 @@
auto executableArg = exitBlock->addArgument(executableType, loc);
exitBuilder.create<IREE::Util::GlobalStoreOp>(loc, executableArg,
globalOp.getName());
- exitBuilder.create<IREE::Util::InitializerReturnOp>(loc);
+ exitBuilder.create<IREE::Util::ReturnOp>(loc);
}
// Start with the first try.
diff --git a/compiler/src/iree/compiler/Modules/HAL/Loader/Transforms/test/materialize_executables.mlir b/compiler/src/iree/compiler/Modules/HAL/Loader/Transforms/test/materialize_executables.mlir
index ce4c6e9..5294d5a 100644
--- a/compiler/src/iree/compiler/Modules/HAL/Loader/Transforms/test/materialize_executables.mlir
+++ b/compiler/src/iree/compiler/Modules/HAL/Loader/Transforms/test/materialize_executables.mlir
@@ -14,10 +14,10 @@
// CHECK: cf.br ^bb4(%[[EXECUTABLE]] : !hal.executable)
// CHECK: ^bb3:
// CHECK: util.status.check_ok
-// CHECK: util.initializer.return
+// CHECK: util.return
// CHECK: ^bb4(%[[STORE_VALUE:.+]]: !hal.executable):
// CHECK: util.global.store %[[STORE_VALUE]], @ex0 : !hal.executable
-// CHECK: util.initializer.return
+// CHECK: util.return
// CHECK: }
hal.executable private @ex0 {
hal.executable.binary public @binary attributes {data = dense<123> : vector<64xi8>, format = "embedded-elf-x86_64", mime_type = "application/x-elf"}
diff --git a/samples/py_custom_module/main.mlir b/samples/py_custom_module/main.mlir
index 92067b6..ca8648b 100644
--- a/samples/py_custom_module/main.mlir
+++ b/samples/py_custom_module/main.mlir
@@ -8,7 +8,7 @@
%capacity = arith.constant 25 : index
%0 = util.list.create %capacity : !util.list<?>
util.global.store %0, @tokens_list : !util.list<?>
- util.initializer.return
+ util.return
}
func.func public @add_tokens(%ids : tensor<?xi32>) -> i32 {