File tree Expand file tree Collapse file tree 3 files changed +20
-9
lines changed
Expand file tree Collapse file tree 3 files changed +20
-9
lines changed Original file line number Diff line number Diff line change @@ -303,11 +303,15 @@ MLIR_CAPI_EXPORTED void mlirIRRewriterDestroy(MlirRewriterBase rewriter);
303303/// FrozenRewritePatternSet API
304304//===----------------------------------------------------------------------===//
305305
306+ /// Freeze the given MlirRewritePatternSet to a MlirFrozenRewritePatternSet.
307+ /// Note that the ownership of the input set is transferred into the frozen set
308+ /// after this call.
306309MLIR_CAPI_EXPORTED MlirFrozenRewritePatternSet
307- mlirFreezeRewritePattern (MlirRewritePatternSet op );
310+ mlirFreezeRewritePattern (MlirRewritePatternSet set );
308311
312+ /// Destroy the given MlirFrozenRewritePatternSet.
309313MLIR_CAPI_EXPORTED void
310- mlirFrozenRewritePatternSetDestroy (MlirFrozenRewritePatternSet op );
314+ mlirFrozenRewritePatternSetDestroy (MlirFrozenRewritePatternSet set );
311315
312316MLIR_CAPI_EXPORTED MlirLogicalResult mlirApplyPatternsAndFoldGreedilyWithOp (
313317 MlirOperation op , MlirFrozenRewritePatternSet patterns ,
@@ -368,6 +372,8 @@ mlirRewritePatternSetCreate(MlirContext context);
368372MLIR_CAPI_EXPORTED void mlirRewritePatternSetDestroy (MlirRewritePatternSet set );
369373
370374/// Add the given MlirRewritePattern into a MlirRewritePatternSet.
375+ /// Note that the ownership of the pattern is transferred to the set after this
376+ /// call.
371377MLIR_CAPI_EXPORTED void mlirRewritePatternSetAdd (MlirRewritePatternSet set ,
372378 MlirRewritePattern pattern );
373379
Original file line number Diff line number Diff line change @@ -202,7 +202,11 @@ class PyRewritePatternSet {
202202 mlirRewritePatternSetAdd (set, pattern);
203203 }
204204
205- PyFrozenRewritePatternSet freeze () { return mlirFreezeRewritePattern (set); }
205+ PyFrozenRewritePatternSet freeze () {
206+ MlirRewritePatternSet s = set;
207+ set.ptr = nullptr ;
208+ return mlirFreezeRewritePattern (s);
209+ }
206210
207211private:
208212 MlirRewritePatternSet set;
Original file line number Diff line number Diff line change @@ -291,15 +291,16 @@ wrap(mlir::FrozenRewritePatternSet *module) {
291291 return {module };
292292}
293293
294- MlirFrozenRewritePatternSet mlirFreezeRewritePattern (MlirRewritePatternSet op) {
295- auto *m = new mlir::FrozenRewritePatternSet (std::move (*unwrap (op)));
296- op.ptr = nullptr ;
294+ MlirFrozenRewritePatternSet
295+ mlirFreezeRewritePattern (MlirRewritePatternSet set) {
296+ auto *m = new mlir::FrozenRewritePatternSet (std::move (*unwrap (set)));
297+ set.ptr = nullptr ;
297298 return wrap (m);
298299}
299300
300- void mlirFrozenRewritePatternSetDestroy (MlirFrozenRewritePatternSet op ) {
301- delete unwrap (op );
302- op .ptr = nullptr ;
301+ void mlirFrozenRewritePatternSetDestroy (MlirFrozenRewritePatternSet set ) {
302+ delete unwrap (set );
303+ set .ptr = nullptr ;
303304}
304305
305306MlirLogicalResult
You can’t perform that action at this time.
0 commit comments