[llvm-commits] [PATCH] Fix tail calls (indirect or large-code-model): PR5729

Jeffrey Yasskin jyasskin at google.com
Mon Jan 11 09:17:52 PST 2010


On Mon, Jan 11, 2010 at 5:07 AM, Jon Harrop <jon at ffconsultancy.com> wrote:
> On Sunday 10 January 2010 06:54:32 you wrote:
>> On Sat, Jan 9, 2010 at 11:57 PM, Jon Harrop <jon at ffconsultancy.com> wrote:
>> > On Saturday 09 January 2010 19:05:45 you wrote:
>> >> Committed as r93065.
>> >>
>> >> Your Mandelbrot test seems to work now. Let me know what's still broken.
>> >
>> > Awesome, thanks!
>> >
>> > All tests now pass with standalone compilation using "llc" and not "opt"
>> > on both x86 and x86-64.
>> >
>> > Optimizing with "opt -std-compile-opts" generates working code that
>> > honors the tail calls marked by HLVM but optimizing with "opt
>> > -tailcallelim -std-compile-opts" still generates broken code that
>> > segfaults on both x86 and x86-64. IIRC, that causes opt to mark all calls
>> > as tail calls so presumably LLVM is intolerant of that.
>>
>> Could you send the smallest .bc file you have that generates good
>> output without -tailcallelim and bad output or a segfault with
>> -tailcallelim? Please also include the exact command lines you use to
>> compile it.
>
> I've found some bugs in my code that could have caused segfaults and fixed
> them. Now I'm only seeing a problem at a tail call on the hash table
> benchmark but only when JIT compiled by HLVM and not when standalone (or with
> optimizations, which now work) or even when JIT compiled with lli.
>
> I'm going on holiday for a week. I'll get back to this when I return...

Cool. I'll be waiting for your reproducible test case. :)



More information about the llvm-commits mailing list