[tree-ssa] PATCH to support !keep_function_tree_in_gimple_form

Jason Merrill jason@redhat.com
Fri Aug 8 23:03:00 GMT 2003


Some changes I'm working on or have in mind make it less attractive to keep
functions in gimple form during inlining.  The main example is using
expression temps consistently in inlined functions--currently evaluation of
an expression in an inlined function will use a different expr temp than
elsewhere in the containing function.  It would be possible to do this in
the inliner as well, but making the inliner that much more complex is
unappealing.

This patch makes it possible to make that choice by adjusting the return
value of keep_function_tree_in_gimple_form.  This patch has no effect on
bootstrap times; a further change to make keep_function_tree_in_gimple_form
always return 0 increased the time for a full toplevel 'make bootstrap'
from ~71m30s to ~72m30s, or about 1.4%--so I'm not making that change.

Tested athlon-pc-linux-gnu, applied to tree-ssa.

2003-08-08  Jason Merrill  <jason@redhat.com>

	* c-decl.c (c_expand_body_1): Restore support for
	!keep_function_tree_in_gimple_form.
	(finish_function, c_expand_deferred_function): Do TDI_inlined dump.
	* cp/optimize.c (optimize_function): Restore support for
	!keep_function_tree_in_gimple_form.
	* java/parse.y (source_end_java_method): Support
	!keep_function_tree_in_gimple_form.
	Do TDI_generic dump.

	* gimplify.c (voidify_wrapper_expr): Set TREE_SIDE_EFFECTS on the
	wrapper if we insert a MODIFY_EXPR.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/x-patch
Size: 4984 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20030808/9687a7ec/attachment.bin>


More information about the Gcc-patches mailing list