Skip to content

Commit 65d4951

Browse files
committed
[mlir][python] fix value-builder generation for snake_case ops
1 parent adba14a commit 65d4951

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

mlir/test/mlir-tblgen/op-python-bindings.td

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,3 +654,9 @@ def WithSuccessorsOp : TestOp<"with_successors"> {
654654

655655
// CHECK: def with_successors(successor, successors, *, loc=None, ip=None)
656656
// CHECK: return WithSuccessorsOp(successor=successor, successors=successors, loc=loc, ip=ip)
657+
658+
// CHECK: class snake_case(_ods_ir.OpView):
659+
// CHECK-LABEL: OPERATION_NAME = "test.snake_case"
660+
def already_snake_case : TestOp<"snake_case"> {}
661+
// CHECK: def snake_case_(*, loc=None, ip=None)
662+
// CHECK: return snake_case(loc=loc, ip=ip)

mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,6 +1000,8 @@ static void emitValueBuilder(const Operator &op,
10001000
});
10011001
std::string nameWithoutDialect = sanitizeName(
10021002
op.getOperationName().substr(op.getOperationName().find('.') + 1));
1003+
if (nameWithoutDialect == op.getCppClassName())
1004+
nameWithoutDialect += "_";
10031005
std::string params = llvm::join(valueBuilderParams, ", ");
10041006
std::string args = llvm::join(opBuilderArgs, ", ");
10051007
const char *type =

0 commit comments

Comments
 (0)