Mercurial > hg > CbC > CbC_gcc
diff gcc/final.c @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children | f6334be47118 |
line wrap: on
line diff
--- a/gcc/final.c Fri Feb 12 23:41:23 2010 +0900 +++ b/gcc/final.c Mon May 24 12:47:05 2010 +0900 @@ -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. @@ -58,7 +58,6 @@ #include "recog.h" #include "conditions.h" #include "flags.h" -#include "real.h" #include "hard-reg-set.h" #include "output.h" #include "except.h" @@ -207,6 +206,9 @@ /* 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 @@ -3526,10 +3528,7 @@ case SYMBOL_REF: if (SYMBOL_REF_DECL (x)) - { - mark_decl_referenced (SYMBOL_REF_DECL (x)); - assemble_external (SYMBOL_REF_DECL (x)); - } + assemble_external (SYMBOL_REF_DECL (x)); #ifdef ASM_OUTPUT_SYMBOL_REF ASM_OUTPUT_SYMBOL_REF (file, x); #else @@ -4371,19 +4370,23 @@ else { const char *aname; + struct cgraph_node *node = cgraph_node (current_function_decl); aname = (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (current_function_decl))); fprintf (final_output, "\n;; Function (%s) %s\n\n", aname, - cfun->function_frequency == FUNCTION_FREQUENCY_HOT + node->frequency == NODE_FREQUENCY_HOT ? " (hot)" - : cfun->function_frequency == FUNCTION_FREQUENCY_UNLIKELY_EXECUTED + : node->frequency == NODE_FREQUENCY_UNLIKELY_EXECUTED ? " (unlikely executed)" + : node->frequency == NODE_FREQUENCY_EXECUTED_ONCE + ? " (executed once)" : ""); 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 +4420,7 @@ { flag_dump_noaddr = save_noaddr; flag_dump_unnumbered = save_unnumbered; + final_insns_dump_p = false; if (fclose (final_output)) {