Halide 19.0.0
Halide compiler and libraries
|
Defines util functions that used by auto scheduler. More...
#include <limits>
#include <set>
#include "Bounds.h"
#include "Definition.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 | |
namespace | 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. | |
namespace | 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'. | |
Expr | Halide::Internal::substitute_var_estimates (Expr e) |
Substitute every variable in an Expr or a Stmt with its estimate if specified. | |
Stmt | Halide::Internal::substitute_var_estimates (Stmt s) |
Expr | Halide::Internal::get_extent (const Interval &i) |
Return the size of an interval. | |
Expr | Halide::Internal::box_size (const Box &b) |
Return the size of an n-d box. | |
void | Halide::Internal::disp_regions (const std::map< std::string, Box > ®ions) |
Helper function to print the bounds of a region. | |
Definition | Halide::Internal::get_stage_definition (const Function &f, int stage_num) |
Return the corresponding definition of a function given the stage. | |
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. | |
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. | |
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. | |
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'. | |
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. | |
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). | |
template<typename K , typename V > | |
V | Halide::Internal::get_element (const std::map< K, V > &m, const K &key) |
Return value of element within a map. | |
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. | |
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. | |
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. | |
void | Halide::Internal::propagate_estimate_test () |
Variables | |
const int64_t | Halide::Internal::unknown = std::numeric_limits<int64_t>::min() |
Defines util functions that used by auto scheduler.
Definition in file AutoScheduleUtils.h.