X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbe_types.h;h=284e10e57696963adde0f61ce0f0ef3a84ea5e26;hb=3c3425a50a1d721b74a015c6812257e32feeac85;hp=f326293bf8b5301fa3cbc7e633a8ce39443b7b06;hpb=44dd4365d606bc60bbbf97200b89c903d788ce45;p=libfirm diff --git a/ir/be/be_types.h b/ir/be/be_types.h index f326293bf..284e10e57 100644 --- a/ir/be/be_types.h +++ b/ir/be/be_types.h @@ -21,13 +21,13 @@ * @file * @brief Forward declarations of backend types * @author Matthias Braun - * @version $Id: besched.h 25982 2009-05-15 22:09:38Z matze $ */ #ifndef FIRM_BE_TYPES_H #define FIRM_BE_TYPES_H +#include "firm_types.h" + typedef unsigned int sched_timestep_t; -typedef struct be_irg_t be_irg_t; typedef struct arch_register_class_t arch_register_class_t; typedef struct arch_register_req_t arch_register_req_t; @@ -36,8 +36,6 @@ typedef struct arch_flag_t arch_flag_t; typedef struct arch_inverse_t arch_inverse_t; typedef struct arch_isa_if_t arch_isa_if_t; typedef struct arch_env_t arch_env_t; -typedef struct arch_code_generator_t arch_code_generator_t; -typedef struct arch_code_generator_if_t arch_code_generator_if_t; /** * Some flags describing a node in more detail. @@ -46,32 +44,33 @@ typedef enum arch_irn_flags_t { arch_irn_flags_none = 0, /**< Node flags. */ arch_irn_flags_dont_spill = 1U << 0, /**< This must not be spilled. */ arch_irn_flags_rematerializable = 1U << 1, /**< This can be replicated instead of spilled/reloaded. */ - arch_irn_flags_modify_flags = 1U << 2, /**< I modify flags. */ + arch_irn_flags_modify_flags = 1U << 2, /**< I modify flags, used by the + default check_modifies + implementation in beflags */ + arch_irn_flags_simple_jump = 1U << 3, /**< a simple jump instruction */ + arch_irn_flags_not_scheduled = 1U << 4, /**< node must not be scheduled*/ + arch_irn_flags_backend = 1U << 5, /**< begin of custom backend + flags */ } arch_irn_flags_t; +ENUM_BITSET(arch_irn_flags_t) -typedef struct _be_lv_t be_lv_t; -typedef struct _be_lv_info_t be_lv_info_t; - -typedef struct _be_abi_call_flags_bits_t be_abi_call_flags_bits_t; -typedef union _be_abi_call_flags_t be_abi_call_flags_t; -typedef struct _be_abi_callbacks_t be_abi_callbacks_t; -typedef struct _be_abi_call_t be_abi_call_t; -typedef struct _be_abi_irg_t be_abi_irg_t; -typedef struct _be_stack_layout_t be_stack_layout_t; - -typedef struct _be_dom_front_info_t be_dom_front_info_t; - -typedef struct _list_sched_selector_t list_sched_selector_t; +typedef struct be_lv_t be_lv_t; +typedef union be_lv_info_t be_lv_info_t; -typedef struct _ilp_sched_selector_t ilp_sched_selector_t; -typedef struct _ilp_sched_selector_if_t ilp_sched_selector_if_t; +typedef struct be_abi_call_flags_bits_t be_abi_call_flags_bits_t; +typedef union be_abi_call_flags_t be_abi_call_flags_t; +typedef struct be_abi_callbacks_t be_abi_callbacks_t; +typedef struct be_abi_call_t be_abi_call_t; +typedef struct be_abi_irg_t be_abi_irg_t; +typedef struct be_stack_layout_t be_stack_layout_t; -typedef struct _be_execution_unit_type_t be_execution_unit_type_t; -typedef struct _be_execution_unit_t be_execution_unit_t; -typedef struct _be_machine_t be_machine_t; +typedef struct backend_info_t backend_info_t; +typedef struct sched_info_t sched_info_t; +typedef struct reg_out_info_t reg_out_info_t; +typedef struct be_ifg_t be_ifg_t; +typedef struct copy_opt_t copy_opt_t; -typedef struct backend_info_t backend_info_t; -typedef struct sched_info_t sched_info_t; -typedef struct reg_out_info_t reg_out_info_t; +typedef struct be_main_env_t be_main_env_t; +typedef struct be_options_t be_options_t; #endif