diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-03-26 17:18:51 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-03-26 17:18:51 +0100 |
commit | 6ca5d1f6d08c5c6b4cfd006a363b8e9ad17347dc (patch) | |
tree | 9d76e0c545aec903e1d1c2de6c36145397d24c24 /gcc/final.c | |
parent | 1360467133687fc799b31a91bb9a975bd0a634e0 (diff) | |
download | gcc-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.c | 7 |
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)) { |