From 7924efb0d53e6357dc93040f7ae6a73fb1cdb7f7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20W=C3=BCrdig?= Date: Wed, 11 Jan 2006 16:18:22 +0000 Subject: [PATCH] removed dummy register requirements --- ir/be/ia32/bearch_ia32.c | 52 +++++++--------------------------------- 1 file changed, 8 insertions(+), 44 deletions(-) diff --git a/ir/be/ia32/bearch_ia32.c b/ir/be/ia32/bearch_ia32.c index 82d3aa87b..2240ca0a7 100644 --- a/ir/be/ia32/bearch_ia32.c +++ b/ir/be/ia32/bearch_ia32.c @@ -26,28 +26,11 @@ #include "ia32_emitter.h" #include "ia32_map_regs.h" -#define DEBUG_MODULE "be.isa.ia32" +#define DEBUG_MODULE "ir.be.isa.ia32" /* TODO: ugly */ static set *cur_reg_set = NULL; -/** - * Stuff needed for dummy register requirements to keep register allocator - * happy during development. - */ -static arch_register_t ia32_dummy_regs[500]; -static arch_register_class_t ia32_dummy_reg_class = { - "dummy", - 500, - ia32_dummy_regs -}; - -static arch_register_req_t ia32_dummy_register_req = { - arch_register_req_type_normal, - &ia32_dummy_reg_class, - { NULL } -}; - /************************************************** @@ -131,6 +114,8 @@ static const arch_register_req_t *ia32_get_irn_reg_req(const arch_irn_ops_t *sel case pn_Start_X_initial_exec: case pn_Start_P_value_arg_base: case pn_Start_P_globals: + memcpy(req, &ia32_default_req_none, sizeof(*req)); + break; case pn_Start_P_frame_base: memcpy(req, &ia32_default_req_none, sizeof(*req)); break; @@ -143,8 +128,9 @@ static const arch_register_req_t *ia32_get_irn_reg_req(const arch_irn_ops_t *sel memcpy(req, &ia32_default_req_ia32_general_purpose_eax, sizeof(*req)); } else { - DBG((mod, LEVEL_1, "returning standard reqs for %+F (not ia32)\n", irn)); - memcpy(req, &ia32_dummy_register_req, sizeof(*req)); + DBG((mod, LEVEL_1, "returning NULL for %+F (not ia32)\n", irn)); + req = NULL; + //memcpy(req, &ia32_dummy_register_req, sizeof(*req)); } } @@ -349,10 +335,8 @@ static void *ia32_cg_init(FILE *F, ir_graph *irg, const arch_env_t *arch_env) { * Initializes the backend ISA and opens the output file. */ static void *ia32_init(void) { - int i; - static struct obstack obst; - static int inited = 0; - ia32_isa_t *isa = malloc(sizeof(*isa)); + static int inited = 0; + ia32_isa_t *isa = malloc(sizeof(*isa)); isa->impl = &ia32_isa_if; @@ -363,26 +347,6 @@ static void *ia32_init(void) { isa->num_codegens = 0; - /* init dummy register requirements */ - obstack_init(&obst); - - for (i = 0; i < 500; i++) { - int n; - char buf[5]; - char *name; - arch_register_t *reg = &ia32_dummy_regs[i]; - - n = snprintf(buf, sizeof(buf), "d%d", i); - name = obstack_copy0(&obst, buf, n); - - reg->name = name; - reg->reg_class = &ia32_dummy_reg_class; - reg->index = i; - reg->type = arch_register_type_none; - } - - obstack_free(&obst, NULL); - ia32_register_init(); ia32_create_opcodes(); -- 2.20.1