Commit d18a49c7 authored by Christoph Mallon's avatar Christoph Mallon
Browse files

amd64: Replace am_pushpop_base_reqs[] by rsp_reg_mem_reqs[].

parent 3af72e1a
...@@ -146,7 +146,7 @@ static const arch_register_req_t *rsp_mem_reqs[] = { ...@@ -146,7 +146,7 @@ static const arch_register_req_t *rsp_mem_reqs[] = {
&arch_memory_requirement, &arch_memory_requirement,
}; };
static const arch_register_req_t *rsp_reg_mem_reqs[] = { arch_register_req_t const *rsp_reg_mem_reqs[] = {
&amd64_single_reg_req_gp_rsp, &amd64_single_reg_req_gp_rsp,
&amd64_class_reg_req_gp, &amd64_class_reg_req_gp,
&arch_memory_requirement, &arch_memory_requirement,
......
...@@ -19,6 +19,7 @@ extern const x86_asm_constraint_list_t amd64_asm_constraints; ...@@ -19,6 +19,7 @@ extern const x86_asm_constraint_list_t amd64_asm_constraints;
extern arch_register_req_t const *amd64_xmm_reqs[]; extern arch_register_req_t const *amd64_xmm_reqs[];
extern arch_register_req_t const **const gp_am_reqs[]; extern arch_register_req_t const **const gp_am_reqs[];
extern arch_register_req_t const *reg_reqs[]; extern arch_register_req_t const *reg_reqs[];
extern arch_register_req_t const *rsp_reg_mem_reqs[];
extern arch_register_req_t const *xmm_reg_mem_reqs[]; extern arch_register_req_t const *xmm_reg_mem_reqs[];
......
...@@ -116,12 +116,6 @@ static int amd64_get_sp_bias(const ir_node *node) ...@@ -116,12 +116,6 @@ static int amd64_get_sp_bias(const ir_node *node)
return 0; return 0;
} }
static const arch_register_req_t *am_pushpop_base_reqs[] = {
&amd64_single_reg_req_gp_rsp,
&amd64_class_reg_req_gp,
&arch_memory_requirement,
};
static ir_node *create_push(ir_node *node, ir_node *schedpoint, ir_node *sp, static ir_node *create_push(ir_node *node, ir_node *schedpoint, ir_node *sp,
ir_node *mem, ir_entity *ent, ir_node *mem, ir_entity *ent,
amd64_insn_mode_t insn_mode) amd64_insn_mode_t insn_mode)
...@@ -139,7 +133,7 @@ static ir_node *create_push(ir_node *node, ir_node *schedpoint, ir_node *sp, ...@@ -139,7 +133,7 @@ static ir_node *create_push(ir_node *node, ir_node *schedpoint, ir_node *sp,
ir_node *in[] = { sp, frame, mem }; ir_node *in[] = { sp, frame, mem };
ir_node *push = new_bd_amd64_push_am(dbgi, block, ARRAY_SIZE(in), in, ir_node *push = new_bd_amd64_push_am(dbgi, block, ARRAY_SIZE(in), in,
insn_mode, addr); insn_mode, addr);
arch_set_irn_register_reqs_in(push, am_pushpop_base_reqs); arch_set_irn_register_reqs_in(push, rsp_reg_mem_reqs);
sched_add_before(schedpoint, push); sched_add_before(schedpoint, push);
return push; return push;
} }
...@@ -161,7 +155,7 @@ static ir_node *create_pop(ir_node *node, ir_node *schedpoint, ir_node *sp, ...@@ -161,7 +155,7 @@ static ir_node *create_pop(ir_node *node, ir_node *schedpoint, ir_node *sp,
ir_node *pop = new_bd_amd64_pop_am(dbgi, block, ARRAY_SIZE(in), in, ir_node *pop = new_bd_amd64_pop_am(dbgi, block, ARRAY_SIZE(in), in,
insn_mode, addr); insn_mode, addr);
arch_set_irn_register_reqs_in(pop, am_pushpop_base_reqs); arch_set_irn_register_reqs_in(pop, rsp_reg_mem_reqs);
sched_add_before(schedpoint, pop); sched_add_before(schedpoint, pop);
return pop; return pop;
......
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