Deprecation: OpBuilder<"signature"> ODS form, use OpBuilderDAG instead

This is a deprecation notice for ODS syntax utilized to define custom builders. The old syntax,

OpBuilder<"signature", [{ body }]>

is deprecated since https://github.com/llvm/llvm-project/commit/89eab30e5cde90dd3777254f27805b31af780412 and will be removed in a ~month.

Please use the new syntax, consistent with other method declarations in ODS,

OpBuilderDAG<(ins "Type":$name, CArg<"Type", "default value">:$name), [{ body }]>

I updated all in-tree uses and updated the documentation. A tool is available to automate the migration process.

1 Like

Really great work Alex, thanks for pushing this!

1 Like

+1! Looks awesome. Thanks Alex! :smiley:

1 Like

The deprecated format was removed in https://github.com/llvm/llvm-project/commit/2f5569f6f67a30f7774f7c2d2f3d726752a862ae. As a next stage, I will rename OpBuilderDAG to OpBuilder.

Thank you again for doing this Alex!

1 Like