[LLVMdev] RFC: Constant Creation API

Chris Lattner clattner at apple.com
Thu Jul 23 21:14:03 PDT 2009


On Jul 23, 2009, at 7:35 PM, 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.

Unless there is a good reason not to, I think that sticking to the  
LLVM 2.5-style of APIs makes sense.

-Chris



More information about the llvm-dev mailing list