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);
type *get_irg_frame_type (ir_graph *irg);
void set_irg_frame_type (ir_graph *irg, type *ftp);
-/* To test for a frame type */
-int is_frame_type(type *ftp);
+/* To test for a frame type. O(#irgs) if ftp is class type. */
+int is_frame_type (type *ftp);
ir_node *get_irg_start_block (ir_graph *irg);
void set_irg_start_block (ir_graph *irg, ir_node *node);
int get_irg_n_locs (ir_graph *irg);
+INLINE long get_irg_graph_nr(ir_graph *irg);
+
/********************************************************************************/
/* States of an ir_graph. */
/********************************************************************************/