Commit c8ce33fa by Richard Guenther Committed by Richard Biener

re PR tree-optimization/37617 (ICE on valid code)

2008-10-01  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37617
	* tree-ssa-pre.c (create_expression_by_pieces): During FRE
	do not add to the NEW_SETS.

	* gcc.c-torture/compile/pr37617.c: New testcase.

From-SVN: r140816
parent 256f88c6
2008-10-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/37617
* tree-ssa-pre.c (create_expression_by_pieces): During FRE
do not add to the NEW_SETS.
2008-10-01 Richard Guenther <rguenther@suse.de>
PR middle-end/37285
* tree-vrp.c (execute_vrp): If we optimized away the default
case make sure to promote the label that got in place of it
......
2008-10-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/37617
* gcc.c-torture/compile/pr37617.c: New testcase.
2008-10-01 Richard Guenther <rguenther@suse.de>
PR middle-end/37285
* gcc.c-torture/compile/pr37285.c: New testcase.
......
typedef union
{
char *string;
double dval;
float fval;
} yystype;
char *f(void)
{
yystype tok;
tok.dval = 0;
return (tok.string);
}
char *f1(void)
{
yystype tok;
tok.fval = 0;
return (tok.string);
}
......@@ -2885,7 +2885,8 @@ create_expression_by_pieces (basic_block block, pre_expr expr,
VN_INFO (forcedname)->value_id = get_next_value_id ();
nameexpr = get_or_alloc_expr_for_name (forcedname);
add_to_value (VN_INFO (forcedname)->value_id, nameexpr);
bitmap_value_replace_in_set (NEW_SETS (block), nameexpr);
if (!in_fre)
bitmap_value_replace_in_set (NEW_SETS (block), nameexpr);
bitmap_value_replace_in_set (AVAIL_OUT (block), nameexpr);
}
mark_symbols_for_renaming (stmt);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment