X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Firprog.h;h=53a5a5febf80e43cc872be3f3715ed06bc9cb74a;hb=e2e929ea04eb563b5fffadfd84bd61eb1f85735f;hp=38289397a7ee595962aa48a39121076631605757;hpb=af9b9a12e6cd2aaf7a0d71c262f068a516a8735f;p=libfirm diff --git a/include/libfirm/irprog.h b/include/libfirm/irprog.h index 38289397a..53a5a5feb 100644 --- a/include/libfirm/irprog.h +++ b/include/libfirm/irprog.h @@ -23,7 +23,7 @@ * @author Goetz Lindenmaier * @date 2000 * @version $Id$ - * @summary + * @brief * Intermediate Representation (IR) of a program. * * This file defines a construct that keeps all information about a @@ -64,23 +64,6 @@ typedef enum ir_segment_t { IR_SEGMENT_COUNT } ir_segment_t; -/** - * Data structure that holds central information about a program - * or a module. - * One irp is created by libFirm on construction, so irp should never be NULL. - * - * - main_irg: The ir graph that is the entry point to the program. - * (Anything not reachable from here may be optimized away - * if this irp represents a whole program. - * - irg: List of all ir graphs in the program or module. - * - type: A list containing all types known to the translated program. - * Some types can have several entries in this list (as a result of - * using exchange_types()). - * - glob_type: The unique global type that is owner of all global entities - * of this module. - */ -typedef struct ir_prog ir_prog; - /** * A variable pointing to the current irp (program or module). * This variable should be considered constant. Moreover, one should use get_irp() @@ -113,7 +96,7 @@ ir_prog *get_irp(void); * Creates a new ir_prog (a module or compilation unit), * returns it and sets irp with it. * - * @param module_name the name of this irp (module) + * @param name the name of this irp (module) */ ir_prog *new_ir_prog(const char *name); @@ -256,6 +239,15 @@ void set_irp_phase_state(irg_phase_state s); irg_outs_state get_irp_ip_outs_state(void); void set_irp_ip_outs_inconsistent(void); +/** + * Creates an ir_prog pass for set_irp_phase_state(). + * + * @param name the name of this pass or NULL + * @param state the state to set + * + * @return the newly created ir_prog pass + */ +ir_prog_pass_t *set_irp_phase_state_pass(const char *name, irg_phase_state state); irg_callee_info_state get_irp_callee_info_state(void); void set_irp_callee_info_state(irg_callee_info_state s);