Tiramisu Compiler
|
A class containing utility functions. More...
#include <core.h>
Static Public Member Functions | |
static expr | extract_bound_expression (isl_ast_node *ast, int dim, bool upper) |
Traverse recursively the ISL AST tree. More... | |
static tiramisu::expr | get_bound (isl_set *set, int dim, int upper) |
Return a tiramisu::expr representing the bound of the dimension dim in set . More... | |
static std::string | get_parameters_list (isl_set *set) |
Create a comma separated string that represents the list of the parameters of set . More... | |
|
static |
Traverse recursively the ISL AST tree.
node
represents the root of the tree to be traversed.
dim
is the dimension of the loop from which the bounds have to be extracted.
upper
is a boolean that should be set to true to extract the upper bound and false to extract the lower bound.
|
static |
Return a tiramisu::expr representing the bound of the dimension dim
in set
.
If upper
is true then this function returns the upper bound otherwise it returns the lower bound.
For example, assuming that
S = {S[i,j]: 0<=i<N and 0<=j<N and i<M}
then
get_upper_bound(S, 1)
would return N-1, while
get_upper_bound(S, 0)
would return min(N-1,M-1)
|
static |
Create a comma separated string that represents the list of the parameters of set
.
For example, if the set is
[N,M,K]->{S[i]}
this function returns the string "N,M,K".