[llvm-commits] More C API wrappers
Eric Christopher
echristo at gmail.com
Mon Nov 19 14:09:58 PST 2012
> It uses common-lisp wrappers of the LLVM-C API.
>
>
> Going through the list of things I added:
> > LLVMBuildFence
> > LLVMBuildAtomicCmpXchg
> > LLVMBuildAtomicRMW
> > LLVMGetAtomicOrdering/LLVMSetAtomicOrdering
> > LLVMGetSynchronizationScope/LLVMSetSynchronizationScope
>
> > Also, fix LLVMGetVolatile/LLVMSetVolatile to handle the new
> > memory instructions.
>
>
> I need support for compiling atomic operations. In 2009, they were
> intrinsics. Now they're separate instructions. LLVMBuild* for the new
> instructions, LLVM{Get/Set}{AtomicOrdering,SynchronizationScope} both for
> the new instructions and for creating atomic Load/Store instructions.
>
>
These seem reasonable.
>
> The rest of the additions I had wrapped myself back in 2009, but I figured
> I ought to contribute them upstream instead:
>
> > LLVMParseAssemblyString
>
> This is to allow inserting a bit of raw llvm-asm into an
> otherwise-programamtically built module, I use it for some support routines
> emitted by the compiler.
>
>
This somewhat horrifies me. I'm not sure I see the general use in such a
way that I want to sign up to support it :)
> > LLVMPrintModuleToString
> > LLVMPrintTypeToString
> > LLVMPrintValueToString
>
> It's useful to be able to print these types to help debug what's going on.
>
>
These seem reasonable, not sure why you'd want to be able to do this via
the C API though?
> > LLVMIntPtrTypeInContext
>
> This seems like a pretty obvious omission: LLVMIntPtrType is already
> wrapped, but only with a version which uses the global context. Everything
> else that uses a context has an InContext version.
>
>
Also seems reasonable.
-eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121119/232f7b5f/attachment.html>
More information about the llvm-commits
mailing list