Commit 0fbbd3a1 authored by Matthias Braun's avatar Matthias Braun
Browse files

benode: Remove be_Any node

parent bd66289b
......@@ -86,7 +86,6 @@ void be_init_emitters(void)
{
ir_clear_opcodes_generic_func();
be_set_emitter(op_Phi, be_emit_nothing);
be_set_emitter(op_be_AnyVal, be_emit_nothing);
be_set_emitter(op_be_Keep, be_emit_nothing);
}
......
......@@ -58,7 +58,6 @@ typedef struct be_relocation_attr_t {
unsigned kind;
} be_relocation_attr_t;
ir_op *op_be_AnyVal;
ir_op *op_be_Asm;
ir_op *op_be_Copy;
ir_op *op_be_CopyKeep;
......@@ -342,18 +341,6 @@ unsigned be_get_MemPerm_entity_arity(const ir_node *irn)
return get_irn_arity(irn);
}
ir_node *be_new_AnyVal(ir_node *block, const arch_register_class_t *cls)
{
ir_graph *irg = get_irn_irg(block);
ir_mode *mode = cls->mode;
ir_node *res = new_ir_node(NULL, irg, block, op_be_AnyVal, mode, 0, NULL);
init_node_attr(res, 1, arch_irn_flags_none);
arch_set_irn_register_req_out(res, 0, cls->class_req);
be_node_attr_t *attr = (be_node_attr_t*)get_irn_generic_attr(res);
attr->exc.pin_state = op_pin_state_floats;
return res;
}
const arch_register_req_t *be_create_reg_req(struct obstack *obst,
const arch_register_t *reg,
bool ignore)
......@@ -655,7 +642,6 @@ void be_init_op(void)
/* Acquire all needed opcodes. */
unsigned const o = get_next_ir_opcodes(beo_last + 1);
op_be_AnyVal = new_be_op(o+beo_AnyVal, "be_AnyVal", op_pin_state_exc_pinned, irop_flag_constlike|irop_flag_cse_neutral, oparity_any, sizeof(be_node_attr_t));
op_be_Asm = new_be_op(o+beo_Asm, "be_Asm", op_pin_state_exc_pinned, irop_flag_none, oparity_any, sizeof(be_asm_attr_t));
op_be_Copy = new_be_op(o+beo_Copy, "be_Copy", op_pin_state_exc_pinned, irop_flag_none, oparity_any, sizeof(be_node_attr_t));
op_be_CopyKeep = new_be_op(o+beo_CopyKeep, "be_CopyKeep", op_pin_state_exc_pinned, irop_flag_keep, oparity_variable, sizeof(be_node_attr_t));
......@@ -666,7 +652,6 @@ void be_init_op(void)
op_be_Relocation = new_be_op(o+beo_Relocation, "be_Relocation", op_pin_state_floats, irop_flag_constlike|irop_flag_start_block, oparity_any, sizeof(be_relocation_attr_t));
set_op_attrs_equal(op_be_Asm, be_asm_attr_equal);
set_op_attrs_equal(op_be_AnyVal, attrs_equal_be_node);
set_op_attrs_equal(op_be_Copy, attrs_equal_be_node);
set_op_attrs_equal(op_be_CopyKeep, attrs_equal_be_node);
set_op_attrs_equal(op_be_IncSP, be_incsp_attrs_equal);
......@@ -678,7 +663,6 @@ void be_init_op(void)
void be_finish_op(void)
{
free_ir_op(op_be_AnyVal); op_be_AnyVal = NULL;
free_ir_op(op_be_Copy); op_be_Copy = NULL;
free_ir_op(op_be_CopyKeep); op_be_CopyKeep = NULL;
free_ir_op(op_be_IncSP); op_be_IncSP = NULL;
......
......@@ -20,9 +20,8 @@
#include "irnode_t.h"
typedef enum be_opcode {
beo_AnyVal,
beo_first = beo_AnyVal,
beo_Asm,
beo_first = beo_Asm,
beo_Copy,
beo_CopyKeep,
beo_IncSP,
......@@ -43,7 +42,6 @@ typedef struct be_asm_attr_t {
void *operands;
} be_asm_attr_t;
extern ir_op *op_be_AnyVal;
extern ir_op *op_be_Asm;
extern ir_op *op_be_Copy;
extern ir_op *op_be_CopyKeep;
......@@ -153,14 +151,6 @@ int be_get_MemPerm_offset(const ir_node *irn);
unsigned be_get_MemPerm_entity_arity(const ir_node *irn);
/**
* Create a AnyVal node. Use of this node should be avoided!
* The node is used as input at places where we need an input register assigned
* but don't care about its contents. This is for example necessary to fixup
* nodes which are not register pressure faithfull.
*/
ir_node *be_new_AnyVal(ir_node *block, const arch_register_class_t *cls);
arch_register_req_t const **be_allocate_in_reqs(ir_graph *irg, unsigned n);
const arch_register_req_t *be_create_reg_req(struct obstack *obst,
......
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