This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: two dfa problems
- From: "David S. Miller" <davem at redhat dot com>
- To: rth at redhat dot com
- Cc: vmakarov at redhat dot com, gcc-bugs at gcc dot gnu dot org
- Date: Fri, 03 May 2002 15:40:32 -0700 (PDT)
- Subject: Re: two dfa problems
- References: <20020503153952.A32053@redhat.com>
From: Richard Henderson <rth@redhat.com>
Date: Fri, 3 May 2002 15:39:52 -0700
While compiling (iirc) iqtest_, we have 18 instructions ready at
the beginning of the block, which as far as I can see causes us
to try 2**18 alternatives. Certainly the compiler hangs for
longer than I cared to wait.
I think the algorithm here is wrong, but I don't know how to fix
it exactly. The hack attached prevents the exponential runaway,
but I think we should not be trying alternatives with instructions
of the same type. That is, once we've tried an instruction of
type TYPE_IADD at position 0, we should not try a different insn
of type TYPE_IADD there, since it won't help produce a better
sloting.
Your analysis is right... but what the heck are you setting
DFA lookahead to on Alpha? :-)