Tensor Comprehensions
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
halide2isl.h File Reference
#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"
Include dependency graph for halide2isl.h:
This graph shows which files directly or indirectly include this file:

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)
 

Detailed Description

Helper functions that participate in translating Halide IR to ISL