Commit 901af1c4 authored by Christoph Mallon's avatar Christoph Mallon
Browse files

amd64: Give node attribute structs a tag.

parent 01090080
......@@ -24,7 +24,7 @@ enum amd64_arch_irn_flags_t {
};
/** instruction data size. Keep sorted! */
typedef enum {
typedef enum amd64_insn_size_t {
INSN_SIZE_8,
INSN_SIZE_16,
INSN_SIZE_32,
......@@ -33,7 +33,7 @@ typedef enum {
INSN_SIZE_128,
} amd64_insn_size_t;
typedef enum {
typedef enum amd64_segment_selector_t {
AMD64_SEGMENT_DEFAULT,
AMD64_SEGMENT_CS,
AMD64_SEGMENT_SS,
......@@ -43,7 +43,7 @@ typedef enum {
AMD64_SEGMENT_GS,
} amd64_segment_selector_t;
typedef enum {
typedef enum amd64_op_mode_t {
AMD64_OP_NONE,
AMD64_OP_ADDR,
AMD64_OP_REG,
......@@ -61,13 +61,13 @@ typedef enum {
AMD64_OP_CC,
} amd64_op_mode_t;
typedef struct {
typedef struct amd64_imm64_t {
ir_entity *entity;
int64_t offset;
ENUMBF(x86_immediate_kind_t) kind : 8;
} amd64_imm64_t;
typedef struct {
typedef struct amd64_addr_t {
x86_imm32_t immediate;
uint8_t base_input;
uint8_t index_input;
......@@ -77,18 +77,18 @@ typedef struct {
ENUMBF(x86_addr_variant_t) variant : 3;
} amd64_addr_t;
typedef struct {
typedef struct amd64_attr_t {
except_attr exc; /**< the exception attribute. MUST be the first one. */
amd64_op_mode_t op_mode;
} amd64_attr_t;
typedef struct {
typedef struct amd64_addr_attr_t {
amd64_attr_t base;
ENUMBF(amd64_insn_size_t) size : 3;
amd64_addr_t addr;
} amd64_addr_attr_t;
typedef struct {
typedef struct amd64_binop_addr_attr_t {
amd64_addr_attr_t base;
union {
uint8_t reg_input;
......@@ -96,47 +96,47 @@ typedef struct {
} u;
} amd64_binop_addr_attr_t;
typedef struct {
typedef struct amd64_shift_attr_t {
amd64_attr_t base;
ENUMBF(amd64_insn_size_t) size : 3;
uint8_t immediate;
} amd64_shift_attr_t;
typedef struct {
typedef struct amd64_movimm_attr_t {
amd64_attr_t base;
ENUMBF(amd64_insn_size_t) size : 3;
amd64_imm64_t immediate;
} amd64_movimm_attr_t;
typedef struct {
typedef struct amd64_cc_attr_t {
amd64_attr_t base;
x86_condition_code_t cc;
ENUMBF(amd64_insn_size_t) size : 3;
} amd64_cc_attr_t;
typedef struct {
typedef struct amd64_switch_jmp_attr_t {
amd64_addr_attr_t base;
const ir_switch_table *table;
ir_entity *table_entity;
} amd64_switch_jmp_attr_t;
typedef struct {
typedef struct amd64_call_addr_attr_t {
amd64_addr_attr_t base;
unsigned n_reg_results; /**< number of results in registers */
ir_type *call_tp;
} amd64_call_addr_attr_t;
typedef struct {
typedef struct amd64_x87_attr_t {
amd64_attr_t base;
x87_attr_t x87;
} amd64_x87_attr_t;
typedef struct {
typedef struct amd64_x87_addr_attr_t {
amd64_addr_attr_t base;
x87_attr_t x87;
} amd64_x87_addr_attr_t;
typedef struct {
typedef struct amd64_x87_binop_addr_attr_t {
amd64_binop_addr_attr_t base;
x87_attr_t x87;
} amd64_x87_binop_addr_attr_t;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment