Lines Matching refs:stree

46 static struct stree *cur_stree; /* current states */
47 static struct stree *fast_overlay;
203 struct stree *__swap_cur_stree(struct stree *stree) in __swap_cur_stree() argument
205 struct stree *orig = cur_stree; in __swap_cur_stree()
207 cur_stree = stree; in __swap_cur_stree()
217 struct stree *__pop_fake_cur_stree(void) in __pop_fake_cur_stree()
227 struct stree *stree; in __free_fake_cur_stree() local
229 stree = __pop_fake_cur_stree(); in __free_fake_cur_stree()
230 free_stree(&stree); in __free_fake_cur_stree()
233 void __set_fake_cur_stree_fast(struct stree *stree) in __set_fake_cur_stree_fast() argument
239 fast_overlay = stree; in __set_fake_cur_stree_fast()
249 void __merge_stree_into_cur(struct stree *stree) in __merge_stree_into_cur() argument
255 FOR_EACH_SM(stree, sm) { in __merge_stree_into_cur()
475 static void delete_all_states_stree_sym(struct stree **stree, struct symbol *sym) in delete_all_states_stree_sym() argument
480 FOR_EACH_SM(*stree, sm) { in delete_all_states_stree_sym()
486 delete_state_stree(stree, sm->owner, sm->name, sm->sym); in delete_all_states_stree_sym()
494 struct stree *stree; in delete_all_states_stree_stack_sym() local
499 stree = pop_stree(stack); in delete_all_states_stree_stack_sym()
500 delete_all_states_stree_sym(&stree, sym); in delete_all_states_stree_stack_sym()
501 push_stree(stack, stree); in delete_all_states_stree_stack_sym()
526 struct stree *get_all_states_from_stree(int owner, struct stree *source) in get_all_states_from_stree()
528 struct stree *ret = NULL; in get_all_states_from_stree()
539 struct stree *get_all_states_stree(int owner) in get_all_states_stree()
544 struct stree *__get_cur_stree(void) in __get_cur_stree()
755 free_stree(&named_stree->stree); in free_goto_stack()
789 struct stree *new_states; in __fold_in_set_states()
802 struct stree *new_states; in __free_set_states()
808 struct stree *__copy_cond_true_states(void) in __copy_cond_true_states()
810 struct stree *ret; in __copy_cond_true_states()
817 struct stree *__copy_cond_false_states(void) in __copy_cond_false_states()
819 struct stree *ret; in __copy_cond_false_states()
826 struct stree *__pop_cond_true_stack(void) in __pop_cond_true_stack()
831 struct stree *__pop_cond_false_stack(void) in __pop_cond_false_stack()
846 struct stree *stree; in __use_cond_stack() local
853 stree = pop_stree(stack); in __use_cond_stack()
854 overwrite_stree(stree, &cur_stree); in __use_cond_stack()
855 push_stree(stack, stree); in __use_cond_stack()
876 struct stree *old_false, *old_true; in __negate_cond_stacks()
903 struct stree *tmp; in __discard_pre_cond_states()
909 struct stree *__get_true_states(void) in __get_true_states()
914 struct stree *__get_false_states(void) in __get_false_states()
921 struct stree *pre, *pre_clone, *true_states, *false_states; in __use_cond_states()
952 struct stree *stree; in __discard_false_states() local
954 stree = pop_stree(&false_stack); in __discard_false_states()
955 free_stree(&stree); in __discard_false_states()
960 struct stree *stree; in __merge_false_states() local
962 stree = pop_stree(&false_stack); in __merge_false_states()
963 merge_stree(&cur_stree, stree); in __merge_false_states()
964 free_stree(&stree); in __merge_false_states()
982 static void update_stree_with_merged(struct stree **stree) in update_stree_with_merged() argument
987 FOR_EACH_SM(*stree, sm) { in update_stree_with_merged()
995 overwrite_sm_state_stree(stree, sm); in update_stree_with_merged()
1003 struct stree *stree; in update_fake_stree_with_merged() local
1007 stree = pop_stree(&fake_cur_stree_stack); in update_fake_stree_with_merged()
1008 update_stree_with_merged(&stree); in update_fake_stree_with_merged()
1009 push_stree(&fake_cur_stree_stack, stree); in update_fake_stree_with_merged()
1014 struct stree *stree; in __merge_true_states() local
1016 stree = pop_stree(&true_stack); in __merge_true_states()
1017 merge_stree(&cur_stree, stree); in __merge_true_states()
1019 free_stree(&stree); in __merge_true_states()
1029 struct stree *stree; in __discard_continues() local
1031 stree = pop_stree(&continue_stack); in __discard_continues()
1032 free_stree(&stree); in __discard_continues()
1037 struct stree *stree; in __process_continues() local
1039 stree = pop_stree(&continue_stack); in __process_continues()
1040 if (!stree) in __process_continues()
1041 stree = clone_stree(cur_stree); in __process_continues()
1043 merge_stree(&stree, cur_stree); in __process_continues()
1045 push_stree(&continue_stack, stree); in __process_continues()
1050 struct stree *stree; in __merge_continues() local
1052 stree = pop_stree(&continue_stack); in __merge_continues()
1053 merge_stree(&cur_stree, stree); in __merge_continues()
1054 free_stree(&stree); in __merge_continues()
1066 struct stree *stree; in __process_breaks() local
1068 stree = pop_stree(&break_stack); in __process_breaks()
1069 if (!stree) in __process_breaks()
1070 stree = clone_stree(cur_stree); in __process_breaks()
1072 merge_stree(&stree, cur_stree); in __process_breaks()
1073 push_stree(&break_stack, stree); in __process_breaks()
1078 stree = pop_stree(&fake_break_stack); in __process_breaks()
1079 if (!stree) in __process_breaks()
1080 stree = clone_stree(top_stree(fake_cur_stree_stack)); in __process_breaks()
1082 merge_stree(&stree, top_stree(fake_cur_stree_stack)); in __process_breaks()
1083 push_stree(&fake_break_stack, stree); in __process_breaks()
1088 struct stree *stree; in __has_breaks() local
1091 stree = pop_stree(&break_stack); in __has_breaks()
1092 ret = !!stree; in __has_breaks()
1093 push_stree(&break_stack, stree); in __has_breaks()
1099 struct stree *stree; in __merge_breaks() local
1102 stree = pop_stree(&break_stack); in __merge_breaks()
1103 merge_stree(&cur_stree, stree); in __merge_breaks()
1104 free_stree(&stree); in __merge_breaks()
1109 stree = pop_stree(&fake_break_stack); in __merge_breaks()
1110 update_stree_with_merged(&stree); in __merge_breaks()
1111 FOR_EACH_SM(stree, sm) { in __merge_breaks()
1114 free_stree(&stree); in __merge_breaks()
1119 struct stree *stree; in __use_breaks() local
1127 stree = pop_stree(&fake_break_stack); in __use_breaks()
1128 FOR_EACH_SM(stree, sm) { in __use_breaks()
1131 free_stree(&stree); in __use_breaks()
1153 struct stree *stree; in __merge_switches() local
1154 struct stree *implied_stree; in __merge_switches()
1156 stree = pop_stree(&switch_stack); in __merge_switches()
1157 if (!stree) { in __merge_switches()
1163 push_stree(&switch_stack, stree); in __merge_switches()
1166 implied_stree = __implied_case_stree(switch_expr, case_rl, &remaining_cases, &stree); in __merge_switches()
1169 push_stree(&switch_stack, stree); in __merge_switches()
1174 struct stree *stree; in __discard_switches() local
1177 stree = pop_stree(&switch_stack); in __discard_switches()
1178 free_stree(&stree); in __discard_switches()
1193 struct stree *stree; in __pop_default() local
1195 stree = pop_stree(&default_stack); in __pop_default()
1196 if (stree) { in __pop_default()
1197 free_stree(&stree); in __pop_default()
1203 …ic struct named_stree *alloc_named_stree(const char *name, struct symbol *sym, struct stree *stree) in alloc_named_stree() argument
1208 named_stree->stree = stree; in alloc_named_stree()
1215 struct stree **stree; in __save_gotos() local
1216 struct stree *clone; in __save_gotos()
1218 stree = get_named_stree(goto_stack, name, sym); in __save_gotos()
1219 if (stree) { in __save_gotos()
1220 merge_stree(stree, cur_stree); in __save_gotos()
1233 struct stree **stree; in __merge_gotos() local
1235 stree = get_named_stree(goto_stack, name, sym); in __merge_gotos()
1236 if (stree) in __merge_gotos()
1237 merge_stree(&cur_stree, *stree); in __merge_gotos()