re PR middle-end/53437 (FAIL: gcc.dg/guality/inline-params.c -O0)

2012-05-22  Richard Guenther  <rguenther@suse.de>

	PR middle-end/53437
	* tree-inline.c (setup_one_parameter): Create a dummy init
	statement for unused parameters when not optimizing.

From-SVN: r187767
This commit is contained in:
Richard Guenther 2012-05-22 09:33:42 +00:00 committed by Richard Biener
parent 3efa0725f4
commit 27eb31c9de
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2012-05-22 Richard Guenther <rguenther@suse.de>
PR middle-end/53437
* tree-inline.c (setup_one_parameter): Create a dummy init
statement for unused parameters when not optimizing.
2012-05-22 Richard Guenther <rguenther@suse.de>
* tree-flow.h (add_referenced_var_1): Declare.

View File

@ -2701,7 +2701,8 @@ setup_one_parameter (copy_body_data *id, tree p, tree value, tree fn,
STRIP_USELESS_TYPE_CONVERSION (rhs);
/* If we are in SSA form properly remap the default definition
or omit the initialization if the parameter is unused. */
or assign to a dummy SSA name if the parameter is unused and
we are not optimizing. */
if (gimple_in_ssa_p (cfun) && is_gimple_reg (p))
{
if (def)
@ -2711,6 +2712,11 @@ setup_one_parameter (copy_body_data *id, tree p, tree value, tree fn,
SSA_NAME_IS_DEFAULT_DEF (def) = 0;
set_default_def (var, NULL);
}
else if (!optimize)
{
def = make_ssa_name (var, NULL);
init_stmt = gimple_build_assign (def, rhs);
}
}
else
init_stmt = gimple_build_assign (var, rhs);