[llvm-dev] Create the GlobalVariable which have extern in one header file
Tim Northover via llvm-dev
llvm-dev at lists.llvm.org
Fri Feb 22 10:08:23 PST 2019
On Fri, 22 Feb 2019 at 04:15, Mustakimur Khandaker <mrk15e at my.fsu.edu> wrote:
> Why it is creating another global variable instead of linking?
You're explicitly calling "new" which creates a global variable. If
there's an existing global you want to reuse you should call
Module::getOrInsertGlobal instead. But...
> Is that because of array size mismatch?
It's definitely not helping, and if you can't come up with a way to
get the type when creating the original variable you might have to
create two variables after all.
In that case you'd create your new variable with a known array length,
use ConstantExpr::getBitCast to cast it to [0 x i8*]* and then call
replaceAllUsesWith to make the existing code use your new variable
More information about the llvm-dev