[LLVMdev] Possible bug in TCO?

Jeffrey Yasskin jyasskin at google.com
Tue Dec 8 11:13:07 PST 2009


On Tue, Dec 8, 2009 at 1:05 AM, Albert Graef <Dr.Graef at t-online.de> wrote:
> Nick Lewycky wrote:
>> Can you prepare a standalone testcase that demonstrates the problem? See
>> unittests/ExecutionEngine/JIT/*.cpp to get your started.
>
> Probably. I'd essentially have to replicate some minimal runtime
> environment and IR as created by the Pure interpreter. That's doable,
> but very tedious and will probably take a while.

It seems unlikely you'll actually need the runtime for a minimal
reduction. There's probably a particular class of tail call that's
getting messed up, or a particular arrangement of code allocations,
and we'll need to find and check in that small test case to make sure
this doesn't break again.

> The problems are easy to reproduce by grabbing the Pure svn source from
> http://pure-lang.googlecode.com/ and running './configure && make &&
> make check', though. Is that good enough?

Not really. I need to find the IR it's compiling into bad code, and
`make check` doesn't give me the command lines so I can gdb them. It's
also going to be tricky for me, who's not familiar with your
implementation, to find which function is crashing and where it's
compiled. Either a patch to JITTest.cpp or an IR file+an lli command
line would be really helpful.



More information about the llvm-dev mailing list