Tiramisu Compiler
tiramisu::sync Class Reference

A class that represents a synchronization object. More...

#include <expr.h>

Inherits tiramisu::expr.

Public Member Functions

 sync ()
 
- Public Member Functions inherited from tiramisu::expr
 expr ()
 Create an undefined expression. More...
 
 expr (tiramisu::op_t o, tiramisu::primitive_t dtype, tiramisu::expr expr0)
 Create a cast expression to type t (a unary operator). More...
 
 expr (tiramisu::op_t o, tiramisu::expr expr0)
 Create an expression for a unary operator. More...
 
 expr (tiramisu::op_t o, std::string name)
 Create an expression for a unary operator that applies on a variable. More...
 
 expr (tiramisu::op_t o, tiramisu::expr expr0, tiramisu::expr expr1)
 Construct an expression for a binary operator. More...
 
 expr (tiramisu::op_t o, tiramisu::expr expr0, tiramisu::expr expr1, tiramisu::expr expr2)
 Construct an expression for a ternary operator. More...
 
 expr (tiramisu::op_t o, std::string name, std::vector< tiramisu::expr > vec, tiramisu::primitive_t type)
 Construct an access or a call. More...
 
 expr (uint8_t val)
 Construct an unsigned 8-bit integer expression. More...
 
 expr (int8_t val)
 Construct a signed 8-bit integer expression. More...
 
 expr (uint16_t val)
 Construct an unsigned 16-bit integer expression. More...
 
 expr (int16_t val)
 Construct a signed 16-bit integer expression. More...
 
 expr (uint32_t val)
 Construct an unsigned 32-bit integer expression. More...
 
 expr (int32_t val)
 Construct a signed 32-bit integer expression. More...
 
 expr (uint64_t val)
 Construct an unsigned 64-bit integer expression. More...
 
 expr (int64_t val)
 Construct a signed 64-bit integer expression. More...
 
 expr (float val)
 Construct a 32-bit float expression. More...
 
tiramisu::expr copy () const
 Copy an expression. More...
 
 expr (double val)
 Construct a 64-bit float expression. More...
 
int64_t get_int_val () const
 
double get_double_val () const
 
const tiramisu::exprget_operand (int i) const
 Return the value of the i 'th operand of the expression. More...
 
int get_n_arg () const
 Return the number of arguments of the operator. More...
 
tiramisu::expr_t get_expr_type () const
 Return the type of the expression (tiramisu::expr_type). More...
 
tiramisu::primitive_t get_data_type () const
 Get the data type of the expression. More...
 
const std::string & get_name () const
 Get the name of the ID or the variable represented by this expressions. More...
 
void set_name (std::string &name)
 
tiramisu::expr replace_op_in_expr (const std::string &to_replace, const std::string &replace_with)
 
tiramisu::op_t get_op_type () const
 Get the type of the operator (tiramisu::op_t). More...
 
const std::vector< tiramisu::expr > & get_access () const
 Return a vector of the access of the computation or array. More...
 
const std::vector< tiramisu::expr > & get_arguments () const
 Return the arguments of an external function call. More...
 
int get_n_dim_access () const
 Get the number of dimensions in the access vector. More...
 
bool is_defined () const
 Return true if the expression is defined. More...
 
bool is_equal (tiramisu::expr e) const
 Return true if e is identical to this expression. More...
 
expr operator+ (tiramisu::expr other) const
 Addition. More...
 
expr operator- (tiramisu::expr other) const
 Subtraction. More...
 
expr operator/ (tiramisu::expr other) const
 Division. More...
 
expr operator* (tiramisu::expr other) const
 Multiplication. More...
 
expr operator% (tiramisu::expr other) const
 Modulo. More...
 
expr operator>> (tiramisu::expr other) const
 Right shift operator. More...
 
expr operator<< (tiramisu::expr other) const
 Left shift operator. More...
 
tiramisu::expr operator&& (tiramisu::expr e1) const
 Logical and of two expressions. More...
 
tiramisu::expr operator|| (tiramisu::expr e1) const
 Logical and of two expressions. More...
 
tiramisu::expr operator- () const
 Expression multiplied by (-1). More...
 
tiramisu::expr operator! () const
 Logical NOT of an expression. More...
 
tiramisu::exproperator= (tiramisu::expr const &)
 
tiramisu::expr operator< (tiramisu::expr e1) const
 Less than operator. More...
 
tiramisu::expr operator<= (tiramisu::expr e1) const
 Less than or equal operator. More...
 
tiramisu::expr operator> (tiramisu::expr e1) const
 Greater than operator. More...
 
tiramisu::expr operator>= (tiramisu::expr e1) const
 Greater than or equal operator. More...
 
void set_access (std::vector< tiramisu::expr > vector)
 Set the access of a computation or an array. More...
 
void set_access_dimension (int i, tiramisu::expr acc)
 Set an element of the vector of accesses of a computation. More...
 
void set_arguments (std::vector< tiramisu::expr > vector)
 Set the arguments of an external function call. More...
 
void dump (bool exhaustive) const
 Dump the object on standard output (dump most of the fields of the expression class). More...
 
bool is_constant () const
 Return true if this expression is a literal constant (i.e., 0, 1, 2, ...). More...
 
bool is_unbounded () const
 
tiramisu::expr simplify () const
 Simplify the expression. More...
 
std::string to_str () const
 
expr substitute (std::vector< std::pair< var, expr >> substitutions) const
 Returns a new expression where for every (var, sub) pair in substitutions, var in the original expression is replaced by sub. More...
 
expr substitute_access (std::string original, std::string substitute) const
 Returns an expression where every access to a computation named original is replaced with an access to a computation named substitute, with the same access indices. More...
 
expr apply_to_operands (std::function< expr(const expr &)> f) const
 
uint8_t get_uint8_value () const
 Return the actual value of the expression. More...
 
int8_t get_int8_value () const
 Return the actual value of the expression. More...
 
uint16_t get_uint16_value () const
 Return the actual value of the expression. More...
 
int16_t get_int16_value () const
 Return the actual value of the expression. More...
 
uint32_t get_uint32_value () const
 Return the actual value of the expression. More...
 
int32_t get_int32_value () const
 Return the actual value of the expression. More...
 
uint64_t get_uint64_value () const
 Return the actual value of the expression. More...
 
int64_t get_int64_value () const
 Return the actual value of the expression. More...
 
float get_float32_value () const
 Return the actual value of the expression. More...
 
double get_float64_value () const
 Return the actual value of the expression. More...
 
tiramisu::expr operator== (tiramisu::expr e1) const
 Comparison operator. More...
 
tiramisu::expr operator!= (tiramisu::expr e1) const
 Comparison operator. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from tiramisu::expr
static expr unbounded ()
 Create a variable that can be used that a dimension is unbounded. More...
 
- Protected Attributes inherited from tiramisu::expr
std::string name
 Identifier name. More...
 
tiramisu::primitive_t dtype
 Data type. More...
 
tiramisu::expr_t etype
 The type of the expression. More...
 

Detailed Description

A class that represents a synchronization object.

e.g. in the context of GPUs this will get transformed to __syncthreads();

Definition at line 1688 of file expr.h.

Constructor & Destructor Documentation

tiramisu::sync::sync ( )
inline

Definition at line 1691 of file expr.h.

References tiramisu::e_sync, tiramisu::o_none, and tiramisu::p_none.


The documentation for this class was generated from the following file: