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;
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;
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.
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;
/**
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 */
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