From: Michael Matz Date: Wed, 24 Oct 2007 12:54:24 +0000 (+0000) Subject: re PR debug/33868 (Gross memory usage of var-tracking) X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e56f9152862a75cde8a27bed0e743b244621070d;p=platform%2Fupstream%2Fgcc.git re PR debug/33868 (Gross memory usage of var-tracking) PR debug/33868 * var-tracking.c (variable_union): Don't break after one loop * iteration but only when a difference is found. (dump_variable): Also print DECL_UID. From-SVN: r129602 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5d05108..397bbb7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,21 +1,28 @@ +2007-10-24 Michael Matz + + PR debug/33868 + * var-tracking.c (variable_union): Don't break after one loop iteration + but only when a difference is found. + (dump_variable): Also print DECL_UID. + 2007-10-24 Olga Golovanevsky - * ipa-type-escape.h: Expose function - is_array_access_through_pointer_and_index. - * ipa-type-escape.c - (is_array_access_through_pointer_and_index): - Add three new parameters. Add support of - POINTER_PLUS_EXPR tree code. + * ipa-type-escape.h: Expose function + is_array_access_through_pointer_and_index. + * ipa-type-escape.c + (is_array_access_through_pointer_and_index): + Add three new parameters. Add support of + POINTER_PLUS_EXPR tree code. 2007-10-24 Olga Golovanevsky - * ipa-struct-reorg.c, ipa-struct-reorg.h: New files. - * tree-pass.h: Add pass_ipa_struct_reorg. - * common.opt: Add ipa-struct-reorg flag. - * Makefile.in: Add ipa-strcut-reorg.o compilation. - * passes.c: Add pass pass_ipa_struct_reorg. - * params.h: Add STRUCT_REORG_COLD_STRUCT_RATIO. - * params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO. + * ipa-struct-reorg.c, ipa-struct-reorg.h: New files. + * tree-pass.h: Add pass_ipa_struct_reorg. + * common.opt: Add ipa-struct-reorg flag. + * Makefile.in: Add ipa-strcut-reorg.o compilation. + * passes.c: Add pass pass_ipa_struct_reorg. + * params.h: Add STRUCT_REORG_COLD_STRUCT_RATIO. + * params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO. 2007-10-24 Ira Rosen diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index ea6981a..9599b5a 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -1221,9 +1221,11 @@ variable_union (void **slot, void *data) && REG_P (node->loc) && REGNO (node2->loc) == REGNO (node->loc)) || rtx_equal_p (node2->loc, node->loc))) - if (node2->init < node->init) - node2->init = node->init; - break; + { + if (node2->init < node->init) + node2->init = node->init; + break; + } } if (node || node2) dst = unshare_variable (set, dst, VAR_INIT_STATUS_UNKNOWN); @@ -2209,8 +2211,13 @@ dump_variable (void **slot, void *data ATTRIBUTE_UNUSED) int i; location_chain node; - fprintf (dump_file, " name: %s\n", + fprintf (dump_file, " name: %s", IDENTIFIER_POINTER (DECL_NAME (var->decl))); + if (dump_flags & TDF_UID) + fprintf (dump_file, " D.%u\n", DECL_UID (var->decl)); + else + fprintf (dump_file, "\n"); + for (i = 0; i < var->n_var_parts; i++) { fprintf (dump_file, " offset %ld\n",