updated
[libfirm] / ir / ir / irgraph_t.h
index c4411ad..ef5c9c7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
 #define FRAME_TP_SUFFIX "frame_tp"
 
 /**
- * Initializes the graph construction module
+ * Initializes the graph construction module.
  */
 void firm_init_irgraph(void);
 
-/* Internal constructor that does not add to irp_irgs or the like. */
-ir_graph *new_r_ir_graph (ir_entity *ent, int n_loc);
+/**
+ * Set the number of locals for a given graph.
+ *
+ * @param irg    the graph
+ * @param n_loc  number of locals
+ */
+void irg_set_nloc(ir_graph *res, int n_loc);
 
-/** Make a rudimentary ir graph for the constant code.
-   Must look like a correct irg, spare everything else. */
+/**
+ * Internal constructor that does not add to irp_irgs or the like.
+ */
+ir_graph *new_r_ir_graph(ir_entity *ent, int n_loc);
+
+/**
+ * Make a rudimentary ir graph for the constant code.
+ * Must look like a correct irg, spare everything else.
+ */
 ir_graph *new_const_code_irg(void);
 
+/**
+ * Create a new graph that is a copy of a given one.
+ * Uses the link fields of the original graphs.
+ *
+ * @param irg  The graph that must be copied.
+ */
+ir_graph *create_irg_copy(ir_graph *irg);
+
 /**
  * Set the op_pin_state_pinned state of a graph.
  *
  * @param irg     the IR graph
  * @param p       new pin state
  */
-INLINE void
-set_irg_pinned (ir_graph *irg, op_pin_state p);
+void set_irg_pinned(ir_graph *irg, op_pin_state p);
 
 /** Returns the obstack associated with the graph. */
 struct obstack *get_irg_obstack(const ir_graph *irg);
@@ -209,16 +228,6 @@ _set_irg_value_param_base(ir_graph *irg, ir_node *node) {
        set_irn_n(irg->anchor, anchor_value_param_base, node);
 }
 
-static INLINE ir_node **
-_get_irg_proj_args(const ir_graph *irg) {
-       return irg->proj_args;
-}
-
-static INLINE void
-_set_irg_proj_args(ir_graph *irg, ir_node **nodes) {
-       irg->proj_args = nodes;
-}
-
 static INLINE ir_node *
 _get_irg_bad(const ir_graph *irg) {
        return get_irn_intra_n(irg->anchor, anchor_bad);