r187632 - in /branches/google/gcc-4_7: ChangeLo...

tmsriram@gcc.gnu.org tmsriram@gcc.gnu.org
Thu May 17 16:58:00 GMT 2012


Author: tmsriram
Date: Thu May 17 16:58:03 2012
New Revision: 187632

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187632
Log:
  This patch ports function reordering support into google/gcc-4_7 branch
  from google/gcc-4_6 branch.  There are 3 parts which are combined:

  * Adding option -freoder-functions=callgraph.
  * Dumping callgraph profiles in separate sections.
  * The linker plugin itself. 

  Port revisions from google/gcc-4_6
  r177289, r177308, r179104, r179289, r179303, r179404, r182447

  into google/gcc-4_7

  adding function reordering support via linker plugin invoked with option
   -freorder-functions=callgraph.

2012-05-16  Sriraman Tallam  <tmsriram@google.com>

	Port from google/gcc-4_6 
	r177289, r177308, r179104, r179289, r179303, r179404, r182447
	
	* doc/invoke.texi: Document -freorder-functions=*
	* cgraphbuild.c (remove_cgraph_callee_edges): Preserve
	callgraph till pass_final.
	* configure: Regenerate.
	* final.c (dump_cgraph_profiles): New function.
	(rest_of_handle_final): Call dumping of cgraph profiles in
	.gnu.text.callgraph sections.
	* gcc.c (LINK_COMMAND_SPEC): Process -freorder-functions=
	(set_func_reorder_linker_plugin_spec): New function.
	(main): Call function reorder plugin.
	* testsuite/lib/target-supports-dg.exp
	(dg-require-section-exclude): New proc.
	(dg-require-linker-function-reordering-plugin): New proc.
	* testsuite/lib/target-supports.exp
	(check_section_exclude_available): New proc.
	(check_linker_function_reordering_plugin_supported): New proc.
	* testsuite/g++.dg/tree-prof/callgraph-profiles.C: New test.
	* config.in: undef FRPLUGINSONAME
	* opts.c
	* configure.ac (FRPLUGINSONAME): Define 
	* common.opt (fcallgraph-profiles-sections): Remove.
	(freorder-functions=): New option.
	* tree-optimize.c (gate_all_optimizations): Mark last cleanup of
	callgraph.
	* config.host: Set function reordering plugin.
	* params.def (PARAM_NOTE_CGRAPH_SECTION_EDGE_THRESHOLD): Remove.
	(PARAM_GNU_CGRAPH_SECTION_EDGE_THRESHOLD): Add.

2012-05-16  Sriraman Tallam  <tmsriram@google.com>

	Port from google/gcc-4_6 
	r177289, r177308, r179104, r179289, r179303, r179404, r182447
	
	* Makefile.in: Regenerate.
	* Makefile.def: Build function reordering plugin.
	* configure.ac: Build function reordering plugin.
	* configure: Regenerate.2012-05-16  Sriraman Tallam  <tmsriram@google.com>


2012-05-16  Sriraman Tallam  <tmsriram@google.com>

	Port from google/gcc-4_6 
	r177289, r177308, r179104, r179289, r179303, r179404, r182447

	* config.h.in: Generate.
	* configure: Generate.
	* Makefile.in: New file.
	* configure.ac: New file.
	* callgraph.h: New file.
	* callgraph.c: New file.
	* function_reordering_plugin.c: New file.
	* Makefile.am: Generate.
	* aclocal.m4: Generate.



Added:
    branches/google/gcc-4_7/ChangeLog.google-4_7
    branches/google/gcc-4_7/function_reordering_plugin/
    branches/google/gcc-4_7/function_reordering_plugin/ChangeLog.google-4_7
    branches/google/gcc-4_7/function_reordering_plugin/Makefile.am
    branches/google/gcc-4_7/function_reordering_plugin/Makefile.in
    branches/google/gcc-4_7/function_reordering_plugin/aclocal.m4
    branches/google/gcc-4_7/function_reordering_plugin/callgraph.c
    branches/google/gcc-4_7/function_reordering_plugin/callgraph.h
    branches/google/gcc-4_7/function_reordering_plugin/config.h.in
    branches/google/gcc-4_7/function_reordering_plugin/configure   (with props)
    branches/google/gcc-4_7/function_reordering_plugin/configure.ac
    branches/google/gcc-4_7/function_reordering_plugin/function_reordering_plugin.c
    branches/google/gcc-4_7/gcc/testsuite/g++.dg/tree-prof/callgraph-profiles.C
Modified:
    branches/google/gcc-4_7/Makefile.def
    branches/google/gcc-4_7/Makefile.in
    branches/google/gcc-4_7/configure
    branches/google/gcc-4_7/configure.ac
    branches/google/gcc-4_7/gcc/ChangeLog.google-4_7
    branches/google/gcc-4_7/gcc/cgraphbuild.c
    branches/google/gcc-4_7/gcc/common.opt
    branches/google/gcc-4_7/gcc/config.host
    branches/google/gcc-4_7/gcc/config.in
    branches/google/gcc-4_7/gcc/configure
    branches/google/gcc-4_7/gcc/configure.ac
    branches/google/gcc-4_7/gcc/doc/invoke.texi
    branches/google/gcc-4_7/gcc/final.c
    branches/google/gcc-4_7/gcc/gcc.c
    branches/google/gcc-4_7/gcc/opts.c
    branches/google/gcc-4_7/gcc/params.def
    branches/google/gcc-4_7/gcc/testsuite/lib/target-supports-dg.exp
    branches/google/gcc-4_7/gcc/testsuite/lib/target-supports.exp
    branches/google/gcc-4_7/gcc/tree-optimize.c

Propchange: branches/google/gcc-4_7/function_reordering_plugin/configure
            ('svn:executable' added)




More information about the Gcc-cvs mailing list