------- 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

Reply via email to