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 >
No plans. I recommend you hack on it. :-) Sorry, all features are done on demand. 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
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 >