re PR tree-optimization/23509 (ICE with ivopts)
PR tree-optimization/23509 * tree-cfg.c (replace_uses_by): Use replace_exp. * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced pointers have name_mem_tag or type_mem_tag set. From-SVN: r104099
This commit is contained in:
parent
8f09608343
commit
2360a4c1a6
@ -1,3 +1,10 @@
|
||||
2005-09-09 Zdenek Dvorak <dvorakz@suse.cz>
|
||||
|
||||
PR tree-optimization/23509
|
||||
* tree-cfg.c (replace_uses_by): Use replace_exp.
|
||||
* tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
|
||||
pointers have name_mem_tag or type_mem_tag set.
|
||||
|
||||
2005-09-09 Sebastian Pop <pop@cri.ensmp.fr>
|
||||
|
||||
* tree-chrec.c (evolution_function_is_invariant_rec_p): Use
|
||||
|
@ -1237,8 +1237,7 @@ replace_uses_by (tree name, tree val)
|
||||
FOR_EACH_IMM_USE_SAFE (use, imm_iter, name)
|
||||
{
|
||||
stmt = USE_STMT (use);
|
||||
|
||||
SET_USE (use, val);
|
||||
replace_exp (use, val);
|
||||
|
||||
if (TREE_CODE (stmt) == PHI_NODE)
|
||||
{
|
||||
|
@ -5448,9 +5448,13 @@ get_ref_tag (tree ref)
|
||||
return NULL_TREE;
|
||||
|
||||
if (TREE_CODE (var) == INDIRECT_REF)
|
||||
var = TREE_OPERAND (var, 0);
|
||||
if (TREE_CODE (var) == SSA_NAME)
|
||||
{
|
||||
/* In case the base is a dereference of a pointer, first check its name
|
||||
mem tag, and if it does not have one, use type mem tag. */
|
||||
var = TREE_OPERAND (var, 0);
|
||||
if (TREE_CODE (var) != SSA_NAME)
|
||||
return NULL_TREE;
|
||||
|
||||
if (SSA_NAME_PTR_INFO (var))
|
||||
{
|
||||
tag = SSA_NAME_PTR_INFO (var)->name_mem_tag;
|
||||
@ -5459,18 +5463,21 @@ get_ref_tag (tree ref)
|
||||
}
|
||||
|
||||
var = SSA_NAME_VAR (var);
|
||||
tag = var_ann (var)->type_mem_tag;
|
||||
gcc_assert (tag != NULL_TREE);
|
||||
return tag;
|
||||
}
|
||||
|
||||
if (DECL_P (var))
|
||||
{
|
||||
else
|
||||
{
|
||||
if (!DECL_P (var))
|
||||
return NULL_TREE;
|
||||
|
||||
tag = var_ann (var)->type_mem_tag;
|
||||
if (tag)
|
||||
return tag;
|
||||
|
||||
return var;
|
||||
}
|
||||
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
||||
/* Copies the reference information from OLD_REF to NEW_REF. */
|
||||
|
Loading…
Reference in New Issue
Block a user