[LLVMdev] Creating a global variable in JIT context
Russell Wallace
russell.wallace at gmail.com
Tue Feb 16 03:26:38 PST 2010
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
object.
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?
More information about the llvm-dev
mailing list