This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Regression in target MIC compiler (was: nvptx offloading patches [3/n], RFD)
- From: Ilya Verbin <iverbin at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Fri, 31 Jul 2015 20:13:02 +0300
- Subject: Re: Regression in target MIC compiler (was: nvptx offloading patches [3/n], RFD)
- Authentication-results: sourceware.org; auth=none
- References: <20150731162758 dot GB64740 at msticlxl57 dot ims dot intel dot com> <20150731165316 dot GC64740 at msticlxl57 dot ims dot intel dot com> <20150731165959 dot GI1780 at tucnak dot redhat dot com>
On Fri, Jul 31, 2015 at 18:59:59 +0200, Jakub Jelinek wrote:
> On Fri, Jul 31, 2015 at 07:53:16PM +0300, Ilya Verbin wrote:
> > On Fri, Jul 31, 2015 at 19:27:58 +0300, Ilya Verbin wrote:
> > > I've noticed that target MIC compiler from trunk hangs forever in
> > > lto_input_mode_table in this loop, even on simple testcases.
> > >
> > > On Wed, Feb 18, 2015 at 11:00:35 +0100, Jakub Jelinek wrote:
> > > + /* First search just the GET_CLASS_NARROWEST_MODE to wider modes,
> > > + if not found, fallback to all modes. */
> > > + int pass;
> > > + for (pass = 0; pass < 2; pass++)
> > > + for (machine_mode mr = pass ? VOIDmode
> > > + : GET_CLASS_NARROWEST_MODE (mclass);
> > > + pass ? mr < MAX_MACHINE_MODE : mr != VOIDmode;
> > > + pass ? mr = (machine_mode) (m + 1)
> > > + : mr = GET_MODE_WIDER_MODE (mr))
> > > + if (GET_MODE_CLASS (mr) != mclass
> > > + || GET_MODE_SIZE (mr) != size
> > > + || GET_MODE_PRECISION (mr) != prec
> > > + || GET_MODE_INNER (mr) != inner
> > > + || GET_MODE_IBIT (mr) != ibit
> > > + || GET_MODE_FBIT (mr) != fbit
> > > + || GET_MODE_NUNITS (mr) != nunits)
> > > + continue;
> > >
> > > Given that gomp-4_1-branch works ok, the problem was introduced somewhere
> > > between 9 and 31 Jul. I'll try to find the revision.
> >
> > Shouldn't 'mr' be here instead of 'm'?
>
> I think so. If it works, patch preapproved.
It fixes the infinite loop, but causes an error:
lto1: fatal error: unsupported mode QI
> But wonder what changed that we haven't been triggering it before.
> What mode do you think it on (mclass/size/prec/inner/ibit/fbit/nunits)?
When in hangs, mr is HImode.
-- Ilya