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

Re: [PATCH] Fix PR 44691


On 19.08.2010 18:12, H.J. Lu wrote:
2010/8/19 Andrey Belevantsev<abel@ispras.ru>:
On 19.08.2010 17:28, H.J. Lu wrote:

2010/8/18 Andrey Belevantsev<abel@ispras.ru>:

Hello,


As explained in the audit trail, the problem was that in the selective
scheduler I assumed that SUBREG_REG will always be a REG, which seems to
be
not the case.  This is not quite in line with what documentation says, if
I
read it correctly, but it seems to be used in a number of backends, so
the
below patch just gives up substitution also when SUBREG_REG is not a
register.  Bootstrapped and tested on ia64, and verified that the test is
fixed on x86_64.

I think that this qualifies as obvious, so unless Vlad or other people
have
any comments, I'll commit it tomorrow.

Yours, Andrey

2010-08-18 Andrey Belevantsev<abel@ispras.ru>

PR rtl-optimization/44691

        * sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
        is not a register.


Shouldn't we add the testcase?

The test is fortran.dg/pr42294.f which is actually mentioned in the bug report. Sorry for not saying this explicitly in the mail.


Normally this bug isn't trigged. You need to pass -O2 -fselective-scheduling2 to see it. You should copy gfortran.dg/pr42294.f and add -O2 -fselective-scheduling2.
Ah, ok, I forgot about the explicit options. I will do that.

Andrey


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