Tiramisu Compiler
expr.h File Reference
#include <isl/set.h>
#include <isl/map.h>
#include <isl/union_map.h>
#include <isl/union_set.h>
#include <isl/ast_build.h>
#include <isl/schedule.h>
#include <isl/schedule_node.h>
#include <isl/space.h>
#include <map>
#include <unordered_map>
#include <vector>
#include <string.h>
#include <stdint.h>
#include <type_traits>
#include <Halide.h>
#include <tiramisu/debug.h>
#include <tiramisu/type.h>

Go to the source code of this file.

Classes

class  tiramisu::global
 A class that holds all the global variables necessary for Tiramisu. More...
 
class  tiramisu::expr
 A class to represent tiramisu expressions. More...
 
class  tiramisu::sync
 A class that represents a synchronization object. More...
 
class  tiramisu::var
 A class that represents constant variable references. More...
 

Namespaces

 tiramisu
 

Typedefs

template<typename T >
using tiramisu::only_integral = typename std::enable_if< std::is_integral< T >::value, expr >::type
 

Functions

std::string tiramisu::generate_new_variable_name ()
 
std::string tiramisu::str_from_tiramisu_type_expr (tiramisu::expr_t type)
 
std::string tiramisu::str_tiramisu_type_op (tiramisu::op_t type)
 
std::string tiramisu::str_from_tiramisu_type_primitive (tiramisu::primitive_t type)
 
Halide::Expr tiramisu::halide_expr_from_tiramisu_expr (const tiramisu::computation *comp, std::vector< isl_ast_expr * > &index_expr, const tiramisu::expr &tiramisu_expr)
 Convert a Tiramisu expression into a Halide expression. More...
 
template<typename cT >
expr tiramisu::value_cast (primitive_t tT, cT val)
 Takes in a primitive value val, and returns an expression of tiramisu type tT that represents val. More...
 
expr tiramisu::cast (primitive_t tT, const expr &e)
 Returns an expression that casts e to tT. More...
 
template<typename T >
only_integral< T > tiramisu::operator+ (const tiramisu::expr &e, T val)
 
template<typename T >
only_integral< T > tiramisu::operator+ (T val, const tiramisu::expr &e)
 
template<typename T >
only_integral< T > tiramisu::operator- (const tiramisu::expr &e, T val)
 
template<typename T >
only_integral< T > tiramisu::operator- (T val, const tiramisu::expr &e)
 
template<typename T >
only_integral< T > tiramisu::operator/ (const tiramisu::expr &e, T val)
 
template<typename T >
only_integral< T > tiramisu::operator/ (T val, const tiramisu::expr &e)
 
template<typename T >
only_integral< T > tiramisu::operator* (const tiramisu::expr &e, T val)
 
template<typename T >
only_integral< T > tiramisu::operator* (T val, const tiramisu::expr &e)
 
template<typename T >
only_integral< T > tiramisu::operator% (const tiramisu::expr &e, T val)
 
template<typename T >
only_integral< T > tiramisu::operator% (T val, const tiramisu::expr &e)
 
template<typename T >
only_integral< T > tiramisu::operator>> (const tiramisu::expr &e, T val)
 
template<typename T >
only_integral< T > tiramisu::operator>> (T val, const tiramisu::expr &e)
 
template<typename T >
only_integral< T > tiramisu::operator<< (const tiramisu::expr &e, T val)
 
template<typename T >
only_integral< T > tiramisu::operator<< (T val, const tiramisu::expr &e)
 
expr tiramisu::memcpy (const buffer &from, const buffer &to)
 
expr tiramisu::allocate (const buffer &b)