This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r149112 - in /trunk/gcc: ChangeLog Makefile.in ...
- From: ebotcazou at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Tue, 30 Jun 2009 17:26:33 -0000
- Subject: r149112 - in /trunk/gcc: ChangeLog Makefile.in ...
Author: ebotcazou
Date: Tue Jun 30 17:26:32 2009
New Revision: 149112
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149112
Log:
* cgraphunit.c (cgraph_finalize_compilation_unit): Call
finalize_size_functions before further processing.
* stor-layout.c: Include cgraph.h, tree-inline.h and tree-dump.h.
(variable_size): Call self_referential_size on size expressions
that contain a PLACEHOLDER_EXPR.
(size_functions): New static variable.
(copy_self_referential_tree_r): New static function.
(self_referential_size): Likewise.
(finalize_size_functions): New global function.
* tree.c: Include tree-inline.h.
(push_without_duplicates): New static function.
(find_placeholder_in_expr): New global function.
(substitute_in_expr) <tcc_declaration>: Return the replacement object
on equality.
<tcc_expression>: Likewise.
<tcc_vl_exp>: If the replacement object is a constant, try to inline
the call in the expression.
* tree.h (finalize_size_functions): Declare.
(find_placeholder_in_expr): Likewise.
(FIND_PLACEHOLDER_IN_EXPR): New macro.
(substitute_placeholder_in_expr): Update comment.
* tree-inline.c (remap_decl): Do not unshare trees if do_not_unshare
is true.
(copy_tree_body_r): Likewise.
(copy_tree_body): New static function.
(maybe_inline_call_in_expr): New global function.
* tree-inline.h (struct copy_body_data): Add do_not_unshare field.
(maybe_inline_call_in_expr): Declare.
* Makefile.in (tree.o): Depend on TREE_INLINE_H.
(stor-layout.o): Depend on CGRAPH_H, TREE_INLINE_H, TREE_DUMP_H and
GIMPLE_H.
ada/
* gcc-interface/decl.c: Include tree-inline.h.
(annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
* gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
* gcc-interface/utils2.c: Include tree-inline.
(known_alignment) <CALL_EXPR>: Likewise.
Added:
trunk/gcc/testsuite/gnat.dg/discr12.adb
trunk/gcc/testsuite/gnat.dg/discr12_pkg.ads
trunk/gcc/testsuite/gnat.dg/discr13.adb
trunk/gcc/testsuite/gnat.dg/discr14.adb
trunk/gcc/testsuite/gnat.dg/discr14.ads
trunk/gcc/testsuite/gnat.dg/discr15.adb
trunk/gcc/testsuite/gnat.dg/discr15_pkg.ads
trunk/gcc/testsuite/gnat.dg/discr16.adb
trunk/gcc/testsuite/gnat.dg/discr16_cont.ads
trunk/gcc/testsuite/gnat.dg/discr16_g.ads
trunk/gcc/testsuite/gnat.dg/discr16_pkg.ads
trunk/gcc/testsuite/gnat.dg/discr17.adb
trunk/gcc/testsuite/gnat.dg/discr18.adb
trunk/gcc/testsuite/gnat.dg/discr18_pkg.ads
trunk/gcc/testsuite/gnat.dg/discr19.adb
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/gcc-interface/decl.c
trunk/gcc/ada/gcc-interface/utils.c
trunk/gcc/ada/gcc-interface/utils2.c
trunk/gcc/cgraphunit.c
trunk/gcc/stor-layout.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-inline.c
trunk/gcc/tree-inline.h
trunk/gcc/tree.c
trunk/gcc/tree.h