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 <[email protected]>
> >
> > * 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
> [email protected]
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
[email protected]