Commit c937e07b authored by Sebastian Felis's avatar Sebastian Felis
Browse files

- add ir_ir_graph() function

- set kind of graph to k_ir_graph on construction

[r1478]
parent 71781447
......@@ -95,6 +95,7 @@ new_ir_graph (entity *ent, int n_loc)
res->Phi_in_stack = new_Phi_in_stack(); /* A stack needed for automatic Phi
generation */
#endif
res->kind = k_ir_graph;
res->obst = (struct obstack *) xmalloc (sizeof (struct obstack));
obstack_init (res->obst);
res->value_table = new_identities (); /* value table for global value
......@@ -167,6 +168,7 @@ ir_graph *new_const_code_irg() {
#if USE_EXPLICIT_PHI_IN_STACK
res->Phi_in_stack = NULL;
#endif
res->kind = k_ir_graph;
res->obst = (struct obstack *) xmalloc (sizeof (struct obstack));
obstack_init (res->obst);
res->phase_state = phase_building;
......@@ -218,6 +220,15 @@ void free_ir_graph (ir_graph *irg) {
{attr type} get_irg_{attribute name} (ir_graph *irg);
void set_irg_{attr name} (ir_graph *irg, {attr type} {attr}); */
int
is_ir_graph(void *thing) {
assert(thing);
if (get_kind(thing) == k_ir_graph)
return 1;
else
return 0;
}
/* Outputs a unique number for this node */
INLINE long
......
......@@ -100,6 +100,18 @@ ir_graph *new_ir_graph (entity *ent, int n_loc);
void free_ir_graph (ir_graph *irg);
/* --- access routines for all ir_graph attributes --- */
/**
* Checks whether a pointer points to a ir graph.
*
* @param thing an arbitrary pointer
*
* @return
* true if the thing is a ir graph, else false
*/
int
is_ir_graph(void *thing);
entity *get_irg_ent (ir_graph *irg);
void set_irg_ent (ir_graph *irg, entity *ent);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment