The IR layer supports both Typed Pointers (pointers to a specific type) and Opaque Pointers (pointers without an associated pointee type). Support for Typed Pointers is being phased out in favor of Opaque Pointers.
Typed Pointers
Created using PointerType(pointee, addrspace=0), where pointee is the type being pointed to.
Opaque Pointers
Created using PointerType(addrspace=0). These do not take a pointee argument.
Disabling Typed Pointers
To force the IR layer to print Typed Pointers as Opaque Pointers, you can use one of the following methods:
Environment Variable:
LLVMLITE_ENABLE_IR_LAYER_TYPED_POINTERS=0
Python Attribute:
Set llvmlite.ir_layer_typed_pointers_enabled = False immediately after importing llvmlite and before using any other functionality.
import llvmlite
llvmlite.ir_layer_typed_pointers_enabled = False
# ... continue using llvmlite ...