[lno] Fix updating abnormal phi flags
Zdenek Dvorak
rakdver@atrey.karlin.mff.cuni.cz
Mon Apr 12 13:15:00 GMT 2004
Hello,
this patch fixes updating of the SSA_NAME_OCCURS_IN_ABNORMAL_PHI
flag during unswitching.
Zdenek
Index: ChangeLog.lno
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/ChangeLog.lno,v
retrieving revision 1.1.2.120
diff -c -3 -p -r1.1.2.120 ChangeLog.lno
*** ChangeLog.lno 10 Apr 2004 20:32:04 -0000 1.1.2.120
--- ChangeLog.lno 12 Apr 2004 13:13:33 -0000
***************
*** 1,3 ****
--- 1,8 ----
+ 2004-04-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * tree-ssa-loop-manip.c (allocate_new_names): Use duplicate_ssa_name.
+ Preserve SSA_NAME_OCCURS_IN_ABNORMAL_PHI flag.
+
2004-04-10 Daniel Berlin <dberlin@dberlin.org>
* lambda-code.c (lambda_loopnest_transform): Add comments.
Index: tree-ssa-loop-manip.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa-loop-manip.c,v
retrieving revision 1.1.2.10
diff -c -3 -p -r1.1.2.10 tree-ssa-loop-manip.c
*** tree-ssa-loop-manip.c 9 Apr 2004 19:12:51 -0000 1.1.2.10
--- tree-ssa-loop-manip.c 12 Apr 2004 13:13:33 -0000
*************** allocate_new_names (tree definitions, un
*** 149,156 ****
{
tree def;
unsigned i;
! ssa_name_ann_t ann, ann1;
tree *new_names;
for (; definitions; definitions = TREE_CHAIN (definitions))
{
--- 149,157 ----
{
tree def;
unsigned i;
! ssa_name_ann_t ann;
tree *new_names;
+ bool abnormal;
for (; definitions; definitions = TREE_CHAIN (definitions))
{
*************** allocate_new_names (tree definitions, un
*** 159,170 ****
new_names = xmalloc (sizeof (tree) * (ndupl + 1));
ann->common.aux = new_names;
for (i = 0; i <= ndupl; i++)
{
! new_names[i] = make_ssa_name (SSA_NAME_VAR (def),
! SSA_NAME_DEF_STMT (def));
! ann1 = get_ssa_name_ann (new_names[i]);
! ann1->name_mem_tag = ann->name_mem_tag;
}
}
}
--- 160,170 ----
new_names = xmalloc (sizeof (tree) * (ndupl + 1));
ann->common.aux = new_names;
+ abnormal = SSA_NAME_OCCURS_IN_ABNORMAL_PHI (def);
for (i = 0; i <= ndupl; i++)
{
! new_names[i] = duplicate_ssa_name (def, SSA_NAME_DEF_STMT (def));
! SSA_NAME_OCCURS_IN_ABNORMAL_PHI (new_names[i]) = abnormal;
}
}
}
More information about the Gcc-patches
mailing list