[LLVMdev] VMKit assertion failure
nicolas.geoffray at gmail.com
Mon Apr 19 11:31:23 PDT 2010
On Tue, Apr 13, 2010 at 10:56 PM, Eli Friedman <eli.friedman at gmail.com>wrote:
> On Tue, Apr 13, 2010 at 9:33 AM, nicolas geoffray
> <nicolas.geoffray at gmail.com> wrote:
> > Hi Eli,
> > I know the pass that fails, it is MachineCSE. It stack overflows because
> > there are too many recursive calls to processBlock (line 362 of
> > lib/CodeGen/MachineCSE.cpp). But the recursion is here on purpose, and I
> > sure there are other places where LLVM makes recursive calls. Or is
> > recursion forbidden in LLVM, and explicitly stated to be so?
> Unbounded recursion is generally considered a bug; please file.
> > On Tue, Apr 13, 2010 at 5:56 PM, Eli Friedman <eli.friedman at gmail.com>
> > wrote:
> >> On Tue, Apr 13, 2010 at 2:29 AM, Konrad Hinsen
> >> <konrad.hinsen at fastmail.net> wrote:
> >> > On 11.04.2010, at 19:14, nicolas geoffray wrote:
> >> >
> >> >> On Sun, Apr 11, 2010 at 7:12 PM, Konrad Hinsen
> >> >> <konrad.hinsen at fastmail.net> wrote
> >> >>> I am rather surprised that the size of a method should have an
> >> >>> on stack usage, but then I haven't looked at all at how VMKit works
> >> >>> That's my next project :-)
> >> >>>
> >> >> It has no impact on VMKit. The impact is on LLVM optimization passes
> >> >> that do recursive calls.
> >> >
> >> > I see... Could those passes simply be skipped for code blocks that are
> >> > too large? Ideally in LLVM, since it's LLVM that imposes the
> restriction? I
> >> > don't know much about LLVM yet, but my first thought would be that a
> >> > handling system should be able to deal with code of any size. It may
> >> > not to optimize unusual cases, but it certainly shouldn't crash.
> >> You're right, it shouldn't crash. Can you track down which pass is
> >> crashing and file a
> >> bug?
> >> -Eli
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev