1 #ifndef PET_SUBSTITUTER_H
2 #define PET_SUBSTITUTER_H
9 /* Keep track of substitutions that need to be performed in "subs",
10 * where the isl_id is replaced by the pet_expr, which is either
11 * an access expression or the address of an access expression.
12 * "substitute" performs the actual substitution.
14 struct pet_substituter
{
15 std::map
<isl_id
*, pet_expr
*> subs
;
17 void add_sub(__isl_take isl_id
*id
, __isl_take pet_expr
*expr
);
19 __isl_give pet_expr
*substitute(__isl_take pet_expr
*expr
);
20 __isl_give pet_tree
*substitute(__isl_take pet_tree
*tree
);