From: Michael Beck Date: Thu, 20 Apr 2006 16:29:37 +0000 (+0000) Subject: removed unnecessary functions handle the slots X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=ff1d72347d71464063d4dcebbeeb8af4d60ffb79;p=libfirm removed unnecessary functions handle the slots st registers are allocated by the x87 simulator and don't need a noreg --- diff --git a/ir/be/ia32/bearch_ia32.c b/ir/be/ia32/bearch_ia32.c index 795bbb325..85574c2bd 100644 --- a/ir/be/ia32/bearch_ia32.c +++ b/ir/be/ia32/bearch_ia32.c @@ -292,6 +292,12 @@ static void *ia32_abi_init(const be_abi_call_t *call, const arch_env_t *aenv, ir return env; } +/** + * Put all registers which are saved by the prologue/epilogue in a set. + * + * @param self The callback object. + * @param s The result set. + */ static void ia32_abi_dont_save_regs(void *self, pset *s) { ia32_abi_env_t *env = self; @@ -301,9 +307,11 @@ static void ia32_abi_dont_save_regs(void *self, pset *s) /** * Generate the routine prologue. + * * @param self The callback object. * @param mem A pointer to the mem node. Update this if you define new memory. * @param reg_map A map mapping all callee_save/ignore/parameter registers to their defining nodes. + * * @return The register which shall be used as a stack frame base. * * All nodes which define registers in @p reg_map must keep @p reg_map current. @@ -957,7 +965,6 @@ static void *ia32_init(FILE *file_handle) { ia32_register_init(isa); ia32_create_opcodes(); - ia32_register_copy_attr_func(); if ((ARCH_INTEL(isa->arch) && isa->arch < arch_pentium_4) || (ARCH_AMD(isa->arch) && isa->arch < arch_athlon)) diff --git a/ir/be/ia32/ia32_new_nodes.h b/ir/be/ia32/ia32_new_nodes.h index 5e3ffbb5c..bfe91e7a5 100644 --- a/ir/be/ia32/ia32_new_nodes.h +++ b/ir/be/ia32/ia32_new_nodes.h @@ -442,22 +442,12 @@ int is_ia32_St(const ir_node *node); */ int is_ia32_Cnst(const ir_node *node); -/** - * Allocates num register slots for node. - */ -void alloc_ia32_reg_slots(ir_node *node, int num); - /** * Initializes the nodes attributes. */ void init_ia32_attributes(ir_node *node, arch_irn_flags_t flags, const ia32_register_req_t **in_reqs, \ const ia32_register_req_t **out_reqs, int n_res); -/** - * Registers the ia32_copy_attr function for all ia32 opcodes. - */ -void ia32_register_copy_attr_func(void); - /* Include the generated headers */ #include "gen_ia32_new_nodes.h" diff --git a/ir/be/ia32/ia32_spec.pl b/ir/be/ia32/ia32_spec.pl index 102e41c3a..4a468af0c 100644 --- a/ir/be/ia32/ia32_spec.pl +++ b/ir/be/ia32/ia32_spec.pl @@ -145,8 +145,6 @@ $comment_string = "/*"; { "name" => "st5", "type" => 1 }, { "name" => "st6", "type" => 1 }, { "name" => "st7", "type" => 1 }, - { "name" => "st_NOREG", "type" => 6 }, # we need a dummy register for NoReg nodes - { "name" => "st_UKNWN", "type" => 6 }, # we need a dummy register for Unknown nodes { "mode" => "mode_E" } ] ); # %reg_classes