Find a file
Jan Hubicka 632b4f8e8b gengtype.c (open_base_files): Add ipa-inline.h include.
* gengtype.c (open_base_files): Add ipa-inline.h include.
	* ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to ipa-prop.c
	update all uses.
	* ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
	* ipa-inline-transform.c (inline_call): Use inline_merge_summary to merge
	summary of inlined function into former caller.
	* ipa-inline.c (max_benefit): Remove.
	(edge_badness): Compensate for removal of benefits.
	(update_caller_keys): Use reset_node_growth_cache/reset_edge_growth_cache.
	(update_callee_keys): Likewise.
	(update_all_callee_keys): Likewise.
	(inline_small_functions): Do not collect max_benefit; do not
	reset stimated_growth; call free_growth_caches and initialize_growth_caches.
	* ipa-inline.h (struct condition, type clause_t, struct predicate, struct
	size_time_entry): New structures.
	(INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
	(inline_summary): Remove size_inlining_benefit, time_inlining_benefit and
	estimated_growth.
	(edge_growth_cache_entry): New structure.
	(node_growth_cache, edge_growth_cache): New global vars.
	(estimate_growth): Turn into inline.
	(inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
	initialize_growth_caches, free_growth_caches): Declare.
	(estimate_edge_growth): Rewrite.
	(estimate_edge_time): Implement as inline cache lookup.
	(reset_node_growth_cache, reset_edge_growth_cache): New inline functions.
	(MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
	(NUM_CONDITIONS): New constant.
	(predicate_conditions): New enum.
	(IS_NOT_CONSTANT): New constant.
	(edge_removal_hook_holder): New var.
	(node_growth_cache, edge_growth_cache): New global vars.
	(true_predicate, single_cond_predicate, false_predicate, not_inlined_predicate,
	add_condition, add_clause, and_predicates, or_predicates, predicates_equal_p,
	evaulate_predicate, dump_condition, dump_clause, dump_predicate, account_size_time,
	evaulate_conditions_for_edge): New functions.
	(inline_summary_alloc): Move to heap.
	(inline_node_removal_hook): Clear condition and entry vectors.
	(inline_edge_removal_hook): New function.
	(initialize_growth_caches, free_growth_caches): New function.
	(dump_inline_summary): Update.
	(edge_execution_predicate): New function.
	(will_be_nonconstant_predicate): New function.
	(estimate_function_body_sizes): Compute BB and constantness predicates.
	(compute_inline_parameters): Do not clear estimated_growth.
	(estimate_edge_size_and_time): New function.
	(estimate_calls_size_and_time): New function.
	(estimate_callee_size_and_time): New function.
	(remap_predicate): New function.
	(inline_merge_summary): New function.
	(do_estimate_edge_time): New function based on...
	(estimate_edge_time): ... this one.
	(do_estimate_edge_growth): New function.
	(do_estimate_growth): New function based on....
	(estimate_growth): ... this one.
	(inline_analyze_function): Analyze after deciding on jump functions.
	(inline_read_section): New function.
	(inline_read_summary): Use it.
	(inline_write_summary): Write all the new data.
	* ipa-prop.c (ipa_get_param_decl_index): Export.
	(ipa_lattice_from_jfunc): Move here from ipa-cp.c
	* ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc): Declare.
	(ipa_get_lattice): Move hre from ipa-cp.c
	* Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
	* params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
	* cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
	cgraph_edge_inlinable_p): Remove.
	* cgraphunit.c: Include ipainline.h
	(cgraph_process_new_functions): Update call of compute_inline_parameters.

	* gcc.dg/tree-ssa/pr38699.c: Fix testcase.

From-SVN: r172873
2011-04-22 20:04:42 +00:00
boehm-gc install.texi (Configuration, [...]): Remove mach. 2011-04-19 17:22:28 +00:00
config * bootstrap-lto.mk: Remove obsolete requirement. 2011-04-20 09:24:48 +00:00
contrib gcc_update (gcc/config/arm/arm-tables.opt): New dependencies. 2011-04-08 20:39:48 +01:00
fixincludes MAINTAINERS (crx port, [...]): Remove. 2011-03-22 19:58:18 +00:00
gcc gengtype.c (open_base_files): Add ipa-inline.h include. 2011-04-22 20:04:42 +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 remove useless if-before-free tests 2011-04-20 18:19:03 +00:00
libdecnumber remove useless if-before-free tests 2011-04-20 18:19:03 +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 remove useless if-before-free tests 2011-04-20 18:19:03 +00:00
libgo libgo: Support multilib testing. 2011-04-22 18:38:24 +00:00
libgomp re PR middle-end/48591 (OpenMP ICE with atomics on __float128 in 32-bit only i686 cc1) 2011-04-13 17:50:02 +02:00
libiberty remove useless if-before-free tests 2011-04-20 18:19:03 +00:00
libjava install.texi (Configuration, [...]): Remove mach. 2011-04-19 17:22:28 +00:00
libmudflap Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
libobjc re PR libobjc/32037 (--enable-objc-gc on OS X won't build) 2011-04-15 09:26:05 +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 libstdc++.exp (check_v3_target_time): Discard unused compilation result thanks to /dev/null. 2011-04-22 19:34:38 +00:00
lto-plugin remove useless if-before-free tests 2011-04-20 18:19:03 +00:00
maintainer-scripts gcc_release (maybe_build_tarfile): Don't build a tarfile if the first directory doesn't exist. 2011-04-21 15:15:02 +02:00
zlib Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
ABOUT-NLS
ChangeLog * MAINTAINERS: Update my email address. 2011-04-22 02:30:57 +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 re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10) 2011-04-18 21:27:00 +00:00
configure.ac re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10) 2011-04-18 21:27:00 +00:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
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
libtool.m4 Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
ltgcc.m4
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
ltversion.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
lt~obsolete.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
MAINTAINERS * MAINTAINERS: Update my email address. 2011-04-22 02:30:57 +00:00
Makefile.def configure.ac (build_tools): Remove build-byacc. 2011-04-06 13:18:12 +01:00
Makefile.in configure.ac (build_tools): Remove build-byacc. 2011-04-06 13:18:12 +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.