ApplySplit.h File Reference
#include <map>
#include <string>
#include <utility>
#include <vector>
#include "Expr.h"
#include "Schedule.h"

Go to the source code of this file.


struct  Halide::Internal::ApplySplitResult


 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.


std::vector< ApplySplitResult > Halide::Internal::apply_split (const Split &split, bool is_update, const std::string &prefix, std::map< std::string, Expr > &dim_extent_alignment)
 Given a Split schedule on a definition (init or update), return a list of of predicates on the definition, substitutions that needs to be applied to the definition (in ascending order of application), and let stmts which defined the values of variables referred by the predicates and substitutions (ordered from innermost to outermost let). More...
std::vector< std::pair< std::string, Expr > > Halide::Internal::compute_loop_bounds_after_split (const Split &split, const std::string &prefix)
 Compute the loop bounds of the new dimensions resulting from applying the split schedules using the loop bounds of the old dimensions. More...

Detailed Description

Defines method that returns a list of let stmts, substitutions, and predicates to be added given a split schedule.

Definition in file ApplySplit.h.