15 #ifndef FIRM_IR_IRPROG_H 16 #define FIRM_IR_IRPROG_H 19 #include "firm_types.h" thread local storage segment
const char * get_irp_name(void)
Returns the name of the current irp.
const char ident
Identifier.
ir_entity * ir_get_global(ident *name)
Returns global entity with name name.
void set_segment_type(ir_segment_t segment, ir_type *new_type)
Changes a segment segment type for the program.
void set_irp(ir_prog *irp)
Sets current irp.
the constructors segment.
ir_type * get_irp_type(size_t pos)
Returns the type at position pos in the irp.
irg_callee_info_state get_irp_callee_info_state(void)
Returns callee info state for the whole program.
ir_type * get_segment_type(ir_segment_t segment)
Returns the type containing the entities for a segment.
void free_ir_prog(void)
Frees all memory used by irp.
ir_graph * get_irp_main_irg(void)
Returns the main routine of the compiled program.
ident * get_irp_asm(size_t pos)
Returns the global asm include at position pos.
void set_irp_callee_info_state(irg_callee_info_state s)
Sets callee info state for the whole program.
ir_graph * get_irp_irg(size_t pos)
Returns the ir graph at position pos in the irp.
struct ir_type ir_type
Type.
ir_prog * get_irp(void)
Returns the current irp from where everything in the current module can be accessed.
ir_prog * new_ir_prog(const char *name)
Creates a new ir_prog (a module or compilation unit).
size_t get_irp_last_idx(void)
returns the biggest not used irg index number
ir_type * get_tls_type(void)
Returns the "thread local storage" type of the irp.
irp_resources_t
Resources usable by algorithms modifying the program.
irg_callee_info_state
state: callee_information_state Call nodes contain a list of possible callees.
struct ir_prog ir_prog
Program.
void set_irp_main_irg(ir_graph *main_irg)
Sets the main routine of the compiled program.
like constructors, but functions are executed on module exit
ir_prog * irp
A variable pointing to the current irp (program or module).
ir_label_t get_irp_next_label_nr(void)
Returns a new, unique label number.
void add_irp_asm(ident *asm_string)
Add a new global asm include.
void set_irp_prog_name(ident *name)
Sets the file name / executable name or the like.
size_t get_irp_n_irgs(void)
Returns the number of ir graphs in the irp.
void set_irp_type(size_t pos, ir_type *typ)
Overwrites the type at position pos with another type.
size_t get_irp_n_types(void)
Returns the number of all types in the irp.
irp_resources_t irp_resources_reserved(const ir_prog *irp)
Returns currently reserved whole program resources.
void set_irp_irg(size_t pos, ir_graph *irg)
Sets the ir graph at position pos.
struct ir_entity ir_entity
Entity.
ir_graph * get_const_code_irg(void)
Returns the graph for global constants of the current irp.
ident * get_irp_ident(void)
Returns the name of the current irp.
size_t get_irp_n_asms(void)
Returns the number of global asm includes.
struct ir_graph ir_graph
Procedure Graph.
void irp_free_resources(ir_prog *irp, irp_resources_t resources)
Frees resources available for a whole program.
int irp_prog_name_is_set(void)
Returns true if the user ever set a program name.
void irp_reserve_resources(ir_prog *irp, irp_resources_t resources)
Reserve resources available for a whole program.
ir_type * get_glob_type(void)
Returns the "global" type of the irp.