Halide
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.

Classes

struct  Halide::Internal::ApplySplitResult
 

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
 

Functions

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.