This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Fix updating of dominators in thread_jumps


On Sun, 2004-09-12 at 11:22, Zdenek Dvorak wrote:
> Hello,
> 
> updating of dominators in jump threading handles incorrectly the
> case when source of threaded edge is dominated by its destination.
> In case
> 
> S --> A
>       |
>       v
>       B
> 
> when edge S-->A is forwarded over the edge A-->B and A is immediate
> dominator of B, we are setting idom(B) := idom(A).  This however
> is incorrect in case that S is dominated by B, as then B is still
> dominated by A after redirection.
> 
> The patch fixes this problem.
> 
> Bootstrapped & regtested on i686.
> 
> Zdenek
> 
> 	* tree-cfg.c (thread_jumps): Update dominators correctly in
> 	case destination of threaded edge dominates its source.
This is fine.  Please install this patch along with any testcase
you've got for the problem.

Thanks,
Jeff



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]