Tiramisu Compiler
|
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::expr & | get_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::expr & | operator= (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... | |
A class that represents a synchronization object.
e.g. in the context of GPUs this will get transformed to __syncthreads();
|
inline |
Definition at line 1691 of file expr.h.
References tiramisu::e_sync, tiramisu::o_none, and tiramisu::p_none.