[Mlir-commits] [mlir] [MLIR][Transform] apply_registered_pass op's options as a dict (PR #143159)
Rolf Morel
llvmlistbot at llvm.org
Sat Jun 7 13:25:33 PDT 2025
================
@@ -214,6 +214,54 @@ def __init__(
super().__init__(_get_op_results_or_values(operands), loc=loc, ip=ip)
+ at _ods_cext.register_operation(_Dialect, replace=True)
+class ApplyRegisteredPassOp(ApplyRegisteredPassOp):
+ def __init__(
+ self,
+ result: Type,
+ pass_name: Union[str, StringAttr],
+ target: Value,
+ *,
+ options: Sequence[Union[str, StringAttr, Value, Operation]] = [],
+ loc=None,
+ ip=None,
+ ):
+ static_options = []
+ dynamic_options = []
+ for opt in options:
+ if isinstance(opt, str):
+ static_options.append(StringAttr.get(opt))
+ elif isinstance(opt, StringAttr):
+ static_options.append(opt)
+ elif isinstance(opt, Value):
+ static_options.append(UnitAttr.get())
+ dynamic_options.append(_get_op_result_or_value(opt))
+ else:
+ raise TypeError(f"Unsupported option type: {type(opt)}")
+ super().__init__(
+ result,
+ pass_name,
+ dynamic_options,
+ target=_get_op_result_or_value(target),
----------------
rolfmorel wrote:
Fixed.
https://github.com/llvm/llvm-project/pull/143159
More information about the Mlir-commits
mailing list