Lines Matching refs:dflow
425 struct dataflow *dflow; in df_add_problem() local
435 dflow = df->problems_by_index[problem->id]; in df_add_problem()
436 if (dflow) in df_add_problem()
440 dflow = XCNEW (struct dataflow); in df_add_problem()
441 dflow->problem = problem; in df_add_problem()
442 dflow->computed = false; in df_add_problem()
443 dflow->solutions_dirty = true; in df_add_problem()
444 df->problems_by_index[dflow->problem->id] = dflow; in df_add_problem()
460 df->problems_in_order[i+1] = dflow; in df_add_problem()
464 df->problems_in_order[0] = dflow; in df_add_problem()
513 struct dataflow *dflow = df->problems_in_order[p]; in df_set_blocks() local
514 if (dflow->optional_p && dflow->problem->reset_fun) in df_set_blocks()
515 dflow->problem->reset_fun (df->blocks_to_analyze); in df_set_blocks()
516 else if (dflow->problem->free_blocks_on_set_blocks) in df_set_blocks()
526 void *bb_info = df_get_bb_info (dflow, bb_index); in df_set_blocks()
527 dflow->problem->free_bb_fun (bb, bb_info); in df_set_blocks()
528 df_clear_bb_info (dflow, bb_index); in df_set_blocks()
545 struct dataflow *dflow = df->problems_in_order[p]; in df_set_blocks() local
546 if (dflow->optional_p && dflow->problem->reset_fun) in df_set_blocks()
557 dflow->problem->reset_fun (&blocks_to_reset); in df_set_blocks()
594 df_remove_problem (struct dataflow *dflow) in df_remove_problem() argument
599 if (!dflow) in df_remove_problem()
602 problem = dflow->problem; in df_remove_problem()
612 if (df->problems_in_order[i] == dflow) in df_remove_problem()
653 struct dataflow *dflow = df->problems_in_order[i]; in df_finish_pass() local
654 struct df_problem *problem = dflow->problem; in df_finish_pass()
656 if (dflow->optional_p) in df_finish_pass()
810 struct dataflow *dflow = df->problems_in_order[i]; in rest_of_handle_df_finish() local
811 dflow->problem->free_fun (); in rest_of_handle_df_finish()
1135 df_analyze_problem (struct dataflow *dflow, in df_analyze_problem() argument
1139 timevar_push (dflow->problem->tv_id); in df_analyze_problem()
1142 if (dflow->problem->alloc_fun) in df_analyze_problem()
1143 dflow->problem->alloc_fun (blocks_to_consider); in df_analyze_problem()
1146 if (dflow->problem->verify_start_fun) in df_analyze_problem()
1147 dflow->problem->verify_start_fun (); in df_analyze_problem()
1151 if (dflow->problem->local_compute_fun) in df_analyze_problem()
1152 dflow->problem->local_compute_fun (blocks_to_consider); in df_analyze_problem()
1155 if (dflow->problem->dataflow_fun) in df_analyze_problem()
1156 dflow->problem->dataflow_fun (dflow, blocks_to_consider, in df_analyze_problem()
1160 if (dflow->problem->finalize_fun) in df_analyze_problem()
1161 dflow->problem->finalize_fun (blocks_to_consider); in df_analyze_problem()
1164 if (dflow->problem->verify_end_fun) in df_analyze_problem()
1165 dflow->problem->verify_end_fun (); in df_analyze_problem()
1168 timevar_pop (dflow->problem->tv_id); in df_analyze_problem()
1170 dflow->computed = true; in df_analyze_problem()
1240 struct dataflow *dflow = df->problems_in_order[i]; in df_analyze() local
1241 if (dflow->solutions_dirty) in df_analyze()
1243 if (dflow->problem->dir == DF_FORWARD) in df_analyze()
1244 df_analyze_problem (dflow, in df_analyze()
1249 df_analyze_problem (dflow, in df_analyze()
1343 df_get_bb_info (struct dataflow *dflow, unsigned int index) in df_get_bb_info() argument
1345 if (dflow->block_info == NULL) in df_get_bb_info()
1347 if (index >= dflow->block_info_size) in df_get_bb_info()
1349 return (void *)((char *)dflow->block_info in df_get_bb_info()
1350 + index * dflow->problem->block_info_elt_size); in df_get_bb_info()
1357 df_set_bb_info (struct dataflow *dflow, unsigned int index, in df_set_bb_info() argument
1360 gcc_assert (dflow->block_info); in df_set_bb_info()
1361 memcpy ((char *)dflow->block_info in df_set_bb_info()
1362 + index * dflow->problem->block_info_elt_size, in df_set_bb_info()
1363 bb_info, dflow->problem->block_info_elt_size); in df_set_bb_info()
1370 df_clear_bb_info (struct dataflow *dflow, unsigned int index) in df_clear_bb_info() argument
1372 gcc_assert (dflow->block_info); in df_clear_bb_info()
1373 gcc_assert (dflow->block_info_size > index); in df_clear_bb_info()
1374 memset ((char *)dflow->block_info in df_clear_bb_info()
1375 + index * dflow->problem->block_info_elt_size, in df_clear_bb_info()
1376 0, dflow->problem->block_info_elt_size); in df_clear_bb_info()
1417 struct dataflow *dflow = df->problems_in_order[p]; in df_set_bb_dirty() local
1418 if (dflow->out_of_date_transfer_functions) in df_set_bb_dirty()
1419 bitmap_set_bit (dflow->out_of_date_transfer_functions, bb->index); in df_set_bb_dirty()
1429 df_grow_bb_info (struct dataflow *dflow) in df_grow_bb_info() argument
1432 if (dflow->block_info_size < new_size) in df_grow_bb_info()
1435 dflow->block_info in df_grow_bb_info()
1436 = (void *)XRESIZEVEC (char, (char *)dflow->block_info, in df_grow_bb_info()
1438 * dflow->problem->block_info_elt_size); in df_grow_bb_info()
1439 memset ((char *)dflow->block_info in df_grow_bb_info()
1440 + dflow->block_info_size in df_grow_bb_info()
1441 * dflow->problem->block_info_elt_size, in df_grow_bb_info()
1443 (new_size - dflow->block_info_size) in df_grow_bb_info()
1444 * dflow->problem->block_info_elt_size); in df_grow_bb_info()
1445 dflow->block_info_size = new_size; in df_grow_bb_info()
1458 struct dataflow *dflow = df->problems_in_order[p]; in df_clear_bb_dirty() local
1459 if (dflow->out_of_date_transfer_functions) in df_clear_bb_dirty()
1460 bitmap_clear_bit (dflow->out_of_date_transfer_functions, bb->index); in df_clear_bb_dirty()
1478 struct dataflow *dflow = df->problems_in_order[p]; in df_compact_blocks() local
1482 if (dflow->out_of_date_transfer_functions) in df_compact_blocks()
1484 bitmap_copy (&tmp, dflow->out_of_date_transfer_functions); in df_compact_blocks()
1485 bitmap_clear (dflow->out_of_date_transfer_functions); in df_compact_blocks()
1487 bitmap_set_bit (dflow->out_of_date_transfer_functions, ENTRY_BLOCK); in df_compact_blocks()
1489 bitmap_set_bit (dflow->out_of_date_transfer_functions, EXIT_BLOCK); in df_compact_blocks()
1495 bitmap_set_bit (dflow->out_of_date_transfer_functions, i); in df_compact_blocks()
1501 if (dflow->problem->free_bb_fun) in df_compact_blocks()
1503 int size = last_basic_block * dflow->problem->block_info_elt_size; in df_compact_blocks()
1505 df_grow_bb_info (dflow); in df_compact_blocks()
1506 memcpy (problem_temps, dflow->block_info, size); in df_compact_blocks()
1514 df_set_bb_info (dflow, i, in df_compact_blocks()
1516 + bb->index * dflow->problem->block_info_elt_size); in df_compact_blocks()
1519 memset ((char *)dflow->block_info in df_compact_blocks()
1520 + i * dflow->problem->block_info_elt_size, 0, in df_compact_blocks()
1522 * dflow->problem->block_info_elt_size); in df_compact_blocks()
1585 struct dataflow *dflow = df->problems_in_order[p]; in df_bb_replace() local
1586 if (dflow->block_info) in df_bb_replace()
1588 df_grow_bb_info (dflow); in df_bb_replace()
1589 df_set_bb_info (dflow, old_index, in df_bb_replace()
1590 df_get_bb_info (dflow, new_block_index)); in df_bb_replace()
1617 struct dataflow *dflow = df->problems_in_order[i]; in df_bb_delete() local
1618 if (dflow->problem->free_bb_fun) in df_bb_delete()
1620 void *bb_info = df_get_bb_info (dflow, bb_index); in df_bb_delete()
1623 dflow->problem->free_bb_fun (bb, bb_info); in df_bb_delete()
1624 df_clear_bb_info (dflow, bb_index); in df_bb_delete()
1992 struct dataflow *dflow = df->problems_in_order[i]; in df_dump_start() local
1993 if (dflow->computed) in df_dump_start()
1995 df_dump_problem_function fun = dflow->problem->dump_start_fun; in df_dump_start()
2015 struct dataflow *dflow = df->problems_in_order[i]; in df_dump_top() local
2016 if (dflow->computed) in df_dump_top()
2018 df_dump_bb_problem_function bbfun = dflow->problem->dump_top_fun; in df_dump_top()
2038 struct dataflow *dflow = df->problems_in_order[i]; in df_dump_bottom() local
2039 if (dflow->computed) in df_dump_bottom()
2041 df_dump_bb_problem_function bbfun = dflow->problem->dump_bottom_fun; in df_dump_bottom()