This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][LTO] Revert lang_hooks.decl_printable_name -> get_name change


This reverts the mass-replacement of lang_hooks.decl_printable_name
with get_name.  The default langhook implementation is basically
doing a simplified variant of that already, so this patch reduces the
impact of the LTO merge.

It also fixes

-FAIL: gcc.dg/autopar/parallelization-1.c scan-tree-dump-times optimized 
"loopfn
" 5
-FAIL: gcc.dg/tree-ssa/pr27236.c scan-tree-dump-times optimized "foo_read" 
5
-FAIL: gcc.dg/tree-ssa/tailrecursion-5.c scan-tree-dump-times optimized 
"\\msum\
\M" 4
-FAIL: gcc.dg/tree-ssa/tailrecursion-5.c scan-tree-dump-times optimized 
"\\mfac\
\M" 4
-FAIL: gcc.dg/tree-ssa/tailrecursion-5.c scan-tree-dump-times optimized 
"\\msq_s
um\\M" 4
-FAIL: gcc.dg/tree-ssa/tailrecursion-5.c scan-tree-dump-times optimized 
"\\mpow2
m1\\M" 4
-FAIL: gcc.dg/tree-ssa/tailrecursion-5.c scan-tree-dump-times optimized 
"\\mfib\
\M" 5

as the testcases carefully counted function names but one of the change
changed printing ;; Function foo (foo) to ;; Function foo.

Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to the 
branch.

Richard.

2009-08-26  Richard Guenther  <rguenther@suse.de>

	* tree-into-ssa.c (dump_tree_ssa): Revert change to use
	get_name instead of the decl_printable_name langhook.
	* tree-stdarg.c (execute_optimize_stdarg): Likewise.
	* tree-dfa.c (dump_dfa_stats): Likewise.
	* tree-cfg.c (gimple_dump_cfg): Likewise.
	(dump_cfg_stats): Likewise.
	(gimple_cfg2vcg): Likewise.
	(dump_function_to_file): Likewise.
	* passes.c (pass_init_dump_file): Likewise.

Index: gcc/tree-into-ssa.c
===================================================================
*** gcc/tree-into-ssa.c	(revision 151056)
--- gcc/tree-into-ssa.c	(working copy)
*************** debug_currdefs (void)
*** 1565,1571 ****
  void
  dump_tree_ssa (FILE *file)
  {
!   const char *funcname = get_name (current_function_decl);
  
    fprintf (file, "SSA renaming information for %s\n\n", funcname);
  
--- 1565,1572 ----
  void
  dump_tree_ssa (FILE *file)
  {
!   const char *funcname
!     = lang_hooks.decl_printable_name (current_function_decl, 2);
  
    fprintf (file, "SSA renaming information for %s\n\n", funcname);
  
Index: gcc/tree-stdarg.c
===================================================================
*** gcc/tree-stdarg.c	(revision 151056)
--- gcc/tree-stdarg.c	(working copy)
*************** execute_optimize_stdarg (void)
*** 600,606 ****
    si.va_list_escape_vars = BITMAP_ALLOC (NULL);
  
    if (dump_file)
!     funcname = get_name (current_function_decl);
  
    cfun_va_list = targetm.fn_abi_va_list (cfun->decl);
    va_list_simple_ptr = POINTER_TYPE_P (cfun_va_list)
--- 600,606 ----
    si.va_list_escape_vars = BITMAP_ALLOC (NULL);
  
    if (dump_file)
!     funcname = lang_hooks.decl_printable_name (current_function_decl, 2);
  
    cfun_va_list = targetm.fn_abi_va_list (cfun->decl);
    va_list_simple_ptr = POINTER_TYPE_P (cfun_va_list)
Index: gcc/tree-dfa.c
===================================================================
*** gcc/tree-dfa.c	(revision 151056)
--- gcc/tree-dfa.c	(working copy)
*************** dump_dfa_stats (FILE *file)
*** 345,351 ****
    const char * const fmt_str   = "%-30s%-13s%12s\n";
    const char * const fmt_str_1 = "%-30s%13lu%11lu%c\n";
    const char * const fmt_str_3 = "%-43s%11lu%c\n";
!   const char *funcname = get_name (current_function_decl);
  
    collect_dfa_stats (&dfa_stats);
  
--- 345,352 ----
    const char * const fmt_str   = "%-30s%-13s%12s\n";
    const char * const fmt_str_1 = "%-30s%13lu%11lu%c\n";
    const char * const fmt_str_3 = "%-43s%11lu%c\n";
!   const char *funcname
!     = lang_hooks.decl_printable_name (current_function_decl, 2);
  
    collect_dfa_stats (&dfa_stats);
  
Index: gcc/tree-cfg.c
===================================================================
*** gcc/tree-cfg.c	(revision 151056)
--- gcc/tree-cfg.c	(working copy)
*************** gimple_dump_cfg (FILE *file, int flags)
*** 2505,2511 ****
  {
    if (flags & TDF_DETAILS)
      {
!       const char *funcname = get_name (current_function_decl);
        fputc ('\n', file);
        fprintf (file, ";; Function %s\n\n", funcname);
        fprintf (file, ";; \n%d basic blocks, %d edges, last basic block %d.\n\n",
--- 2505,2512 ----
  {
    if (flags & TDF_DETAILS)
      {
!       const char *funcname
! 	= lang_hooks.decl_printable_name (current_function_decl, 2);
        fputc ('\n', file);
        fprintf (file, ";; Function %s\n\n", funcname);
        fprintf (file, ";; \n%d basic blocks, %d edges, last basic block %d.\n\n",
*************** dump_cfg_stats (FILE *file)
*** 2535,2541 ****
    const char * const fmt_str_1 = "%-30s%13d%11lu%c\n";
    const char * const fmt_str_2 = "%-30s%13ld%11lu%c\n";
    const char * const fmt_str_3 = "%-43s%11lu%c\n";
!   const char *funcname = get_name (current_function_decl);
  
  
    fprintf (file, "\nCFG Statistics for %s\n\n", funcname);
--- 2536,2543 ----
    const char * const fmt_str_1 = "%-30s%13d%11lu%c\n";
    const char * const fmt_str_2 = "%-30s%13ld%11lu%c\n";
    const char * const fmt_str_3 = "%-43s%11lu%c\n";
!   const char *funcname
!     = lang_hooks.decl_printable_name (current_function_decl, 2);
  
  
    fprintf (file, "\nCFG Statistics for %s\n\n", funcname);
*************** gimple_cfg2vcg (FILE *file)
*** 2591,2597 ****
    edge e;
    edge_iterator ei;
    basic_block bb;
!   const char *funcname = get_name (current_function_decl);
  
    /* Write the file header.  */
    fprintf (file, "graph: { title: \"%s\"\n", funcname);
--- 2593,2600 ----
    edge e;
    edge_iterator ei;
    basic_block bb;
!   const char *funcname
!     = lang_hooks.decl_printable_name (current_function_decl, 2);
  
    /* Write the file header.  */
    fprintf (file, "graph: { title: \"%s\"\n", funcname);
*************** move_sese_region_to_fn (struct function
*** 6298,6304 ****
  }
  
  
! /* Dump FUNCTION_DECL FN to file FILE using FLAGS (see TDF_* in tree-pass.h)  */
  
  void
  dump_function_to_file (tree fn, FILE *file, int flags)
--- 6301,6308 ----
  }
  
  
! /* Dump FUNCTION_DECL FN to file FILE using FLAGS (see TDF_* in tree-pass.h)
!    */
  
  void
  dump_function_to_file (tree fn, FILE *file, int flags)
*************** dump_function_to_file (tree fn, FILE *fi
*** 6309,6315 ****
    basic_block bb;
    tree chain;
  
!   fprintf (file, "%s (", get_name (fn));
  
    arg = DECL_ARGUMENTS (fn);
    while (arg)
--- 6313,6319 ----
    basic_block bb;
    tree chain;
  
!   fprintf (file, "%s (", lang_hooks.decl_printable_name (fn, 2));
  
    arg = DECL_ARGUMENTS (fn);
    while (arg)
Index: gcc/passes.c
===================================================================
*** gcc/passes.c	(revision 151056)
--- gcc/passes.c	(working copy)
*************** pass_init_dump_file (struct opt_pass *pa
*** 1137,1146 ****
        dump_file = dump_begin (pass->static_pass_number, &dump_flags);
        if (dump_file && current_function_decl)
  	{
! 	  const char *aname;
  	  aname = (IDENTIFIER_POINTER
  		   (DECL_ASSEMBLER_NAME (current_function_decl)));
! 	  fprintf (dump_file, "\n;; Function %s%s\n\n", aname,
  	     cfun->function_frequency == FUNCTION_FREQUENCY_HOT
  	     ? " (hot)"
  	     : cfun->function_frequency == FUNCTION_FREQUENCY_UNLIKELY_EXECUTED
--- 1137,1147 ----
        dump_file = dump_begin (pass->static_pass_number, &dump_flags);
        if (dump_file && current_function_decl)
  	{
! 	  const char *dname, *aname;
! 	  dname = lang_hooks.decl_printable_name (current_function_decl, 2);
  	  aname = (IDENTIFIER_POINTER
  		   (DECL_ASSEMBLER_NAME (current_function_decl)));
! 	  fprintf (dump_file, "\n;; Function %s (%s)%s\n\n", dname, aname,
  	     cfun->function_frequency == FUNCTION_FREQUENCY_HOT
  	     ? " (hot)"
  	     : cfun->function_frequency == FUNCTION_FREQUENCY_UNLIKELY_EXECUTED


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]