update pet to version 0.11.2
[ppn.git] / msa.h
blob16b8180897e628e377c492d6104c7e9e1b55983e
1 #include <vector>
3 #include "dependence_graph.h"
5 typedef std::pair<computation *, computation *> computation_pair;
6 typedef std::pair<int, int> state_pair;
7 typedef std::pair<state_pair,int> transition_t;
9 struct MSA {
10 std::vector<isl_map *> firing;
11 std::vector<computation_pair> state;
12 std::vector<transition_t> transition;
13 /* Fail states */
14 std::vector<int> fail_state;
15 /* States that correspond to identical input computations */
16 std::vector<int> input_state;
17 /* States that correspond to invocations of the same constant function */
18 std::vector<int> cst_state;
20 int add(computation *c1, computation *c2);
21 int add_firing(int source, int target, __isl_take isl_map *map);
23 ~MSA() {
24 for (int f = 0; f < firing.size(); ++f)
25 isl_map_free(firing[f]);