Lines Matching refs:dflow
417 struct dataflow *dflow; in df_add_problem() local
427 dflow = df->problems_by_index[problem->id]; in df_add_problem()
428 if (dflow) in df_add_problem()
432 dflow = XCNEW (struct dataflow); in df_add_problem()
433 dflow->problem = problem; in df_add_problem()
434 dflow->computed = false; in df_add_problem()
435 dflow->solutions_dirty = true; in df_add_problem()
436 df->problems_by_index[dflow->problem->id] = dflow; in df_add_problem()
452 df->problems_in_order[i+1] = dflow; in df_add_problem()
456 df->problems_in_order[0] = dflow; in df_add_problem()
504 struct dataflow *dflow = df->problems_in_order[p]; in df_set_blocks() local
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()
517 void *bb_info = df_get_bb_info (dflow, bb_index); in df_set_blocks()
518 dflow->problem->free_bb_fun (bb, bb_info); in df_set_blocks()
519 df_clear_bb_info (dflow, bb_index); in df_set_blocks()
534 struct dataflow *dflow = df->problems_in_order[p]; in df_set_blocks() local
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()
583 df_remove_problem (struct dataflow *dflow) in df_remove_problem() argument
588 if (!dflow) in df_remove_problem()
591 problem = dflow->problem; in df_remove_problem()
601 if (df->problems_in_order[i] == dflow) in df_remove_problem()
643 struct dataflow *dflow = df->problems_by_index[i]; in df_finish_pass() local
645 if (dflow && dflow->optional_p) in df_finish_pass()
646 df_remove_problem (dflow); in df_finish_pass()
813 struct dataflow *dflow = df->problems_in_order[i]; in rest_of_handle_df_finish() local
814 dflow->problem->free_fun (); in rest_of_handle_df_finish()
1153 df_analyze_problem (struct dataflow *dflow, in df_analyze_problem() argument
1157 timevar_push (dflow->problem->tv_id); in df_analyze_problem()
1160 if (dflow->problem->alloc_fun) in df_analyze_problem()
1161 dflow->problem->alloc_fun (blocks_to_consider); in df_analyze_problem()
1164 if (dflow->problem->verify_start_fun) in df_analyze_problem()
1165 dflow->problem->verify_start_fun (); in df_analyze_problem()
1169 if (dflow->problem->local_compute_fun) in df_analyze_problem()
1170 dflow->problem->local_compute_fun (blocks_to_consider); in df_analyze_problem()
1173 if (dflow->problem->dataflow_fun) in df_analyze_problem()
1174 dflow->problem->dataflow_fun (dflow, blocks_to_consider, in df_analyze_problem()
1178 if (dflow->problem->finalize_fun) in df_analyze_problem()
1179 dflow->problem->finalize_fun (blocks_to_consider); in df_analyze_problem()
1182 if (dflow->problem->verify_end_fun) in df_analyze_problem()
1183 dflow->problem->verify_end_fun (); in df_analyze_problem()
1186 timevar_pop (dflow->problem->tv_id); in df_analyze_problem()
1188 dflow->computed = true; in df_analyze_problem()
1218 struct dataflow *dflow = df->problems_in_order[i]; in df_analyze_1() local
1219 if (dflow->solutions_dirty) in df_analyze_1()
1221 if (dflow->problem->dir == DF_FORWARD) in df_analyze_1()
1222 df_analyze_problem (dflow, in df_analyze_1()
1227 df_analyze_problem (dflow, in df_analyze_1()
1518 df_get_bb_info (struct dataflow *dflow, unsigned int index) in df_get_bb_info() argument
1520 if (dflow->block_info == NULL) in df_get_bb_info()
1522 if (index >= dflow->block_info_size) in df_get_bb_info()
1524 return (void *)((char *)dflow->block_info in df_get_bb_info()
1525 + index * dflow->problem->block_info_elt_size); in df_get_bb_info()
1532 df_set_bb_info (struct dataflow *dflow, unsigned int index, in df_set_bb_info() argument
1535 gcc_assert (dflow->block_info); in df_set_bb_info()
1536 memcpy ((char *)dflow->block_info in df_set_bb_info()
1537 + index * dflow->problem->block_info_elt_size, in df_set_bb_info()
1538 bb_info, dflow->problem->block_info_elt_size); in df_set_bb_info()
1545 df_clear_bb_info (struct dataflow *dflow, unsigned int index) in df_clear_bb_info() argument
1547 gcc_assert (dflow->block_info); in df_clear_bb_info()
1548 gcc_assert (dflow->block_info_size > index); in df_clear_bb_info()
1549 memset ((char *)dflow->block_info in df_clear_bb_info()
1550 + index * dflow->problem->block_info_elt_size, in df_clear_bb_info()
1551 0, dflow->problem->block_info_elt_size); in df_clear_bb_info()
1592 struct dataflow *dflow = df->problems_in_order[p]; in df_set_bb_dirty() local
1593 if (dflow->out_of_date_transfer_functions) in df_set_bb_dirty()
1594 bitmap_set_bit (dflow->out_of_date_transfer_functions, bb->index); in df_set_bb_dirty()
1604 df_grow_bb_info (struct dataflow *dflow) in df_grow_bb_info() argument
1607 if (dflow->block_info_size < new_size) in df_grow_bb_info()
1610 dflow->block_info in df_grow_bb_info()
1611 = (void *)XRESIZEVEC (char, (char *)dflow->block_info, in df_grow_bb_info()
1613 * dflow->problem->block_info_elt_size); in df_grow_bb_info()
1614 memset ((char *)dflow->block_info in df_grow_bb_info()
1615 + dflow->block_info_size in df_grow_bb_info()
1616 * dflow->problem->block_info_elt_size, in df_grow_bb_info()
1618 (new_size - dflow->block_info_size) in df_grow_bb_info()
1619 * dflow->problem->block_info_elt_size); in df_grow_bb_info()
1620 dflow->block_info_size = new_size; in df_grow_bb_info()
1633 struct dataflow *dflow = df->problems_in_order[p]; in df_clear_bb_dirty() local
1634 if (dflow->out_of_date_transfer_functions) in df_clear_bb_dirty()
1635 bitmap_clear_bit (dflow->out_of_date_transfer_functions, bb->index); in df_clear_bb_dirty()
1652 struct dataflow *dflow = df->problems_in_order[p]; in df_compact_blocks() local
1656 if (dflow->out_of_date_transfer_functions) in df_compact_blocks()
1658 bitmap_copy (tmp, dflow->out_of_date_transfer_functions); in df_compact_blocks()
1659 bitmap_clear (dflow->out_of_date_transfer_functions); in df_compact_blocks()
1661 bitmap_set_bit (dflow->out_of_date_transfer_functions, ENTRY_BLOCK); in df_compact_blocks()
1663 bitmap_set_bit (dflow->out_of_date_transfer_functions, EXIT_BLOCK); in df_compact_blocks()
1669 bitmap_set_bit (dflow->out_of_date_transfer_functions, i); in df_compact_blocks()
1675 if (dflow->problem->free_bb_fun) in df_compact_blocks()
1678 * dflow->problem->block_info_elt_size); in df_compact_blocks()
1680 df_grow_bb_info (dflow); in df_compact_blocks()
1681 memcpy (problem_temps, dflow->block_info, size); in df_compact_blocks()
1689 df_set_bb_info (dflow, i, in df_compact_blocks()
1691 + bb->index * dflow->problem->block_info_elt_size); in df_compact_blocks()
1694 memset ((char *)dflow->block_info in df_compact_blocks()
1695 + i * dflow->problem->block_info_elt_size, 0, in df_compact_blocks()
1697 * dflow->problem->block_info_elt_size); in df_compact_blocks()
1758 struct dataflow *dflow = df->problems_in_order[p]; in df_bb_replace() local
1759 if (dflow->block_info) in df_bb_replace()
1761 df_grow_bb_info (dflow); in df_bb_replace()
1762 df_set_bb_info (dflow, old_index, in df_bb_replace()
1763 df_get_bb_info (dflow, new_block_index)); in df_bb_replace()
1790 struct dataflow *dflow = df->problems_in_order[i]; in df_bb_delete() local
1791 if (dflow->problem->free_bb_fun) in df_bb_delete()
1793 void *bb_info = df_get_bb_info (dflow, bb_index); in df_bb_delete()
1796 dflow->problem->free_bb_fun (bb, bb_info); in df_bb_delete()
1797 df_clear_bb_info (dflow, bb_index); in df_bb_delete()
2175 struct dataflow *dflow = df->problems_in_order[i]; in df_dump_start() local
2176 if (dflow->computed) in df_dump_start()
2178 df_dump_problem_function fun = dflow->problem->dump_start_fun; in df_dump_start()
2197 struct dataflow *dflow = df->problems_in_order[i]; in df_dump_bb_problem_data() local
2198 if (dflow->computed) in df_dump_bb_problem_data()
2203 bbfun = dflow->problem->dump_top_fun; in df_dump_bb_problem_data()
2205 bbfun = dflow->problem->dump_bottom_fun; in df_dump_bb_problem_data()
2241 struct dataflow *dflow = df->problems_in_order[i]; in df_dump_insn_problem_data() local
2242 if (dflow->computed) in df_dump_insn_problem_data()
2247 insnfun = dflow->problem->dump_insn_top_fun; in df_dump_insn_problem_data()
2249 insnfun = dflow->problem->dump_insn_bottom_fun; in df_dump_insn_problem_data()