+++ /dev/null
-Index: tree-cfg.c
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/tree-cfg.c,v
-retrieving revision 2.217
-diff -c -3 -p -r2.217 tree-cfg.c
-*** gcc/gcc/tree-cfg.c 24 Aug 2005 07:56:54 -0000 2.217
---- gcc/gcc/tree-cfg.c 27 Aug 2005 18:18:40 -0000
-*************** replace_uses_by (tree name, tree val)
-*** 1237,1244 ****
- FOR_EACH_IMM_USE_SAFE (use, imm_iter, name)
- {
- stmt = USE_STMT (use);
-!
-! SET_USE (use, val);
-
- if (TREE_CODE (stmt) == PHI_NODE)
- {
---- 1237,1243 ----
- FOR_EACH_IMM_USE_SAFE (use, imm_iter, name)
- {
- stmt = USE_STMT (use);
-! replace_exp (use, val);
-
- if (TREE_CODE (stmt) == PHI_NODE)
- {
-Index: tree-ssa-loop-ivopts.c
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/tree-ssa-loop-ivopts.c,v
-retrieving revision 2.87
-diff -c -3 -p -r2.87 tree-ssa-loop-ivopts.c
-*** gcc/gcc/tree-ssa-loop-ivopts.c 13 Aug 2005 17:28:40 -0000 2.87
---- gcc/gcc/tree-ssa-loop-ivopts.c 27 Aug 2005 18:18:44 -0000
-*************** get_ref_tag (tree ref)
-*** 5448,5456 ****
- return NULL_TREE;
-
- if (TREE_CODE (var) == INDIRECT_REF)
-- var = TREE_OPERAND (var, 0);
-- if (TREE_CODE (var) == SSA_NAME)
- {
- if (SSA_NAME_PTR_INFO (var))
- {
- tag = SSA_NAME_PTR_INFO (var)->name_mem_tag;
---- 5448,5460 ----
- return NULL_TREE;
-
- if (TREE_CODE (var) == INDIRECT_REF)
- {
-+ /* 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;
-*************** get_ref_tag (tree ref)
-*** 5459,5476 ****
- }
-
- var = SSA_NAME_VAR (var);
- }
-!
-! if (DECL_P (var))
-! {
- 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. */
---- 5463,5483 ----
- }
-
- var = SSA_NAME_VAR (var);
-+ tag = var_ann (var)->type_mem_tag;
-+ gcc_assert (tag != NULL_TREE);
-+ return tag;
- }
-! else
-! {
-! if (!DECL_P (var))
-! return NULL_TREE;
-!
- tag = var_ann (var)->type_mem_tag;
- if (tag)
- return tag;
-
- return var;
- }
- }
-
- /* Copies the reference information from OLD_REF to NEW_REF. */