On Thu, 2011-06-02 at 15:30 -0700, Steve Ellcey wrote: > On Thu, 2011-06-02 at 15:29 +0400, Alexander Monakov wrote: > > Bernd, > > > > The problem is INSN_COND should be reset when initializing a new deps > > structure, otherwise instructions may get stale conditions from other > > previously analyzed instructions. Presuming that sd_init_insn is the > > proper place for that, I'll test the following patch. > > > > > > 2011-06-02 Alexander Monakov <amona...@ispras.ru> > > > > * sched-deps.c (sd_init_insn): Initialize INSN_COND. > > * sel-sched.c (move_op): Use correct type for 'res'. Verify that > > code_motion_path_driver returned 0 or 1. > > I tested this patch on my IA64 HP-UX box and did not see any > regressions. It fixed the problem I was having. > > Steve Ellcey > s...@cup.hp.com
Alexander, It may have spoke too soon. Last night's testing showed a regression that I didn't see yesterday. gfortran.dg/array_constructor_9.f90 is failing on IA64 HP-UX in 32 bit mode but not in 64 bit mode. It is also not failing on IA64 Linux. It fails with the options: -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions or -O3 -fomit-frame-pointer -funroll-loops The failure mode is: array_constructor_9.f90: In function 'gen': array_constructor_9.f90:14:0: internal compiler error: in code_motion_path_driver, at sel-sched.c:6573 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Note that I am using r174594 sources with your patch *AND* with the patch Bernd proposed for PR 48673 (http://gcc.gnu.org/ml/gcc-patches/2011-05/msg02470.html). So this regression may be due to the other change. I will look into it some more to see if I can figure out which change is causing this regression. I did not see any other regressions. Steve Ellcey s...@cup.hp.com