[LLVMdev] RFC: Constant Creation API
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Tue Jul 28 03:45:38 PDT 2009
Hi Owen,
What if I want to have global llvm::Type's, that can be used by many
LLVMContext's. For example, I'd like to have one LLVMContext per
function, and be able to create constants that belong to the context
but using a global, shared amongst LLVMContext's, llvm::Type.
I know that's not doable right now, but aren't we losing this
possibility if we move back to the old static functions?
Thanks,
Nicolas
Owen Anderson wrote:
> So, as you all probably noticed, the APIs for creating constants have
> been moved (or in a specific cases, are about to be moved) from static
> methods on Constant to instance methods on LLVMContext.
>
> However, as was recently pointed out on llvm-commits and on IRC, this
> is no longer strictly necessary. Because types have contexts, all of
> the constant subclasses could be friended to LLVMContext, and then put
> the work of uniquing by accessing the context off of the type.
>
> There are obviously some pros and to both approaches. Going back to
> the old-style increases compatibility with 2.5, and breaks up the
> massive LLVMContext class. On the downside, it would cause massive
> thrashing on TOT, because I will have to revert about two weeks worth
> of commits in widely dispersed parts of the tree, and because a number
> of clients have already switched to the new TOT API.
>
> Any comments and/or opinions on this decision are welcome.
>
> --Owen
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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