[LLVMdev] Creating a global variable in JIT context
victor.zverovich at googlemail.com
Tue Feb 16 05:09:26 PST 2010
Do you use load to get the value of V? If not then you probably return i32*
instead of i32.
On 16 February 2010 11:26, Russell Wallace <russell.wallace at gmail.com>wrote:
> I'm trying to create a global variable initialized to zero, and return
> its value from a newly created function, in JIT context. I'm keeping
> all types as i32 for the moment, and I only have the one module
> This is the code I have for creating the global variable:
> const Type *type = Type::getInt32Ty(getGlobalContext());
> // Constant *zerov = Constant::getNullValue(type);
> Constant *zerov = Constant::getIntegerValue(type, APInt(32, 0));
> V = new GlobalVariable(getGlobalContext(), type, 0,
> GlobalValue::PrivateLinkage, zerov, name);
> And these are the error messages given by verifyFunction:
> Function return type does not match operand type of return inst!
> ret i32* @x i32Referencing global in another module!
> ret i32* @xBroken module found, compilation aborted!
> Any idea of what I might be doing wrong? Is this the right way to be
> going about it in the first place?
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev