aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Matz <matz@gcc.gnu.org>2007-10-24 12:54:24 +0000
committerMichael Matz <matz@gcc.gnu.org>2007-10-24 12:54:24 +0000
commite56f9152862a75cde8a27bed0e743b244621070d (patch)
tree62936a60e52be73085ced39c491fef157eadc54f /gcc
parent32154c8905a704e01c328542f2d4cef627c21b81 (diff)
downloadgcc-e56f9152862a75cde8a27bed0e743b244621070d.zip
gcc-e56f9152862a75cde8a27bed0e743b244621070d.tar.gz
gcc-e56f9152862a75cde8a27bed0e743b244621070d.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog33
-rw-r--r--gcc/var-tracking.c15
2 files changed, 31 insertions, 17 deletions
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 <matz@suse.de>
+
+ 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 <olga@il.ibm.com>
- * 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 <olga@il.ibm.com>
- * 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 <irar@il.ibm.com>
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",