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