X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fsparc%2Fsparc_nodes_attr.h;h=c22dd9215b742f31393b6735398916f8666400f7;hb=1553e92153d3b718a7f5575dcbbe8abbffc579c0;hp=b08d070764a7823dfede0a39f5e5527412aca725;hpb=a24d3e41bc7fe1fe1bb42e9982f0021f23ab8fb8;p=libfirm diff --git a/ir/be/sparc/sparc_nodes_attr.h b/ir/be/sparc/sparc_nodes_attr.h index b08d07076..c22dd9215 100644 --- a/ir/be/sparc/sparc_nodes_attr.h +++ b/ir/be/sparc/sparc_nodes_attr.h @@ -20,6 +20,7 @@ /** * @file * @brief attributes attached to all sparc nodes + * @author Hannes Rapp, Matthias Braun * @version $Id$ */ #ifndef FIRM_BE_SPARC_SPARC_NODES_ATTR_H @@ -36,7 +37,6 @@ typedef struct sparc_attr_t sparc_attr_t; struct sparc_attr_t { except_attr exc; /**< the exception attribute. MUST be the first one. */ - const arch_register_req_t **in_req; /**< register requirements for arguments */ int32_t immediate_value; /* immediate values */ ir_entity *immediate_value_entity; }; @@ -45,6 +45,8 @@ enum sparc_arch_irn_flags_t { sparc_arch_irn_flag_modifies_flags = arch_irn_flags_backend << 0, sparc_arch_irn_flag_modifies_fp_flags = arch_irn_flags_backend << 1, sparc_arch_irn_flag_needs_64bit_spillslot = arch_irn_flags_backend << 2, + sparc_arch_irn_flag_immediate_form = arch_irn_flags_backend << 3, + sparc_arch_irn_flag_aggregate_return = arch_irn_flags_backend << 4, }; /** @@ -64,16 +66,7 @@ struct sparc_fp_conv_attr_t { }; /** - * attribute for save instruction - */ -typedef struct sparc_save_attr_t sparc_save_attr_t; -struct sparc_save_attr_t { - sparc_attr_t base; /**< generic attribute */ - int initial_stacksize; /* the min. stack size required by the sparc ABI */ -}; - -/** - * attributes for load/store adressing modes + * attributes for load/store addressing modes */ typedef struct sparc_load_store_attr_t sparc_load_store_attr_t; struct sparc_load_store_attr_t { @@ -89,18 +82,18 @@ struct sparc_load_store_attr_t { typedef struct sparc_jmp_cond_attr_t sparc_jmp_cond_attr_t; struct sparc_jmp_cond_attr_t { sparc_attr_t base; /**< generic attribute */ - pn_Cmp pnc; + ir_relation relation; bool is_unsigned : 1; }; /** * attributes for switch jumps */ -typedef struct sparc_jmp_switch_attr_t sparc_jmp_switch_attr_t; -struct sparc_jmp_switch_attr_t { +typedef struct sparc_switch_jmp_attr_t sparc_switch_jmp_attr_t; +struct sparc_switch_jmp_attr_t { sparc_attr_t base; /**< generic attribute */ - int n_projs; long default_proj_num; + ir_entity *jump_table; }; #endif