Fixed 'inline' lossage --flo
[libfirm] / ir / ir / irprog.h
index 23ac069..6a9a9b0 100644 (file)
@@ -76,6 +76,10 @@ void init_irprog(void);
    Automatically called by init_firm() through init_irprog.  */
 ir_prog *new_ir_prog (void);
 
+/** frees all memory used by irp.  Types in type list and irgs in irg
+    list must be freed by hand before. */
+void     free_ir_prog(void);
+
 /** Gets the main routine of the compiled program. */
 ir_graph *get_irp_main_irg(void);
 
@@ -86,7 +90,7 @@ void      set_irp_main_irg(ir_graph *main_irg);
 void      add_irp_irg(ir_graph *irg);
 
 /** Removes irg from the list of irgs, deallocates it and
-   shrinks the list by one. */
+    shrinks the list by one. */
 void      remove_irp_irg(ir_graph *irg);
 
 /** Returns the number of ir graphs in the irp. */
@@ -117,6 +121,10 @@ void  set_irp_type(int pos, type *typ);
 /** Returns the "global" type of the irp. */
 type *get_glob_type(void);
 
+/** File name / executable name or the like. Initially NULL! **/
+void   set_irp_prog_name (ident *name);
+ident *get_irp_prog_ident(void);
+const char  *get_irp_prog_name (void);
 
 /**
  *   Returns an irgraph that only contains constant
@@ -129,4 +137,7 @@ type *get_glob_type(void);
  */
 ir_graph *get_const_code_irg(void);
 
+void      set_irp_ip_outedges(ir_node ** ip_outedges);
+ir_node** get_irp_ip_outedges(void);
+
 #endif /* ifndef _IRPROG_H_ */