hi, I don’t see there is a class member name in the class tvm::te::Operation and its father class tvm::runtime::ObjectRef, but I can use op->name to dump, any body know why ?
(gdb) pt op
type = class tvm::te::Operation : public tvm::runtime::ObjectRef {
public:
Operation(void);
Operation(tvm::runtime::ObjectPtr<tvm::runtime::Object>);
const tvm::te::OperationNode * operator->(void) const;
tvm::te::Tensor output(size_t) const;
}
(gdb) pt tvm::runtime::ObjectRef
type = class tvm::runtime::ObjectRef {
static const bool _type_is_nullable;
protected:
tvm::runtime::ObjectPtr<tvm::runtime::Object> data_;
public:
ObjectRef(void);
ObjectRef(tvm::runtime::ObjectPtr<tvm::runtime::Object>);
bool same_as(const tvm::runtime::ObjectRef &) const;
bool operator==(const tvm::runtime::ObjectRef &) const;
bool operator!=(const tvm::runtime::ObjectRef &) const;
bool operator<(const tvm::runtime::ObjectRef &) const;
bool defined(void) const;
const tvm::runtime::Object * get(void) const;
const tvm::runtime::Object * operator->(void) const;
bool unique(void) const;
int use_count(void) const;
protected:
tvm::runtime::Object * get_mutable(void) const;
static void FFIClearAfterMove(tvm::runtime::ObjectRef *);
static tvm::runtime::ObjectRef DowncastNoCheck<tvm::runtime::ObjectRef>(tvm::runtime::ObjectRef);
static tvm::runtime::String DowncastNoCheck<tvm::runtime::String>(tvm::runtime::ObjectRef);
static tvm::auto_scheduler::Step DowncastNoCheck<tvm::auto_scheduler::Step>(tvm::runtime::ObjectRef);
static tvm::auto_scheduler::MeasureResult DowncastNoCheck<tvm::auto_scheduler::MeasureResult>(tvm::runtime::ObjectRef);
static tvm::auto_scheduler::MeasureInput DowncastNoCheck<tvm::auto_scheduler::MeasureInput>(tvm::runtime::ObjectRef);
static tvm::PrimExpr DowncastNoCheck<tvm::PrimExpr>(tvm::runtime::ObjectRef);
public:
const tvm::FloatImmNode * as<tvm::FloatImmNode>(void) const;
typedef tvm::runtime::Object ContainerType;
}
(gdb) p op->name
`Preformatted text`$14 = {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x2afbf48 "B"},
_M_string_length = 1, {_M_local_buf = "B", '\000' <repeats 14 times>, _M_allocated_capacity = 66}}