Lines Matching refs:problem
415 df_add_problem (const struct df_problem *problem) in df_add_problem() argument
421 if (problem->dependent_problem) in df_add_problem()
422 df_add_problem (problem->dependent_problem); in df_add_problem()
427 dflow = df->problems_by_index[problem->id]; in df_add_problem()
433 dflow->problem = problem; in df_add_problem()
436 df->problems_by_index[dflow->problem->id] = dflow; in df_add_problem()
448 if (problem->id < df->problems_in_order[i]->problem->id) in df_add_problem()
505 if (dflow->optional_p && dflow->problem->reset_fun) in df_set_blocks()
506 dflow->problem->reset_fun (df->blocks_to_analyze); in df_set_blocks()
507 else if (dflow->problem->free_blocks_on_set_blocks) in df_set_blocks()
518 dflow->problem->free_bb_fun (bb, bb_info); in df_set_blocks()
535 if (dflow->optional_p && dflow->problem->reset_fun) in df_set_blocks()
546 dflow->problem->reset_fun (&blocks_to_reset); in df_set_blocks()
585 const struct df_problem *problem; in df_remove_problem() local
591 problem = dflow->problem; in df_remove_problem()
592 gcc_assert (problem->remove_problem_fun); in df_remove_problem()
596 if (df->problems_in_order[i]->problem->dependent_problem == problem) in df_remove_problem()
611 (problem->remove_problem_fun) (); in df_remove_problem()
612 df->problems_by_index[problem->id] = NULL; in df_remove_problem()
814 dflow->problem->free_fun (); in rest_of_handle_df_finish()
912 changed |= dataflow->problem->con_fun_n (e); in df_worklist_propagate_forward()
914 else if (dataflow->problem->con_fun_0) in df_worklist_propagate_forward()
915 dataflow->problem->con_fun_0 (bb); in df_worklist_propagate_forward()
918 && dataflow->problem->trans_fun (bb_index)) in df_worklist_propagate_forward()
959 changed |= dataflow->problem->con_fun_n (e); in df_worklist_propagate_backward()
961 else if (dataflow->problem->con_fun_0) in df_worklist_propagate_backward()
962 dataflow->problem->con_fun_0 (bb); in df_worklist_propagate_backward()
965 && dataflow->problem->trans_fun (bb_index)) in df_worklist_propagate_backward()
1008 enum df_flow_dir dir = dataflow->problem->dir; in df_worklist_dataflow_doublequeue()
1088 enum df_flow_dir dir = dataflow->problem->dir; in df_worklist_dataflow()
1117 if (dataflow->problem->init_fun) in df_worklist_dataflow()
1118 dataflow->problem->init_fun (blocks_to_consider); in df_worklist_dataflow()
1158 timevar_push (dflow->problem->tv_id); in df_analyze_problem()
1161 if (dflow->problem->alloc_fun) in df_analyze_problem()
1162 dflow->problem->alloc_fun (blocks_to_consider); in df_analyze_problem()
1165 if (dflow->problem->verify_start_fun) in df_analyze_problem()
1166 dflow->problem->verify_start_fun (); in df_analyze_problem()
1170 if (dflow->problem->local_compute_fun) in df_analyze_problem()
1171 dflow->problem->local_compute_fun (blocks_to_consider); in df_analyze_problem()
1174 if (dflow->problem->dataflow_fun) in df_analyze_problem()
1175 dflow->problem->dataflow_fun (dflow, blocks_to_consider, in df_analyze_problem()
1179 if (dflow->problem->finalize_fun) in df_analyze_problem()
1180 dflow->problem->finalize_fun (blocks_to_consider); in df_analyze_problem()
1183 if (dflow->problem->verify_end_fun) in df_analyze_problem()
1184 dflow->problem->verify_end_fun (); in df_analyze_problem()
1187 timevar_pop (dflow->problem->tv_id); in df_analyze_problem()
1222 if (dflow->problem->dir == DF_FORWARD) in df_analyze_1()
1505 user_dflow.problem = &user_problem; in df_simple_dataflow()
1526 + index * dflow->problem->block_info_elt_size); in df_get_bb_info()
1538 + index * dflow->problem->block_info_elt_size, in df_set_bb_info()
1539 bb_info, dflow->problem->block_info_elt_size); in df_set_bb_info()
1551 + index * dflow->problem->block_info_elt_size, in df_clear_bb_info()
1552 0, dflow->problem->block_info_elt_size); in df_clear_bb_info()
1614 * dflow->problem->block_info_elt_size); in df_grow_bb_info()
1617 * dflow->problem->block_info_elt_size, in df_grow_bb_info()
1620 * dflow->problem->block_info_elt_size); in df_grow_bb_info()
1676 if (dflow->problem->free_bb_fun) in df_compact_blocks()
1679 * dflow->problem->block_info_elt_size); in df_compact_blocks()
1692 + bb->index * dflow->problem->block_info_elt_size); in df_compact_blocks()
1696 + i * dflow->problem->block_info_elt_size, 0, in df_compact_blocks()
1698 * dflow->problem->block_info_elt_size); in df_compact_blocks()
1792 if (dflow->problem->free_bb_fun) in df_bb_delete()
1797 dflow->problem->free_bb_fun (bb, bb_info); in df_bb_delete()
2179 df_dump_problem_function fun = dflow->problem->dump_start_fun; in df_dump_start()
2204 bbfun = dflow->problem->dump_top_fun; in df_dump_bb_problem_data()
2206 bbfun = dflow->problem->dump_bottom_fun; in df_dump_bb_problem_data()
2248 insnfun = dflow->problem->dump_insn_top_fun; in df_dump_insn_problem_data()
2250 insnfun = dflow->problem->dump_insn_bottom_fun; in df_dump_insn_problem_data()