From: Matthias Braun Date: Thu, 4 Feb 2010 20:32:44 +0000 (+0000) Subject: use more IR_RESOURCE_TYPE_VISITED, remove pointless inc_master_type_visited calls X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=64723d1bd8ace74ca5f0018db8655f2a1f443532;p=libfirm use more IR_RESOURCE_TYPE_VISITED, remove pointless inc_master_type_visited calls [r27045] --- diff --git a/ir/be/arm/bearch_arm.c b/ir/be/arm/bearch_arm.c index 217a88d3a..5e0324cde 100644 --- a/ir/be/arm/bearch_arm.c +++ b/ir/be/arm/bearch_arm.c @@ -712,12 +712,6 @@ static arch_env_t *arm_init(FILE *file_handle) { be_emit_cstring(".Ltext0:\n"); be_emit_write_line(); - /* we mark referenced global entities, so we can only emit those which - * are actually referenced. (Note: you mustn't use the type visited flag - * elsewhere in the backend) - */ - inc_master_type_visited(); - inited = 1; return &isa->arch_env; } diff --git a/ir/be/ia32/bearch_ia32.c b/ir/be/ia32/bearch_ia32.c index f1b2ece3a..2d79b093f 100644 --- a/ir/be/ia32/bearch_ia32.c +++ b/ir/be/ia32/bearch_ia32.c @@ -1713,12 +1713,6 @@ static arch_env_t *ia32_init(FILE *file_handle) be_emit_cstring(".Ltext0:\n"); be_emit_write_line(); - /* we mark referenced global entities, so we can only emit those which - * are actually referenced. (Note: you mustn't use the type visited flag - * elsewhere in the backend) - */ - inc_master_type_visited(); - return &isa->arch_env; } diff --git a/ir/be/mips/bearch_mips.c b/ir/be/mips/bearch_mips.c index 5f744302c..585d68c0a 100644 --- a/ir/be/mips/bearch_mips.c +++ b/ir/be/mips/bearch_mips.c @@ -341,12 +341,6 @@ static arch_env_t *mips_init(FILE *file_handle) { mips_create_opcodes(&mips_irn_ops); // mips_init_opcode_transforms(); - /* we mark referenced global entities, so we can only emit those which - * are actually referenced. (Note: you mustn't use the type visited flag - * elsewhere in the backend) - */ - inc_master_type_visited(); - return &isa->arch_env; } diff --git a/ir/tr/tr_inheritance.c b/ir/tr/tr_inheritance.c index cba4fdce2..33d77a29d 100644 --- a/ir/tr/tr_inheritance.c +++ b/ir/tr/tr_inheritance.c @@ -337,6 +337,7 @@ void compute_inh_transitive_closure(void) { free_inh_transitive_closure(); /* The 'down' relation */ + irp_reserve_resources(irp, IR_RESOURCE_TYPE_VISITED); inc_master_type_visited(); /* Inc twice: one if on stack, second if values computed. */ inc_master_type_visited(); for (i = 0; i < n_types; ++i) { @@ -385,6 +386,7 @@ void compute_inh_transitive_closure(void) { } irp->inh_trans_closure_state = inh_transitive_closure_valid; + irp_free_resources(irp, IR_RESOURCE_TYPE_VISITED); } /** Free memory occupied by the transitive closure information. */