Commit d840495b by Zdenek Dvorak Committed by Zdenek Dvorak

tree-cfg.c (thread_jumps): Update dominators correctly in case destination of…

tree-cfg.c (thread_jumps): Update dominators correctly in case destination of threaded edge dominates its...

	* tree-cfg.c (thread_jumps): Update dominators correctly in
	case destination of threaded edge dominates its source.

From-SVN: r87486
parent c94583fe
2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* tree-cfg.c (thread_jumps): Update dominators correctly in
case destination of threaded edge dominates its source.
2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* unroll.c: Removed.
* loop.h: Removed.
* Makefile.in (LOOP_H, unroll.o): Removed.
......
2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* gcc.c-torture/compile/20040914-1.c: New test.
2004-09-13 Mark Mitchell <mark@codesourcery.com>
PR c++/16162
......
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;
}
......@@ -3970,9 +3970,11 @@ thread_jumps (void)
set_immediate_dominator (CDI_DOMINATORS, old_dest, bb);
/* Now proceed like if we forwarded just over one edge at a time.
Algorithm for forwarding over edge A --> B then is
Algorithm for forwarding edge S --> A over edge A --> B then
is
if (idom (B) == A)
if (idom (B) == A
&& !dominated_by (S, B))
idom (B) = idom (A);
recount_idom (A); */
......@@ -3980,7 +3982,8 @@ thread_jumps (void)
{
tmp = old_dest->succ->dest;
if (get_immediate_dominator (CDI_DOMINATORS, tmp) == old_dest)
if (get_immediate_dominator (CDI_DOMINATORS, tmp) == old_dest
&& !dominated_by_p (CDI_DOMINATORS, bb, tmp))
{
dom = get_immediate_dominator (CDI_DOMINATORS, old_dest);
set_immediate_dominator (CDI_DOMINATORS, tmp, dom);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment