aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-03-26 17:18:51 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-03-26 17:18:51 +0100
commit6ca5d1f6d08c5c6b4cfd006a363b8e9ad17347dc (patch)
tree9d76e0c545aec903e1d1c2de6c36145397d24c24 /gcc/final.c
parent1360467133687fc799b31a91bb9a975bd0a634e0 (diff)
downloadgcc-6ca5d1f6d08c5c6b4cfd006a363b8e9ad17347dc.zip
gcc-6ca5d1f6d08c5c6b4cfd006a363b8e9ad17347dc.tar.gz
gcc-6ca5d1f6d08c5c6b4cfd006a363b8e9ad17347dc.tar.bz2
re PR debug/43516 ("-fcompare-debug failure" at -O2)
PR debug/43516 * flags.h (final_insns_dump_p): New extern. * final.c (final_insns_dump_p): New variable. (rest_of_clean_state): Set it before -fdump-final-insns= dumping, clear afterwards. * print-rtl.c (print_rtx): If final_insns_dump_p don't dump MEM_ALIAS_SET on MEMs. From-SVN: r157753
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 0d19562..e2b7461 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1,6 +1,6 @@
/* Convert RTL to assembler code and output it, for GNU compiler.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
- 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@@ -207,6 +207,9 @@ static int dialect_number;
/* Nonnull if the insn currently being emitted was a COND_EXEC pattern. */
rtx current_insn_predicate;
+/* True if printing into -fdump-final-insns= dump. */
+bool final_insns_dump_p;
+
#ifdef HAVE_ATTR_length
static int asm_insn_count (rtx);
#endif
@@ -4384,6 +4387,7 @@ rest_of_clean_state (void)
flag_dump_noaddr = flag_dump_unnumbered = 1;
if (flag_compare_debug_opt || flag_compare_debug)
dump_flags |= TDF_NOUID;
+ final_insns_dump_p = true;
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
if (LABEL_P (insn))
@@ -4417,6 +4421,7 @@ rest_of_clean_state (void)
{
flag_dump_noaddr = save_noaddr;
flag_dump_unnumbered = save_unnumbered;
+ final_insns_dump_p = false;
if (fclose (final_output))
{