This patch looks fine to me. Please go ahead and commit it.

2011/4/2 Hui Shi <kalin....@gmail.com>

> Can gatekeeper help review this fix?
>
> loop multi-version maintain CFG has bug, cause assertion when emit WHIRL
> tree.
>
> https://bugs.open64.net/show_bug.cgi?id=754
>
> Loop multi-version transformation insert a pre-condition BB before loop 
> header BB.
>
> If loop header BB is if_BB’s merge BB, need change if BB’s merge BB to newly 
> inserted pre-condition BB. with attached simple case loop multi-version 
> doesn’t update the if_BB’s merge_BB correctly.
>
> Original implementation is searching IDOM for loop header BB ß,  if idom BB 
> is if_BB and its if_merge BB is ß, change its if_merge BB to pre-condition BB.
>
>
>
> This simple test case has if statement followed by a multi-version
> optimized loop. And if statement has EH region in its body, cause if_merge
> BB not dominated by if BB.
>
>
>
> Fix is in CFG::LMV_gen_precondioning_stuff, search all the BBs, find an
> if_BB whose merge BB is original loop header BB, change its if_merge BB to
> pre-condition BB.
>
>
> ------------------------------------------------------------------------------
> Create and publish websites with WebMatrix
> Use the most popular FREE web apps or write code yourself;
> WebMatrix provides all the features you need to develop and
> publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
>
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>
>


-- 
Regards,
Lai Jian-Xin
------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to