Skip to content

Commit 5958043

Browse files
[mlir][bufferization] Add dump_alias_sets option to transform op (#68289)
Add `dump_alias_sets` to `transform.bufferization.one_shot_bufferize`. This option is useful for debugging. Also improve the verifier to ensure that `test_analysis_only` is set when other debugging flags are enabled.
1 parent 33a194b commit 5958043

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

mlir/include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def OneShotBufferizeOp
8585
DefaultValuedAttr<BoolAttr, "false">:$allow_return_allocs_from_loops,
8686
DefaultValuedAttr<BoolAttr, "false">:$allow_unknown_ops,
8787
DefaultValuedAttr<BoolAttr, "false">:$bufferize_function_boundaries,
88+
DefaultValuedAttr<BoolAttr, "false">:$dump_alias_sets,
8889
DefaultValuedAttr<BoolAttr, "false">:$test_analysis_only,
8990
DefaultValuedAttr<BoolAttr, "false">:$print_conflicts,
9091
DefaultValuedAttr<StrAttr, "\"memref.copy\"">:$memcpy_op);

mlir/lib/Dialect/Bufferization/TransformOps/BufferizationTransformOps.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ void transform::BufferLoopHoistingOp::getEffects(
4747
LogicalResult transform::OneShotBufferizeOp::verify() {
4848
if (getMemcpyOp() != "memref.copy" && getMemcpyOp() != "linalg.copy")
4949
return emitOpError() << "unsupported memcpy op";
50+
if (getPrintConflicts() && !getTestAnalysisOnly())
51+
return emitOpError() << "'print_conflicts' requires 'test_analysis_only'";
52+
if (getDumpAliasSets() && !getTestAnalysisOnly())
53+
return emitOpError() << "'dump_alias_sets' requires 'test_analysis_only'";
5054
return success();
5155
}
5256

@@ -58,6 +62,7 @@ transform::OneShotBufferizeOp::apply(transform::TransformRewriter &rewriter,
5862
options.allowReturnAllocsFromLoops = getAllowReturnAllocsFromLoops();
5963
options.allowUnknownOps = getAllowUnknownOps();
6064
options.bufferizeFunctionBoundaries = getBufferizeFunctionBoundaries();
65+
options.dumpAliasSets = getDumpAliasSets();
6166
options.testAnalysisOnly = getTestAnalysisOnly();
6267
options.printConflicts = getPrintConflicts();
6368
if (getFunctionBoundaryTypeConversion().has_value())

0 commit comments

Comments
 (0)