This is the mail archive of the gcc-bugs@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]

[Bug optimization/12845] [3.4 Regression] missed jump optimization


------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  2004-01-14 14:45 -------
Subject: Re:  [3.4 Regression] missed jump optimizatio

> Can you test again, I think this patch fixed it:
> 2004-01-12  Kazu Hirata  <kazu@cs.umass.edu>
>         
>         PR optimization/12508.
>         * combine.c (try_combine): Remove a dead set in a parallel
>         even if its destination is a subreg.
>         
>         Revert: 
>         2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
>         * combine.c (simplify_set): Don't move a subreg in SET_SRC to
>         SET_DEST if WORD_REGISTER_OPERATIONS is not defined.

The patch didn't fix the problem.

This is a combine problem.  Constants are being substituted by combine
without subsequent simplification.  It occurs in situations where gcse
doesn't run.  It showns up in the g++ compilation of locale-inst.cc
in two routines that use setjmp.  This causes gcse to punt.

Roger Sayle is aware of the details and he may have a fix for the
combine problem.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12845


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