This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
egcs/gcc ChangeLog params.def cp/ChangeLog cp/ ...
- To: gcc-cvs at gcc dot gnu dot org
- Subject: egcs/gcc ChangeLog params.def cp/ChangeLog cp/ ...
- From: nathan at gcc dot gnu dot org
- Date: 22 Jul 2001 13:07:20 -0000
CVSROOT: /cvs/gcc
Module name: egcs
Branch: ast-optimizer-branch
Changes by: nathan@gcc.gnu.org 2001-07-22 06:07:20
Modified files:
gcc : ChangeLog params.def
gcc/cp : ChangeLog cp-tree.h decl.c optimize.c pt.c
gcc/doc : invoke.texi
Log message:
* params.def (PARAM_MAX_INLINE_AST): New parameter.
(PARAM_ARG_INLINE_AST): New parameter.
* doc/invoke.texi (max-inline-ast, arg-inline-ast): Document
parameters.
cp:
Change tree optimizer to bottom up inlining.
* cp-tree.h (lang_decl_flags): Add optimized_p, optimized_partial_p.
(lang_decl): Remove inlined_fns.
(DECL_OPTIMIZED_P): New macro.
(DECL_OPTIMIZED_PARTIAL_P): New macro.
(DECL_INLINED_FNS): Remove.
* pt.c (instantiate_decl): If we're given a cloned function,
return the instantiated clone.
* decl.c (lang_mark_tree): Remove inlined_fns member.
* optimize.c (struct call_site_data): New structure.
(struct inline_data): Remove first_inlined_fn, inlined_fns,
inlined_stmts. Add first_fn, fn, inlinable_call_sites, usage.
(remap_decl): Use id->fn. Don't walk DECL_SIZE and
DECL_SIZE_UNIT. Only copy TREE_TYPE of a variable length
array.
(remap_block): Use id->fn.
(copy_body_r): Allow meeting the return label. Inhibit subwalk
of remapped local decls.
(initialize_inlined_parameters): Use id->fn. Don't fold
argument values.
(declare_return_variable): Use id->fn.
(inlinable_function_p): Remove.
(expand_call_inline): Change parameters, adjust for bottom up.
(expand_calls_inline): Remove.
(inlinable_size_p): New function.
(find_inlinable_call_sites): New function.
(compare_inlinable_call_sites): Likewise.
(optimize_inline_calls): Add ID parameter. Adjust.
(optimize_function_real): New function, broken out of ...
(optimize_function): ... here. Set up ID.
(maybe_clone_body): Set up id.fn.
(dump_function): Return stream, take flag pointer parameter.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=ast-optimizer-branch&r1=1.10739&r2=1.10739.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/params.def.diff?cvsroot=gcc&only_with_tag=ast-optimizer-branch&r1=1.7&r2=1.7.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=ast-optimizer-branch&r1=1.2445&r2=1.2445.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/cp-tree.h.diff?cvsroot=gcc&only_with_tag=ast-optimizer-branch&r1=1.629&r2=1.629.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/decl.c.diff?cvsroot=gcc&only_with_tag=ast-optimizer-branch&r1=1.804&r2=1.804.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/optimize.c.diff?cvsroot=gcc&only_with_tag=ast-optimizer-branch&r1=1.75&r2=1.75.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/pt.c.diff?cvsroot=gcc&only_with_tag=ast-optimizer-branch&r1=1.542&r2=1.542.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/doc/invoke.texi.diff?cvsroot=gcc&only_with_tag=ast-optimizer-branch&r1=1.39&r2=1.39.4.1