Halide
AutoScheduleUtils.h File Reference
#include <limits>
#include <set>
#include "Bounds.h"
#include "Definition.h"
#include "IRMutator.h"
#include "IRVisitor.h"
#include "Interval.h"

Go to the source code of this file.

Classes

class  Halide::Internal::FindAllCalls
 Visitor for keeping track of functions that are directly called and the arguments with which they are called. More...
 

Namespaces

 Halide
 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
 
 Halide::Internal
 

Typedefs

typedef std::map< std::string, Interval > Halide::Internal::DimBounds
 

Functions

int Halide::Internal::string_to_int (const std::string &s)
 Return an int representation of 's'. More...
 
Expr Halide::Internal::substitute_var_estimates (Expr e)
 Substitute every variable in an Expr or a Stmt with its estimate if specified. More...
 
Stmt Halide::Internal::substitute_var_estimates (Stmt s)
 
Expr Halide::Internal::get_extent (const Interval &i)
 Return the size of an interval. More...
 
Expr Halide::Internal::box_size (const Box &b)
 Return the size of an n-d box. More...
 
void Halide::Internal::disp_regions (const std::map< std::string, Box > &regions)
 Helper function to print the bounds of a region. More...
 
Definition Halide::Internal::get_stage_definition (const Function &f, int stage_num)
 Return the corresponding definition of a function given the stage. More...
 
std::vector< Dim > & Halide::Internal::get_stage_dims (const Function &f, int stage_num)
 Return the corresponding loop dimensions of a function given the stage. More...
 
void Halide::Internal::combine_load_costs (std::map< std::string, Expr > &result, const std::map< std::string, Expr > &partial)
 Add partial load costs to the corresponding function in the result costs. More...
 
DimBounds Halide::Internal::get_stage_bounds (const Function &f, int stage_num, const DimBounds &pure_bounds)
 Return the required bounds of an intermediate stage (f, stage_num) of function 'f' given the bounds of the pure dimensions. More...
 
std::vector< DimBounds > Halide::Internal::get_stage_bounds (const Function &f, const DimBounds &pure_bounds)
 Return the required bounds for all the stages of the function 'f'. More...
 
Expr Halide::Internal::perform_inline (Expr e, const std::map< std::string, Function > &env, const std::set< std::string > &inlines=std::set< std::string >(), const std::vector< std::string > &order=std::vector< std::string >())
 Recursively inline all the functions in the set 'inlines' into the expression 'e' and return the resulting expression. More...
 
std::set< std::string > Halide::Internal::get_parents (Function f, int stage)
 Return all functions that are directly called by a function stage (f, stage). More...
 
template<typename K , typename V >
Halide::Internal::get_element (const std::map< K, V > &m, const K &key)
 Return value of element within a map. More...
 
template<typename K , typename V >
V & Halide::Internal::get_element (std::map< K, V > &m, const K &key)
 
bool Halide::Internal::inline_all_trivial_functions (const std::vector< Function > &outputs, const std::vector< std::string > &order, const std::map< std::string, Function > &env)
 If the cost of computing a Func is about the same as calling the Func, inline the Func. More...
 
std::string Halide::Internal::is_func_called_element_wise (const std::vector< std::string > &order, size_t index, const std::map< std::string, Function > &env)
 Determine if a Func (order[index]) is only consumed by another single Func in element-wise manner. More...
 
bool Halide::Internal::inline_all_element_wise_functions (const std::vector< Function > &outputs, const std::vector< std::string > &order, const std::map< std::string, Function > &env)
 Inline a Func if its values are only consumed by another single Func in element-wise manner. More...
 
void Halide::Internal::propagate_estimate_test ()
 

Variables

const int64_t Halide::Internal::unknown = std::numeric_limits<int64_t>::min()
 

Detailed Description

Defines util functions that used by auto scheduler.

Definition in file AutoScheduleUtils.h.