|
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().