Commit 4d2ab9e3 by Richard Guenther Committed by Richard Biener

re PR tree-optimization/44119 (error: SSA name in freelist but still referenced)

2010-05-14  Richard Guenther  <rguenther@suse.de>

	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
parent 9e87b842
2010-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44119
* tree-ssa-pre.c (eliminate): Properly mark replacement of
a PHI node necessary.
2010-05-14 Eric Botcazou <ebotcazou@adacore.com>
* tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
......
2010-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44119
* gcc.c-torture/compile/pr44119.c: New testcase.
2010-05-14 Jason Merrill <jason@redhat.com>
PR c++/44127
......
typedef signed char int8_t;
typedef short int int16_t;
typedef int int32_t;
typedef unsigned int uint32_t;
static int8_t
safe_mul_func_int16_t_s_s (int16_t si1, int8_t si2)
{
return si1 && si2 && si1 > +si2 || si1 && si2 && si2 < +si1 || si1 && si2
&& si1 < +si2 || si1 && si2 && si1 && si2 < +si1 ? : si1 * si2;
}
struct S0
{
};
int32_t g_72[7][4][1];
int32_t *g_184 = &g_72[1][2][0];
int32_t **g_224 = &g_184;
struct S0 g_244 = {
};
int8_t *
func_96 (int8_t p_97, uint32_t p_98, uint32_t p_99)
{
struct S0 *l_243 = &g_244;
int i;
for (i = 0; i < 1; p_98 = 1)
{
int32_t *l_202[3];
int i;
for (i = 0; i < 1; i++)
l_202[i] = &g_72[2][2][0];
if (safe_mul_func_int16_t_s_s (0xCAF0, **g_224))
{
if (p_98 && &l_243)
{
}
else
*g_224 = l_202[0];
for (0;; 1)
{
}
}
}
return 0;
}
......@@ -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);
......
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