Go to file
Richard Guenther d7d1d041ae re PR middle-end/47663 (Very simple wrapper not inlined)
2011-04-06  Richard Guenther  <rguenther@suse.de>
 
	PR tree-optimization/47663
	* cgraph.h (struct cgraph_edge): Add call_stmt_size and
	call_stmt_time fields.
	(cgraph_edge_inlinable_p): Declare.
	(cgraph_edge_recursive_p): New inline function.
	* cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
	(cgraph_clone_edge): Copy it.
	* ipa-inline.c (cgraph_estimate_edge_time): New function.
	Account for call stmt time.
	(cgraph_estimate_time_after_inlining): Take edge argument.
	(cgraph_estimate_edge_growth): Account call stmt size.
	(cgraph_estimate_size_after_inlining): Take edge argument.
	(cgraph_mark_inline_edge): Adjust.
	(cgraph_check_inline_limits): Likewise.
	(cgraph_recursive_inlining_p): Remove.
	(cgraph_edge_badness): Use cgraph_edge_recursive_p.
	(cgraph_decide_recursive_inlining): Take edge argument and
	adjust.
	(cgraph_decide_inlining_of_small_functions): Do not avoid
	diags for recursive inlining here.
	(cgraph_flatten): Adjust.
	(cgraph_decide_inlining_incrementally): Likewise.
	(estimate_function_body_sizes): Remove call cost handling.
	(compute_inline_parameters): Initialize caller edge call costs.
	(cgraph_estimate_edge_growth): New function.
	(cgraph_estimate_growth): Use it.
	(cgraph_edge_badness): Likewise.
	(cgraph_check_inline_limits): Take an edge argument.
	(cgraph_decide_inlining_of_small_functions): Adjust.
	(cgraph_decide_inlining): Likewise.
	* tree-inline.c (estimate_num_insns): Only account for call
	return value if it is used.
	(expand_call_inline): Avoid diagnostics on recursive inline
	functions here.
	* lto-cgraph.c (lto_output_edge): Output edge call costs.
	(input_edge): Input edge call costs.

	* gcc.dg/tree-ssa/inline-8.c: New testcase.

From-SVN: r172023
2011-04-06 08:51:23 +00:00
boehm-gc ChangeLog for last change. 2011-03-25 17:12:10 +00:00
config configure.ac: Remove references to mt-mep, mt-netware, mt-wince. 2011-03-24 17:47:30 +00:00
contrib MAINTAINERS (crx port, [...]): Remove. 2011-03-22 19:58:18 +00:00
fixincludes MAINTAINERS (crx port, [...]): Remove. 2011-03-22 19:58:18 +00:00
gcc re PR middle-end/47663 (Very simple wrapper not inlined) 2011-04-06 08:51:23 +00:00
gnattools PR other/46202: implement install-strip. 2010-11-20 19:37:08 +00:00
include dwarf2.h (dwarf_line_number_hp_sfc_ops): New enum. 2011-03-31 14:02:39 +00:00
INSTALL
intl Fix unportable shell quoting. 2010-09-27 20:19:41 +00:00
libada PR other/46202: implement install-strip. 2010-11-20 19:37:08 +00:00
libcpp be.po, [...]: Update. 2011-04-03 12:33:31 +01:00
libdecnumber libdecnumber: start a gitignore 2011-03-29 01:58:42 +00:00
libffi Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
libgcc MAINTAINERS (crx port, [...]): Remove. 2011-03-22 19:58:18 +00:00
libgfortran unix.c: Adapt stat DEFINEs since MinGW64 supports LFS. 2011-04-03 17:44:02 +02:00
libgo libgo: Always use AM_LDFLAGS when linking libgo.la. 2011-04-06 06:01:53 +00:00
libgomp re PR bootstrap/48135 (build fails on Solaris2.8 due to Glob.pm not found within /usr/perl5) 2011-03-21 12:24:17 +00:00
libiberty makefile.vms (OBJS): Add filename_cmp.obj 2011-03-31 11:09:09 +00:00
libjava configure.ac: Redirect $JAR -cf@ output to /dev/null. 2011-04-04 16:01:54 +00:00
libmudflap Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
libobjc In libobjc/: 2011-02-28 Nicola Pero <nicola.pero@meta-innovation.com> 2011-02-28 14:48:23 +00:00
libquadmath re PR fortran/48311 ([Quadmath] Documentation - typo, order) 2011-04-03 20:45:16 +02:00
libssp re PR bootstrap/48135 (build fails on Solaris2.8 due to Glob.pm not found within /usr/perl5) 2011-03-21 12:24:17 +00:00
libstdc++-v3 re PR libstdc++/48398 ([C++0x] std::unique_ptr<T, D> is broken when D::pointer is not T*) 2011-04-02 20:32:15 +01:00
lto-plugin re PR lto/48431 (patch to fix a compile error in lto-plugin.c when using older C compilers) 2011-04-05 12:11:08 +00:00
maintainer-scripts crontab: Enable 4.7 snapshots, switch 4.6 snapshots to 4.6 branch. 2011-03-14 14:55:52 +01:00
zlib Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
ABOUT-NLS
ChangeLog +2011-04-05 Sterling Augustine <augustine.sterling@gmail.com> + + * MAINTAINERS... 2011-04-05 20:45:10 +00:00
ChangeLog.tree-ssa
compile Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
config-ml.in MAINTAINERS (crx port, [...]): Remove. 2011-03-22 19:58:18 +00:00
config.guess config.guess: Update to version 2011-02-02 2011-03-18 13:42:07 -04:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
config.sub Sync config.sub from upstream. 2011-04-05 19:05:27 +00:00
configure configure.ac (avr-*-*): Add comment about why libssp is disabled. 2011-04-01 20:14:48 +01:00
configure.ac configure.ac (avr-*-*): Add comment about why libssp is disabled. 2011-04-01 20:14:48 +01:00
COPYING
COPYING3 COPYING_v3: New file. 2007-07-17 08:37:53 +00:00
COPYING3.LIB COPYING_v3: New file. 2007-07-17 08:37:53 +00:00
COPYING.LIB
COPYING.RUNTIME Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
depcomp Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
install-sh Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
libtool-ldflags re PR bootstrap/31906 ("-Xcompiler" is inserted after "-Xlinker" when building libstdc++) 2007-09-20 10:20:05 +00:00
libtool.m4 Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
lt~obsolete.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
ltgcc.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
ltmain.sh backport: ltmain.sh (relink): Use absolute path when hardcoding with -L. 2011-01-13 18:51:10 +00:00
ltoptions.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
ltsugar.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
ltversion.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
MAINTAINERS +2011-04-05 Sterling Augustine <augustine.sterling@gmail.com> + + * MAINTAINERS... 2011-04-05 20:45:10 +00:00
Makefile.def configure.ac: Remove references to mt-mep, mt-netware, mt-wince. 2011-03-24 17:47:30 +00:00
Makefile.in configure.ac: Remove code setting CONFIG_SHELL, config_shell and moveifchange. 2011-04-01 14:43:39 +01:00
Makefile.tpl configure.ac: Remove code setting CONFIG_SHELL, config_shell and moveifchange. 2011-04-01 14:43:39 +01:00
missing Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
mkdep
mkinstalldirs Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
move-if-change Import move-if-change script from gnulib. 2011-02-12 15:48:30 +00:00
README README: Refer to the various COPYING* files instead of just COPYING. 2009-10-10 20:59:49 +00:00
symlink-tree
ylwrap Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.