GCC Middle and Back End API Reference
gimple_df Struct Reference

#include <gimple-ssa.h>

Collaboration diagram for gimple_df:

Data Fields

vec< gimple, va_gc > * modified_noreturn_calls
vec< tree, va_gc > * ssa_names
tree vop
struct pt_solution escaped
struct pointer_map_tdecls_to_pointers
vec< tree, va_gc > * free_ssanames
htab_t default_defs
unsigned int ssa_renaming_needed: 1
unsigned int rename_vops: 1
unsigned int in_ssa_p: 1
unsigned int ipa_pta: 1
struct ssa_operands ssa_operands
htab_t tm_restart

Detailed Description

Gimple dataflow datastructure. All publicly available fields shall have gimple_ accessor defined, all publicly modifiable fields should have gimple_set accessor.


Field Documentation

struct pointer_map_t* gimple_df::decls_to_pointers

A map of decls to artificial ssa-names that point to the partition of the decl.

htab_t gimple_df::default_defs

Hashtable holding definition for symbol. If this field is not NULL, it means that the first reference to this variable in the function is a USE or a VUSE. In those cases, the SSA renamer creates an SSA name for this variable with an empty defining statement.

struct pt_solution gimple_df::escaped

The PTA solution for the ESCAPED artificial variable.

vec<tree, va_gc>* gimple_df::free_ssanames

Free list of SSA_NAMEs.

unsigned int gimple_df::in_ssa_p

True if the code is in ssa form.

unsigned int gimple_df::ipa_pta

True if IPA points-to information was computed for this function.

vec<gimple, va_gc>* gimple_df::modified_noreturn_calls

A vector of all the noreturn calls passed to modify_stmt. cleanup_control_flow uses it to detect cases where a mid-block indirect call has been turned into a noreturn call. When this happens, all the instructions after the call are no longer reachable and must be deleted as dead.

unsigned int gimple_df::rename_vops

True if all virtual operands need to be renamed.

vec<tree, va_gc>* gimple_df::ssa_names

Array of all SSA_NAMEs used in the function.

struct ssa_operands gimple_df::ssa_operands
unsigned int gimple_df::ssa_renaming_needed

True if there are any symbols that need to be renamed.

htab_t gimple_df::tm_restart

Map gimple stmt to tree label (or list of labels) for transaction restart and abort.

tree gimple_df::vop

Artificial variable used for the virtual operand FUD chain.


The documentation for this struct was generated from the following file: