21 #include <unordered_map>
23 #include <Halide/Halide.h>
30 namespace halide2isl {
39 std::vector<Halide::Internal::Parameter>
params;
54 typedef std::unordered_map<isl::id, Halide::Internal::Stmt, isl::IslIdIslHash>
56 typedef std::unordered_map<const Halide::Internal::IRNode*, isl::id>
AccessMap;
62 tc::polyhedral::ScheduleTreeUPtr
tree;
81 isl::space paramSpace,
82 const Halide::Internal::Stmt& s);
95 std::vector<Reduction>
findReductions(
const Halide::Internal::Stmt& s);
std::vector< std::string > idxVars
Definition: halide2isl.h:38
Halide::Internal::Stmt update
Definition: halide2isl.h:92
std::vector< std::string > reductionVars
Definition: halide2isl.h:38
Definition: tc2halide.h:29
isl::union_map reads
Definition: halide2isl.h:67
Definition: halide2isl.h:57
std::unordered_map< isl::id, Halide::Internal::Stmt, isl::IslIdIslHash > StatementMap
Definition: halide2isl.h:55
isl::union_map writes
Definition: halide2isl.h:67
std::vector< Reduction > findReductions(const Halide::Internal::Stmt &s)
isl::aff makeIslAffFromInt(isl::space space, int64_t i)
Make a constant-valued affine function over a space.
std::vector< Halide::Internal::Parameter > params
Definition: halide2isl.h:39
SymbolTable makeSymbolTable(const tc2halide::HalideComponents &components)
Definition: halide2isl.h:91
Find and categorize all variables referenced in a piece of Halide IR.
Definition: halide2isl.h:37
std::vector< size_t > dims
Definition: halide2isl.h:93
AccessMap accesses
Definition: halide2isl.h:71
isl::space makeParamSpace(isl::ctx ctx, const SymbolTable &symbolTable)
Make the space of all parameter values from the symbol table.
tc::polyhedral::ScheduleTreeUPtr tree
Definition: halide2isl.h:62
StatementMap statements
Definition: halide2isl.h:75
isl::aff makeIslAffFromExpr(isl::space space, const Halide::Expr &e)
std::unordered_map< const Halide::Internal::IRNode *, isl::id > AccessMap
Definition: halide2isl.h:56
Halide::Internal::Stmt init
Definition: halide2isl.h:92
ScheduleTreeAndAccesses makeScheduleTree(isl::space paramSpace, const Halide::Internal::Stmt &s)