17namespace Autoscheduler {
88 void dump(std::ostream &os)
const;
A class representing a reference count to be used with IntrusivePtr.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
unsigned __INT64_TYPE__ uint64_t
bool calculate_cost(const FunctionDAG &dag, const Adams2019Params ¶ms, CostModel *cost_model, const CachingOptions &cache_options, int verbosity=99)
void generate_children(const FunctionDAG &dag, const Adams2019Params ¶ms, CostModel *cost_model, std::function< void(IntrusivePtr< State > &&)> &accept_child, Cache *cache) const
void dump(std::ostream &os) const
void operator=(const State &)=delete
State(const State &)=delete
IntrusivePtr< const State > parent
void operator=(State &&)=delete
uint64_t structural_hash(int depth) const
IntrusivePtr< const LoopNest > root
void save_featurization(const FunctionDAG &dag, const Adams2019Params ¶ms, const CachingOptions &cache_options, std::ostream &out)
void apply_schedule(const FunctionDAG &dag, const Adams2019Params ¶ms)
void compute_featurization(const FunctionDAG &dag, const Adams2019Params ¶ms, StageMap< ScheduleFeatures > *features, const CachingOptions &cache_options)
IntrusivePtr< State > make_child() const
static int cost_calculations
Intrusive shared pointers have a reference count (a RefCount object) stored in the class itself.