[LLVMdev] boost shared pointer & llvm

Stefan Weigert weigert.stefan at googlemail.com
Tue Jul 21 05:23:19 PDT 2009


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?

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



More information about the llvm-dev mailing list