[LLVMdev] A way to pass const char* arg without creating a GlobalVariable

Dmitry N. Mikushin maemarcus at gmail.com
Sun Nov 20 16:58:04 PST 2011


Hi,

Is it possible to make up a ConstantArray containing a "const char*"
string and pass it directly to the function "char*" argument *without*
creating a GlobalVaribable?
I looked around and found the usual implementation is
array->globalVar->gep. If we omit globalVar & gep, then the argument
type would be [ i8 x N ], where N is set to the exact string length,
and the expected type is i8* => assertion.
In other words, in C we can submit constant value directly to
parameter list, e.g. foo("hello"). Is there an equivalent capability
in LLVM IR?
Our primary targets have limited support for global variables, and it
is better to omit them, where possible.

Thanks,
- Dima.



More information about the llvm-dev mailing list