Tensor Comprehensions
|
#include <iostream>
#include <sstream>
#include <string>
#include <unordered_map>
#include <Halide/Halide.h>
#include "tc/core/polyhedral/schedule_tree.h"
#include "tc/core/tc2halide.h"
#include "tc/external/isl.h"
Go to the source code of this file.
Classes | |
struct | tc::halide2isl::SymbolTable |
Find and categorize all variables referenced in a piece of Halide IR. More... | |
struct | tc::halide2isl::ScheduleTreeAndAccesses |
struct | tc::halide2isl::Reduction |
Namespaces | |
tc | |
tc::halide2isl | |
Typedefs | |
typedef std::unordered_map < isl::id, Halide::Internal::Stmt, isl::IslIdIslHash > | tc::halide2isl::StatementMap |
typedef std::unordered_map < const Halide::Internal::IRNode *, isl::id > | tc::halide2isl::AccessMap |
Functions | |
SymbolTable | tc::halide2isl::makeSymbolTable (const tc2halide::HalideComponents &components) |
isl::space | tc::halide2isl::makeParamSpace (isl::ctx ctx, const SymbolTable &symbolTable) |
Make the space of all parameter values from the symbol table. More... | |
isl::aff | tc::halide2isl::makeIslAffFromInt (isl::space space, int64_t i) |
Make a constant-valued affine function over a space. More... | |
isl::aff | tc::halide2isl::makeIslAffFromExpr (isl::space space, const Halide::Expr &e) |
ScheduleTreeAndAccesses | tc::halide2isl::makeScheduleTree (isl::space paramSpace, const Halide::Internal::Stmt &s) |
std::vector< Reduction > | tc::halide2isl::findReductions (const Halide::Internal::Stmt &s) |
Helper functions that participate in translating Halide IR to ISL