[LLVMdev] boost shared pointer & llvm

Daniel Dunbar daniel at zuster.org
Tue Jul 21 09:05:24 PDT 2009


On Tue, Jul 21, 2009 at 5:23 AM, Stefan
Weigert<weigert.stefan at googlemail.com> wrote:
> hi,
>
> thanks for your quick replies. -DBOOST_SP_USE_PTHREADS worked indeed. however,
> i didn't measure the performance but i would assume that the boost developers
> had a good reason for using assembler in this context. will llvm ever support
> inline assembly? is there anybody who is working on that?

It is possible that one benefit of the current machine code library
work will allows us to use inline asm in the JIT. That's a long way
out, though.

 - Daniel

> thanks,
> stefan.
>
> On Tuesday 21 July 2009 01:54:20 pm Vladimir Prus wrote:
>> Stefan Weigert wrote:
>> > hi,
>> >
>> > when using the execution engine (no matter, if JIT or Interpreter) i get
>> > the following assertion as soon as i use boost::shared_ptr:
>> >
>> > /build/buildd/llvm-2.5/lib/Target/X86/X86CodeEmitter.cpp:522:
>> > void<unnamed>::Emitter::emitInstruction(const llvm::MachineInstr&, const
>> > llvm::TargetInstrDesc*): Assertion `0 && "JIT does not support inline
>> > asm!\n"' failed.
>> >
>> > how can i find out which instruction is executed at this point or in
>> > which function we are currently?
>> >
>> > i also attached a very small example, which triggers the assertion when
>> > run with lli.
>>
>> I do not know if there's general mechanism in LLVM to answer your question,
>> but you probably don't even need that.
>>
>> 1. Compiling with -save-temps will give you a preprocessed source, and you
>> can grep it for "asm".
>>
>> 2. The assembler most likely comes from
>> boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp. Defining either
>> BOOST_SP_DISABLE_THREAD, or BOOST_SP_USE_PTHREADS will work around this
>> problem.
>>
>> - Volodya
>>
>> _______________________________________________
>> 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