X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fsparc%2Fsparc_nodes_attr.h;h=5af52911d9215ab7cd4796bae720a536e0d34746;hb=df2faee01a5832057bb3ca0ba5f67e979c916e19;hp=b1c0011b7770e51976909b56e5506b005d3a2ed1;hpb=22eb6c0a72ad11e96469143d4764375f6d2c3ef9;p=libfirm diff --git a/ir/be/sparc/sparc_nodes_attr.h b/ir/be/sparc/sparc_nodes_attr.h index b1c0011b7..5af52911d 100644 --- a/ir/be/sparc/sparc_nodes_attr.h +++ b/ir/be/sparc/sparc_nodes_attr.h @@ -21,12 +21,11 @@ * @file * @brief attributes attached to all sparc nodes * @author Hannes Rapp, Matthias Braun - * @version $Id$ */ #ifndef FIRM_BE_SPARC_SPARC_NODES_ATTR_H #define FIRM_BE_SPARC_SPARC_NODES_ATTR_H -#include "../bearch.h" +#include "bearch.h" #include typedef struct sparc_attr_t sparc_attr_t; @@ -42,11 +41,10 @@ struct sparc_attr_t }; 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, + sparc_arch_irn_flag_needs_64bit_spillslot = arch_irn_flags_backend << 0, + sparc_arch_irn_flag_immediate_form = arch_irn_flags_backend << 1, + sparc_arch_irn_flag_aggregate_return = arch_irn_flags_backend << 2, + sparc_arch_irn_flag_has_delay_slot = arch_irn_flags_backend << 3, }; /** @@ -66,7 +64,7 @@ struct sparc_fp_conv_attr_t { }; /** - * 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 { @@ -83,7 +81,8 @@ typedef struct sparc_jmp_cond_attr_t sparc_jmp_cond_attr_t; struct sparc_jmp_cond_attr_t { sparc_attr_t base; /**< generic attribute */ ir_relation relation; - bool is_unsigned : 1; + bool is_unsigned : 1; + bool annul_delay_slot : 1; }; /** @@ -91,9 +90,14 @@ struct sparc_jmp_cond_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 */ - long default_proj_num; - ir_entity *jump_table; + sparc_attr_t base; + const ir_switch_table *table; + ir_entity *table_entity; +}; + +enum n_sparc_Return { + n_sparc_Return_mem = 0, + n_sparc_Return_sp = 1, }; #endif