Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-27 Thread Jeff Law
On 03/27/2015 02:53 AM, Richard Biener wrote: Yeah, and refactoring copy_bbs so that the actual edge duplication happens in another function (thus we can have two of them). Exactly. I was also playing with the idea to support value-numbering the stmts on-the-fly as we copy them and use this

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-27 Thread Richard Biener
On Thu, Mar 26, 2015 at 4:50 PM, Jeff Law wrote: > On 03/25/2015 05:09 PM, Sebastian Pop wrote: >>> >>> Specifically, it seems to me that copy_bbs should be refactored into >>> copy_bbs and copy_bbs_for_threading or somesuch. Where those >>> routines call into refactored common subroutines, but o

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-26 Thread Jeff Law
On 03/25/2015 05:09 PM, Sebastian Pop wrote: Specifically, it seems to me that copy_bbs should be refactored into copy_bbs and copy_bbs_for_threading or somesuch. Where those routines call into refactored common subroutines, but obviously handle wiring up the outgoing edges from the copied block

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-25 Thread Sebastian Pop
Jeff Law wrote: > > PR tree-optimization/65177 > > * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread. > > (bb_in_bbs): New. > > (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all > > edges not adjacent on the path to the original code. > OK f

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-25 Thread Jeff Law
On 03/19/15 13:54, Sebastian Pop wrote: Richard Biener wrote: >please instead fixup after copy_bbs in duplicate_seme_region. > Thanks for the review. Attached patch that does not modify copy_bbs. Fixes make check in hmmer and make check RUNTESTFLAGS=tree-ssa.exp Full bootstrap and regtest in p

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-22 Thread Jeff Law
On 03/19/2015 01:54 PM, Sebastian Pop wrote: Richard Biener wrote: please instead fixup after copy_bbs in duplicate_seme_region. Thanks for the review. Attached patch that does not modify copy_bbs. Fixes make check in hmmer and make check RUNTESTFLAGS=tree-ssa.exp Full bootstrap and regtest

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-22 Thread Jeff Law
On 03/19/2015 03:16 AM, Richard Biener wrote: On Wed, Mar 18, 2015 at 11:35 PM, Sebastian Pop wrote: Hi, the attached patch fixes PR 65177 in which the code generator of FSM jump thread would create a diamond on the copied path: see https://gcc.gnu.org/PR65177#c18 for a detailed description.

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-20 Thread Jeff Law
On 03/20/2015 12:17 PM, Sebastian Pop wrote: Richard Biener wrote: On Thu, Mar 19, 2015 at 8:54 PM, Sebastian Pop wrote: Richard Biener wrote: please instead fixup after copy_bbs in duplicate_seme_region. Thanks for the review. Attached patch that does not modify copy_bbs. Fixes make check

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-20 Thread Sebastian Pop
Richard Biener wrote: > On Thu, Mar 19, 2015 at 8:54 PM, Sebastian Pop wrote: > > Richard Biener wrote: > >> please instead fixup after copy_bbs in duplicate_seme_region. > >> > > > > Thanks for the review. > > Attached patch that does not modify copy_bbs. > > Fixes make check in hmmer and make ch

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-20 Thread Richard Biener
On Thu, Mar 19, 2015 at 8:54 PM, Sebastian Pop wrote: > Richard Biener wrote: >> please instead fixup after copy_bbs in duplicate_seme_region. >> > > Thanks for the review. > Attached patch that does not modify copy_bbs. > Fixes make check in hmmer and make check RUNTESTFLAGS=tree-ssa.exp > > Full

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-19 Thread Sebastian Pop
Richard Biener wrote: > please instead fixup after copy_bbs in duplicate_seme_region. > Thanks for the review. Attached patch that does not modify copy_bbs. Fixes make check in hmmer and make check RUNTESTFLAGS=tree-ssa.exp Full bootstrap and regtest in progress on x86_64-linux. Ok for trunk? >

Re: Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-19 Thread Richard Biener
On Wed, Mar 18, 2015 at 11:35 PM, Sebastian Pop wrote: > Hi, > > the attached patch fixes PR 65177 in which the code generator of FSM jump > thread > would create a diamond on the copied path: see https://gcc.gnu.org/PR65177#c18 > for a detailed description. > > The patch is renaming SEME into ju

Fix PR 65177: diamonds are not valid execution threads for jump threading

2015-03-18 Thread Sebastian Pop
Hi, the attached patch fixes PR 65177 in which the code generator of FSM jump thread would create a diamond on the copied path: see https://gcc.gnu.org/PR65177#c18 for a detailed description. The patch is renaming SEME into jump_thread as the notion of SEME is more general than the special case t