[patch] Fix updating of dominators in thread_jumps
Zdenek Dvorak
rakdver@atrey.karlin.mff.cuni.cz
Sun Sep 12 18:24:00 GMT 2004
Hello,
> > * tree-cfg.c (thread_jumps): Update dominators correctly in
> > case destination of threaded edge dominates its source.
>
> Do you have a testcase?
sorry, I forgot; here is the Steven's testcase demonstrating the
problem.
Zdenek
extern int clobber_k (int *);
extern int barrier (void);
int t, u;
int
process_second_stream(void)
{
int k;
int i = 0, j = 0, result;
clobber_k (&k);
while(t)
;
while(!j)
{
while(!j)
{
barrier ();
if (t == 0)
break;
else if(t == 1)
t = 2;
else
{
if(t < 0)
j=1;
if(u < 0)
k = i++;
}
}
if(!j && u)
j=1;
}
return 0;
}
More information about the Gcc-patches
mailing list