36 const Log & log()
const;
38 template<
typename U,
typename EnumT>
39 void registerUpdate(U * node, EnumT u,
void (U::*fn)());
41 template<
typename S,
typename EnumO>
42 void addInput(
Inputs * node, S * source, EnumO i);
44 template<
typename U,
typename EnumO,
typename EnumU>
45 void addOutputDependency(U * node, EnumO o, EnumU u);
47 template<
typename U,
typename EnumU1,
typename EnumU2>
48 void addInternalDependency(U * node, EnumU1 uDependent, EnumU2 u);
50 template<
typename U,
typename EnumU,
typename S,
typename EnumO>
51 void addInputDependency(U * node, EnumU u, S * source, EnumO i);
53 template<
typename U,
typename EnumO,
typename S,
typename EnumI>
54 void addDirectDependency(U * node, EnumO o, S * source, EnumI i);
60 void registerType(U * node);
77 auto cptr =
reinterpret_cast<std::uintptr_t *
>(&ptfm);
83 template<
typename U,
typename EnumT>
94 template<
typename S,
typename EnumO>
106 template<
typename U,
typename EnumO,
typename EnumU>
120 template<
typename U,
typename EnumU1,
typename EnumU2>
131 template<
typename U,
typename EnumU,
typename S,
typename EnumO>
143 template<
typename U,
typename EnumO,
typename S,
typename EnumI>
164 std::type_index t(
typeid(*node));
165 std::uintptr_t val =
reinterpret_cast<std::uintptr_t
>(node);
166 auto & types = log_.
types_[val];
167 auto it = std::find(types.begin(), types.end(), t);
168 if(it == types.end())
#define TVM_DLLAPI
Definition: api.h:35
Definition: CallGraph.h:23
std::vector< InternalDependency > internalDependencies_
Definition: Log.h:216
std::vector< OutputDependency > outputDependencies_
Definition: Log.h:215
std::vector< Output > outputs_
Definition: Log.h:213
std::vector< Input > inputs_
Definition: Log.h:212
std::vector< Update > updates_
Definition: Log.h:211
std::vector< InputDependency > inputDependencies_
Definition: Log.h:214
std::vector< DirectDependency > directDependencies_
Definition: Log.h:217
std::map< std::uintptr_t, std::vector< std::type_index > > types_
Definition: Log.h:232
void addOutputDependency(U *node, EnumO o, EnumU u)
Definition: Logger.h:107
void registerUpdate(U *node, EnumT u, void(U::*fn)())
Definition: Logger.h:84
void logCall(U *node, void(U::*fn)())
void registerType(U *node)
Definition: Logger.h:159
void addInput(Inputs *node, S *source, EnumO i)
Definition: Logger.h:95
const Log & log() const
Definition: Logger.h:81
void addInputDependency(U *node, EnumU u, S *source, EnumO i)
Definition: Logger.h:132
void addGraphOutput(CallGraph *g, Inputs *node)
void addInternalDependency(U *node, EnumU1 uDependent, EnumU2 u)
Definition: Logger.h:121
void addDirectDependency(U *node, EnumO o, S *source, EnumI i)
Definition: Logger.h:144
std::uintptr_t getPointerValue(void(T::*ptfm)())
Definition: Logger.h:75