Tensor Comprehensions
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
tc::halide2isl Namespace Reference

Classes

struct  SymbolTable
 Find and categorize all variables referenced in a piece of Halide IR. More...
 
struct  ScheduleTreeAndAccesses
 
struct  Reduction
 

Typedefs

typedef std::unordered_map
< isl::id,
Halide::Internal::Stmt,
isl::IslIdIslHash
StatementMap
 
typedef std::unordered_map
< const
Halide::Internal::IRNode
*, isl::id > 
AccessMap
 

Functions

SymbolTable makeSymbolTable (const tc2halide::HalideComponents &components)
 
isl::space makeParamSpace (isl::ctx ctx, const SymbolTable &symbolTable)
 Make the space of all parameter values from the symbol table. More...
 
isl::aff makeIslAffFromInt (isl::space space, int64_t i)
 Make a constant-valued affine function over a space. More...
 
isl::aff makeIslAffFromExpr (isl::space space, const Halide::Expr &e)
 
ScheduleTreeAndAccesses makeScheduleTree (isl::space paramSpace, const Halide::Internal::Stmt &s)
 
std::vector< ReductionfindReductions (const Halide::Internal::Stmt &s)
 

Typedef Documentation

typedef std::unordered_map<const Halide::Internal::IRNode*, isl::id> tc::halide2isl::AccessMap
typedef std::unordered_map<isl::id, Halide::Internal::Stmt, isl::IslIdIslHash> tc::halide2isl::StatementMap

Function Documentation

std::vector<Reduction> tc::halide2isl::findReductions ( const Halide::Internal::Stmt &  s)
isl::aff tc::halide2isl::makeIslAffFromExpr ( isl::space  space,
const Halide::Expr &  e 
)
isl::aff tc::halide2isl::makeIslAffFromInt ( isl::space  space,
int64_t  i 
)

Make a constant-valued affine function over a space.

isl::space tc::halide2isl::makeParamSpace ( isl::ctx  ctx,
const SymbolTable &  symbolTable 
)

Make the space of all parameter values from the symbol table.

ScheduleTreeAndAccesses tc::halide2isl::makeScheduleTree ( isl::space  paramSpace,
const Halide::Internal::Stmt &  s 
)

Make a schedule tree from a Halide Stmt, along with auxiliary data structures describing the memory access patterns.

SymbolTable tc::halide2isl::makeSymbolTable ( const tc2halide::HalideComponents components)