6 typedef ModelList<FuncInst *> func_inst_list_mt;
10 FuncInst(ModelAction *act, FuncNode *func_node);
13 //ModelAction * get_action() const { return action; }
14 const char * get_position() const { return position; }
15 void * get_location() const { return location; }
16 action_type get_type() const { return type; }
17 FuncNode * get_func_node() const { return func_node; }
19 bool add_pred(FuncInst * other);
20 bool add_succ(FuncInst * other);
22 FuncInst * search_in_collision(ModelAction *act);
24 func_inst_list_mt * get_collisions() { return &collisions; }
25 func_inst_list_mt * get_preds() { return &predecessors; }
26 func_inst_list_mt * get_succs() { return &successors; }
32 //ModelAction * const action;
33 const char * position;
38 /* collisions store a list of FuncInsts with the same position
39 * but different action types. For example, CAS is broken down
40 * as three different atomic operations in cmodelint.cc */
41 func_inst_list_mt collisions;
43 func_inst_list_mt predecessors;
44 func_inst_list_mt successors;