re PR lto/53195 (ICE seg fault in lto (in set_is_used (tp=Unhandled dwarf expression opcode 0xf3 ) at ../.././gcc/tree-flow-inline.h:567))

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

	PR tree-optimization/53195
	* tree-inline.c (setup_one_parameter): Properly add referenced
	vars from the parameters new known value.

From-SVN: r187237
This commit is contained in:
Richard Guenther 2012-05-07 13:00:39 +00:00 committed by Richard Biener
parent 6c90dfa867
commit bd93e76326
2 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2012-05-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53195
* tree-inline.c (setup_one_parameter): Properly add referenced
vars from the parameters new known value.
2012-05-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Backport from mainline:

View File

@ -2607,6 +2607,17 @@ setup_one_parameter (copy_body_data *id, tree p, tree value, tree fn,
/* Make gimplifier happy about this variable. */
DECL_SEEN_IN_BIND_EXPR_P (var) = 1;
/* We are eventually using the value - make sure all variables
referenced therein are properly recorded. */
if (value
&& gimple_in_ssa_p (cfun)
&& TREE_CODE (value) == ADDR_EXPR)
{
tree base = get_base_address (TREE_OPERAND (value, 0));
if (base && TREE_CODE (base) == VAR_DECL)
add_referenced_var (base);
}
/* If the parameter is never assigned to, has no SSA_NAMEs created,
we would not need to create a new variable here at all, if it
weren't for debug info. Still, we can just use the argument