[PATCH] D72822: [mlir] Replace AbstractOperation::classof with a ClassID instance.
Valentin Churavy via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 28 14:25:25 PST 2020
vchuravy added a comment.
I built a shared library (D73130 <https://reviews.llvm.org/D73130>) and run into the case that my `HasParent<FuncOp>` trait failed to verify.
(gdb)
mlir::Op<mlir::FuncOp, mlir::OpTrait::ZeroOperands, mlir::OpTrait::ZeroResult, mlir::OpTrait::IsIsolatedFromAbove, mlir::OpTrait::Symbol, mlir::OpTrait::FunctionLike, mlir::CallableOpInterface::Trait>::classof (op=0x555555e67550) at /data/vchuravy/mlir/build/usr/include/mlir/IR/OpDefinition.h:987
987 return ClassID::getID<ConcreteType>() == abstractOp->classID;
(gdb) p abstractOp->classID
$7 = (mlir::ClassID *) 0x7ffff698e020 <mlir::ClassID* mlir::ClassID::getID<mlir::FuncOp>()::id>
(gdb) p ClassID::getID<mlir::FuncOp>()
$8 = (mlir::ClassID *) 0x7ffff7aee120 <mlir::ClassID* mlir::ClassID::getID<mlir::FuncOp>()::id>
So it seems it still might be the case that pointer can differ. D72584 <https://reviews.llvm.org/D72584> fixed this by falling back more often to the string comparison.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72822/new/
https://reviews.llvm.org/D72822
More information about the llvm-commits
mailing list