From 4d2ab9e36b10d4351cffe7ae1fd477f4b1aabf92 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Fri, 14 May 2010 20:18:34 +0000 Subject: re PR tree-optimization/44119 (error: SSA name in freelist but still referenced) 2010-05-14 Richard Guenther PR tree-optimization/44119 * tree-ssa-pre.c (eliminate): Properly mark replacement of a PHI node necessary. * gcc.c-torture/compile/pr44119.c: New testcase. From-SVN: r159412 --- gcc/tree-ssa-pre.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/tree-ssa-pre.c') diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index ac676cd..816aeb6 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -4347,6 +4347,10 @@ eliminate (void) remove_phi_node (&gsi, false); + if (!bitmap_bit_p (inserted_exprs, SSA_NAME_VERSION (res)) + && TREE_CODE (sprime) == SSA_NAME) + gimple_set_plf (SSA_NAME_DEF_STMT (sprime), NECESSARY, true); + if (!useless_type_conversion_p (TREE_TYPE (res), TREE_TYPE (sprime))) sprime = fold_convert (TREE_TYPE (res), sprime); stmt = gimple_build_assign (res, sprime); -- cgit v1.1