[llvm-dev] Creating int8** Pointer - Debug build works but not Release

Lorenz Braun via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 20 07:21:55 PDT 2017


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

-- 
Lorenz Braun
Research Associate
Institute of Computer Engineering (ZITI)
B6, 26, Building B, Office B2.20
68131 Mannheim

Phone: +49-621-181-2696
lorenz.braun at ziti.uni-heidelberg.de



More information about the llvm-dev mailing list