From bd27307f0a233c892ab11213e881462b22a1b0a5 Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Tue, 23 Mar 2021 22:01:29 -0700 Subject: [PATCH] Fix API usage for getting an MLIR interface for an operation This method is an implementation details of the interface mechanism and is documented as "this should not be used directly". Instead operation should be "dyn_casted" into the interface directly. PiperOrigin-RevId: 364723086 --- .../compiler/Dialect/VM/Target/Bytecode/BytecodeEncoder.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/iree/compiler/Dialect/VM/Target/Bytecode/BytecodeEncoder.cpp b/iree/compiler/Dialect/VM/Target/Bytecode/BytecodeEncoder.cpp index 7b4ff4b65464..d7183c8d5ece 100644 --- a/iree/compiler/Dialect/VM/Target/Bytecode/BytecodeEncoder.cpp +++ b/iree/compiler/Dialect/VM/Target/Bytecode/BytecodeEncoder.cpp @@ -298,14 +298,14 @@ Optional BytecodeEncoder::encodeFunction( } for (auto &op : block.getOperations()) { - auto *serializableOp = - op.getAbstractOperation()->getInterface(); + auto serializableOp = + dyn_cast(op); if (!serializableOp) { op.emitOpError() << "is not serializable"; return llvm::None; } if (failed(encoder.beginOp(&op)) || - failed(serializableOp->encode(&op, symbolTable, encoder)) || + failed(serializableOp.encode(symbolTable, encoder)) || failed(encoder.endOp(&op))) { op.emitOpError() << "failed to encode"; return llvm::None;