[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