GCC Middle and Back End API Reference
|
#include <df.h>
Data Fields | |
struct df_problem * | problem |
void * | block_info |
unsigned int | block_info_size |
alloc_pool | block_pool |
bitmap | out_of_date_transfer_functions |
void * | problem_data |
unsigned int | local_flags |
bool | computed |
bool | solutions_dirty |
bool | optional_p |
The specific instance of the problem to solve.
void* dataflow::block_info |
Array indexed by bb->index, that contains basic block problem and solution specific information.
Referenced by df_get_n_blocks(), df_get_postorder(), and df_grow_bb_info().
unsigned int dataflow::block_info_size |
Referenced by df_get_n_blocks().
alloc_pool dataflow::block_pool |
The pool to allocate the block_info from.
bool dataflow::computed |
True if this problem of this instance has been initialized. This is used by the dumpers to keep garbage out of the dumps if, for debugging a dump is produced before the first call to df_analyze after a new problem is added.
Referenced by df_dump_region(), and df_print_word_regset().
unsigned int dataflow::local_flags |
Local flags for some of the problems.
bool dataflow::optional_p |
If true, this pass is deleted by df_finish_pass. This is never true for DF_SCAN and DF_LR. It is true for DF_LIVE if optimize > 1. It is always true for the other problems.
Referenced by df_finish_pass().
bitmap dataflow::out_of_date_transfer_functions |
The lr and live problems have their transfer functions recomputed only if necessary. This is possible for them because, the problems are kept active for the entire backend and their transfer functions are indexed by the REGNO. These are not defined for any other problem.
Referenced by df_get_bb_info(), df_mark_solutions_dirty(), and df_set_bb_dirty().
struct df_problem* dataflow::problem |
void* dataflow::problem_data |
Other problem specific data that is not on a per basic block basis. The structure is generally defined privately for the problem. The exception being the scanning problem where it is fully public.
bool dataflow::solutions_dirty |
True if the something has changed which invalidates the dataflow solutions. Note that this bit is always true for all problems except lr and live.
Referenced by df_simple_dataflow().