2003-12-30 Steven Bosscher <steven@gcc.gnu.org>
- * Makefile.in (graph.o): Add dependencies on TREE_H and langhooks.h
- (gcse.c): Add dependency on langhooks.h
- * function.h (struct function): Remove the `name' field.
- (current_function_name): Do not define.
- * function.c (allocate_struct_function): Don't initialize the `name'
- field.
- * gcse.c (gcse_main, one_classic_gcse_pass, one_cprop_pass,
- one_pre_gcse_pass, bypass_jumps): Replace all occurences of
- current_function_name with lang_hooks.decl_printable_name calls.
- * graph.h (start_fct, start_bb, node_data, draw_edge, end_fct):
- Likewise.
-
-2003-12-30 Steven Bosscher <steven@gcc.gnu.org>
-
Backport from tree-ssa (relevant changes only):
2003-12-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
c-pragma.o: c-pragma.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
function.h c-pragma.h toplev.h output.h $(GGC_H) $(TM_P_H) $(C_COMMON_H) gt-c-pragma.h
graph.o: graph.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h flags.h output.h \
- $(RTL_H) function.h langhooks.h hard-reg-set.h $(BASIC_BLOCK_H) graph.h $(TREE_H)
+ $(RTL_H) function.h hard-reg-set.h $(BASIC_BLOCK_H) graph.h
sbitmap.o: sbitmap.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
hard-reg-set.h $(BASIC_BLOCK_H)
hard-reg-set.h flags.h $(BASIC_BLOCK_H) function.h output.h toplev.h df.h
gcse.o : gcse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
hard-reg-set.h flags.h real.h insn-config.h $(GGC_H) $(RECOG_H) $(EXPR_H) \
- $(BASIC_BLOCK_H) function.h langhooks.h output.h toplev.h $(TM_P_H) $(PARAMS_H) \
+ $(BASIC_BLOCK_H) function.h output.h toplev.h $(TM_P_H) $(PARAMS_H) \
except.h gt-gcse.h $(TREE_H)
sibcall.o : sibcall.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
function.h hard-reg-set.h flags.h insn-config.h $(RECOG_H) $(BASIC_BLOCK_H)
DECL_SAVED_INSNS (fndecl) = cfun;
cfun->decl = fndecl;
+ current_function_name = (*lang_hooks.decl_printable_name) (fndecl, 2);
+
result = DECL_RESULT (fndecl);
if (aggregate_value_p (result, fndecl))
{
/* For function.c. */
+ /* Name of this function. */
+ const char *name;
+
/* Points to the FUNCTION_DECL of this function. */
tree decl;
extern int trampolines_created;
/* For backward compatibility... eventually these should all go away. */
+#define current_function_name (cfun->name)
#define current_function_pops_args (cfun->pops_args)
#define current_function_returns_struct (cfun->returns_struct)
#define current_function_returns_pcc_struct (cfun->returns_pcc_struct)
#include "basic-block.h"
#include "output.h"
#include "function.h"
-#include "langhooks.h"
#include "expr.h"
#include "except.h"
#include "ggc.h"
if (file)
{
fprintf (file, "GCSE of %s: %d basic blocks, ",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- n_basic_blocks);
+ current_function_name, n_basic_blocks);
fprintf (file, "%d pass%s, %d bytes\n\n",
pass, pass > 1 ? "es" : "", max_pass_bytes);
}
{
fprintf (gcse_file, "\n");
fprintf (gcse_file, "GCSE of %s, pass %d: %d bytes needed, %d substs,",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- pass, bytes_used, gcse_subst_count);
+ current_function_name, pass, bytes_used, gcse_subst_count);
fprintf (gcse_file, "%d insns created\n", gcse_create_count);
}
if (gcse_file)
{
fprintf (gcse_file, "CPROP of %s, pass %d: %d bytes needed, ",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- pass, bytes_used);
+ current_function_name, pass, bytes_used);
fprintf (gcse_file, "%d const props, %d copy props\n\n",
const_prop_count, copy_prop_count);
}
if (gcse_file)
{
fprintf (gcse_file, "\nPRE GCSE of %s, pass %d: %d bytes needed, ",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- pass, bytes_used);
+ current_function_name, pass, bytes_used);
fprintf (gcse_file, "%d substs, %d insns created\n",
gcse_subst_count, gcse_create_count);
}
if (file)
{
fprintf (file, "BYPASS of %s: %d basic blocks, ",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- n_basic_blocks);
+ current_function_name, n_basic_blocks);
fprintf (file, "%d bytes\n\n", bytes_used);
}
#include "tm.h"
#include "rtl.h"
-#include "tree.h"
#include "flags.h"
#include "output.h"
#include "function.h"
-#include "langhooks.h"
#include "hard-reg-set.h"
#include "basic-block.h"
#include "toplev.h"
case vcg:
fprintf (fp, "\
graph: { title: \"%s\"\nfolding: 1\nhidden: 2\nnode: { title: \"%s.0\" }\n",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- (*lang_hooks.decl_printable_name) (current_function_decl, 2));
+ current_function_name, current_function_name);
break;
case no_graph:
break;
fprintf (fp, "\
graph: {\ntitle: \"%s.BB%d\"\nfolding: 1\ncolor: lightblue\n\
label: \"basic block %d",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- bb, bb);
+ current_function_name, bb, bb);
break;
case no_graph:
break;
case vcg:
fprintf (fp, "\
edge: { sourcename: \"%s.0\" targetname: \"%s.%d\" }\n",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- XINT (tmp_rtx, 0));
+ current_function_name,
+ current_function_name, XINT (tmp_rtx, 0));
break;
case no_graph:
break;
case vcg:
fprintf (fp, "node: {\n title: \"%s.%d\"\n color: %s\n \
label: \"%s %d\n",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- XINT (tmp_rtx, 0),
+ current_function_name, XINT (tmp_rtx, 0),
GET_CODE (tmp_rtx) == NOTE ? "lightgrey"
: GET_CODE (tmp_rtx) == INSN ? "green"
: GET_CODE (tmp_rtx) == JUMP_INSN ? "darkgreen"
color = "color: green ";
fprintf (fp,
"edge: { sourcename: \"%s.%d\" targetname: \"%s.%d\" %s",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- from,
- (*lang_hooks.decl_printable_name) (current_function_decl, 2),
- to,
- color);
+ current_function_name, from,
+ current_function_name, to, color);
if (class)
fprintf (fp, "class: %d ", class);
fputs ("}\n", fp);
{
case vcg:
fprintf (fp, "node: { title: \"%s.999999\" label: \"END\" }\n}\n",
- (*lang_hooks.decl_printable_name) (current_function_decl, 2));
+ current_function_name);
break;
case no_graph:
break;