------- Comment #4 from dberlin at gcc dot gnu dot org 2008-12-16 17:00 ------- Subject: Re: [4.2/4.3/4.4 regression] tree-ssa-reassoc.c increases register pressure several times
Yes, that looks like a bug. There are also numerous ways in which the placement can be improved. A few people had talked about rewriting it to be a balanced tree placement, etc, so i've never bothered to do even the small cleanups. If you want to change placement, go for it. :) On Tue, Dec 16, 2008 at 11:57 AM, jakub at gcc dot gnu dot org <gcc-bugzi...@gcc.gnu.org> wrote: > > > ------- Comment #3 from jakub at gcc dot gnu dot org 2008-12-16 16:57 ------- > In particular, the problem is in linearize_expr_tree. The |s are already > perfectly linearized (in all but the innermost recursive linearize_expr_tree > binlhsisreassoc is 1 and binrhsisreassoc is 0, in the innermost both are 0), > yet: > 1645 gsinow = gsi_for_stmt (stmt); > 1646 gsilhs = gsi_for_stmt (SSA_NAME_DEF_STMT (binlhs)); > 1647 gsi_move_before (&gsilhs, &gsinow); > moves all of them to one spot. Couldn't that moving be deferred till we > actually know it is worthwhile to reassociate something, not blindly just in > case something will be needed? > > > -- > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38533 > > ------- You are receiving this mail because: ------- > You are on the CC list for the bug, or are watching someone who is. > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38533