Hello everyone,
i am writing an transformation pass where i want to insert a specific function call. To get this function i need to create a functionType. This type has an int** as first argument. It all worked fine until i build my pass as release build.
The culprit is probably the creation of the int** type. With the debug build getTypeID() give me 15, which is what i expect according to [0]. With the release build getTypeID() yields 72. Which is probably why i get segmentation faults when i try to use it or simply call dump().
I tried creating the Type in different ways:
Type::getInt8PtrTy(ctx)->getPointerTo()
TypeBuilder<int8_t**, false>::get(ctx)
PointerType::get(Type::getInt8PtrTy(ctx), 0)
All seem to give me the same result. Might this be some kind of bug? Any suggestions how to work around this problem?
Best Regards
Lorenz
[0] http://llvm.org/doxygen/classllvm_1_1Type.html#a5e9e1c0dd93557be1b4ad72860f3cbda