- allow_ifconv interface was totally braindamaged. Use a simple and intuitive
[libfirm] / include / libfirm / firm_types.h
index 70b4491..e792661 100644 (file)
@@ -31,6 +31,7 @@ typedef unsigned long ir_exc_region_t;
 typedef unsigned long ir_label_t;
 
 typedef struct dbg_info             dbg_info,            *dbg_info_ptr;
+typedef struct type_dbg_info        type_dbg_info;
 typedef const struct _ident         ident,               *ir_ident_ptr;
 typedef struct ir_node              ir_node,             *ir_node_ptr;
 typedef struct ir_op                ir_op,               *ir_op_ptr;
@@ -40,11 +41,11 @@ typedef struct tarval               tarval,              *ir_tarval_ptr;
 typedef struct ir_enum_const        ir_enum_const,       *ir_enum_const_ptr;
 typedef struct ir_type              ir_type,             *ir_type_ptr;
 typedef struct ir_graph             ir_graph,            *ir_graph_ptr;
+typedef struct ir_prog              ir_prog,             *ir_prog_ptr;
 typedef struct ir_loop              ir_loop,             *ir_loop_ptr;
 typedef struct ir_region            ir_region,           *ir_region_ptr;
 typedef struct ir_reg_tree          ir_reg_tree,         *ir_reg_tree_ptr;
 typedef struct ir_entity            ir_entity,           *ir_entity_ptr;
-typedef struct compound_graph_path  compound_graph_path, *ir_compound_graph_path_ptr;
 typedef struct _ir_phase            ir_phase,            *ir_phase_ptr;
 typedef struct _ir_extblk           ir_extblk,           *ir_extblk_ptr;
 typedef struct ir_exec_freq         ir_exec_freq,        *ir_exec_freq_ptr;
@@ -53,6 +54,11 @@ typedef struct sn_entry             *seqno_t;
 typedef struct arch_irn_ops_t       arch_irn_ops_t;
 typedef struct ident_if_t           ident_if_t;
 typedef struct type_identify_if_t   type_identify_if_t;
+typedef struct ir_graph_pass_t      ir_graph_pass_t;
+typedef struct ir_prog_pass_t       ir_prog_pass_t;
+
+typedef struct ir_graph_pass_manager_t      ir_graph_pass_manager_t;
+typedef struct ir_prog_pass_manager_t       ir_prog_pass_manager_t;
 
 typedef union  ir_initializer_t     ir_initializer_t,    *ir_initializer_ptr;
 
@@ -160,9 +166,8 @@ typedef enum {
                                   symconst_symbol is entity *. */
        symconst_ofs_ent,     /**< The SymConst is the offset of its entity in the entities
                                   owner type. */
-       symconst_enum_const,  /**< The SymConst is a enumeration constant of an
+       symconst_enum_const   /**< The SymConst is a enumeration constant of an
                                   enumeration type. */
-       symconst_label        /**< The SymConst is a label address. */
 } symconst_kind;
 
 /** SymConst attribute.
@@ -174,7 +179,6 @@ typedef union symconst_symbol {
        ident         *ident_p;   /**< The ident of a SymConst. */
        ir_entity     *entity_p;  /**< The entity of a SymConst. */
        ir_enum_const *enum_p;    /**< The enumeration constant of a SymConst. */
-       ir_label_t    label;      /**< The label of a SymConst. */
 } symconst_symbol;
 
 /**
@@ -217,12 +221,12 @@ typedef struct {
        ir_mode        *mode;         /**< The mode of the constraint. */
 } ir_asm_constraint;
 
-/** Supported libFirm builtins. */
 /** Supported libFirm builtins. */
 typedef enum {
-       ir_bk_trap,                   /**< GCC __builtin_trap(): insert debug break */
+       ir_bk_trap,                   /**< GCC __builtin_trap(): insert trap */
+       ir_bk_debugbreak,             /**< MS __debugbreak(): insert debug break */
        ir_bk_return_address,         /**< GCC __builtin_return_address() */
-       ir_bk_frame_addess,           /**< GCC __builtin_frame_address() */
+       ir_bk_frame_address,          /**< GCC __builtin_frame_address() */
        ir_bk_prefetch,               /**< GCC __builtin_prefetch() */
        ir_bk_ffs,                    /**< GCC __builtin_ffs(): find first (least) significant 1 bit */
        ir_bk_clz,                    /**< GCC __builtin_clz(): count leading zero */
@@ -230,6 +234,9 @@ typedef enum {
        ir_bk_popcount,               /**< GCC __builtin_popcount(): population count */
        ir_bk_parity,                 /**< GCC __builtin_parity(): parity */
        ir_bk_bswap,                  /**< byte swap */
+       ir_bk_inport,                 /**< in port */
+       ir_bk_outport,                /**< out port */
+       ir_bk_inner_trampoline,       /**< address of a trampoline for GCC inner functions */
 } ir_builtin_kind;
 
 #endif