X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firprog.h;h=dfc98b936101393f500a4d5c69a3ea62cfbe4f9c;hb=9be70b7ef6120836707d76050372a89247cec2a6;hp=7e87b41f5226d3d1eb9c91eeb1c3a2f160878c38;hpb=e3e22fa6f927847099c0bff62457003aa81f2518;p=libfirm diff --git a/ir/ir/irprog.h b/ir/ir/irprog.h index 7e87b41f5..dfc98b936 100644 --- a/ir/ir/irprog.h +++ b/ir/ir/irprog.h @@ -55,6 +55,7 @@ typedef struct ir_prog ir_prog; /* A variable from where everything in the ir can be accessed. */ extern ir_prog *irp; +ir_prog *get_irp(); /* initializes ir_prog. Calls the constructor for an ir_prog. */ void init_irprog(void); @@ -69,8 +70,8 @@ void set_irp_main_irg(ir_graph *main_irg); /* Adds irg to the list of ir graphs in irp. */ void add_irp_irg(ir_graph *irg); -/* Removes irg from the list or irgs, shrinks the list by one. - @@@ does not work properly. */ +/* Removes irg from the list of irgs, deallocates it and + shrinks the list by one. */ void remove_irp_irg(ir_graph *irg); int get_irp_n_irgs(); ir_graph *get_irp_irg(int pos); @@ -78,6 +79,9 @@ void set_irp_irg(int pos, ir_graph *irg); /* Adds type to the list of types in irp. */ void add_irp_type(type *typ); +/* Removes type from the list of types, deallocates it and + shrinks the list by one. */ +void remove_irp_type(type *typ); int get_irp_n_types(); type *get_irp_type(int pos); void set_irp_type(int pos, type *typ); @@ -85,10 +89,21 @@ void set_irp_type(int pos, type *typ); /** Functions to access the fields of ir_prog **/ type *get_glob_type(void); -#ifdef DEBUG_libfirm -/* Returns a new, unique number to number nodes or the like. */ -int get_irp_new_node_nr(); -#endif /*****/ +/***p* irprog/get_const_code_irg + * + * NAME + * get_const_code_irg - Returns an irgraph that only contains constant + * expressions for constant entities. + * SYNOPSIS + * ir_graph *get_const_code_irg(); + * NOTE + * Do not use any access function for this graph, do not generate code + * for this graph. This graph contains only one block. The constant + * expressions may not contain control flow. See also copy_const_code + * in entity.h. + */ +ir_graph *get_const_code_irg(); + #endif /* ifndef _IRPROG_H_ */