[LLVMdev] How to create Global Variables using LLVM API?

John Criswell criswell at illinois.edu
Wed May 12 21:22:44 PDT 2010


subramanyam wrote:
> I am using llvm-2.6. 
> In the online documentation, the signature is 
> GlobalVariable::GlobalVariable  	(  	const Type *   	 Ty,
> 		bool  	isConstant,
> 		LinkageTypes  	Linkage,
> 		Constant *  	Initializer = 0,
> 		const Twine &  	Name = "",
> 		bool  	ThreadLocal = false,
> 		unsigned  	AddressSpace = 0	 
> 	)
> the link to the documenation is
> http://llvm.org/doxygen/classllvm_1_1GlobalVariable.html
>   

The doxygen docs on the web page are updated every evening to reflect 
new changes in mainline LLVM.  If the API for GlobalVariables has 
changed, then there will be a mismatch between LLVM 2.6 and what is on 
the web.

Thankfully, API changes aren't *that* frequent (although when they do 
occur, they are not always timed to my liking).

It has been recommended to me to use the IRBuilder class to create LLVM 
IR instead of using the various IR classes directly.  I've been told 
that IRBuilder is less likely to change from release to release.  I 
haven't tried it myself yet, but you may want to consider it for your 
project.

-- John T.

> There are two constructors given. Second constructor signature is same as
> the source code. The first one differs though.
>
> In the source code the prototype of the constructor is at line 53 in 
> GlobalVariable.h file.
> The signature is 
> GlobalVariable(LLVMContext &Context, const Type *Ty, bool isConstant,
>                  LinkageTypes Linkage,
>                  Constant *Initializer = 0, const Twine &Name = "",
>                  bool ThreadLocal = false, unsigned AddressSpace = 0);
>
>
>
> Duncan Sands wrote:
>   
>> Hi subramanyam,
>>
>>     
>>> Actually, the signature of the constructor given in the online
>>> documentation
>>> is different from the actual source code.
>>>       
>> which bit of the documentation?  Any chance of a patch that fixes it?
>>
>> Ciao,
>>
>> Duncan.
>> _______________________________________________
>> 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