#include "iredges_t.h"
#include "irflag_t.h"
-#if USE_EXPLICIT_PHI_IN_STACK
-/* A stack needed for the automatic Phi node construction in constructor
- Phi_in. Redefinition in irgraph.c!! */
-struct Phi_in_stack {
- ir_node **stack;
- int pos;
-};
-typedef struct Phi_in_stack Phi_in_stack;
-#endif
-
/* when we need verifying */
#ifdef NDEBUG
# define IRN_VRFY_IRG(res, irg)
free(ptr - additional_graph_data_size);
}
-#if USE_EXPLICIT_PHI_IN_STACK
-/* really defined in ircons.c */
-typedef struct Phi_in_stack Phi_in_stack;
-Phi_in_stack *new_Phi_in_stack();
-void free_Phi_in_stack(Phi_in_stack *s);
-#endif
-
/**
* Set the number of locals for a given graph.
*
res->visited = 0; /* visited flag, for the ir walker */
res->block_visited = 0; /* visited flag, for the 'block'-walker */
-#if USE_EXPLICIT_PHI_IN_STACK
- res->Phi_in_stack = new_Phi_in_stack(); /* A stack needed for automatic Phi
- generation */
-#endif
res->extbb_obst = NULL;
res->last_node_idx = 0;
res->n_loc = 1; /* Only the memory. */
res->visited = 0; /* visited flag, for the ir walker */
res->block_visited = 0; /* visited flag, for the 'block'-walker */
-#if USE_EXPLICIT_PHI_IN_STACK
- res->Phi_in_stack = NULL;
-#endif
res->obst = XMALLOC(struct obstack);
obstack_init (res->obst);
res->extbb_obst = NULL;
res->n_loc = 0;
res->visited = 0; /* visited flag, for the ir walker */
res->block_visited = 0; /* visited flag, for the 'block'-walker */
-#if USE_EXPLICIT_PHI_IN_STACK
- res->Phi_in_stack = NULL;
-#endif
res->obst = XMALLOC(struct obstack);
obstack_init(res->obst);
res->extbb_obst = NULL;
free_End(get_irg_end(irg));
obstack_free(irg->obst,NULL);
free(irg->obst);
-#if USE_EXPLICIT_PHI_IN_STACK
- free_Phi_in_stack(irg->Phi_in_stack);
-#endif
if (irg->loc_descriptions)
free(irg->loc_descriptions);
irg->kind = k_BAD;
unsigned fp_model; /**< floating point model of the graph. */
/* -- Fields for construction -- */
-#if USE_EXPLICIT_PHI_IN_STACK
- struct Phi_in_stack *Phi_in_stack; /**< Needed for automatic Phi construction. */
-#endif
int n_loc; /**< Number of local variables in this
procedure including procedure parameters. */
void **loc_descriptions; /**< Storage for local variable descriptions. */
unsigned *caller_isbe; /**< For callgraph analysis: raw bitset if backedge info calculated. */
cg_callee_entry **callees; /**< For callgraph analysis: list of callee calls */
unsigned *callee_isbe; /**< For callgraph analysis: raw bitset if backedge info calculated. */
+ ir_loop *l; /**< For callgraph analysis. */
int callgraph_loop_depth; /**< For callgraph analysis */
int callgraph_recursion_depth; /**< For callgraph analysis */
double method_execution_frequency; /**< For callgraph analysis */
- ir_loop *l; /**< For callgraph analysis. */
/* -- Fields for Walking the graph -- */
ir_visited_t visited; /**< this flag is an identifier for