A bflow() fix analogous to sid 1.6 in c2.tahoe/c21.c.
authorDonn Seeley <donn@ucbvax.Berkeley.EDU>
Sat, 16 Jan 1988 11:48:13 +0000 (03:48 -0800)
committerDonn Seeley <donn@ucbvax.Berkeley.EDU>
Sat, 16 Jan 1988 11:48:13 +0000 (03:48 -0800)
SCCS-vsn: old/pcc/c2.vax/c21.c 4.23

usr/src/old/pcc/c2.vax/c21.c

index 99389cc..9407982 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)c21.c 4.22 %G%";
+static char sccsid[] = "@(#)c21.c 4.23 %G%";
 #endif
 /* char C21[] = {"@(#)c21.c 1.83 80/10/16 21:18:22 JFR"}; /* sccs ident */
 
 #endif
 /* char C21[] = {"@(#)c21.c 1.83 80/10/16 21:18:22 JFR"}; /* sccs ident */
 
@@ -637,7 +637,8 @@ register struct node *p;
                                        uses[r2]=uses[r]; uses[r]=0;
                                }
                                (void) redun3(p,0);
                                        uses[r2]=uses[r]; uses[r]=0;
                                }
                                (void) redun3(p,0);
-                               newcode(p); redunm++; flow=r;
+                               newcode(p); redunm++;
+                               return(p);      /* avoid stale uses[] data */
                        } else splitrand(p);
                }
        } else if (p->op==MOV && (p->forw->op==CVT || p->forw->op==MOVZ)
                        } else splitrand(p);
                }
        } else if (p->op==MOV && (p->forw->op==CVT || p->forw->op==MOVZ)