On Tue, Aug 04, 2015 at 16:07:42 +0200, Richard Biener wrote: > On Tue, Aug 4, 2015 at 3:06 PM, Ilya Verbin <iver...@gmail.com> wrote: > > On Tue, Aug 04, 2015 at 14:35:11 +0200, Thomas Schwinge wrote: > >> On Fri, 31 Jul 2015 20:13:02 +0300, Ilya Verbin <iver...@gmail.com> wrote: > >> > On Fri, Jul 31, 2015 at 18:59:59 +0200, Jakub Jelinek wrote: > >> > > > > 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. > > ^^^ > > looks like an obvious error anyway. > > Richard.
Yeah, but the fix for this typo doesn't really help, since it exposes another error in this function. vvv > >> > It fixes the infinite loop, but causes an error: > >> > lto1: fatal error: unsupported mode QI > >> > >> Confirmed. > >> > >> > > 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. > >> > >> Do you already have any further analysis, a workaround, or even a fix? > > > > Not yet. I thought since Jakub is the author of this function, he could > > easily > > point what is wrong here :) Actually, intelmic doesn't require > > lto_input_mode_table, so temporary workaround is just to disable it. -- Ilya