[LLVMdev] Bug in x86 JIT fast emitter.

Mark Shannon marks at dcs.gla.ac.uk
Sun Jun 14 03:06:47 PDT 2009


Evan Cheng wrote:
> No plans. I recommend you hack on it. :-) Sorry, all features are done  
> on demand.

Can I "demand" it then :)

Can't do any hacking myself for three weeks, but I'll have a try at 
fixing it after that (C++ is not really my strong point).

Cheers,
Mark
> 
> Evan
> 
> On Jun 12, 2009, at 1:08 PM, Mark Shannon wrote:
> 
>> Evan,
>>
>> Any plans to add it any time soon?
>> It would be really appreciated.
>>
>> Evan Cheng wrote:
>>> X86 JIT does not yet support TLS.
>>>
>>> Evan
>>> On Jun 12, 2009, at 2:48 AM, Mark Shannon wrote:
>>>
>>>> Hi there,
>>>>
>>>> I think I've found a bug in the x86 JIT. I get an assertion failure
>>>> when
>>>> using thread-local variables and the fast emitter.
>>>> It only happens with the JIT, the fast emiiter and thread-locals.
>>>> (The IR passes the verifier)
>>>>
>>>> Here's the failure:
>>>>
>>>> X86CodeEmitter.cpp:516:  
>>>> void<unnamed>::Emitter::emitInstruction(const
>>>> llvm::MachineInstr&, const llvm::TargetInstrDesc*): Assertion `0 &&
>>>> "psuedo instructions should be removed before code emission"'  
>>>> failed.
>>>>
>>>> There is a problem with submitting a bug-report, however.
>>>> Since llc has no trouble with thread-locals, I cannot actually
>>>> generate
>>>> the assertion failure, without my compiler-generator.
>>>> I can dump out the IR, but it is rather large.
>>>>
>>>> So,
>>>> Is there a way to get llc to use the same emitter as the JIT, so
>>>> that I
>>>> can produce a reasonably sized test-case.
>>>>
>>>> I tried the -fast flag, but it compiles correctly.
>>>>
>>>> Cheers,
>>>> Mark.
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 




More information about the llvm-dev mailing list