#include "cstring"
#include "Python.h"
#include "python3adapt.h"
#include "capsulethunk.h"
#include "llvm_binding/conversion.h"
#include "llvm_binding/binding.h"
#include "llvm_binding/capsule_context.h"
#include "llvm_binding/extra.h"

#include "llvm/Transforms/IPO.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/PassSupport.h"
#include "llvm/PassRegistry.h"
#include "llvm/Analysis/Verifier.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Pass.h"
#include "llvm/Target/TargetLibraryInfo.h"
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/ADT/Triple.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/ExecutionEngine/JIT.h"
#include "llvm/Support/DynamicLibrary.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/Assembly/AssemblyAnnotationWriter.h"
#include "llvm/PassManager.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/Type.h"
#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/Support/raw_os_ostream.h"
#include "llvm/Assembly/Parser.h"
#include "llvm/DIBuilder.h"
#include "llvm/CodeGen/MachineCodeInfo.h"
#include "llvm/DebugInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/Bitcode/ReaderWriter.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/Linker.h"
#include "llvm/Transforms/Utils/Cloning.h"
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/LLVMContext.h"


static
llvm::Argument* downcast_llvm_Value_to_llvm_Argument(llvm::Value* arg)
{
    return typecast< llvm::Argument >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__Argument(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::Argument* var_llvm_Argument = downcast_llvm_Value_to_llvm_Argument(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Argument), "llvm::Value", "llvm::Argument");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::MDNode* downcast_llvm_Value_to_llvm_MDNode(llvm::Value* arg)
{
    return typecast< llvm::MDNode >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__MDNode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::MDNode* var_llvm_MDNode = downcast_llvm_Value_to_llvm_MDNode(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_MDNode), "llvm::Value", "llvm::MDNode");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::MDString* downcast_llvm_Value_to_llvm_MDString(llvm::Value* arg)
{
    return typecast< llvm::MDString >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__MDString(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::MDString* var_llvm_MDString = downcast_llvm_Value_to_llvm_MDString(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_MDString), "llvm::Value", "llvm::MDString");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::User* downcast_llvm_Value_to_llvm_User(llvm::Value* arg)
{
    return typecast< llvm::User >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__User(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::User* var_llvm_User = downcast_llvm_Value_to_llvm_User(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_User), "llvm::Value", "llvm::User");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BasicBlock* downcast_llvm_Value_to_llvm_BasicBlock(llvm::Value* arg)
{
    return typecast< llvm::BasicBlock >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__BasicBlock(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = downcast_llvm_Value_to_llvm_BasicBlock(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BasicBlock), "llvm::Value", "llvm::BasicBlock");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::Constant* downcast_llvm_Value_to_llvm_Constant(llvm::Value* arg)
{
    return typecast< llvm::Constant >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__Constant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::Constant* var_llvm_Constant = downcast_llvm_Value_to_llvm_Constant(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::Constant* downcast_llvm_User_to_llvm_Constant(llvm::User* arg)
{
    return typecast< llvm::Constant >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__Constant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::Constant* var_llvm_Constant = downcast_llvm_User_to_llvm_Constant(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::Function* downcast_llvm_GlobalValue_to_llvm_Function(llvm::GlobalValue* arg)
{
    return typecast< llvm::Function >::from(arg);
}

static
PyObject*
__downcast__llvm__GlobalValue__to__llvm__Function(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    llvm::Function* var_llvm_Function = downcast_llvm_GlobalValue_to_llvm_Function(var_llvm_GlobalValue);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function), "llvm::Value", "llvm::Function");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::Function* downcast_llvm_Value_to_llvm_Function(llvm::Value* arg)
{
    return typecast< llvm::Function >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__Function(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::Function* var_llvm_Function = downcast_llvm_Value_to_llvm_Function(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function), "llvm::Value", "llvm::Function");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::Function* downcast_llvm_Constant_to_llvm_Function(llvm::Constant* arg)
{
    return typecast< llvm::Function >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__Function(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Function* var_llvm_Function = downcast_llvm_Constant_to_llvm_Function(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function), "llvm::Value", "llvm::Function");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantInt* downcast_llvm_Constant_to_llvm_ConstantInt(llvm::Constant* arg)
{
    return typecast< llvm::ConstantInt >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__ConstantInt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::ConstantInt* var_llvm_ConstantInt = downcast_llvm_Constant_to_llvm_ConstantInt(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantInt), "llvm::Value", "llvm::ConstantInt");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantInt* downcast_llvm_User_to_llvm_ConstantInt(llvm::User* arg)
{
    return typecast< llvm::ConstantInt >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ConstantInt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ConstantInt* var_llvm_ConstantInt = downcast_llvm_User_to_llvm_ConstantInt(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantInt), "llvm::Value", "llvm::ConstantInt");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantInt* downcast_llvm_Value_to_llvm_ConstantInt(llvm::Value* arg)
{
    return typecast< llvm::ConstantInt >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ConstantInt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ConstantInt* var_llvm_ConstantInt = downcast_llvm_Value_to_llvm_ConstantInt(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantInt), "llvm::Value", "llvm::ConstantInt");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantFP* downcast_llvm_Constant_to_llvm_ConstantFP(llvm::Constant* arg)
{
    return typecast< llvm::ConstantFP >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__ConstantFP(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::ConstantFP* var_llvm_ConstantFP = downcast_llvm_Constant_to_llvm_ConstantFP(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantFP), "llvm::Value", "llvm::ConstantFP");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantFP* downcast_llvm_User_to_llvm_ConstantFP(llvm::User* arg)
{
    return typecast< llvm::ConstantFP >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ConstantFP(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ConstantFP* var_llvm_ConstantFP = downcast_llvm_User_to_llvm_ConstantFP(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantFP), "llvm::Value", "llvm::ConstantFP");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantFP* downcast_llvm_Value_to_llvm_ConstantFP(llvm::Value* arg)
{
    return typecast< llvm::ConstantFP >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ConstantFP(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ConstantFP* var_llvm_ConstantFP = downcast_llvm_Value_to_llvm_ConstantFP(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantFP), "llvm::Value", "llvm::ConstantFP");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantArray* downcast_llvm_Constant_to_llvm_ConstantArray(llvm::Constant* arg)
{
    return typecast< llvm::ConstantArray >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__ConstantArray(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::ConstantArray* var_llvm_ConstantArray = downcast_llvm_Constant_to_llvm_ConstantArray(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantArray), "llvm::Value", "llvm::ConstantArray");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantArray* downcast_llvm_User_to_llvm_ConstantArray(llvm::User* arg)
{
    return typecast< llvm::ConstantArray >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ConstantArray(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ConstantArray* var_llvm_ConstantArray = downcast_llvm_User_to_llvm_ConstantArray(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantArray), "llvm::Value", "llvm::ConstantArray");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantArray* downcast_llvm_Value_to_llvm_ConstantArray(llvm::Value* arg)
{
    return typecast< llvm::ConstantArray >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ConstantArray(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ConstantArray* var_llvm_ConstantArray = downcast_llvm_Value_to_llvm_ConstantArray(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantArray), "llvm::Value", "llvm::ConstantArray");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantStruct* downcast_llvm_Constant_to_llvm_ConstantStruct(llvm::Constant* arg)
{
    return typecast< llvm::ConstantStruct >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__ConstantStruct(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::ConstantStruct* var_llvm_ConstantStruct = downcast_llvm_Constant_to_llvm_ConstantStruct(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantStruct), "llvm::Value", "llvm::ConstantStruct");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantStruct* downcast_llvm_User_to_llvm_ConstantStruct(llvm::User* arg)
{
    return typecast< llvm::ConstantStruct >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ConstantStruct(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ConstantStruct* var_llvm_ConstantStruct = downcast_llvm_User_to_llvm_ConstantStruct(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantStruct), "llvm::Value", "llvm::ConstantStruct");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantStruct* downcast_llvm_Value_to_llvm_ConstantStruct(llvm::Value* arg)
{
    return typecast< llvm::ConstantStruct >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ConstantStruct(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ConstantStruct* var_llvm_ConstantStruct = downcast_llvm_Value_to_llvm_ConstantStruct(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantStruct), "llvm::Value", "llvm::ConstantStruct");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantVector* downcast_llvm_Constant_to_llvm_ConstantVector(llvm::Constant* arg)
{
    return typecast< llvm::ConstantVector >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__ConstantVector(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::ConstantVector* var_llvm_ConstantVector = downcast_llvm_Constant_to_llvm_ConstantVector(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantVector), "llvm::Value", "llvm::ConstantVector");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantVector* downcast_llvm_User_to_llvm_ConstantVector(llvm::User* arg)
{
    return typecast< llvm::ConstantVector >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ConstantVector(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ConstantVector* var_llvm_ConstantVector = downcast_llvm_User_to_llvm_ConstantVector(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantVector), "llvm::Value", "llvm::ConstantVector");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantVector* downcast_llvm_Value_to_llvm_ConstantVector(llvm::Value* arg)
{
    return typecast< llvm::ConstantVector >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ConstantVector(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ConstantVector* var_llvm_ConstantVector = downcast_llvm_Value_to_llvm_ConstantVector(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantVector), "llvm::Value", "llvm::ConstantVector");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantDataSequential* downcast_llvm_Constant_to_llvm_ConstantDataSequential(llvm::Constant* arg)
{
    return typecast< llvm::ConstantDataSequential >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__ConstantDataSequential(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::ConstantDataSequential* var_llvm_ConstantDataSequential = downcast_llvm_Constant_to_llvm_ConstantDataSequential(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantDataSequential), "llvm::Value", "llvm::ConstantDataSequential");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantDataSequential* downcast_llvm_User_to_llvm_ConstantDataSequential(llvm::User* arg)
{
    return typecast< llvm::ConstantDataSequential >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ConstantDataSequential(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ConstantDataSequential* var_llvm_ConstantDataSequential = downcast_llvm_User_to_llvm_ConstantDataSequential(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantDataSequential), "llvm::Value", "llvm::ConstantDataSequential");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantDataSequential* downcast_llvm_Value_to_llvm_ConstantDataSequential(llvm::Value* arg)
{
    return typecast< llvm::ConstantDataSequential >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ConstantDataSequential(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ConstantDataSequential* var_llvm_ConstantDataSequential = downcast_llvm_Value_to_llvm_ConstantDataSequential(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantDataSequential), "llvm::Value", "llvm::ConstantDataSequential");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantDataArray* downcast_llvm_Constant_to_llvm_ConstantDataArray(llvm::Constant* arg)
{
    return typecast< llvm::ConstantDataArray >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__ConstantDataArray(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::ConstantDataArray* var_llvm_ConstantDataArray = downcast_llvm_Constant_to_llvm_ConstantDataArray(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantDataArray), "llvm::Value", "llvm::ConstantDataArray");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantDataArray* downcast_llvm_User_to_llvm_ConstantDataArray(llvm::User* arg)
{
    return typecast< llvm::ConstantDataArray >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ConstantDataArray(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ConstantDataArray* var_llvm_ConstantDataArray = downcast_llvm_User_to_llvm_ConstantDataArray(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantDataArray), "llvm::Value", "llvm::ConstantDataArray");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantDataArray* downcast_llvm_Value_to_llvm_ConstantDataArray(llvm::Value* arg)
{
    return typecast< llvm::ConstantDataArray >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ConstantDataArray(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ConstantDataArray* var_llvm_ConstantDataArray = downcast_llvm_Value_to_llvm_ConstantDataArray(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantDataArray), "llvm::Value", "llvm::ConstantDataArray");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantExpr* downcast_llvm_Constant_to_llvm_ConstantExpr(llvm::Constant* arg)
{
    return typecast< llvm::ConstantExpr >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__ConstantExpr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::ConstantExpr* var_llvm_ConstantExpr = downcast_llvm_Constant_to_llvm_ConstantExpr(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantExpr), "llvm::Value", "llvm::ConstantExpr");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantExpr* downcast_llvm_User_to_llvm_ConstantExpr(llvm::User* arg)
{
    return typecast< llvm::ConstantExpr >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ConstantExpr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ConstantExpr* var_llvm_ConstantExpr = downcast_llvm_User_to_llvm_ConstantExpr(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantExpr), "llvm::Value", "llvm::ConstantExpr");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ConstantExpr* downcast_llvm_Value_to_llvm_ConstantExpr(llvm::Value* arg)
{
    return typecast< llvm::ConstantExpr >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ConstantExpr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ConstantExpr* var_llvm_ConstantExpr = downcast_llvm_Value_to_llvm_ConstantExpr(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantExpr), "llvm::Value", "llvm::ConstantExpr");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::IntegerType* downcast_llvm_Type_to_llvm_IntegerType(llvm::Type* arg)
{
    return typecast< llvm::IntegerType >::from(arg);
}

static
PyObject*
__downcast__llvm__Type__to__llvm__IntegerType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::IntegerType* var_llvm_IntegerType = downcast_llvm_Type_to_llvm_IntegerType(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_IntegerType), "llvm::Type", "llvm::IntegerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CompositeType* downcast_llvm_Type_to_llvm_CompositeType(llvm::Type* arg)
{
    return typecast< llvm::CompositeType >::from(arg);
}

static
PyObject*
__downcast__llvm__Type__to__llvm__CompositeType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::CompositeType* var_llvm_CompositeType = downcast_llvm_Type_to_llvm_CompositeType(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_CompositeType), "llvm::Type", "llvm::CompositeType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::StructType* downcast_llvm_Type_to_llvm_StructType(llvm::Type* arg)
{
    return typecast< llvm::StructType >::from(arg);
}

static
PyObject*
__downcast__llvm__Type__to__llvm__StructType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::StructType* var_llvm_StructType = downcast_llvm_Type_to_llvm_StructType(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_StructType), "llvm::Type", "llvm::StructType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::SequentialType* downcast_llvm_Type_to_llvm_SequentialType(llvm::Type* arg)
{
    return typecast< llvm::SequentialType >::from(arg);
}

static
PyObject*
__downcast__llvm__Type__to__llvm__SequentialType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::SequentialType* var_llvm_SequentialType = downcast_llvm_Type_to_llvm_SequentialType(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_SequentialType), "llvm::Type", "llvm::SequentialType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ArrayType* downcast_llvm_Type_to_llvm_ArrayType(llvm::Type* arg)
{
    return typecast< llvm::ArrayType >::from(arg);
}

static
PyObject*
__downcast__llvm__Type__to__llvm__ArrayType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::ArrayType* var_llvm_ArrayType = downcast_llvm_Type_to_llvm_ArrayType(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_ArrayType), "llvm::Type", "llvm::ArrayType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::PointerType* downcast_llvm_Type_to_llvm_PointerType(llvm::Type* arg)
{
    return typecast< llvm::PointerType >::from(arg);
}

static
PyObject*
__downcast__llvm__Type__to__llvm__PointerType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::PointerType* var_llvm_PointerType = downcast_llvm_Type_to_llvm_PointerType(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VectorType* downcast_llvm_Type_to_llvm_VectorType(llvm::Type* arg)
{
    return typecast< llvm::VectorType >::from(arg);
}

static
PyObject*
__downcast__llvm__Type__to__llvm__VectorType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::VectorType* var_llvm_VectorType = downcast_llvm_Type_to_llvm_VectorType(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_VectorType), "llvm::Type", "llvm::VectorType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::GlobalVariable* downcast_llvm_Value_to_llvm_GlobalVariable(llvm::Value* arg)
{
    return typecast< llvm::GlobalVariable >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__GlobalVariable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = downcast_llvm_Value_to_llvm_GlobalVariable(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable), "llvm::Value", "llvm::GlobalVariable");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::GlobalVariable* downcast_llvm_User_to_llvm_GlobalVariable(llvm::User* arg)
{
    return typecast< llvm::GlobalVariable >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__GlobalVariable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = downcast_llvm_User_to_llvm_GlobalVariable(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable), "llvm::Value", "llvm::GlobalVariable");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::GlobalVariable* downcast_llvm_Constant_to_llvm_GlobalVariable(llvm::Constant* arg)
{
    return typecast< llvm::GlobalVariable >::from(arg);
}

static
PyObject*
__downcast__llvm__Constant__to__llvm__GlobalVariable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = downcast_llvm_Constant_to_llvm_GlobalVariable(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable), "llvm::Value", "llvm::GlobalVariable");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::Instruction* downcast_llvm_Value_to_llvm_Instruction(llvm::Value* arg)
{
    return typecast< llvm::Instruction >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__Instruction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::Instruction* var_llvm_Instruction = downcast_llvm_Value_to_llvm_Instruction(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::Instruction* downcast_llvm_User_to_llvm_Instruction(llvm::User* arg)
{
    return typecast< llvm::Instruction >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__Instruction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::Instruction* var_llvm_Instruction = downcast_llvm_User_to_llvm_Instruction(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::AtomicCmpXchgInst* downcast_llvm_Value_to_llvm_AtomicCmpXchgInst(llvm::Value* arg)
{
    return typecast< llvm::AtomicCmpXchgInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__AtomicCmpXchgInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::AtomicCmpXchgInst* var_llvm_AtomicCmpXchgInst = downcast_llvm_Value_to_llvm_AtomicCmpXchgInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicCmpXchgInst), "llvm::Value", "llvm::AtomicCmpXchgInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::AtomicCmpXchgInst* downcast_llvm_User_to_llvm_AtomicCmpXchgInst(llvm::User* arg)
{
    return typecast< llvm::AtomicCmpXchgInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__AtomicCmpXchgInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::AtomicCmpXchgInst* var_llvm_AtomicCmpXchgInst = downcast_llvm_User_to_llvm_AtomicCmpXchgInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicCmpXchgInst), "llvm::Value", "llvm::AtomicCmpXchgInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::AtomicCmpXchgInst* downcast_llvm_Instruction_to_llvm_AtomicCmpXchgInst(llvm::Instruction* arg)
{
    return typecast< llvm::AtomicCmpXchgInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__AtomicCmpXchgInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::AtomicCmpXchgInst* var_llvm_AtomicCmpXchgInst = downcast_llvm_Instruction_to_llvm_AtomicCmpXchgInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicCmpXchgInst), "llvm::Value", "llvm::AtomicCmpXchgInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::AtomicRMWInst* downcast_llvm_Value_to_llvm_AtomicRMWInst(llvm::Value* arg)
{
    return typecast< llvm::AtomicRMWInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__AtomicRMWInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::AtomicRMWInst* var_llvm_AtomicRMWInst = downcast_llvm_Value_to_llvm_AtomicRMWInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicRMWInst), "llvm::Value", "llvm::AtomicRMWInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::AtomicRMWInst* downcast_llvm_User_to_llvm_AtomicRMWInst(llvm::User* arg)
{
    return typecast< llvm::AtomicRMWInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__AtomicRMWInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::AtomicRMWInst* var_llvm_AtomicRMWInst = downcast_llvm_User_to_llvm_AtomicRMWInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicRMWInst), "llvm::Value", "llvm::AtomicRMWInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::AtomicRMWInst* downcast_llvm_Instruction_to_llvm_AtomicRMWInst(llvm::Instruction* arg)
{
    return typecast< llvm::AtomicRMWInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__AtomicRMWInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::AtomicRMWInst* var_llvm_AtomicRMWInst = downcast_llvm_Instruction_to_llvm_AtomicRMWInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicRMWInst), "llvm::Value", "llvm::AtomicRMWInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BinaryOperator* downcast_llvm_Value_to_llvm_BinaryOperator(llvm::Value* arg)
{
    return typecast< llvm::BinaryOperator >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__BinaryOperator(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::BinaryOperator* var_llvm_BinaryOperator = downcast_llvm_Value_to_llvm_BinaryOperator(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BinaryOperator), "llvm::Value", "llvm::BinaryOperator");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BinaryOperator* downcast_llvm_User_to_llvm_BinaryOperator(llvm::User* arg)
{
    return typecast< llvm::BinaryOperator >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__BinaryOperator(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::BinaryOperator* var_llvm_BinaryOperator = downcast_llvm_User_to_llvm_BinaryOperator(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BinaryOperator), "llvm::Value", "llvm::BinaryOperator");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BinaryOperator* downcast_llvm_Instruction_to_llvm_BinaryOperator(llvm::Instruction* arg)
{
    return typecast< llvm::BinaryOperator >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__BinaryOperator(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::BinaryOperator* var_llvm_BinaryOperator = downcast_llvm_Instruction_to_llvm_BinaryOperator(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BinaryOperator), "llvm::Value", "llvm::BinaryOperator");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CallInst* downcast_llvm_Value_to_llvm_CallInst(llvm::Value* arg)
{
    return typecast< llvm::CallInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__CallInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::CallInst* var_llvm_CallInst = downcast_llvm_Value_to_llvm_CallInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CallInst), "llvm::Value", "llvm::CallInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CallInst* downcast_llvm_User_to_llvm_CallInst(llvm::User* arg)
{
    return typecast< llvm::CallInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__CallInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::CallInst* var_llvm_CallInst = downcast_llvm_User_to_llvm_CallInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CallInst), "llvm::Value", "llvm::CallInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CallInst* downcast_llvm_Instruction_to_llvm_CallInst(llvm::Instruction* arg)
{
    return typecast< llvm::CallInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__CallInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::CallInst* var_llvm_CallInst = downcast_llvm_Instruction_to_llvm_CallInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CallInst), "llvm::Value", "llvm::CallInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CmpInst* downcast_llvm_Value_to_llvm_CmpInst(llvm::Value* arg)
{
    return typecast< llvm::CmpInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__CmpInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::CmpInst* var_llvm_CmpInst = downcast_llvm_Value_to_llvm_CmpInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CmpInst), "llvm::Value", "llvm::CmpInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CmpInst* downcast_llvm_User_to_llvm_CmpInst(llvm::User* arg)
{
    return typecast< llvm::CmpInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__CmpInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::CmpInst* var_llvm_CmpInst = downcast_llvm_User_to_llvm_CmpInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CmpInst), "llvm::Value", "llvm::CmpInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CmpInst* downcast_llvm_Instruction_to_llvm_CmpInst(llvm::Instruction* arg)
{
    return typecast< llvm::CmpInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__CmpInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::CmpInst* var_llvm_CmpInst = downcast_llvm_Instruction_to_llvm_CmpInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CmpInst), "llvm::Value", "llvm::CmpInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ExtractElementInst* downcast_llvm_Value_to_llvm_ExtractElementInst(llvm::Value* arg)
{
    return typecast< llvm::ExtractElementInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ExtractElementInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ExtractElementInst* var_llvm_ExtractElementInst = downcast_llvm_Value_to_llvm_ExtractElementInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ExtractElementInst), "llvm::Value", "llvm::ExtractElementInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ExtractElementInst* downcast_llvm_User_to_llvm_ExtractElementInst(llvm::User* arg)
{
    return typecast< llvm::ExtractElementInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ExtractElementInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ExtractElementInst* var_llvm_ExtractElementInst = downcast_llvm_User_to_llvm_ExtractElementInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ExtractElementInst), "llvm::Value", "llvm::ExtractElementInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ExtractElementInst* downcast_llvm_Instruction_to_llvm_ExtractElementInst(llvm::Instruction* arg)
{
    return typecast< llvm::ExtractElementInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__ExtractElementInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::ExtractElementInst* var_llvm_ExtractElementInst = downcast_llvm_Instruction_to_llvm_ExtractElementInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ExtractElementInst), "llvm::Value", "llvm::ExtractElementInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FenceInst* downcast_llvm_Value_to_llvm_FenceInst(llvm::Value* arg)
{
    return typecast< llvm::FenceInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__FenceInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::FenceInst* var_llvm_FenceInst = downcast_llvm_Value_to_llvm_FenceInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FenceInst), "llvm::Value", "llvm::FenceInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FenceInst* downcast_llvm_User_to_llvm_FenceInst(llvm::User* arg)
{
    return typecast< llvm::FenceInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__FenceInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::FenceInst* var_llvm_FenceInst = downcast_llvm_User_to_llvm_FenceInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FenceInst), "llvm::Value", "llvm::FenceInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FenceInst* downcast_llvm_Instruction_to_llvm_FenceInst(llvm::Instruction* arg)
{
    return typecast< llvm::FenceInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__FenceInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::FenceInst* var_llvm_FenceInst = downcast_llvm_Instruction_to_llvm_FenceInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FenceInst), "llvm::Value", "llvm::FenceInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::GetElementPtrInst* downcast_llvm_Value_to_llvm_GetElementPtrInst(llvm::Value* arg)
{
    return typecast< llvm::GetElementPtrInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__GetElementPtrInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::GetElementPtrInst* var_llvm_GetElementPtrInst = downcast_llvm_Value_to_llvm_GetElementPtrInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GetElementPtrInst), "llvm::Value", "llvm::GetElementPtrInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::GetElementPtrInst* downcast_llvm_User_to_llvm_GetElementPtrInst(llvm::User* arg)
{
    return typecast< llvm::GetElementPtrInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__GetElementPtrInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::GetElementPtrInst* var_llvm_GetElementPtrInst = downcast_llvm_User_to_llvm_GetElementPtrInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GetElementPtrInst), "llvm::Value", "llvm::GetElementPtrInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::GetElementPtrInst* downcast_llvm_Instruction_to_llvm_GetElementPtrInst(llvm::Instruction* arg)
{
    return typecast< llvm::GetElementPtrInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__GetElementPtrInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::GetElementPtrInst* var_llvm_GetElementPtrInst = downcast_llvm_Instruction_to_llvm_GetElementPtrInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GetElementPtrInst), "llvm::Value", "llvm::GetElementPtrInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::InsertElementInst* downcast_llvm_Value_to_llvm_InsertElementInst(llvm::Value* arg)
{
    return typecast< llvm::InsertElementInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__InsertElementInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::InsertElementInst* var_llvm_InsertElementInst = downcast_llvm_Value_to_llvm_InsertElementInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InsertElementInst), "llvm::Value", "llvm::InsertElementInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::InsertElementInst* downcast_llvm_User_to_llvm_InsertElementInst(llvm::User* arg)
{
    return typecast< llvm::InsertElementInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__InsertElementInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::InsertElementInst* var_llvm_InsertElementInst = downcast_llvm_User_to_llvm_InsertElementInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InsertElementInst), "llvm::Value", "llvm::InsertElementInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::InsertElementInst* downcast_llvm_Instruction_to_llvm_InsertElementInst(llvm::Instruction* arg)
{
    return typecast< llvm::InsertElementInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__InsertElementInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::InsertElementInst* var_llvm_InsertElementInst = downcast_llvm_Instruction_to_llvm_InsertElementInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InsertElementInst), "llvm::Value", "llvm::InsertElementInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::InsertValueInst* downcast_llvm_Value_to_llvm_InsertValueInst(llvm::Value* arg)
{
    return typecast< llvm::InsertValueInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__InsertValueInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::InsertValueInst* var_llvm_InsertValueInst = downcast_llvm_Value_to_llvm_InsertValueInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InsertValueInst), "llvm::Value", "llvm::InsertValueInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::InsertValueInst* downcast_llvm_User_to_llvm_InsertValueInst(llvm::User* arg)
{
    return typecast< llvm::InsertValueInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__InsertValueInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::InsertValueInst* var_llvm_InsertValueInst = downcast_llvm_User_to_llvm_InsertValueInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InsertValueInst), "llvm::Value", "llvm::InsertValueInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::InsertValueInst* downcast_llvm_Instruction_to_llvm_InsertValueInst(llvm::Instruction* arg)
{
    return typecast< llvm::InsertValueInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__InsertValueInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::InsertValueInst* var_llvm_InsertValueInst = downcast_llvm_Instruction_to_llvm_InsertValueInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InsertValueInst), "llvm::Value", "llvm::InsertValueInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::LandingPadInst* downcast_llvm_Value_to_llvm_LandingPadInst(llvm::Value* arg)
{
    return typecast< llvm::LandingPadInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__LandingPadInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::LandingPadInst* var_llvm_LandingPadInst = downcast_llvm_Value_to_llvm_LandingPadInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LandingPadInst), "llvm::Value", "llvm::LandingPadInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::LandingPadInst* downcast_llvm_User_to_llvm_LandingPadInst(llvm::User* arg)
{
    return typecast< llvm::LandingPadInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__LandingPadInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::LandingPadInst* var_llvm_LandingPadInst = downcast_llvm_User_to_llvm_LandingPadInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LandingPadInst), "llvm::Value", "llvm::LandingPadInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::LandingPadInst* downcast_llvm_Instruction_to_llvm_LandingPadInst(llvm::Instruction* arg)
{
    return typecast< llvm::LandingPadInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__LandingPadInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::LandingPadInst* var_llvm_LandingPadInst = downcast_llvm_Instruction_to_llvm_LandingPadInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LandingPadInst), "llvm::Value", "llvm::LandingPadInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::PHINode* downcast_llvm_Value_to_llvm_PHINode(llvm::Value* arg)
{
    return typecast< llvm::PHINode >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__PHINode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::PHINode* var_llvm_PHINode = downcast_llvm_Value_to_llvm_PHINode(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_PHINode), "llvm::Value", "llvm::PHINode");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::PHINode* downcast_llvm_User_to_llvm_PHINode(llvm::User* arg)
{
    return typecast< llvm::PHINode >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__PHINode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::PHINode* var_llvm_PHINode = downcast_llvm_User_to_llvm_PHINode(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_PHINode), "llvm::Value", "llvm::PHINode");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::PHINode* downcast_llvm_Instruction_to_llvm_PHINode(llvm::Instruction* arg)
{
    return typecast< llvm::PHINode >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__PHINode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::PHINode* var_llvm_PHINode = downcast_llvm_Instruction_to_llvm_PHINode(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_PHINode), "llvm::Value", "llvm::PHINode");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::SelectInst* downcast_llvm_Value_to_llvm_SelectInst(llvm::Value* arg)
{
    return typecast< llvm::SelectInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__SelectInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::SelectInst* var_llvm_SelectInst = downcast_llvm_Value_to_llvm_SelectInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_SelectInst), "llvm::Value", "llvm::SelectInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::SelectInst* downcast_llvm_User_to_llvm_SelectInst(llvm::User* arg)
{
    return typecast< llvm::SelectInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__SelectInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::SelectInst* var_llvm_SelectInst = downcast_llvm_User_to_llvm_SelectInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_SelectInst), "llvm::Value", "llvm::SelectInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::SelectInst* downcast_llvm_Instruction_to_llvm_SelectInst(llvm::Instruction* arg)
{
    return typecast< llvm::SelectInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__SelectInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::SelectInst* var_llvm_SelectInst = downcast_llvm_Instruction_to_llvm_SelectInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_SelectInst), "llvm::Value", "llvm::SelectInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ShuffleVectorInst* downcast_llvm_Value_to_llvm_ShuffleVectorInst(llvm::Value* arg)
{
    return typecast< llvm::ShuffleVectorInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ShuffleVectorInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ShuffleVectorInst* var_llvm_ShuffleVectorInst = downcast_llvm_Value_to_llvm_ShuffleVectorInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ShuffleVectorInst), "llvm::Value", "llvm::ShuffleVectorInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ShuffleVectorInst* downcast_llvm_User_to_llvm_ShuffleVectorInst(llvm::User* arg)
{
    return typecast< llvm::ShuffleVectorInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ShuffleVectorInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ShuffleVectorInst* var_llvm_ShuffleVectorInst = downcast_llvm_User_to_llvm_ShuffleVectorInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ShuffleVectorInst), "llvm::Value", "llvm::ShuffleVectorInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ShuffleVectorInst* downcast_llvm_Instruction_to_llvm_ShuffleVectorInst(llvm::Instruction* arg)
{
    return typecast< llvm::ShuffleVectorInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__ShuffleVectorInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::ShuffleVectorInst* var_llvm_ShuffleVectorInst = downcast_llvm_Instruction_to_llvm_ShuffleVectorInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ShuffleVectorInst), "llvm::Value", "llvm::ShuffleVectorInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::StoreInst* downcast_llvm_Value_to_llvm_StoreInst(llvm::Value* arg)
{
    return typecast< llvm::StoreInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__StoreInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::StoreInst* var_llvm_StoreInst = downcast_llvm_Value_to_llvm_StoreInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_StoreInst), "llvm::Value", "llvm::StoreInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::StoreInst* downcast_llvm_User_to_llvm_StoreInst(llvm::User* arg)
{
    return typecast< llvm::StoreInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__StoreInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::StoreInst* var_llvm_StoreInst = downcast_llvm_User_to_llvm_StoreInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_StoreInst), "llvm::Value", "llvm::StoreInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::StoreInst* downcast_llvm_Instruction_to_llvm_StoreInst(llvm::Instruction* arg)
{
    return typecast< llvm::StoreInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__StoreInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::StoreInst* var_llvm_StoreInst = downcast_llvm_Instruction_to_llvm_StoreInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_StoreInst), "llvm::Value", "llvm::StoreInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::TerminatorInst* downcast_llvm_Value_to_llvm_TerminatorInst(llvm::Value* arg)
{
    return typecast< llvm::TerminatorInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__TerminatorInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::TerminatorInst* var_llvm_TerminatorInst = downcast_llvm_Value_to_llvm_TerminatorInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_TerminatorInst), "llvm::Value", "llvm::TerminatorInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::TerminatorInst* downcast_llvm_User_to_llvm_TerminatorInst(llvm::User* arg)
{
    return typecast< llvm::TerminatorInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__TerminatorInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::TerminatorInst* var_llvm_TerminatorInst = downcast_llvm_User_to_llvm_TerminatorInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_TerminatorInst), "llvm::Value", "llvm::TerminatorInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::TerminatorInst* downcast_llvm_Instruction_to_llvm_TerminatorInst(llvm::Instruction* arg)
{
    return typecast< llvm::TerminatorInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__TerminatorInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::TerminatorInst* var_llvm_TerminatorInst = downcast_llvm_Instruction_to_llvm_TerminatorInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_TerminatorInst), "llvm::Value", "llvm::TerminatorInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::UnaryInstruction* downcast_llvm_Value_to_llvm_UnaryInstruction(llvm::Value* arg)
{
    return typecast< llvm::UnaryInstruction >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__UnaryInstruction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::UnaryInstruction* var_llvm_UnaryInstruction = downcast_llvm_Value_to_llvm_UnaryInstruction(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UnaryInstruction), "llvm::Value", "llvm::UnaryInstruction");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::UnaryInstruction* downcast_llvm_User_to_llvm_UnaryInstruction(llvm::User* arg)
{
    return typecast< llvm::UnaryInstruction >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__UnaryInstruction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::UnaryInstruction* var_llvm_UnaryInstruction = downcast_llvm_User_to_llvm_UnaryInstruction(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UnaryInstruction), "llvm::Value", "llvm::UnaryInstruction");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::UnaryInstruction* downcast_llvm_Instruction_to_llvm_UnaryInstruction(llvm::Instruction* arg)
{
    return typecast< llvm::UnaryInstruction >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__UnaryInstruction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::UnaryInstruction* var_llvm_UnaryInstruction = downcast_llvm_Instruction_to_llvm_UnaryInstruction(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UnaryInstruction), "llvm::Value", "llvm::UnaryInstruction");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::IntrinsicInst* downcast_llvm_Value_to_llvm_IntrinsicInst(llvm::Value* arg)
{
    return typecast< llvm::IntrinsicInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__IntrinsicInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::IntrinsicInst* var_llvm_IntrinsicInst = downcast_llvm_Value_to_llvm_IntrinsicInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_IntrinsicInst), "llvm::Value", "llvm::IntrinsicInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::IntrinsicInst* downcast_llvm_User_to_llvm_IntrinsicInst(llvm::User* arg)
{
    return typecast< llvm::IntrinsicInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__IntrinsicInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::IntrinsicInst* var_llvm_IntrinsicInst = downcast_llvm_User_to_llvm_IntrinsicInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_IntrinsicInst), "llvm::Value", "llvm::IntrinsicInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::IntrinsicInst* downcast_llvm_Instruction_to_llvm_IntrinsicInst(llvm::Instruction* arg)
{
    return typecast< llvm::IntrinsicInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__IntrinsicInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::IntrinsicInst* var_llvm_IntrinsicInst = downcast_llvm_Instruction_to_llvm_IntrinsicInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_IntrinsicInst), "llvm::Value", "llvm::IntrinsicInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FCmpInst* downcast_llvm_Value_to_llvm_FCmpInst(llvm::Value* arg)
{
    return typecast< llvm::FCmpInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__FCmpInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::FCmpInst* var_llvm_FCmpInst = downcast_llvm_Value_to_llvm_FCmpInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FCmpInst), "llvm::Value", "llvm::FCmpInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FCmpInst* downcast_llvm_User_to_llvm_FCmpInst(llvm::User* arg)
{
    return typecast< llvm::FCmpInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__FCmpInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::FCmpInst* var_llvm_FCmpInst = downcast_llvm_User_to_llvm_FCmpInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FCmpInst), "llvm::Value", "llvm::FCmpInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FCmpInst* downcast_llvm_Instruction_to_llvm_FCmpInst(llvm::Instruction* arg)
{
    return typecast< llvm::FCmpInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__FCmpInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::FCmpInst* var_llvm_FCmpInst = downcast_llvm_Instruction_to_llvm_FCmpInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FCmpInst), "llvm::Value", "llvm::FCmpInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ICmpInst* downcast_llvm_Value_to_llvm_ICmpInst(llvm::Value* arg)
{
    return typecast< llvm::ICmpInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ICmpInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ICmpInst* var_llvm_ICmpInst = downcast_llvm_Value_to_llvm_ICmpInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ICmpInst), "llvm::Value", "llvm::ICmpInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ICmpInst* downcast_llvm_User_to_llvm_ICmpInst(llvm::User* arg)
{
    return typecast< llvm::ICmpInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ICmpInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ICmpInst* var_llvm_ICmpInst = downcast_llvm_User_to_llvm_ICmpInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ICmpInst), "llvm::Value", "llvm::ICmpInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ICmpInst* downcast_llvm_Instruction_to_llvm_ICmpInst(llvm::Instruction* arg)
{
    return typecast< llvm::ICmpInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__ICmpInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::ICmpInst* var_llvm_ICmpInst = downcast_llvm_Instruction_to_llvm_ICmpInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ICmpInst), "llvm::Value", "llvm::ICmpInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BranchInst* downcast_llvm_Value_to_llvm_BranchInst(llvm::Value* arg)
{
    return typecast< llvm::BranchInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__BranchInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::BranchInst* var_llvm_BranchInst = downcast_llvm_Value_to_llvm_BranchInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BranchInst), "llvm::Value", "llvm::BranchInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BranchInst* downcast_llvm_User_to_llvm_BranchInst(llvm::User* arg)
{
    return typecast< llvm::BranchInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__BranchInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::BranchInst* var_llvm_BranchInst = downcast_llvm_User_to_llvm_BranchInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BranchInst), "llvm::Value", "llvm::BranchInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BranchInst* downcast_llvm_Instruction_to_llvm_BranchInst(llvm::Instruction* arg)
{
    return typecast< llvm::BranchInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__BranchInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::BranchInst* var_llvm_BranchInst = downcast_llvm_Instruction_to_llvm_BranchInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BranchInst), "llvm::Value", "llvm::BranchInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::IndirectBrInst* downcast_llvm_Value_to_llvm_IndirectBrInst(llvm::Value* arg)
{
    return typecast< llvm::IndirectBrInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__IndirectBrInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::IndirectBrInst* var_llvm_IndirectBrInst = downcast_llvm_Value_to_llvm_IndirectBrInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_IndirectBrInst), "llvm::Value", "llvm::IndirectBrInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::IndirectBrInst* downcast_llvm_User_to_llvm_IndirectBrInst(llvm::User* arg)
{
    return typecast< llvm::IndirectBrInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__IndirectBrInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::IndirectBrInst* var_llvm_IndirectBrInst = downcast_llvm_User_to_llvm_IndirectBrInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_IndirectBrInst), "llvm::Value", "llvm::IndirectBrInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::IndirectBrInst* downcast_llvm_Instruction_to_llvm_IndirectBrInst(llvm::Instruction* arg)
{
    return typecast< llvm::IndirectBrInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__IndirectBrInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::IndirectBrInst* var_llvm_IndirectBrInst = downcast_llvm_Instruction_to_llvm_IndirectBrInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_IndirectBrInst), "llvm::Value", "llvm::IndirectBrInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::InvokeInst* downcast_llvm_Value_to_llvm_InvokeInst(llvm::Value* arg)
{
    return typecast< llvm::InvokeInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__InvokeInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = downcast_llvm_Value_to_llvm_InvokeInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InvokeInst), "llvm::Value", "llvm::InvokeInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::InvokeInst* downcast_llvm_User_to_llvm_InvokeInst(llvm::User* arg)
{
    return typecast< llvm::InvokeInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__InvokeInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = downcast_llvm_User_to_llvm_InvokeInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InvokeInst), "llvm::Value", "llvm::InvokeInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::InvokeInst* downcast_llvm_Instruction_to_llvm_InvokeInst(llvm::Instruction* arg)
{
    return typecast< llvm::InvokeInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__InvokeInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = downcast_llvm_Instruction_to_llvm_InvokeInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InvokeInst), "llvm::Value", "llvm::InvokeInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ResumeInst* downcast_llvm_Value_to_llvm_ResumeInst(llvm::Value* arg)
{
    return typecast< llvm::ResumeInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ResumeInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ResumeInst* var_llvm_ResumeInst = downcast_llvm_Value_to_llvm_ResumeInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ResumeInst), "llvm::Value", "llvm::ResumeInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ResumeInst* downcast_llvm_User_to_llvm_ResumeInst(llvm::User* arg)
{
    return typecast< llvm::ResumeInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ResumeInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ResumeInst* var_llvm_ResumeInst = downcast_llvm_User_to_llvm_ResumeInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ResumeInst), "llvm::Value", "llvm::ResumeInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ResumeInst* downcast_llvm_Instruction_to_llvm_ResumeInst(llvm::Instruction* arg)
{
    return typecast< llvm::ResumeInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__ResumeInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::ResumeInst* var_llvm_ResumeInst = downcast_llvm_Instruction_to_llvm_ResumeInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ResumeInst), "llvm::Value", "llvm::ResumeInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ReturnInst* downcast_llvm_Value_to_llvm_ReturnInst(llvm::Value* arg)
{
    return typecast< llvm::ReturnInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ReturnInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ReturnInst* var_llvm_ReturnInst = downcast_llvm_Value_to_llvm_ReturnInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ReturnInst), "llvm::Value", "llvm::ReturnInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ReturnInst* downcast_llvm_TerminatorInst_to_llvm_ReturnInst(llvm::TerminatorInst* arg)
{
    return typecast< llvm::ReturnInst >::from(arg);
}

static
PyObject*
__downcast__llvm__TerminatorInst__to__llvm__ReturnInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TerminatorInst* var_llvm_TerminatorInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::TerminatorInst* var_llvm_TerminatorInst1 = unwrap_as<llvm::TerminatorInst, llvm::Value >::from(var_void);
        if(!var_llvm_TerminatorInst1)
        {
            return NULL;
        }
        var_llvm_TerminatorInst = var_llvm_TerminatorInst1;
    }
    llvm::ReturnInst* var_llvm_ReturnInst = downcast_llvm_TerminatorInst_to_llvm_ReturnInst(var_llvm_TerminatorInst);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ReturnInst), "llvm::Value", "llvm::ReturnInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ReturnInst* downcast_llvm_User_to_llvm_ReturnInst(llvm::User* arg)
{
    return typecast< llvm::ReturnInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ReturnInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ReturnInst* var_llvm_ReturnInst = downcast_llvm_User_to_llvm_ReturnInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ReturnInst), "llvm::Value", "llvm::ReturnInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ReturnInst* downcast_llvm_Instruction_to_llvm_ReturnInst(llvm::Instruction* arg)
{
    return typecast< llvm::ReturnInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__ReturnInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::ReturnInst* var_llvm_ReturnInst = downcast_llvm_Instruction_to_llvm_ReturnInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ReturnInst), "llvm::Value", "llvm::ReturnInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::SwitchInst* downcast_llvm_Value_to_llvm_SwitchInst(llvm::Value* arg)
{
    return typecast< llvm::SwitchInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__SwitchInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::SwitchInst* var_llvm_SwitchInst = downcast_llvm_Value_to_llvm_SwitchInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_SwitchInst), "llvm::Value", "llvm::SwitchInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::SwitchInst* downcast_llvm_User_to_llvm_SwitchInst(llvm::User* arg)
{
    return typecast< llvm::SwitchInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__SwitchInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::SwitchInst* var_llvm_SwitchInst = downcast_llvm_User_to_llvm_SwitchInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_SwitchInst), "llvm::Value", "llvm::SwitchInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::SwitchInst* downcast_llvm_Instruction_to_llvm_SwitchInst(llvm::Instruction* arg)
{
    return typecast< llvm::SwitchInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__SwitchInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::SwitchInst* var_llvm_SwitchInst = downcast_llvm_Instruction_to_llvm_SwitchInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_SwitchInst), "llvm::Value", "llvm::SwitchInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::UnreachableInst* downcast_llvm_Value_to_llvm_UnreachableInst(llvm::Value* arg)
{
    return typecast< llvm::UnreachableInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__UnreachableInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::UnreachableInst* var_llvm_UnreachableInst = downcast_llvm_Value_to_llvm_UnreachableInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UnreachableInst), "llvm::Value", "llvm::UnreachableInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::UnreachableInst* downcast_llvm_User_to_llvm_UnreachableInst(llvm::User* arg)
{
    return typecast< llvm::UnreachableInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__UnreachableInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::UnreachableInst* var_llvm_UnreachableInst = downcast_llvm_User_to_llvm_UnreachableInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UnreachableInst), "llvm::Value", "llvm::UnreachableInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::UnreachableInst* downcast_llvm_Instruction_to_llvm_UnreachableInst(llvm::Instruction* arg)
{
    return typecast< llvm::UnreachableInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__UnreachableInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::UnreachableInst* var_llvm_UnreachableInst = downcast_llvm_Instruction_to_llvm_UnreachableInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UnreachableInst), "llvm::Value", "llvm::UnreachableInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::AllocaInst* downcast_llvm_Value_to_llvm_AllocaInst(llvm::Value* arg)
{
    return typecast< llvm::AllocaInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__AllocaInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::AllocaInst* var_llvm_AllocaInst = downcast_llvm_Value_to_llvm_AllocaInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AllocaInst), "llvm::Value", "llvm::AllocaInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::AllocaInst* downcast_llvm_User_to_llvm_AllocaInst(llvm::User* arg)
{
    return typecast< llvm::AllocaInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__AllocaInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::AllocaInst* var_llvm_AllocaInst = downcast_llvm_User_to_llvm_AllocaInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AllocaInst), "llvm::Value", "llvm::AllocaInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::AllocaInst* downcast_llvm_Instruction_to_llvm_AllocaInst(llvm::Instruction* arg)
{
    return typecast< llvm::AllocaInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__AllocaInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::AllocaInst* var_llvm_AllocaInst = downcast_llvm_Instruction_to_llvm_AllocaInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AllocaInst), "llvm::Value", "llvm::AllocaInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CastInst* downcast_llvm_Value_to_llvm_CastInst(llvm::Value* arg)
{
    return typecast< llvm::CastInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__CastInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::CastInst* var_llvm_CastInst = downcast_llvm_Value_to_llvm_CastInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CastInst), "llvm::Value", "llvm::CastInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CastInst* downcast_llvm_User_to_llvm_CastInst(llvm::User* arg)
{
    return typecast< llvm::CastInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__CastInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::CastInst* var_llvm_CastInst = downcast_llvm_User_to_llvm_CastInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CastInst), "llvm::Value", "llvm::CastInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::CastInst* downcast_llvm_Instruction_to_llvm_CastInst(llvm::Instruction* arg)
{
    return typecast< llvm::CastInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__CastInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::CastInst* var_llvm_CastInst = downcast_llvm_Instruction_to_llvm_CastInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CastInst), "llvm::Value", "llvm::CastInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ExtractValueInst* downcast_llvm_Value_to_llvm_ExtractValueInst(llvm::Value* arg)
{
    return typecast< llvm::ExtractValueInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__ExtractValueInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ExtractValueInst* var_llvm_ExtractValueInst = downcast_llvm_Value_to_llvm_ExtractValueInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ExtractValueInst), "llvm::Value", "llvm::ExtractValueInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ExtractValueInst* downcast_llvm_User_to_llvm_ExtractValueInst(llvm::User* arg)
{
    return typecast< llvm::ExtractValueInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__ExtractValueInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::ExtractValueInst* var_llvm_ExtractValueInst = downcast_llvm_User_to_llvm_ExtractValueInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ExtractValueInst), "llvm::Value", "llvm::ExtractValueInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::ExtractValueInst* downcast_llvm_Instruction_to_llvm_ExtractValueInst(llvm::Instruction* arg)
{
    return typecast< llvm::ExtractValueInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__ExtractValueInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::ExtractValueInst* var_llvm_ExtractValueInst = downcast_llvm_Instruction_to_llvm_ExtractValueInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ExtractValueInst), "llvm::Value", "llvm::ExtractValueInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::LoadInst* downcast_llvm_Value_to_llvm_LoadInst(llvm::Value* arg)
{
    return typecast< llvm::LoadInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__LoadInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::LoadInst* var_llvm_LoadInst = downcast_llvm_Value_to_llvm_LoadInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LoadInst), "llvm::Value", "llvm::LoadInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::LoadInst* downcast_llvm_User_to_llvm_LoadInst(llvm::User* arg)
{
    return typecast< llvm::LoadInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__LoadInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::LoadInst* var_llvm_LoadInst = downcast_llvm_User_to_llvm_LoadInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LoadInst), "llvm::Value", "llvm::LoadInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::LoadInst* downcast_llvm_Instruction_to_llvm_LoadInst(llvm::Instruction* arg)
{
    return typecast< llvm::LoadInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__LoadInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::LoadInst* var_llvm_LoadInst = downcast_llvm_Instruction_to_llvm_LoadInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LoadInst), "llvm::Value", "llvm::LoadInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VAArgInst* downcast_llvm_Value_to_llvm_VAArgInst(llvm::Value* arg)
{
    return typecast< llvm::VAArgInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__VAArgInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::VAArgInst* var_llvm_VAArgInst = downcast_llvm_Value_to_llvm_VAArgInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAArgInst), "llvm::Value", "llvm::VAArgInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VAArgInst* downcast_llvm_User_to_llvm_VAArgInst(llvm::User* arg)
{
    return typecast< llvm::VAArgInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__VAArgInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::VAArgInst* var_llvm_VAArgInst = downcast_llvm_User_to_llvm_VAArgInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAArgInst), "llvm::Value", "llvm::VAArgInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VAArgInst* downcast_llvm_Instruction_to_llvm_VAArgInst(llvm::Instruction* arg)
{
    return typecast< llvm::VAArgInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__VAArgInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::VAArgInst* var_llvm_VAArgInst = downcast_llvm_Instruction_to_llvm_VAArgInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAArgInst), "llvm::Value", "llvm::VAArgInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::DbgInfoIntrinsic* downcast_llvm_Value_to_llvm_DbgInfoIntrinsic(llvm::Value* arg)
{
    return typecast< llvm::DbgInfoIntrinsic >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__DbgInfoIntrinsic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::DbgInfoIntrinsic* var_llvm_DbgInfoIntrinsic = downcast_llvm_Value_to_llvm_DbgInfoIntrinsic(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_DbgInfoIntrinsic), "llvm::Value", "llvm::DbgInfoIntrinsic");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::DbgInfoIntrinsic* downcast_llvm_User_to_llvm_DbgInfoIntrinsic(llvm::User* arg)
{
    return typecast< llvm::DbgInfoIntrinsic >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__DbgInfoIntrinsic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::DbgInfoIntrinsic* var_llvm_DbgInfoIntrinsic = downcast_llvm_User_to_llvm_DbgInfoIntrinsic(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_DbgInfoIntrinsic), "llvm::Value", "llvm::DbgInfoIntrinsic");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::DbgInfoIntrinsic* downcast_llvm_Instruction_to_llvm_DbgInfoIntrinsic(llvm::Instruction* arg)
{
    return typecast< llvm::DbgInfoIntrinsic >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__DbgInfoIntrinsic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::DbgInfoIntrinsic* var_llvm_DbgInfoIntrinsic = downcast_llvm_Instruction_to_llvm_DbgInfoIntrinsic(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_DbgInfoIntrinsic), "llvm::Value", "llvm::DbgInfoIntrinsic");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::MemIntrinsic* downcast_llvm_Value_to_llvm_MemIntrinsic(llvm::Value* arg)
{
    return typecast< llvm::MemIntrinsic >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__MemIntrinsic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::MemIntrinsic* var_llvm_MemIntrinsic = downcast_llvm_Value_to_llvm_MemIntrinsic(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_MemIntrinsic), "llvm::Value", "llvm::MemIntrinsic");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::MemIntrinsic* downcast_llvm_User_to_llvm_MemIntrinsic(llvm::User* arg)
{
    return typecast< llvm::MemIntrinsic >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__MemIntrinsic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::MemIntrinsic* var_llvm_MemIntrinsic = downcast_llvm_User_to_llvm_MemIntrinsic(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_MemIntrinsic), "llvm::Value", "llvm::MemIntrinsic");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::MemIntrinsic* downcast_llvm_Instruction_to_llvm_MemIntrinsic(llvm::Instruction* arg)
{
    return typecast< llvm::MemIntrinsic >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__MemIntrinsic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::MemIntrinsic* var_llvm_MemIntrinsic = downcast_llvm_Instruction_to_llvm_MemIntrinsic(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_MemIntrinsic), "llvm::Value", "llvm::MemIntrinsic");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VACopyInst* downcast_llvm_Value_to_llvm_VACopyInst(llvm::Value* arg)
{
    return typecast< llvm::VACopyInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__VACopyInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::VACopyInst* var_llvm_VACopyInst = downcast_llvm_Value_to_llvm_VACopyInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VACopyInst), "llvm::Value", "llvm::VACopyInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VACopyInst* downcast_llvm_User_to_llvm_VACopyInst(llvm::User* arg)
{
    return typecast< llvm::VACopyInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__VACopyInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::VACopyInst* var_llvm_VACopyInst = downcast_llvm_User_to_llvm_VACopyInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VACopyInst), "llvm::Value", "llvm::VACopyInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VACopyInst* downcast_llvm_Instruction_to_llvm_VACopyInst(llvm::Instruction* arg)
{
    return typecast< llvm::VACopyInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__VACopyInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::VACopyInst* var_llvm_VACopyInst = downcast_llvm_Instruction_to_llvm_VACopyInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VACopyInst), "llvm::Value", "llvm::VACopyInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VAEndInst* downcast_llvm_Value_to_llvm_VAEndInst(llvm::Value* arg)
{
    return typecast< llvm::VAEndInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__VAEndInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::VAEndInst* var_llvm_VAEndInst = downcast_llvm_Value_to_llvm_VAEndInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAEndInst), "llvm::Value", "llvm::VAEndInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VAEndInst* downcast_llvm_User_to_llvm_VAEndInst(llvm::User* arg)
{
    return typecast< llvm::VAEndInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__VAEndInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::VAEndInst* var_llvm_VAEndInst = downcast_llvm_User_to_llvm_VAEndInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAEndInst), "llvm::Value", "llvm::VAEndInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VAEndInst* downcast_llvm_Instruction_to_llvm_VAEndInst(llvm::Instruction* arg)
{
    return typecast< llvm::VAEndInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__VAEndInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::VAEndInst* var_llvm_VAEndInst = downcast_llvm_Instruction_to_llvm_VAEndInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAEndInst), "llvm::Value", "llvm::VAEndInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VAStartInst* downcast_llvm_Value_to_llvm_VAStartInst(llvm::Value* arg)
{
    return typecast< llvm::VAStartInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__VAStartInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::VAStartInst* var_llvm_VAStartInst = downcast_llvm_Value_to_llvm_VAStartInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAStartInst), "llvm::Value", "llvm::VAStartInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VAStartInst* downcast_llvm_User_to_llvm_VAStartInst(llvm::User* arg)
{
    return typecast< llvm::VAStartInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__VAStartInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::VAStartInst* var_llvm_VAStartInst = downcast_llvm_User_to_llvm_VAStartInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAStartInst), "llvm::Value", "llvm::VAStartInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::VAStartInst* downcast_llvm_Instruction_to_llvm_VAStartInst(llvm::Instruction* arg)
{
    return typecast< llvm::VAStartInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__VAStartInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::VAStartInst* var_llvm_VAStartInst = downcast_llvm_Instruction_to_llvm_VAStartInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAStartInst), "llvm::Value", "llvm::VAStartInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BitCastInst* downcast_llvm_Value_to_llvm_BitCastInst(llvm::Value* arg)
{
    return typecast< llvm::BitCastInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__BitCastInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::BitCastInst* var_llvm_BitCastInst = downcast_llvm_Value_to_llvm_BitCastInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BitCastInst), "llvm::Value", "llvm::BitCastInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BitCastInst* downcast_llvm_User_to_llvm_BitCastInst(llvm::User* arg)
{
    return typecast< llvm::BitCastInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__BitCastInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::BitCastInst* var_llvm_BitCastInst = downcast_llvm_User_to_llvm_BitCastInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BitCastInst), "llvm::Value", "llvm::BitCastInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::BitCastInst* downcast_llvm_Instruction_to_llvm_BitCastInst(llvm::Instruction* arg)
{
    return typecast< llvm::BitCastInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__BitCastInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::BitCastInst* var_llvm_BitCastInst = downcast_llvm_Instruction_to_llvm_BitCastInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BitCastInst), "llvm::Value", "llvm::BitCastInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPExtInst* downcast_llvm_Value_to_llvm_FPExtInst(llvm::Value* arg)
{
    return typecast< llvm::FPExtInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__FPExtInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::FPExtInst* var_llvm_FPExtInst = downcast_llvm_Value_to_llvm_FPExtInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPExtInst), "llvm::Value", "llvm::FPExtInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPExtInst* downcast_llvm_User_to_llvm_FPExtInst(llvm::User* arg)
{
    return typecast< llvm::FPExtInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__FPExtInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::FPExtInst* var_llvm_FPExtInst = downcast_llvm_User_to_llvm_FPExtInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPExtInst), "llvm::Value", "llvm::FPExtInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPExtInst* downcast_llvm_Instruction_to_llvm_FPExtInst(llvm::Instruction* arg)
{
    return typecast< llvm::FPExtInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__FPExtInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::FPExtInst* var_llvm_FPExtInst = downcast_llvm_Instruction_to_llvm_FPExtInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPExtInst), "llvm::Value", "llvm::FPExtInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPToSIInst* downcast_llvm_Value_to_llvm_FPToSIInst(llvm::Value* arg)
{
    return typecast< llvm::FPToSIInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__FPToSIInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::FPToSIInst* var_llvm_FPToSIInst = downcast_llvm_Value_to_llvm_FPToSIInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPToSIInst), "llvm::Value", "llvm::FPToSIInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPToSIInst* downcast_llvm_User_to_llvm_FPToSIInst(llvm::User* arg)
{
    return typecast< llvm::FPToSIInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__FPToSIInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::FPToSIInst* var_llvm_FPToSIInst = downcast_llvm_User_to_llvm_FPToSIInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPToSIInst), "llvm::Value", "llvm::FPToSIInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPToSIInst* downcast_llvm_Instruction_to_llvm_FPToSIInst(llvm::Instruction* arg)
{
    return typecast< llvm::FPToSIInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__FPToSIInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::FPToSIInst* var_llvm_FPToSIInst = downcast_llvm_Instruction_to_llvm_FPToSIInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPToSIInst), "llvm::Value", "llvm::FPToSIInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPToUIInst* downcast_llvm_Value_to_llvm_FPToUIInst(llvm::Value* arg)
{
    return typecast< llvm::FPToUIInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__FPToUIInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::FPToUIInst* var_llvm_FPToUIInst = downcast_llvm_Value_to_llvm_FPToUIInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPToUIInst), "llvm::Value", "llvm::FPToUIInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPToUIInst* downcast_llvm_User_to_llvm_FPToUIInst(llvm::User* arg)
{
    return typecast< llvm::FPToUIInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__FPToUIInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::FPToUIInst* var_llvm_FPToUIInst = downcast_llvm_User_to_llvm_FPToUIInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPToUIInst), "llvm::Value", "llvm::FPToUIInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPToUIInst* downcast_llvm_Instruction_to_llvm_FPToUIInst(llvm::Instruction* arg)
{
    return typecast< llvm::FPToUIInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__FPToUIInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::FPToUIInst* var_llvm_FPToUIInst = downcast_llvm_Instruction_to_llvm_FPToUIInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPToUIInst), "llvm::Value", "llvm::FPToUIInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPTruncInst* downcast_llvm_Value_to_llvm_FPTruncInst(llvm::Value* arg)
{
    return typecast< llvm::FPTruncInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Value__to__llvm__FPTruncInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::FPTruncInst* var_llvm_FPTruncInst = downcast_llvm_Value_to_llvm_FPTruncInst(var_llvm_Value);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPTruncInst), "llvm::Value", "llvm::FPTruncInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPTruncInst* downcast_llvm_User_to_llvm_FPTruncInst(llvm::User* arg)
{
    return typecast< llvm::FPTruncInst >::from(arg);
}

static
PyObject*
__downcast__llvm__User__to__llvm__FPTruncInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    llvm::FPTruncInst* var_llvm_FPTruncInst = downcast_llvm_User_to_llvm_FPTruncInst(var_llvm_User);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPTruncInst), "llvm::Value", "llvm::FPTruncInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FPTruncInst* downcast_llvm_Instruction_to_llvm_FPTruncInst(llvm::Instruction* arg)
{
    return typecast< llvm::FPTruncInst >::from(arg);
}

static
PyObject*
__downcast__llvm__Instruction__to__llvm__FPTruncInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::FPTruncInst* var_llvm_FPTruncInst = downcast_llvm_Instruction_to_llvm_FPTruncInst(var_llvm_Instruction);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FPTruncInst), "llvm::Value", "llvm::FPTruncInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}


static
llvm::FunctionType* downcast_llvm_Type_to_llvm_FunctionType(llvm::Type* arg)
{
    return typecast< llvm::FunctionType >::from(arg);
}

static
PyObject*
__downcast__llvm__Type__to__llvm__FunctionType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::FunctionType* var_llvm_FunctionType = downcast_llvm_Type_to_llvm_FunctionType(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_FunctionType), "llvm::Type", "llvm::FunctionType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef downcast_methodtable[] = {
{ "downcast_llvm_Value_to_llvm_Argument", (PyCFunction)__downcast__llvm__Value__to__llvm__Argument, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_MDNode", (PyCFunction)__downcast__llvm__Value__to__llvm__MDNode, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_MDString", (PyCFunction)__downcast__llvm__Value__to__llvm__MDString, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_User", (PyCFunction)__downcast__llvm__Value__to__llvm__User, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_BasicBlock", (PyCFunction)__downcast__llvm__Value__to__llvm__BasicBlock, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_Constant", (PyCFunction)__downcast__llvm__Value__to__llvm__Constant, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_Constant", (PyCFunction)__downcast__llvm__User__to__llvm__Constant, METH_VARARGS, NULL },
{ "downcast_llvm_GlobalValue_to_llvm_Function", (PyCFunction)__downcast__llvm__GlobalValue__to__llvm__Function, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_Function", (PyCFunction)__downcast__llvm__Value__to__llvm__Function, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_Function", (PyCFunction)__downcast__llvm__Constant__to__llvm__Function, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_ConstantInt", (PyCFunction)__downcast__llvm__Constant__to__llvm__ConstantInt, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ConstantInt", (PyCFunction)__downcast__llvm__User__to__llvm__ConstantInt, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ConstantInt", (PyCFunction)__downcast__llvm__Value__to__llvm__ConstantInt, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_ConstantFP", (PyCFunction)__downcast__llvm__Constant__to__llvm__ConstantFP, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ConstantFP", (PyCFunction)__downcast__llvm__User__to__llvm__ConstantFP, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ConstantFP", (PyCFunction)__downcast__llvm__Value__to__llvm__ConstantFP, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_ConstantArray", (PyCFunction)__downcast__llvm__Constant__to__llvm__ConstantArray, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ConstantArray", (PyCFunction)__downcast__llvm__User__to__llvm__ConstantArray, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ConstantArray", (PyCFunction)__downcast__llvm__Value__to__llvm__ConstantArray, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_ConstantStruct", (PyCFunction)__downcast__llvm__Constant__to__llvm__ConstantStruct, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ConstantStruct", (PyCFunction)__downcast__llvm__User__to__llvm__ConstantStruct, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ConstantStruct", (PyCFunction)__downcast__llvm__Value__to__llvm__ConstantStruct, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_ConstantVector", (PyCFunction)__downcast__llvm__Constant__to__llvm__ConstantVector, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ConstantVector", (PyCFunction)__downcast__llvm__User__to__llvm__ConstantVector, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ConstantVector", (PyCFunction)__downcast__llvm__Value__to__llvm__ConstantVector, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_ConstantDataSequential", (PyCFunction)__downcast__llvm__Constant__to__llvm__ConstantDataSequential, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ConstantDataSequential", (PyCFunction)__downcast__llvm__User__to__llvm__ConstantDataSequential, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ConstantDataSequential", (PyCFunction)__downcast__llvm__Value__to__llvm__ConstantDataSequential, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_ConstantDataArray", (PyCFunction)__downcast__llvm__Constant__to__llvm__ConstantDataArray, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ConstantDataArray", (PyCFunction)__downcast__llvm__User__to__llvm__ConstantDataArray, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ConstantDataArray", (PyCFunction)__downcast__llvm__Value__to__llvm__ConstantDataArray, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_ConstantExpr", (PyCFunction)__downcast__llvm__Constant__to__llvm__ConstantExpr, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ConstantExpr", (PyCFunction)__downcast__llvm__User__to__llvm__ConstantExpr, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ConstantExpr", (PyCFunction)__downcast__llvm__Value__to__llvm__ConstantExpr, METH_VARARGS, NULL },
{ "downcast_llvm_Type_to_llvm_IntegerType", (PyCFunction)__downcast__llvm__Type__to__llvm__IntegerType, METH_VARARGS, NULL },
{ "downcast_llvm_Type_to_llvm_CompositeType", (PyCFunction)__downcast__llvm__Type__to__llvm__CompositeType, METH_VARARGS, NULL },
{ "downcast_llvm_Type_to_llvm_StructType", (PyCFunction)__downcast__llvm__Type__to__llvm__StructType, METH_VARARGS, NULL },
{ "downcast_llvm_Type_to_llvm_SequentialType", (PyCFunction)__downcast__llvm__Type__to__llvm__SequentialType, METH_VARARGS, NULL },
{ "downcast_llvm_Type_to_llvm_ArrayType", (PyCFunction)__downcast__llvm__Type__to__llvm__ArrayType, METH_VARARGS, NULL },
{ "downcast_llvm_Type_to_llvm_PointerType", (PyCFunction)__downcast__llvm__Type__to__llvm__PointerType, METH_VARARGS, NULL },
{ "downcast_llvm_Type_to_llvm_VectorType", (PyCFunction)__downcast__llvm__Type__to__llvm__VectorType, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_GlobalVariable", (PyCFunction)__downcast__llvm__Value__to__llvm__GlobalVariable, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_GlobalVariable", (PyCFunction)__downcast__llvm__User__to__llvm__GlobalVariable, METH_VARARGS, NULL },
{ "downcast_llvm_Constant_to_llvm_GlobalVariable", (PyCFunction)__downcast__llvm__Constant__to__llvm__GlobalVariable, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_Instruction", (PyCFunction)__downcast__llvm__Value__to__llvm__Instruction, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_Instruction", (PyCFunction)__downcast__llvm__User__to__llvm__Instruction, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_AtomicCmpXchgInst", (PyCFunction)__downcast__llvm__Value__to__llvm__AtomicCmpXchgInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_AtomicCmpXchgInst", (PyCFunction)__downcast__llvm__User__to__llvm__AtomicCmpXchgInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_AtomicCmpXchgInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__AtomicCmpXchgInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_AtomicRMWInst", (PyCFunction)__downcast__llvm__Value__to__llvm__AtomicRMWInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_AtomicRMWInst", (PyCFunction)__downcast__llvm__User__to__llvm__AtomicRMWInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_AtomicRMWInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__AtomicRMWInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_BinaryOperator", (PyCFunction)__downcast__llvm__Value__to__llvm__BinaryOperator, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_BinaryOperator", (PyCFunction)__downcast__llvm__User__to__llvm__BinaryOperator, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_BinaryOperator", (PyCFunction)__downcast__llvm__Instruction__to__llvm__BinaryOperator, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_CallInst", (PyCFunction)__downcast__llvm__Value__to__llvm__CallInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_CallInst", (PyCFunction)__downcast__llvm__User__to__llvm__CallInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_CallInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__CallInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_CmpInst", (PyCFunction)__downcast__llvm__Value__to__llvm__CmpInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_CmpInst", (PyCFunction)__downcast__llvm__User__to__llvm__CmpInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_CmpInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__CmpInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ExtractElementInst", (PyCFunction)__downcast__llvm__Value__to__llvm__ExtractElementInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ExtractElementInst", (PyCFunction)__downcast__llvm__User__to__llvm__ExtractElementInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_ExtractElementInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__ExtractElementInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_FenceInst", (PyCFunction)__downcast__llvm__Value__to__llvm__FenceInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_FenceInst", (PyCFunction)__downcast__llvm__User__to__llvm__FenceInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_FenceInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__FenceInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_GetElementPtrInst", (PyCFunction)__downcast__llvm__Value__to__llvm__GetElementPtrInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_GetElementPtrInst", (PyCFunction)__downcast__llvm__User__to__llvm__GetElementPtrInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_GetElementPtrInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__GetElementPtrInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_InsertElementInst", (PyCFunction)__downcast__llvm__Value__to__llvm__InsertElementInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_InsertElementInst", (PyCFunction)__downcast__llvm__User__to__llvm__InsertElementInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_InsertElementInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__InsertElementInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_InsertValueInst", (PyCFunction)__downcast__llvm__Value__to__llvm__InsertValueInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_InsertValueInst", (PyCFunction)__downcast__llvm__User__to__llvm__InsertValueInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_InsertValueInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__InsertValueInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_LandingPadInst", (PyCFunction)__downcast__llvm__Value__to__llvm__LandingPadInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_LandingPadInst", (PyCFunction)__downcast__llvm__User__to__llvm__LandingPadInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_LandingPadInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__LandingPadInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_PHINode", (PyCFunction)__downcast__llvm__Value__to__llvm__PHINode, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_PHINode", (PyCFunction)__downcast__llvm__User__to__llvm__PHINode, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_PHINode", (PyCFunction)__downcast__llvm__Instruction__to__llvm__PHINode, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_SelectInst", (PyCFunction)__downcast__llvm__Value__to__llvm__SelectInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_SelectInst", (PyCFunction)__downcast__llvm__User__to__llvm__SelectInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_SelectInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__SelectInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ShuffleVectorInst", (PyCFunction)__downcast__llvm__Value__to__llvm__ShuffleVectorInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ShuffleVectorInst", (PyCFunction)__downcast__llvm__User__to__llvm__ShuffleVectorInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_ShuffleVectorInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__ShuffleVectorInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_StoreInst", (PyCFunction)__downcast__llvm__Value__to__llvm__StoreInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_StoreInst", (PyCFunction)__downcast__llvm__User__to__llvm__StoreInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_StoreInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__StoreInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_TerminatorInst", (PyCFunction)__downcast__llvm__Value__to__llvm__TerminatorInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_TerminatorInst", (PyCFunction)__downcast__llvm__User__to__llvm__TerminatorInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_TerminatorInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__TerminatorInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_UnaryInstruction", (PyCFunction)__downcast__llvm__Value__to__llvm__UnaryInstruction, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_UnaryInstruction", (PyCFunction)__downcast__llvm__User__to__llvm__UnaryInstruction, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_UnaryInstruction", (PyCFunction)__downcast__llvm__Instruction__to__llvm__UnaryInstruction, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_IntrinsicInst", (PyCFunction)__downcast__llvm__Value__to__llvm__IntrinsicInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_IntrinsicInst", (PyCFunction)__downcast__llvm__User__to__llvm__IntrinsicInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_IntrinsicInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__IntrinsicInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_FCmpInst", (PyCFunction)__downcast__llvm__Value__to__llvm__FCmpInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_FCmpInst", (PyCFunction)__downcast__llvm__User__to__llvm__FCmpInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_FCmpInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__FCmpInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ICmpInst", (PyCFunction)__downcast__llvm__Value__to__llvm__ICmpInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ICmpInst", (PyCFunction)__downcast__llvm__User__to__llvm__ICmpInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_ICmpInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__ICmpInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_BranchInst", (PyCFunction)__downcast__llvm__Value__to__llvm__BranchInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_BranchInst", (PyCFunction)__downcast__llvm__User__to__llvm__BranchInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_BranchInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__BranchInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_IndirectBrInst", (PyCFunction)__downcast__llvm__Value__to__llvm__IndirectBrInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_IndirectBrInst", (PyCFunction)__downcast__llvm__User__to__llvm__IndirectBrInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_IndirectBrInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__IndirectBrInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_InvokeInst", (PyCFunction)__downcast__llvm__Value__to__llvm__InvokeInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_InvokeInst", (PyCFunction)__downcast__llvm__User__to__llvm__InvokeInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_InvokeInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__InvokeInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ResumeInst", (PyCFunction)__downcast__llvm__Value__to__llvm__ResumeInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ResumeInst", (PyCFunction)__downcast__llvm__User__to__llvm__ResumeInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_ResumeInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__ResumeInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ReturnInst", (PyCFunction)__downcast__llvm__Value__to__llvm__ReturnInst, METH_VARARGS, NULL },
{ "downcast_llvm_TerminatorInst_to_llvm_ReturnInst", (PyCFunction)__downcast__llvm__TerminatorInst__to__llvm__ReturnInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ReturnInst", (PyCFunction)__downcast__llvm__User__to__llvm__ReturnInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_ReturnInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__ReturnInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_SwitchInst", (PyCFunction)__downcast__llvm__Value__to__llvm__SwitchInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_SwitchInst", (PyCFunction)__downcast__llvm__User__to__llvm__SwitchInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_SwitchInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__SwitchInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_UnreachableInst", (PyCFunction)__downcast__llvm__Value__to__llvm__UnreachableInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_UnreachableInst", (PyCFunction)__downcast__llvm__User__to__llvm__UnreachableInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_UnreachableInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__UnreachableInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_AllocaInst", (PyCFunction)__downcast__llvm__Value__to__llvm__AllocaInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_AllocaInst", (PyCFunction)__downcast__llvm__User__to__llvm__AllocaInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_AllocaInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__AllocaInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_CastInst", (PyCFunction)__downcast__llvm__Value__to__llvm__CastInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_CastInst", (PyCFunction)__downcast__llvm__User__to__llvm__CastInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_CastInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__CastInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_ExtractValueInst", (PyCFunction)__downcast__llvm__Value__to__llvm__ExtractValueInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_ExtractValueInst", (PyCFunction)__downcast__llvm__User__to__llvm__ExtractValueInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_ExtractValueInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__ExtractValueInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_LoadInst", (PyCFunction)__downcast__llvm__Value__to__llvm__LoadInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_LoadInst", (PyCFunction)__downcast__llvm__User__to__llvm__LoadInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_LoadInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__LoadInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_VAArgInst", (PyCFunction)__downcast__llvm__Value__to__llvm__VAArgInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_VAArgInst", (PyCFunction)__downcast__llvm__User__to__llvm__VAArgInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_VAArgInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__VAArgInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_DbgInfoIntrinsic", (PyCFunction)__downcast__llvm__Value__to__llvm__DbgInfoIntrinsic, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_DbgInfoIntrinsic", (PyCFunction)__downcast__llvm__User__to__llvm__DbgInfoIntrinsic, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_DbgInfoIntrinsic", (PyCFunction)__downcast__llvm__Instruction__to__llvm__DbgInfoIntrinsic, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_MemIntrinsic", (PyCFunction)__downcast__llvm__Value__to__llvm__MemIntrinsic, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_MemIntrinsic", (PyCFunction)__downcast__llvm__User__to__llvm__MemIntrinsic, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_MemIntrinsic", (PyCFunction)__downcast__llvm__Instruction__to__llvm__MemIntrinsic, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_VACopyInst", (PyCFunction)__downcast__llvm__Value__to__llvm__VACopyInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_VACopyInst", (PyCFunction)__downcast__llvm__User__to__llvm__VACopyInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_VACopyInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__VACopyInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_VAEndInst", (PyCFunction)__downcast__llvm__Value__to__llvm__VAEndInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_VAEndInst", (PyCFunction)__downcast__llvm__User__to__llvm__VAEndInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_VAEndInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__VAEndInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_VAStartInst", (PyCFunction)__downcast__llvm__Value__to__llvm__VAStartInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_VAStartInst", (PyCFunction)__downcast__llvm__User__to__llvm__VAStartInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_VAStartInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__VAStartInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_BitCastInst", (PyCFunction)__downcast__llvm__Value__to__llvm__BitCastInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_BitCastInst", (PyCFunction)__downcast__llvm__User__to__llvm__BitCastInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_BitCastInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__BitCastInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_FPExtInst", (PyCFunction)__downcast__llvm__Value__to__llvm__FPExtInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_FPExtInst", (PyCFunction)__downcast__llvm__User__to__llvm__FPExtInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_FPExtInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__FPExtInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_FPToSIInst", (PyCFunction)__downcast__llvm__Value__to__llvm__FPToSIInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_FPToSIInst", (PyCFunction)__downcast__llvm__User__to__llvm__FPToSIInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_FPToSIInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__FPToSIInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_FPToUIInst", (PyCFunction)__downcast__llvm__Value__to__llvm__FPToUIInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_FPToUIInst", (PyCFunction)__downcast__llvm__User__to__llvm__FPToUIInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_FPToUIInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__FPToUIInst, METH_VARARGS, NULL },
{ "downcast_llvm_Value_to_llvm_FPTruncInst", (PyCFunction)__downcast__llvm__Value__to__llvm__FPTruncInst, METH_VARARGS, NULL },
{ "downcast_llvm_User_to_llvm_FPTruncInst", (PyCFunction)__downcast__llvm__User__to__llvm__FPTruncInst, METH_VARARGS, NULL },
{ "downcast_llvm_Instruction_to_llvm_FPTruncInst", (PyCFunction)__downcast__llvm__Instruction__to__llvm__FPTruncInst, METH_VARARGS, NULL },
{ "downcast_llvm_Type_to_llvm_FunctionType", (PyCFunction)__downcast__llvm__Type__to__llvm__FunctionType, METH_VARARGS, NULL },
{ NULL }
};

static
PyObject*
llvm__getGlobalContext(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext = llvm::getGlobalContext();
    const llvm::LLVMContext* var_const_llvm_LLVMContext = &var_llvm_LLVMContext;
    PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::LLVMContext >::from(var_const_llvm_LLVMContext), "llvm::LLVMContext", "llvm::LLVMContext");
    if (!var_PyObject)
    {
        return NULL;
    }
    return var_PyObject;
}

static
PyObject*
llvm__InitializeNativeTarget(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::InitializeNativeTarget();
    Py_RETURN_NONE;
}

static
PyObject*
llvm__InitializeNativeTargetAsmPrinter(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    bool var_bool = llvm::InitializeNativeTargetAsmPrinter();
    PyObject* var_PyObject = py_bool_from(var_bool);
    return var_PyObject;
}

static
PyObject*
llvm__InitializeNativeTargetAsmParser(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    bool var_bool = llvm::InitializeNativeTargetAsmParser();
    PyObject* var_PyObject = py_bool_from(var_bool);
    return var_PyObject;
}

static
PyObject*
llvm__InitializeNativeTargetDisassembler(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    bool var_bool = llvm::InitializeNativeTargetDisassembler();
    PyObject* var_PyObject = py_bool_from(var_bool);
    return var_PyObject;
}

static
PyObject*
llvm__InitializeAllTargets(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::InitializeAllTargets();
    Py_RETURN_NONE;
}

static
PyObject*
llvm__InitializeAllTargetInfos(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::InitializeAllTargetInfos();
    Py_RETURN_NONE;
}

static
PyObject*
llvm__InitializeAllTargetMCs(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::InitializeAllTargetMCs();
    Py_RETURN_NONE;
}

static
PyObject*
llvm__InitializeAllAsmPrinters(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::InitializeAllAsmPrinters();
    Py_RETURN_NONE;
}

static
PyObject*
llvm__InitializeAllDisassemblers(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::InitializeAllDisassemblers();
    Py_RETURN_NONE;
}

static
PyObject*
llvm__InitializeAllAsmParsers(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::InitializeAllAsmParsers();
    Py_RETURN_NONE;
}

static
PyObject*
llvm__ParseAssemblyString(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    const char* var_const_char;
    int var_int = py_str_to(var_PyObject, var_const_char);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::SMDiagnostic");
    if(!var_void1)
    {
        puts("Error: llvm::SMDiagnostic");
        return NULL;
    }
    llvm::SMDiagnostic* var_llvm_SMDiagnostic = unwrap_as<llvm::SMDiagnostic, llvm::SMDiagnostic >::from(var_void1);
    if(!var_llvm_SMDiagnostic)
    {
        return NULL;
    }
    llvm::SMDiagnostic& var_llvm_SMDiagnostic1 = *var_llvm_SMDiagnostic;
    void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::LLVMContext");
    if(!var_void2)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void2);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Module* var_llvm_Module2 = llvm::ParseAssemblyString(var_const_char, var_llvm_Module, var_llvm_SMDiagnostic1, var_llvm_LLVMContext1);
    PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Module >::from(var_llvm_Module2), "llvm::Module", "llvm::Module");
    if (!var_PyObject4)
    {
        return NULL;
    }
    return var_PyObject4;
}

static
PyObject*
llvm__verifyModule(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
    if(!var_void)
    {
        puts("Error: llvm::Module");
        return NULL;
    }
    llvm::Module* var_llvm_Module = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
    if(!var_llvm_Module)
    {
        return NULL;
    }
    llvm::Module& var_llvm_Module1 = *var_llvm_Module;
    llvm::VerifierFailureAction var_llvm_VerifierFailureAction = (llvm::VerifierFailureAction)PyInt_AsLong(var_PyObject1);
    PyObject* var_PyObject3 = llvm_verifyModule(var_llvm_Module1, var_llvm_VerifierFailureAction, var_PyObject2);
    return var_PyObject3;
}

static
PyObject*
llvm__verifyFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
    if(!var_void)
    {
        puts("Error: llvm::Value");
        return NULL;
    }
    llvm::Function* var_llvm_Function = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
    if(!var_llvm_Function)
    {
        return NULL;
    }
    llvm::Function& var_llvm_Function1 = *var_llvm_Function;
    llvm::VerifierFailureAction var_llvm_VerifierFailureAction = (llvm::VerifierFailureAction)PyInt_AsLong(var_PyObject1);
    bool var_bool = llvm::verifyFunction(var_llvm_Function1, var_llvm_VerifierFailureAction);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm__ParseBitCodeFile(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        void* var_void = PyCapsule_GetPointer(var_PyObject1, "llvm::LLVMContext");
        if(!var_void)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
        if(!var_llvm_LLVMContext)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
        PyObject* var_PyObject3 = llvm_ParseBitCodeFile(var_llvm_StringRef, var_llvm_LLVMContext1, var_PyObject2);
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject4, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject5, "llvm::LLVMContext");
        if(!var_void1)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext2 = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void1);
        if(!var_llvm_LLVMContext2)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext3 = *var_llvm_LLVMContext2;
        PyObject* var_PyObject6 = llvm_ParseBitCodeFile(var_llvm_StringRef1, var_llvm_LLVMContext3);
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm__WriteBitcodeToFile(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    PyObject* var_PyObject2 = llvm_WriteBitcodeToFile(var_llvm_Module, var_PyObject1);
    return var_PyObject2;
}

static
PyObject*
llvm__getBitcodeTargetTriple(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        void* var_void = PyCapsule_GetPointer(var_PyObject1, "llvm::LLVMContext");
        if(!var_void)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
        if(!var_llvm_LLVMContext)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
        PyObject* var_PyObject3 = llvm_getBitcodeTargetTriple(var_llvm_StringRef, var_llvm_LLVMContext1, var_PyObject2);
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject4, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject5, "llvm::LLVMContext");
        if(!var_void1)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext2 = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void1);
        if(!var_llvm_LLVMContext2)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext3 = *var_llvm_LLVMContext2;
        PyObject* var_PyObject6 = llvm_getBitcodeTargetTriple(var_llvm_StringRef1, var_llvm_LLVMContext3);
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm__initializeCore(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeCore(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__initializeScalarOpts(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeScalarOpts(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__initializeVectorization(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeVectorization(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__initializeIPO(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeIPO(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__initializeAnalysis(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeAnalysis(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__initializeIPA(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeIPA(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__initializeTransformUtils(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeTransformUtils(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__initializeInstCombine(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeInstCombine(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__initializeInstrumentation(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeInstrumentation(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__initializeTarget(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
    if(!var_void)
    {
        puts("Error: llvm::PassRegistry");
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
    if(!var_llvm_PassRegistry)
    {
        return NULL;
    }
    llvm::PassRegistry& var_llvm_PassRegistry1 = *var_llvm_PassRegistry;
    llvm::initializeTarget(var_llvm_PassRegistry1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__createFunctionInliningPass(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject))
        {
            return NULL;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Pass* var_llvm_Pass = llvm::createFunctionInliningPass(var_unsigned);
        PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_llvm_Pass), "llvm::Pass", "llvm::Pass");
        if (!var_PyObject1)
        {
            return NULL;
        }
        return var_PyObject1;
    }
    if (0 == var_Py__ssize__t)
    {
        if(!PyArg_ParseTuple(args, ""))
        {
            return NULL;
        }
        llvm::Pass* var_llvm_Pass1 = llvm::createFunctionInliningPass();
        PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_llvm_Pass1), "llvm::Pass", "llvm::Pass");
        if (!var_PyObject2)
        {
            return NULL;
        }
        return var_PyObject2;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm__SplitBlockAndInsertIfThen(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void1);
        if(!var_llvm_MDNode1)
        {
            return NULL;
        }
        var_llvm_MDNode = var_llvm_MDNode1;
    }
    llvm::TerminatorInst* var_llvm_TerminatorInst = llvm::SplitBlockAndInsertIfThen(var_llvm_Instruction, var_bool, var_llvm_MDNode);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_TerminatorInst), "llvm::Value", "llvm::TerminatorInst");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm__ReplaceInstWithInst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::Instruction* var_llvm_Instruction2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction3 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void1);
        if(!var_llvm_Instruction3)
        {
            return NULL;
        }
        var_llvm_Instruction2 = var_llvm_Instruction3;
    }
    llvm::ReplaceInstWithInst(var_llvm_Instruction, var_llvm_Instruction2);
    Py_RETURN_NONE;
}

static
PyObject*
llvm__CloneModule(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::Module* var_llvm_Module2 = llvm::CloneModule(var_llvm_Module);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Module >::from(var_llvm_Module2), "llvm::Module", "llvm::Module");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm__InlineFunction(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
            if(!var_llvm_CallInst1)
            {
                return NULL;
            }
            var_llvm_CallInst = var_llvm_CallInst1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::InlineFunctionInfo");
        if(!var_void1)
        {
            puts("Error: llvm::InlineFunctionInfo");
            return NULL;
        }
        llvm::InlineFunctionInfo* var_llvm_InlineFunctionInfo = unwrap_as<llvm::InlineFunctionInfo, llvm::InlineFunctionInfo >::from(var_void1);
        if(!var_llvm_InlineFunctionInfo)
        {
            return NULL;
        }
        llvm::InlineFunctionInfo& var_llvm_InlineFunctionInfo1 = *var_llvm_InlineFunctionInfo;
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool1 = llvm::InlineFunction(var_llvm_CallInst, var_llvm_InlineFunctionInfo1, var_bool);
        PyObject* var_PyObject3 = py_bool_from(var_bool1);
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::CallInst* var_llvm_CallInst3 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void2);
            if(!var_llvm_CallInst3)
            {
                return NULL;
            }
            var_llvm_CallInst2 = var_llvm_CallInst3;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::InlineFunctionInfo");
        if(!var_void3)
        {
            puts("Error: llvm::InlineFunctionInfo");
            return NULL;
        }
        llvm::InlineFunctionInfo* var_llvm_InlineFunctionInfo2 = unwrap_as<llvm::InlineFunctionInfo, llvm::InlineFunctionInfo >::from(var_void3);
        if(!var_llvm_InlineFunctionInfo2)
        {
            return NULL;
        }
        llvm::InlineFunctionInfo& var_llvm_InlineFunctionInfo3 = *var_llvm_InlineFunctionInfo2;
        bool var_bool2 = llvm::InlineFunction(var_llvm_CallInst2, var_llvm_InlineFunctionInfo3);
        PyObject* var_PyObject6 = py_bool_from(var_bool2);
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_SmallVectorllvm_Type_8__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::SmallVector<llvm::Type*,8>* var_llvm_SmallVectorllvm_Type_8 = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::SmallVector<llvm::Type*,8>");
        if(!var_void)
        {
            puts("Error: llvm::SmallVector<llvm::Type*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Type*,8>* var_llvm_SmallVectorllvm_Type_81 = unwrap_as<llvm::SmallVector<llvm::Type*,8>, llvm::SmallVector<llvm::Type*,8> >::from(var_void);
        if(!var_llvm_SmallVectorllvm_Type_81)
        {
            return NULL;
        }
        var_llvm_SmallVectorllvm_Type_8 = var_llvm_SmallVectorllvm_Type_81;
    }
    delete var_llvm_SmallVectorllvm_Type_8;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_SmallVectorllvm_Type_8[] = {
    { "delete", (PyCFunction)llvm_SmallVectorllvm_Type_8__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_SmallVectorllvm_Type_8[] = {
    { NULL }
};

static
PyObject*
llvm_SmallVectorllvm_Value_8__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_8 = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_81 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void);
        if(!var_llvm_SmallVectorllvm_Value_81)
        {
            return NULL;
        }
        var_llvm_SmallVectorllvm_Value_8 = var_llvm_SmallVectorllvm_Value_81;
    }
    delete var_llvm_SmallVectorllvm_Value_8;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_SmallVectorllvm_Value_8[] = {
    { "delete", (PyCFunction)llvm_SmallVectorllvm_Value_8__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_SmallVectorllvm_Value_8[] = {
    { NULL }
};

static
PyObject*
llvm_SmallVectorunsigned_8__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::SmallVector<unsigned,8>* var_llvm_SmallVectorunsigned_8 = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::SmallVector<unsigned,8>");
        if(!var_void)
        {
            puts("Error: llvm::SmallVector<unsigned,8>");
            return NULL;
        }
        llvm::SmallVector<unsigned,8>* var_llvm_SmallVectorunsigned_81 = unwrap_as<llvm::SmallVector<unsigned,8>, llvm::SmallVector<unsigned,8> >::from(var_void);
        if(!var_llvm_SmallVectorunsigned_81)
        {
            return NULL;
        }
        var_llvm_SmallVectorunsigned_8 = var_llvm_SmallVectorunsigned_81;
    }
    delete var_llvm_SmallVectorunsigned_8;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_SmallVectorunsigned_8[] = {
    { "delete", (PyCFunction)llvm_SmallVectorunsigned_8__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_SmallVectorunsigned_8[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_StringRef[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_StringRef[] = {
    { NULL }
};

static
PyObject*
llvm_Triple__isEnvironmentMachO(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isEnvironmentMachO();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isOSDarwin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isOSDarwin();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isMacOSXVersionLT(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::Triple* var_llvm_Triple = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
            if(!var_void)
            {
                puts("Error: llvm::Triple");
                return NULL;
            }
            llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
            if(!var_llvm_Triple1)
            {
                return NULL;
            }
            var_llvm_Triple = var_llvm_Triple1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        unsigned var_unsigned1;
        int var_int1 = py_int_to(var_PyObject2, var_unsigned1);
        if(!var_int1)
        {
            return NULL;
        }
        unsigned var_unsigned2;
        int var_int2 = py_int_to(var_PyObject3, var_unsigned2);
        if(!var_int2)
        {
            return NULL;
        }
        bool var_bool = var_llvm_Triple->isMacOSXVersionLT(var_unsigned, var_unsigned1, var_unsigned2);
        PyObject* var_PyObject4 = py_bool_from(var_bool);
        return var_PyObject4;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::Triple* var_llvm_Triple2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject5, "llvm::Triple");
            if(!var_void1)
            {
                puts("Error: llvm::Triple");
                return NULL;
            }
            llvm::Triple* var_llvm_Triple3 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void1);
            if(!var_llvm_Triple3)
            {
                return NULL;
            }
            var_llvm_Triple2 = var_llvm_Triple3;
        }
        unsigned var_unsigned3;
        int var_int3 = py_int_to(var_PyObject6, var_unsigned3);
        if(!var_int3)
        {
            return NULL;
        }
        bool var_bool1 = var_llvm_Triple2->isMacOSXVersionLT(var_unsigned3);
        PyObject* var_PyObject7 = py_bool_from(var_bool1);
        return var_PyObject7;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::Triple* var_llvm_Triple4 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject8, "llvm::Triple");
            if(!var_void2)
            {
                puts("Error: llvm::Triple");
                return NULL;
            }
            llvm::Triple* var_llvm_Triple5 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void2);
            if(!var_llvm_Triple5)
            {
                return NULL;
            }
            var_llvm_Triple4 = var_llvm_Triple5;
        }
        unsigned var_unsigned4;
        int var_int4 = py_int_to(var_PyObject9, var_unsigned4);
        if(!var_int4)
        {
            return NULL;
        }
        unsigned var_unsigned5;
        int var_int5 = py_int_to(var_PyObject10, var_unsigned5);
        if(!var_int5)
        {
            return NULL;
        }
        bool var_bool2 = var_llvm_Triple4->isMacOSXVersionLT(var_unsigned4, var_unsigned5);
        PyObject* var_PyObject11 = py_bool_from(var_bool2);
        return var_PyObject11;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_Triple__getTriple(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_Triple->getTriple();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isOSVersionLT(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::Triple* var_llvm_Triple = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
            if(!var_void)
            {
                puts("Error: llvm::Triple");
                return NULL;
            }
            llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
            if(!var_llvm_Triple1)
            {
                return NULL;
            }
            var_llvm_Triple = var_llvm_Triple1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        unsigned var_unsigned1;
        int var_int1 = py_int_to(var_PyObject2, var_unsigned1);
        if(!var_int1)
        {
            return NULL;
        }
        unsigned var_unsigned2;
        int var_int2 = py_int_to(var_PyObject3, var_unsigned2);
        if(!var_int2)
        {
            return NULL;
        }
        bool var_bool = var_llvm_Triple->isOSVersionLT(var_unsigned, var_unsigned1, var_unsigned2);
        PyObject* var_PyObject4 = py_bool_from(var_bool);
        return var_PyObject4;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::Triple* var_llvm_Triple2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject5, "llvm::Triple");
            if(!var_void1)
            {
                puts("Error: llvm::Triple");
                return NULL;
            }
            llvm::Triple* var_llvm_Triple3 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void1);
            if(!var_llvm_Triple3)
            {
                return NULL;
            }
            var_llvm_Triple2 = var_llvm_Triple3;
        }
        unsigned var_unsigned3;
        int var_int3 = py_int_to(var_PyObject6, var_unsigned3);
        if(!var_int3)
        {
            return NULL;
        }
        bool var_bool1 = var_llvm_Triple2->isOSVersionLT(var_unsigned3);
        PyObject* var_PyObject7 = py_bool_from(var_bool1);
        return var_PyObject7;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::Triple* var_llvm_Triple4 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject8, "llvm::Triple");
            if(!var_void2)
            {
                puts("Error: llvm::Triple");
                return NULL;
            }
            llvm::Triple* var_llvm_Triple5 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void2);
            if(!var_llvm_Triple5)
            {
                return NULL;
            }
            var_llvm_Triple4 = var_llvm_Triple5;
        }
        unsigned var_unsigned4;
        int var_int4 = py_int_to(var_PyObject9, var_unsigned4);
        if(!var_int4)
        {
            return NULL;
        }
        unsigned var_unsigned5;
        int var_int5 = py_int_to(var_PyObject10, var_unsigned5);
        if(!var_int5)
        {
            return NULL;
        }
        bool var_bool2 = var_llvm_Triple4->isOSVersionLT(var_unsigned4, var_unsigned5);
        PyObject* var_PyObject11 = py_bool_from(var_bool2);
        return var_PyObject11;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_Triple__getOSAndEnvironmentName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_Triple->getOSAndEnvironmentName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__getVendorName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_Triple->getVendorName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__getOSName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_Triple->getOSName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__getEnvironmentName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_Triple->getEnvironmentName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__new(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (0 == var_Py__ssize__t)
    {
        if(!PyArg_ParseTuple(args, ""))
        {
            return NULL;
        }
        llvm::Triple* var_llvm_Triple = new llvm::Triple();
        PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::Triple >::from(var_llvm_Triple), "llvm::Triple", "llvm::Triple");
        if (!var_PyObject)
        {
            return NULL;
        }
        return var_PyObject;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject1))
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = new llvm::Triple(var_llvm_StringRef);
        PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Triple >::from(var_llvm_Triple1), "llvm::Triple", "llvm::Triple");
        if (!var_PyObject2)
        {
            return NULL;
        }
        return var_PyObject2;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject3, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int2 = py_str_to(var_PyObject4, var_llvm_StringRef2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef3;
        int var_int3 = py_str_to(var_PyObject5, var_llvm_StringRef3);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::Triple* var_llvm_Triple2 = new llvm::Triple(var_llvm_StringRef1, var_llvm_StringRef2, var_llvm_StringRef3);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Triple >::from(var_llvm_Triple2), "llvm::Triple", "llvm::Triple");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_Triple__isArch32Bit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isArch32Bit();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isOSBinFormatELF(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isOSBinFormatELF();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__get32BitArchVariant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    llvm::Triple var_llvm_Triple2 = var_llvm_Triple->get32BitArchVariant();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Triple >::from(new llvm::Triple(var_llvm_Triple2)), "llvm::Triple", "llvm::Triple");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isOSCygMing(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isOSCygMing();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isArch16Bit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isArch16Bit();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isMacOSX(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isMacOSX();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__getArchName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_Triple->getArchName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isOSBinFormatCOFF(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isOSBinFormatCOFF();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isArch64Bit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isArch64Bit();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__isOSWindows(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    bool var_bool = var_llvm_Triple->isOSWindows();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Triple__get64BitArchVariant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple1 = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple1)
        {
            return NULL;
        }
        var_llvm_Triple = var_llvm_Triple1;
    }
    llvm::Triple var_llvm_Triple2 = var_llvm_Triple->get64BitArchVariant();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Triple >::from(new llvm::Triple(var_llvm_Triple2)), "llvm::Triple", "llvm::Triple");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_Triple[] = {
    { "isEnvironmentMachO", (PyCFunction)llvm_Triple__isEnvironmentMachO, METH_VARARGS, NULL },
    { "isOSDarwin", (PyCFunction)llvm_Triple__isOSDarwin, METH_VARARGS, NULL },
    { "isMacOSXVersionLT", (PyCFunction)llvm_Triple__isMacOSXVersionLT, METH_VARARGS, NULL },
    { "getTriple", (PyCFunction)llvm_Triple__getTriple, METH_VARARGS, NULL },
    { "isOSVersionLT", (PyCFunction)llvm_Triple__isOSVersionLT, METH_VARARGS, NULL },
    { "getOSAndEnvironmentName", (PyCFunction)llvm_Triple__getOSAndEnvironmentName, METH_VARARGS, NULL },
    { "getVendorName", (PyCFunction)llvm_Triple__getVendorName, METH_VARARGS, NULL },
    { "getOSName", (PyCFunction)llvm_Triple__getOSName, METH_VARARGS, NULL },
    { "getEnvironmentName", (PyCFunction)llvm_Triple__getEnvironmentName, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_Triple__new, METH_VARARGS, NULL },
    { "isArch32Bit", (PyCFunction)llvm_Triple__isArch32Bit, METH_VARARGS, NULL },
    { "isOSBinFormatELF", (PyCFunction)llvm_Triple__isOSBinFormatELF, METH_VARARGS, NULL },
    { "get32BitArchVariant", (PyCFunction)llvm_Triple__get32BitArchVariant, METH_VARARGS, NULL },
    { "isOSCygMing", (PyCFunction)llvm_Triple__isOSCygMing, METH_VARARGS, NULL },
    { "isArch16Bit", (PyCFunction)llvm_Triple__isArch16Bit, METH_VARARGS, NULL },
    { "isMacOSX", (PyCFunction)llvm_Triple__isMacOSX, METH_VARARGS, NULL },
    { "getArchName", (PyCFunction)llvm_Triple__getArchName, METH_VARARGS, NULL },
    { "isOSBinFormatCOFF", (PyCFunction)llvm_Triple__isOSBinFormatCOFF, METH_VARARGS, NULL },
    { "isArch64Bit", (PyCFunction)llvm_Triple__isArch64Bit, METH_VARARGS, NULL },
    { "isOSWindows", (PyCFunction)llvm_Triple__isOSWindows, METH_VARARGS, NULL },
    { "get64BitArchVariant", (PyCFunction)llvm_Triple__get64BitArchVariant, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Triple[] = {
    { NULL }
};

static
PyObject*
llvm_Module__getOrInsertGlobal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant = var_llvm_Module->getOrInsertGlobal(var_llvm_StringRef, var_llvm_Type);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_Module__dump(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    var_llvm_Module->dump();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__getTargetTriple(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    const std::string var_const_std_string = var_llvm_Module->getTargetTriple();
    PyObject* var_PyObject1 = py_str_from(var_const_std_string);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__setModuleIdentifier(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_Module->setModuleIdentifier(var_llvm_StringRef);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__getContext(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::LLVMContext& var_llvm_LLVMContext = var_llvm_Module->getContext();
    const llvm::LLVMContext* var_const_llvm_LLVMContext = &var_llvm_LLVMContext;
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::LLVMContext >::from(var_const_llvm_LLVMContext), "llvm::LLVMContext", "llvm::LLVMContext");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Module__getTypeByName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = var_llvm_Module->getTypeByName(var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_StructType), "llvm::Type", "llvm::StructType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Module__getNamedMetadata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = var_llvm_Module->getNamedMetadata(var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::NamedMDNode >::from(var_llvm_NamedMDNode), "llvm::NamedMDNode", "llvm::NamedMDNode");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Module__getNamedGlobal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = var_llvm_Module->getNamedGlobal(var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable), "llvm::Value", "llvm::GlobalVariable");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Module__getPointerSize(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::Module::PointerSize var_llvm_Module_PointerSize = var_llvm_Module->getPointerSize();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_Module_PointerSize);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__appendModuleInlineAsm(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_Module->appendModuleInlineAsm(var_llvm_StringRef);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__getModuleInlineAsm(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    const std::string var_const_std_string = var_llvm_Module->getModuleInlineAsm();
    PyObject* var_PyObject1 = py_str_from(var_const_std_string);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__eraseNamedMetadata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::NamedMDNode");
        if(!var_void1)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void1);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    var_llvm_Module->eraseNamedMetadata(var_llvm_NamedMDNode);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__print__(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::raw_ostream");
    if(!var_void1)
    {
        puts("Error: llvm::raw_ostream");
        return NULL;
    }
    llvm::raw_ostream* var_llvm_raw__ostream = unwrap_as<llvm::raw_ostream, llvm::raw_ostream >::from(var_void1);
    if(!var_llvm_raw__ostream)
    {
        return NULL;
    }
    llvm::raw_ostream& var_llvm_raw__ostream1 = *var_llvm_raw__ostream;
    llvm::AssemblyAnnotationWriter* var_llvm_AssemblyAnnotationWriter = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::AssemblyAnnotationWriter");
        if(!var_void2)
        {
            puts("Error: llvm::AssemblyAnnotationWriter");
            return NULL;
        }
        llvm::AssemblyAnnotationWriter* var_llvm_AssemblyAnnotationWriter1 = unwrap_as<llvm::AssemblyAnnotationWriter, llvm::AssemblyAnnotationWriter >::from(var_void2);
        if(!var_llvm_AssemblyAnnotationWriter1)
        {
            return NULL;
        }
        var_llvm_AssemblyAnnotationWriter = var_llvm_AssemblyAnnotationWriter1;
    }
    var_llvm_Module->print(var_llvm_raw__ostream1, var_llvm_AssemblyAnnotationWriter);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__getOrInsertFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::FunctionType* var_llvm_FunctionType = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType1 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void1);
        if(!var_llvm_FunctionType1)
        {
            return NULL;
        }
        var_llvm_FunctionType = var_llvm_FunctionType1;
    }
    llvm::Constant* var_llvm_Constant = var_llvm_Module->getOrInsertFunction(var_llvm_StringRef, var_llvm_FunctionType);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_Module__list__named__metadata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    PyObject* var_PyObject1 = Module_list_named_metadata(var_llvm_Module);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__list__functions(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    PyObject* var_PyObject1 = Module_list_functions(var_llvm_Module);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__new(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject1, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Module* var_llvm_Module = new llvm::Module(var_llvm_StringRef, var_llvm_LLVMContext1);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Module >::from(var_llvm_Module), "llvm::Module", "llvm::Module");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Module__dropAllReferences(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    var_llvm_Module->dropAllReferences();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__getGlobalVariable(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
            if(!var_void)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
            if(!var_llvm_Module1)
            {
                return NULL;
            }
            var_llvm_Module = var_llvm_Module1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject2, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable = var_llvm_Module->getGlobalVariable(var_llvm_StringRef, var_bool);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable), "llvm::Value", "llvm::GlobalVariable");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::Module");
            if(!var_void1)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module3 = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
            if(!var_llvm_Module3)
            {
                return NULL;
            }
            var_llvm_Module2 = var_llvm_Module3;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int2 = py_str_to(var_PyObject5, var_llvm_StringRef1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = var_llvm_Module2->getGlobalVariable(var_llvm_StringRef1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable1), "llvm::Value", "llvm::GlobalVariable");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_Module__setDataLayout(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_Module->setDataLayout(var_llvm_StringRef);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__list__globals(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    PyObject* var_PyObject1 = Module_list_globals(var_llvm_Module);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__setModuleInlineAsm(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_Module->setModuleInlineAsm(var_llvm_StringRef);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__getFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = var_llvm_Module->getFunction(var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function), "llvm::Value", "llvm::Function");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Module__getOrInsertNamedMetadata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = var_llvm_Module->getOrInsertNamedMetadata(var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::NamedMDNode >::from(var_llvm_NamedMDNode), "llvm::NamedMDNode", "llvm::NamedMDNode");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Module__getEndianness(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::Module::Endianness var_llvm_Module_Endianness = var_llvm_Module->getEndianness();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_Module_Endianness);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__getDataLayout(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    const std::string var_const_std_string = var_llvm_Module->getDataLayout();
    PyObject* var_PyObject1 = py_str_from(var_const_std_string);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__setTargetTriple(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_Module->setTargetTriple(var_llvm_StringRef);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__getModuleIdentifier(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    const std::string var_const_std_string = var_llvm_Module->getModuleIdentifier();
    PyObject* var_PyObject1 = py_str_from(var_const_std_string);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    delete var_llvm_Module;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Module__Endianness__AnyEndianness(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::Module::AnyEndianness);
    return var_PyObject;
}

static
PyObject*
llvm_Module__Endianness__LittleEndian(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::Module::LittleEndian);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__Endianness__BigEndian(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::Module::BigEndian);
    return var_PyObject2;
}

static
PyObject*
llvm_Module__PointerSize__AnyPointerSize(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::Module::AnyPointerSize);
    return var_PyObject;
}

static
PyObject*
llvm_Module__PointerSize__Pointer32(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::Module::Pointer32);
    return var_PyObject1;
}

static
PyObject*
llvm_Module__PointerSize__Pointer64(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::Module::Pointer64);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_Module[] = {
    { "getOrInsertGlobal", (PyCFunction)llvm_Module__getOrInsertGlobal, METH_VARARGS, NULL },
    { "dump", (PyCFunction)llvm_Module__dump, METH_VARARGS, NULL },
    { "getTargetTriple", (PyCFunction)llvm_Module__getTargetTriple, METH_VARARGS, NULL },
    { "setModuleIdentifier", (PyCFunction)llvm_Module__setModuleIdentifier, METH_VARARGS, NULL },
    { "getContext", (PyCFunction)llvm_Module__getContext, METH_VARARGS, NULL },
    { "getTypeByName", (PyCFunction)llvm_Module__getTypeByName, METH_VARARGS, NULL },
    { "getNamedMetadata", (PyCFunction)llvm_Module__getNamedMetadata, METH_VARARGS, NULL },
    { "getNamedGlobal", (PyCFunction)llvm_Module__getNamedGlobal, METH_VARARGS, NULL },
    { "getPointerSize", (PyCFunction)llvm_Module__getPointerSize, METH_VARARGS, NULL },
    { "appendModuleInlineAsm", (PyCFunction)llvm_Module__appendModuleInlineAsm, METH_VARARGS, NULL },
    { "getModuleInlineAsm", (PyCFunction)llvm_Module__getModuleInlineAsm, METH_VARARGS, NULL },
    { "eraseNamedMetadata", (PyCFunction)llvm_Module__eraseNamedMetadata, METH_VARARGS, NULL },
    { "print_", (PyCFunction)llvm_Module__print__, METH_VARARGS, NULL },
    { "getOrInsertFunction", (PyCFunction)llvm_Module__getOrInsertFunction, METH_VARARGS, NULL },
    { "list_named_metadata", (PyCFunction)llvm_Module__list__named__metadata, METH_VARARGS, NULL },
    { "list_functions", (PyCFunction)llvm_Module__list__functions, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_Module__new, METH_VARARGS, NULL },
    { "dropAllReferences", (PyCFunction)llvm_Module__dropAllReferences, METH_VARARGS, NULL },
    { "getGlobalVariable", (PyCFunction)llvm_Module__getGlobalVariable, METH_VARARGS, NULL },
    { "setDataLayout", (PyCFunction)llvm_Module__setDataLayout, METH_VARARGS, NULL },
    { "list_globals", (PyCFunction)llvm_Module__list__globals, METH_VARARGS, NULL },
    { "setModuleInlineAsm", (PyCFunction)llvm_Module__setModuleInlineAsm, METH_VARARGS, NULL },
    { "getFunction", (PyCFunction)llvm_Module__getFunction, METH_VARARGS, NULL },
    { "getOrInsertNamedMetadata", (PyCFunction)llvm_Module__getOrInsertNamedMetadata, METH_VARARGS, NULL },
    { "getEndianness", (PyCFunction)llvm_Module__getEndianness, METH_VARARGS, NULL },
    { "getDataLayout", (PyCFunction)llvm_Module__getDataLayout, METH_VARARGS, NULL },
    { "setTargetTriple", (PyCFunction)llvm_Module__setTargetTriple, METH_VARARGS, NULL },
    { "getModuleIdentifier", (PyCFunction)llvm_Module__getModuleIdentifier, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_Module__delete, METH_VARARGS, NULL },
    { "AnyEndianness", (PyCFunction)llvm_Module__Endianness__AnyEndianness, METH_VARARGS, NULL },
    { "LittleEndian", (PyCFunction)llvm_Module__Endianness__LittleEndian, METH_VARARGS, NULL },
    { "BigEndian", (PyCFunction)llvm_Module__Endianness__BigEndian, METH_VARARGS, NULL },
    { "AnyPointerSize", (PyCFunction)llvm_Module__PointerSize__AnyPointerSize, METH_VARARGS, NULL },
    { "Pointer32", (PyCFunction)llvm_Module__PointerSize__Pointer32, METH_VARARGS, NULL },
    { "Pointer64", (PyCFunction)llvm_Module__PointerSize__Pointer64, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Module[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_LLVMContext[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_LLVMContext[] = {
    { NULL }
};

static
PyObject*
llvm_Value__replaceAllUsesWith(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::Value* var_llvm_Value2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value3)
        {
            return NULL;
        }
        var_llvm_Value2 = var_llvm_Value3;
    }
    var_llvm_Value->replaceAllUsesWith(var_llvm_Value2);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Value__setName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_Value->setName(var_llvm_StringRef);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Value__dump(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    var_llvm_Value->dump();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Value__getName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_Value->getName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_Value__getType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::Type* var_llvm_Type = var_llvm_Value->getType();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Value__print__(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::raw_ostream");
    if(!var_void1)
    {
        puts("Error: llvm::raw_ostream");
        return NULL;
    }
    llvm::raw_ostream* var_llvm_raw__ostream = unwrap_as<llvm::raw_ostream, llvm::raw_ostream >::from(var_void1);
    if(!var_llvm_raw__ostream)
    {
        return NULL;
    }
    llvm::raw_ostream& var_llvm_raw__ostream1 = *var_llvm_raw__ostream;
    llvm::AssemblyAnnotationWriter* var_llvm_AssemblyAnnotationWriter = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::AssemblyAnnotationWriter");
        if(!var_void2)
        {
            puts("Error: llvm::AssemblyAnnotationWriter");
            return NULL;
        }
        llvm::AssemblyAnnotationWriter* var_llvm_AssemblyAnnotationWriter1 = unwrap_as<llvm::AssemblyAnnotationWriter, llvm::AssemblyAnnotationWriter >::from(var_void2);
        if(!var_llvm_AssemblyAnnotationWriter1)
        {
            return NULL;
        }
        var_llvm_AssemblyAnnotationWriter = var_llvm_AssemblyAnnotationWriter1;
    }
    var_llvm_Value->print(var_llvm_raw__ostream1, var_llvm_AssemblyAnnotationWriter);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Value__getContext(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::LLVMContext& var_llvm_LLVMContext = var_llvm_Value->getContext();
    const llvm::LLVMContext* var_const_llvm_LLVMContext = &var_llvm_LLVMContext;
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::LLVMContext >::from(var_const_llvm_LLVMContext), "llvm::LLVMContext", "llvm::LLVMContext");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Value__getNumUses(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    unsigned var_unsigned = var_llvm_Value->getNumUses();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Value__list__use(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    PyObject* var_PyObject1 = Value_use_iterator_to_list(var_llvm_Value);
    return var_PyObject1;
}

static
PyObject*
llvm_Value__hasNUses(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    bool var_bool = var_llvm_Value->hasNUses(var_unsigned);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_Value__hasOneUse(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    bool var_bool = var_llvm_Value->hasOneUse();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Value__getValueID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    unsigned var_unsigned = var_llvm_Value->getValueID();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Value__mutateType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    var_llvm_Value->mutateType(var_llvm_Type);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Value__isUsedInBasicBlock(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
    if(!var_void1)
    {
        puts("Error: llvm::Value");
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
    if(!var_llvm_BasicBlock)
    {
        return NULL;
    }
    bool var_bool = var_llvm_Value->isUsedInBasicBlock(var_llvm_BasicBlock);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_Value__hasName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    bool var_bool = var_llvm_Value->hasName();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Value__ValueTy__ArgumentVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::Value::ArgumentVal);
    return var_PyObject;
}

static
PyObject*
llvm_Value__ValueTy__BasicBlockVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::Value::BasicBlockVal);
    return var_PyObject1;
}

static
PyObject*
llvm_Value__ValueTy__FunctionVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::Value::FunctionVal);
    return var_PyObject2;
}

static
PyObject*
llvm_Value__ValueTy__GlobalAliasVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::Value::GlobalAliasVal);
    return var_PyObject3;
}

static
PyObject*
llvm_Value__ValueTy__GlobalVariableVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::Value::GlobalVariableVal);
    return var_PyObject4;
}

static
PyObject*
llvm_Value__ValueTy__UndefValueVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::Value::UndefValueVal);
    return var_PyObject5;
}

static
PyObject*
llvm_Value__ValueTy__BlockAddressVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::Value::BlockAddressVal);
    return var_PyObject6;
}

static
PyObject*
llvm_Value__ValueTy__ConstantExprVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject7 = PyInt_FromLong(llvm::Value::ConstantExprVal);
    return var_PyObject7;
}

static
PyObject*
llvm_Value__ValueTy__ConstantAggregateZeroVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject8 = PyInt_FromLong(llvm::Value::ConstantAggregateZeroVal);
    return var_PyObject8;
}

static
PyObject*
llvm_Value__ValueTy__ConstantDataArrayVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject9 = PyInt_FromLong(llvm::Value::ConstantDataArrayVal);
    return var_PyObject9;
}

static
PyObject*
llvm_Value__ValueTy__ConstantDataVectorVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject10 = PyInt_FromLong(llvm::Value::ConstantDataVectorVal);
    return var_PyObject10;
}

static
PyObject*
llvm_Value__ValueTy__ConstantIntVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject11 = PyInt_FromLong(llvm::Value::ConstantIntVal);
    return var_PyObject11;
}

static
PyObject*
llvm_Value__ValueTy__ConstantFPVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject12 = PyInt_FromLong(llvm::Value::ConstantFPVal);
    return var_PyObject12;
}

static
PyObject*
llvm_Value__ValueTy__ConstantArrayVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject13 = PyInt_FromLong(llvm::Value::ConstantArrayVal);
    return var_PyObject13;
}

static
PyObject*
llvm_Value__ValueTy__ConstantStructVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject14 = PyInt_FromLong(llvm::Value::ConstantStructVal);
    return var_PyObject14;
}

static
PyObject*
llvm_Value__ValueTy__ConstantVectorVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject15 = PyInt_FromLong(llvm::Value::ConstantVectorVal);
    return var_PyObject15;
}

static
PyObject*
llvm_Value__ValueTy__ConstantPointerNullVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject16 = PyInt_FromLong(llvm::Value::ConstantPointerNullVal);
    return var_PyObject16;
}

static
PyObject*
llvm_Value__ValueTy__MDNodeVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject17 = PyInt_FromLong(llvm::Value::MDNodeVal);
    return var_PyObject17;
}

static
PyObject*
llvm_Value__ValueTy__MDStringVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject18 = PyInt_FromLong(llvm::Value::MDStringVal);
    return var_PyObject18;
}

static
PyObject*
llvm_Value__ValueTy__InlineAsmVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject19 = PyInt_FromLong(llvm::Value::InlineAsmVal);
    return var_PyObject19;
}

static
PyObject*
llvm_Value__ValueTy__PseudoSourceValueVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject20 = PyInt_FromLong(llvm::Value::PseudoSourceValueVal);
    return var_PyObject20;
}

static
PyObject*
llvm_Value__ValueTy__FixedStackPseudoSourceValueVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject21 = PyInt_FromLong(llvm::Value::FixedStackPseudoSourceValueVal);
    return var_PyObject21;
}

static
PyObject*
llvm_Value__ValueTy__InstructionVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject22 = PyInt_FromLong(llvm::Value::InstructionVal);
    return var_PyObject22;
}

static
PyObject*
llvm_Value__ValueTy__ConstantFirstVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject23 = PyInt_FromLong(llvm::Value::ConstantFirstVal);
    return var_PyObject23;
}

static
PyObject*
llvm_Value__ValueTy__ConstantLastVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject24 = PyInt_FromLong(llvm::Value::ConstantLastVal);
    return var_PyObject24;
}

static
PyMethodDef meth_llvm_Value[] = {
    { "replaceAllUsesWith", (PyCFunction)llvm_Value__replaceAllUsesWith, METH_VARARGS, NULL },
    { "setName", (PyCFunction)llvm_Value__setName, METH_VARARGS, NULL },
    { "dump", (PyCFunction)llvm_Value__dump, METH_VARARGS, NULL },
    { "getName", (PyCFunction)llvm_Value__getName, METH_VARARGS, NULL },
    { "getType", (PyCFunction)llvm_Value__getType, METH_VARARGS, NULL },
    { "print_", (PyCFunction)llvm_Value__print__, METH_VARARGS, NULL },
    { "getContext", (PyCFunction)llvm_Value__getContext, METH_VARARGS, NULL },
    { "getNumUses", (PyCFunction)llvm_Value__getNumUses, METH_VARARGS, NULL },
    { "list_use", (PyCFunction)llvm_Value__list__use, METH_VARARGS, NULL },
    { "hasNUses", (PyCFunction)llvm_Value__hasNUses, METH_VARARGS, NULL },
    { "hasOneUse", (PyCFunction)llvm_Value__hasOneUse, METH_VARARGS, NULL },
    { "getValueID", (PyCFunction)llvm_Value__getValueID, METH_VARARGS, NULL },
    { "mutateType", (PyCFunction)llvm_Value__mutateType, METH_VARARGS, NULL },
    { "isUsedInBasicBlock", (PyCFunction)llvm_Value__isUsedInBasicBlock, METH_VARARGS, NULL },
    { "hasName", (PyCFunction)llvm_Value__hasName, METH_VARARGS, NULL },
    { "ArgumentVal", (PyCFunction)llvm_Value__ValueTy__ArgumentVal, METH_VARARGS, NULL },
    { "BasicBlockVal", (PyCFunction)llvm_Value__ValueTy__BasicBlockVal, METH_VARARGS, NULL },
    { "FunctionVal", (PyCFunction)llvm_Value__ValueTy__FunctionVal, METH_VARARGS, NULL },
    { "GlobalAliasVal", (PyCFunction)llvm_Value__ValueTy__GlobalAliasVal, METH_VARARGS, NULL },
    { "GlobalVariableVal", (PyCFunction)llvm_Value__ValueTy__GlobalVariableVal, METH_VARARGS, NULL },
    { "UndefValueVal", (PyCFunction)llvm_Value__ValueTy__UndefValueVal, METH_VARARGS, NULL },
    { "BlockAddressVal", (PyCFunction)llvm_Value__ValueTy__BlockAddressVal, METH_VARARGS, NULL },
    { "ConstantExprVal", (PyCFunction)llvm_Value__ValueTy__ConstantExprVal, METH_VARARGS, NULL },
    { "ConstantAggregateZeroVal", (PyCFunction)llvm_Value__ValueTy__ConstantAggregateZeroVal, METH_VARARGS, NULL },
    { "ConstantDataArrayVal", (PyCFunction)llvm_Value__ValueTy__ConstantDataArrayVal, METH_VARARGS, NULL },
    { "ConstantDataVectorVal", (PyCFunction)llvm_Value__ValueTy__ConstantDataVectorVal, METH_VARARGS, NULL },
    { "ConstantIntVal", (PyCFunction)llvm_Value__ValueTy__ConstantIntVal, METH_VARARGS, NULL },
    { "ConstantFPVal", (PyCFunction)llvm_Value__ValueTy__ConstantFPVal, METH_VARARGS, NULL },
    { "ConstantArrayVal", (PyCFunction)llvm_Value__ValueTy__ConstantArrayVal, METH_VARARGS, NULL },
    { "ConstantStructVal", (PyCFunction)llvm_Value__ValueTy__ConstantStructVal, METH_VARARGS, NULL },
    { "ConstantVectorVal", (PyCFunction)llvm_Value__ValueTy__ConstantVectorVal, METH_VARARGS, NULL },
    { "ConstantPointerNullVal", (PyCFunction)llvm_Value__ValueTy__ConstantPointerNullVal, METH_VARARGS, NULL },
    { "MDNodeVal", (PyCFunction)llvm_Value__ValueTy__MDNodeVal, METH_VARARGS, NULL },
    { "MDStringVal", (PyCFunction)llvm_Value__ValueTy__MDStringVal, METH_VARARGS, NULL },
    { "InlineAsmVal", (PyCFunction)llvm_Value__ValueTy__InlineAsmVal, METH_VARARGS, NULL },
    { "PseudoSourceValueVal", (PyCFunction)llvm_Value__ValueTy__PseudoSourceValueVal, METH_VARARGS, NULL },
    { "FixedStackPseudoSourceValueVal", (PyCFunction)llvm_Value__ValueTy__FixedStackPseudoSourceValueVal, METH_VARARGS, NULL },
    { "InstructionVal", (PyCFunction)llvm_Value__ValueTy__InstructionVal, METH_VARARGS, NULL },
    { "ConstantFirstVal", (PyCFunction)llvm_Value__ValueTy__ConstantFirstVal, METH_VARARGS, NULL },
    { "ConstantLastVal", (PyCFunction)llvm_Value__ValueTy__ConstantLastVal, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Value[] = {
    { NULL }
};

static
PyObject*
llvm_Argument__hasStructRetAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    bool var_bool = var_llvm_Argument->hasStructRetAttr();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Argument__addAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::AttributeSet");
    if(!var_void1)
    {
        puts("Error: llvm::AttributeSet");
        return NULL;
    }
    llvm::AttributeSet* var_llvm_AttributeSet = unwrap_as<llvm::AttributeSet, llvm::AttributeSet >::from(var_void1);
    if(!var_llvm_AttributeSet)
    {
        return NULL;
    }
    llvm::AttributeSet& var_llvm_AttributeSet1 = *var_llvm_AttributeSet;
    var_llvm_Argument->addAttr(var_llvm_AttributeSet1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Argument__hasNoAliasAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    bool var_bool = var_llvm_Argument->hasNoAliasAttr();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Argument__hasReturnedAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    bool var_bool = var_llvm_Argument->hasReturnedAttr();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Argument__hasByValAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    bool var_bool = var_llvm_Argument->hasByValAttr();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Argument__hasNestAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    bool var_bool = var_llvm_Argument->hasNestAttr();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Argument__getParamAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    unsigned var_unsigned = var_llvm_Argument->getParamAlignment();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Argument__removeAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::AttributeSet");
    if(!var_void1)
    {
        puts("Error: llvm::AttributeSet");
        return NULL;
    }
    llvm::AttributeSet* var_llvm_AttributeSet = unwrap_as<llvm::AttributeSet, llvm::AttributeSet >::from(var_void1);
    if(!var_llvm_AttributeSet)
    {
        return NULL;
    }
    llvm::AttributeSet& var_llvm_AttributeSet1 = *var_llvm_AttributeSet;
    var_llvm_Argument->removeAttr(var_llvm_AttributeSet1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Argument__hasNoCaptureAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    bool var_bool = var_llvm_Argument->hasNoCaptureAttr();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Argument__getArgNo(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Argument* var_llvm_Argument = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Argument* var_llvm_Argument1 = unwrap_as<llvm::Argument, llvm::Value >::from(var_void);
        if(!var_llvm_Argument1)
        {
            return NULL;
        }
        var_llvm_Argument = var_llvm_Argument1;
    }
    unsigned var_unsigned = var_llvm_Argument->getArgNo();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_Argument[] = {
    { "hasStructRetAttr", (PyCFunction)llvm_Argument__hasStructRetAttr, METH_VARARGS, NULL },
    { "addAttr", (PyCFunction)llvm_Argument__addAttr, METH_VARARGS, NULL },
    { "hasNoAliasAttr", (PyCFunction)llvm_Argument__hasNoAliasAttr, METH_VARARGS, NULL },
    { "hasReturnedAttr", (PyCFunction)llvm_Argument__hasReturnedAttr, METH_VARARGS, NULL },
    { "hasByValAttr", (PyCFunction)llvm_Argument__hasByValAttr, METH_VARARGS, NULL },
    { "hasNestAttr", (PyCFunction)llvm_Argument__hasNestAttr, METH_VARARGS, NULL },
    { "getParamAlignment", (PyCFunction)llvm_Argument__getParamAlignment, METH_VARARGS, NULL },
    { "removeAttr", (PyCFunction)llvm_Argument__removeAttr, METH_VARARGS, NULL },
    { "hasNoCaptureAttr", (PyCFunction)llvm_Argument__hasNoCaptureAttr, METH_VARARGS, NULL },
    { "getArgNo", (PyCFunction)llvm_Argument__getArgNo, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Argument[] = {
    { NULL }
};

static
PyObject*
llvm_MDNode__replaceOperandWith(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void);
        if(!var_llvm_MDNode1)
        {
            return NULL;
        }
        var_llvm_MDNode = var_llvm_MDNode1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    var_llvm_MDNode->replaceOperandWith(var_unsigned, var_llvm_Value);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_MDNode__isFunctionLocal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void);
        if(!var_llvm_MDNode1)
        {
            return NULL;
        }
        var_llvm_MDNode = var_llvm_MDNode1;
    }
    bool var_bool = var_llvm_MDNode->isFunctionLocal();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_MDNode__getFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void);
        if(!var_llvm_MDNode1)
        {
            return NULL;
        }
        var_llvm_MDNode = var_llvm_MDNode1;
    }
    const llvm::Function* var_const_llvm_Function = var_llvm_MDNode->getFunction();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_const_llvm_Function), "llvm::Value", "llvm::Function");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_MDNode__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    PyObject* var_PyObject2 = MDNode_get(var_llvm_LLVMContext1, var_PyObject1);
    return var_PyObject2;
}

static
PyObject*
llvm_MDNode__getOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void);
        if(!var_llvm_MDNode1)
        {
            return NULL;
        }
        var_llvm_MDNode = var_llvm_MDNode1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = var_llvm_MDNode->getOperand(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_MDNode__getNumOperands(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void);
        if(!var_llvm_MDNode1)
        {
            return NULL;
        }
        var_llvm_MDNode = var_llvm_MDNode1;
    }
    unsigned var_unsigned = var_llvm_MDNode->getNumOperands();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_MDNode[] = {
    { "replaceOperandWith", (PyCFunction)llvm_MDNode__replaceOperandWith, METH_VARARGS, NULL },
    { "isFunctionLocal", (PyCFunction)llvm_MDNode__isFunctionLocal, METH_VARARGS, NULL },
    { "getFunction", (PyCFunction)llvm_MDNode__getFunction, METH_VARARGS, NULL },
    { "get", (PyCFunction)llvm_MDNode__get, METH_VARARGS, NULL },
    { "getOperand", (PyCFunction)llvm_MDNode__getOperand, METH_VARARGS, NULL },
    { "getNumOperands", (PyCFunction)llvm_MDNode__getNumOperands, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_MDNode[] = {
    { NULL }
};

static
PyObject*
llvm_MDString__getString(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::MDString* var_llvm_MDString = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDString* var_llvm_MDString1 = unwrap_as<llvm::MDString, llvm::Value >::from(var_void);
        if(!var_llvm_MDString1)
        {
            return NULL;
        }
        var_llvm_MDString = var_llvm_MDString1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_MDString->getString();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_MDString__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::MDString* var_llvm_MDString = llvm::MDString::get(var_llvm_LLVMContext1, var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_MDString), "llvm::Value", "llvm::MDString");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_MDString__getLength(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::MDString* var_llvm_MDString = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDString* var_llvm_MDString1 = unwrap_as<llvm::MDString, llvm::Value >::from(var_void);
        if(!var_llvm_MDString1)
        {
            return NULL;
        }
        var_llvm_MDString = var_llvm_MDString1;
    }
    unsigned var_unsigned = var_llvm_MDString->getLength();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_MDString[] = {
    { "getString", (PyCFunction)llvm_MDString__getString, METH_VARARGS, NULL },
    { "get", (PyCFunction)llvm_MDString__get, METH_VARARGS, NULL },
    { "getLength", (PyCFunction)llvm_MDString__getLength, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_MDString[] = {
    { NULL }
};

static
PyObject*
llvm_User__getOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = var_llvm_User->getOperand(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_User__setOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    var_llvm_User->setOperand(var_unsigned, var_llvm_Value);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_User__getNumOperands(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::User* var_llvm_User = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::User* var_llvm_User1 = unwrap_as<llvm::User, llvm::Value >::from(var_void);
        if(!var_llvm_User1)
        {
            return NULL;
        }
        var_llvm_User = var_llvm_User1;
    }
    unsigned var_unsigned = var_llvm_User->getNumOperands();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_User[] = {
    { "getOperand", (PyCFunction)llvm_User__getOperand, METH_VARARGS, NULL },
    { "setOperand", (PyCFunction)llvm_User__setOperand, METH_VARARGS, NULL },
    { "getNumOperands", (PyCFunction)llvm_User__getNumOperands, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_User[] = {
    { NULL }
};

static
PyObject*
llvm_BasicBlock__isLandingPad(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    bool var_bool = var_llvm_BasicBlock->isLandingPad();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_BasicBlock__getParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    llvm::Function* var_llvm_Function = var_llvm_BasicBlock->getParent();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function), "llvm::Value", "llvm::Function");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_BasicBlock__getInstList(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    PyObject* var_PyObject1 = BasicBlock_getInstList(var_llvm_BasicBlock);
    return var_PyObject1;
}

static
PyObject*
llvm_BasicBlock__Create(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject3 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
        if(!var_void2)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void2);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock2 = llvm::BasicBlock::Create(var_llvm_LLVMContext1, var_llvm_StringRef, var_llvm_Function, var_llvm_BasicBlock);
    PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BasicBlock2), "llvm::Value", "llvm::BasicBlock");
    if (!var_PyObject4)
    {
        return NULL;
    }
    return var_PyObject4;
}

static
PyObject*
llvm_BasicBlock__removePredecessor(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
            if(!var_llvm_BasicBlock1)
            {
                return NULL;
            }
            var_llvm_BasicBlock = var_llvm_BasicBlock1;
        }
        llvm::BasicBlock* var_llvm_BasicBlock2 = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock3 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
            if(!var_llvm_BasicBlock3)
            {
                return NULL;
            }
            var_llvm_BasicBlock2 = var_llvm_BasicBlock3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        var_llvm_BasicBlock->removePredecessor(var_llvm_BasicBlock2, var_bool);
        Py_RETURN_NONE;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock4 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock5 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void2);
            if(!var_llvm_BasicBlock5)
            {
                return NULL;
            }
            var_llvm_BasicBlock4 = var_llvm_BasicBlock5;
        }
        llvm::BasicBlock* var_llvm_BasicBlock6 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock7 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void3);
            if(!var_llvm_BasicBlock7)
            {
                return NULL;
            }
            var_llvm_BasicBlock6 = var_llvm_BasicBlock7;
        }
        var_llvm_BasicBlock4->removePredecessor(var_llvm_BasicBlock6);
        Py_RETURN_NONE;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_BasicBlock__getTerminator(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    llvm::TerminatorInst* var_llvm_TerminatorInst = var_llvm_BasicBlock->getTerminator();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_TerminatorInst), "llvm::Value", "llvm::TerminatorInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_BasicBlock__dropAllReferences(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    var_llvm_BasicBlock->dropAllReferences();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_BasicBlock__splitBasicBlock(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
            if(!var_llvm_BasicBlock1)
            {
                return NULL;
            }
            var_llvm_BasicBlock = var_llvm_BasicBlock1;
        }
        llvm::Instruction* var_llvm_Instruction = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void1);
            if(!var_llvm_Instruction1)
            {
                return NULL;
            }
            var_llvm_Instruction = var_llvm_Instruction1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock2 = var_llvm_BasicBlock->splitBasicBlock(var_llvm_Instruction, var_llvm_StringRef);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BasicBlock2), "llvm::Value", "llvm::BasicBlock");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock3 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock4 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void2);
            if(!var_llvm_BasicBlock4)
            {
                return NULL;
            }
            var_llvm_BasicBlock3 = var_llvm_BasicBlock4;
        }
        llvm::Instruction* var_llvm_Instruction2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Instruction* var_llvm_Instruction3 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void3);
            if(!var_llvm_Instruction3)
            {
                return NULL;
            }
            var_llvm_Instruction2 = var_llvm_Instruction3;
        }
        llvm::BasicBlock* var_llvm_BasicBlock5 = var_llvm_BasicBlock3->splitBasicBlock(var_llvm_Instruction2);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BasicBlock5), "llvm::Value", "llvm::BasicBlock");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_BasicBlock__eraseFromParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    var_llvm_BasicBlock->eraseFromParent();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_BasicBlock__empty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    bool var_bool = var_llvm_BasicBlock->empty();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_BasicBlock[] = {
    { "isLandingPad", (PyCFunction)llvm_BasicBlock__isLandingPad, METH_VARARGS, NULL },
    { "getParent", (PyCFunction)llvm_BasicBlock__getParent, METH_VARARGS, NULL },
    { "getInstList", (PyCFunction)llvm_BasicBlock__getInstList, METH_VARARGS, NULL },
    { "Create", (PyCFunction)llvm_BasicBlock__Create, METH_VARARGS, NULL },
    { "removePredecessor", (PyCFunction)llvm_BasicBlock__removePredecessor, METH_VARARGS, NULL },
    { "getTerminator", (PyCFunction)llvm_BasicBlock__getTerminator, METH_VARARGS, NULL },
    { "dropAllReferences", (PyCFunction)llvm_BasicBlock__dropAllReferences, METH_VARARGS, NULL },
    { "splitBasicBlock", (PyCFunction)llvm_BasicBlock__splitBasicBlock, METH_VARARGS, NULL },
    { "eraseFromParent", (PyCFunction)llvm_BasicBlock__eraseFromParent, METH_VARARGS, NULL },
    { "empty", (PyCFunction)llvm_BasicBlock__empty, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_BasicBlock[] = {
    { NULL }
};

static
PyObject*
llvm_ValueSymbolTable__dump(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ValueSymbolTable* var_llvm_ValueSymbolTable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ValueSymbolTable");
        if(!var_void)
        {
            puts("Error: llvm::ValueSymbolTable");
            return NULL;
        }
        llvm::ValueSymbolTable* var_llvm_ValueSymbolTable1 = unwrap_as<llvm::ValueSymbolTable, llvm::ValueSymbolTable >::from(var_void);
        if(!var_llvm_ValueSymbolTable1)
        {
            return NULL;
        }
        var_llvm_ValueSymbolTable = var_llvm_ValueSymbolTable1;
    }
    var_llvm_ValueSymbolTable->dump();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ValueSymbolTable__lookup(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ValueSymbolTable* var_llvm_ValueSymbolTable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ValueSymbolTable");
        if(!var_void)
        {
            puts("Error: llvm::ValueSymbolTable");
            return NULL;
        }
        llvm::ValueSymbolTable* var_llvm_ValueSymbolTable1 = unwrap_as<llvm::ValueSymbolTable, llvm::ValueSymbolTable >::from(var_void);
        if(!var_llvm_ValueSymbolTable1)
        {
            return NULL;
        }
        var_llvm_ValueSymbolTable = var_llvm_ValueSymbolTable1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = var_llvm_ValueSymbolTable->lookup(var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ValueSymbolTable__new(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::ValueSymbolTable* var_llvm_ValueSymbolTable = new llvm::ValueSymbolTable();
    PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::ValueSymbolTable >::from(var_llvm_ValueSymbolTable), "llvm::ValueSymbolTable", "llvm::ValueSymbolTable");
    if (!var_PyObject)
    {
        return NULL;
    }
    return var_PyObject;
}

static
PyObject*
llvm_ValueSymbolTable__size(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ValueSymbolTable* var_llvm_ValueSymbolTable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ValueSymbolTable");
        if(!var_void)
        {
            puts("Error: llvm::ValueSymbolTable");
            return NULL;
        }
        llvm::ValueSymbolTable* var_llvm_ValueSymbolTable1 = unwrap_as<llvm::ValueSymbolTable, llvm::ValueSymbolTable >::from(var_void);
        if(!var_llvm_ValueSymbolTable1)
        {
            return NULL;
        }
        var_llvm_ValueSymbolTable = var_llvm_ValueSymbolTable1;
    }
    unsigned var_unsigned = var_llvm_ValueSymbolTable->size();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_ValueSymbolTable__empty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ValueSymbolTable* var_llvm_ValueSymbolTable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ValueSymbolTable");
        if(!var_void)
        {
            puts("Error: llvm::ValueSymbolTable");
            return NULL;
        }
        llvm::ValueSymbolTable* var_llvm_ValueSymbolTable1 = unwrap_as<llvm::ValueSymbolTable, llvm::ValueSymbolTable >::from(var_void);
        if(!var_llvm_ValueSymbolTable1)
        {
            return NULL;
        }
        var_llvm_ValueSymbolTable = var_llvm_ValueSymbolTable1;
    }
    bool var_bool = var_llvm_ValueSymbolTable->empty();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ValueSymbolTable__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ValueSymbolTable* var_llvm_ValueSymbolTable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ValueSymbolTable");
        if(!var_void)
        {
            puts("Error: llvm::ValueSymbolTable");
            return NULL;
        }
        llvm::ValueSymbolTable* var_llvm_ValueSymbolTable1 = unwrap_as<llvm::ValueSymbolTable, llvm::ValueSymbolTable >::from(var_void);
        if(!var_llvm_ValueSymbolTable1)
        {
            return NULL;
        }
        var_llvm_ValueSymbolTable = var_llvm_ValueSymbolTable1;
    }
    delete var_llvm_ValueSymbolTable;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_ValueSymbolTable[] = {
    { "dump", (PyCFunction)llvm_ValueSymbolTable__dump, METH_VARARGS, NULL },
    { "lookup", (PyCFunction)llvm_ValueSymbolTable__lookup, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_ValueSymbolTable__new, METH_VARARGS, NULL },
    { "size", (PyCFunction)llvm_ValueSymbolTable__size, METH_VARARGS, NULL },
    { "empty", (PyCFunction)llvm_ValueSymbolTable__empty, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_ValueSymbolTable__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ValueSymbolTable[] = {
    { NULL }
};

static
PyObject*
llvm_Constant__isNegativeZeroValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    bool var_bool = var_llvm_Constant->isNegativeZeroValue();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Constant__canTrap(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    bool var_bool = var_llvm_Constant->canTrap();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Constant__isNullValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    bool var_bool = var_llvm_Constant->isNullValue();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Constant____getAggregateElement__by__int(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant2 = var_llvm_Constant->getAggregateElement(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Constant__isConstantUsed(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    bool var_bool = var_llvm_Constant->isConstantUsed();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Constant__getNullValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant = llvm::Constant::getNullValue(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Constant____getAggregateElement__by__const(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = var_llvm_Constant->getAggregateElement(var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Constant__getIntegerValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    PyObject* var_PyObject2 = Constant_getIntegerValue(var_llvm_Type, var_PyObject1);
    return var_PyObject2;
}

static
PyObject*
llvm_Constant__getAllOnesValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant = llvm::Constant::getAllOnesValue(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Constant__isThreadDependent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    bool var_bool = var_llvm_Constant->isThreadDependent();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Constant__isAllOnesValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    bool var_bool = var_llvm_Constant->isAllOnesValue();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Constant__removeDeadConstantUsers(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    var_llvm_Constant->removeDeadConstantUsers();
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_Constant[] = {
    { "isNegativeZeroValue", (PyCFunction)llvm_Constant__isNegativeZeroValue, METH_VARARGS, NULL },
    { "canTrap", (PyCFunction)llvm_Constant__canTrap, METH_VARARGS, NULL },
    { "isNullValue", (PyCFunction)llvm_Constant__isNullValue, METH_VARARGS, NULL },
    { "_getAggregateElement_by_int", (PyCFunction)llvm_Constant____getAggregateElement__by__int, METH_VARARGS, NULL },
    { "isConstantUsed", (PyCFunction)llvm_Constant__isConstantUsed, METH_VARARGS, NULL },
    { "getNullValue", (PyCFunction)llvm_Constant__getNullValue, METH_VARARGS, NULL },
    { "_getAggregateElement_by_const", (PyCFunction)llvm_Constant____getAggregateElement__by__const, METH_VARARGS, NULL },
    { "getIntegerValue", (PyCFunction)llvm_Constant__getIntegerValue, METH_VARARGS, NULL },
    { "getAllOnesValue", (PyCFunction)llvm_Constant__getAllOnesValue, METH_VARARGS, NULL },
    { "isThreadDependent", (PyCFunction)llvm_Constant__isThreadDependent, METH_VARARGS, NULL },
    { "isAllOnesValue", (PyCFunction)llvm_Constant__isAllOnesValue, METH_VARARGS, NULL },
    { "removeDeadConstantUsers", (PyCFunction)llvm_Constant__removeDeadConstantUsers, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Constant[] = {
    { NULL }
};

static
PyObject*
llvm_GlobalValue__setSection(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_GlobalValue->setSection(var_llvm_StringRef);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalValue__getAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    unsigned var_unsigned = var_llvm_GlobalValue->getAlignment();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__isDeclaration(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    bool var_bool = var_llvm_GlobalValue->isDeclaration();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__eraseFromParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    var_llvm_GlobalValue->eraseFromParent();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalValue__isDiscardableIfUnused(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    bool var_bool = var_llvm_GlobalValue->isDiscardableIfUnused();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__getSection(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    const std::string var_const_std_string = var_llvm_GlobalValue->getSection();
    PyObject* var_PyObject1 = py_str_from(var_const_std_string);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__setVisibility(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    llvm::GlobalValue::VisibilityTypes var_llvm_GlobalValue_VisibilityTypes = (llvm::GlobalValue::VisibilityTypes)PyInt_AsLong(var_PyObject1);
    var_llvm_GlobalValue->setVisibility(var_llvm_GlobalValue_VisibilityTypes);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalValue__hasSection(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    bool var_bool = var_llvm_GlobalValue->hasSection();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__destroyConstant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    var_llvm_GlobalValue->destroyConstant();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalValue__setLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes = (llvm::GlobalValue::LinkageTypes)PyInt_AsLong(var_PyObject1);
    var_llvm_GlobalValue->setLinkage(var_llvm_GlobalValue_LinkageTypes);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalValue__getLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes = var_llvm_GlobalValue->getLinkage();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_GlobalValue_LinkageTypes);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__removeFromParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    var_llvm_GlobalValue->removeFromParent();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalValue__isWeakForLinker(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    bool var_bool = var_llvm_GlobalValue->isWeakForLinker();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__copyAttributesFrom(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    llvm::GlobalValue* var_llvm_GlobalValue2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue3 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalValue3)
        {
            return NULL;
        }
        var_llvm_GlobalValue2 = var_llvm_GlobalValue3;
    }
    var_llvm_GlobalValue->copyAttributesFrom(var_llvm_GlobalValue2);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalValue__getParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    llvm::Module* var_llvm_Module = var_llvm_GlobalValue->getParent();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Module >::from(var_llvm_Module), "llvm::Module", "llvm::Module");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__setAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_GlobalValue->setAlignment(var_unsigned);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalValue__getVisibility(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    llvm::GlobalValue::VisibilityTypes var_llvm_GlobalValue_VisibilityTypes = var_llvm_GlobalValue->getVisibility();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_GlobalValue_VisibilityTypes);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__mayBeOverridden(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    bool var_bool = var_llvm_GlobalValue->mayBeOverridden();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__ExternalLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::GlobalValue::ExternalLinkage);
    return var_PyObject;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__AvailableExternallyLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::GlobalValue::AvailableExternallyLinkage);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__LinkOnceAnyLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::GlobalValue::LinkOnceAnyLinkage);
    return var_PyObject2;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__LinkOnceODRLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::GlobalValue::LinkOnceODRLinkage);
    return var_PyObject3;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__LinkOnceODRAutoHideLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::GlobalValue::LinkOnceODRAutoHideLinkage);
    return var_PyObject4;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__WeakAnyLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::GlobalValue::WeakAnyLinkage);
    return var_PyObject5;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__WeakODRLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::GlobalValue::WeakODRLinkage);
    return var_PyObject6;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__AppendingLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject7 = PyInt_FromLong(llvm::GlobalValue::AppendingLinkage);
    return var_PyObject7;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__InternalLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject8 = PyInt_FromLong(llvm::GlobalValue::InternalLinkage);
    return var_PyObject8;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__PrivateLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject9 = PyInt_FromLong(llvm::GlobalValue::PrivateLinkage);
    return var_PyObject9;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__LinkerPrivateLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject10 = PyInt_FromLong(llvm::GlobalValue::LinkerPrivateLinkage);
    return var_PyObject10;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__LinkerPrivateWeakLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject11 = PyInt_FromLong(llvm::GlobalValue::LinkerPrivateWeakLinkage);
    return var_PyObject11;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__DLLImportLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject12 = PyInt_FromLong(llvm::GlobalValue::DLLImportLinkage);
    return var_PyObject12;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__DLLExportLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject13 = PyInt_FromLong(llvm::GlobalValue::DLLExportLinkage);
    return var_PyObject13;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__ExternalWeakLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject14 = PyInt_FromLong(llvm::GlobalValue::ExternalWeakLinkage);
    return var_PyObject14;
}

static
PyObject*
llvm_GlobalValue__LinkageTypes__CommonLinkage(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject15 = PyInt_FromLong(llvm::GlobalValue::CommonLinkage);
    return var_PyObject15;
}

static
PyObject*
llvm_GlobalValue__VisibilityTypes__DefaultVisibility(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::GlobalValue::DefaultVisibility);
    return var_PyObject;
}

static
PyObject*
llvm_GlobalValue__VisibilityTypes__HiddenVisibility(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::GlobalValue::HiddenVisibility);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalValue__VisibilityTypes__ProtectedVisibility(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::GlobalValue::ProtectedVisibility);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_GlobalValue[] = {
    { "setSection", (PyCFunction)llvm_GlobalValue__setSection, METH_VARARGS, NULL },
    { "getAlignment", (PyCFunction)llvm_GlobalValue__getAlignment, METH_VARARGS, NULL },
    { "isDeclaration", (PyCFunction)llvm_GlobalValue__isDeclaration, METH_VARARGS, NULL },
    { "eraseFromParent", (PyCFunction)llvm_GlobalValue__eraseFromParent, METH_VARARGS, NULL },
    { "isDiscardableIfUnused", (PyCFunction)llvm_GlobalValue__isDiscardableIfUnused, METH_VARARGS, NULL },
    { "getSection", (PyCFunction)llvm_GlobalValue__getSection, METH_VARARGS, NULL },
    { "setVisibility", (PyCFunction)llvm_GlobalValue__setVisibility, METH_VARARGS, NULL },
    { "hasSection", (PyCFunction)llvm_GlobalValue__hasSection, METH_VARARGS, NULL },
    { "destroyConstant", (PyCFunction)llvm_GlobalValue__destroyConstant, METH_VARARGS, NULL },
    { "setLinkage", (PyCFunction)llvm_GlobalValue__setLinkage, METH_VARARGS, NULL },
    { "getLinkage", (PyCFunction)llvm_GlobalValue__getLinkage, METH_VARARGS, NULL },
    { "removeFromParent", (PyCFunction)llvm_GlobalValue__removeFromParent, METH_VARARGS, NULL },
    { "isWeakForLinker", (PyCFunction)llvm_GlobalValue__isWeakForLinker, METH_VARARGS, NULL },
    { "copyAttributesFrom", (PyCFunction)llvm_GlobalValue__copyAttributesFrom, METH_VARARGS, NULL },
    { "getParent", (PyCFunction)llvm_GlobalValue__getParent, METH_VARARGS, NULL },
    { "setAlignment", (PyCFunction)llvm_GlobalValue__setAlignment, METH_VARARGS, NULL },
    { "getVisibility", (PyCFunction)llvm_GlobalValue__getVisibility, METH_VARARGS, NULL },
    { "mayBeOverridden", (PyCFunction)llvm_GlobalValue__mayBeOverridden, METH_VARARGS, NULL },
    { "ExternalLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__ExternalLinkage, METH_VARARGS, NULL },
    { "AvailableExternallyLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__AvailableExternallyLinkage, METH_VARARGS, NULL },
    { "LinkOnceAnyLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__LinkOnceAnyLinkage, METH_VARARGS, NULL },
    { "LinkOnceODRLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__LinkOnceODRLinkage, METH_VARARGS, NULL },
    { "LinkOnceODRAutoHideLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__LinkOnceODRAutoHideLinkage, METH_VARARGS, NULL },
    { "WeakAnyLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__WeakAnyLinkage, METH_VARARGS, NULL },
    { "WeakODRLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__WeakODRLinkage, METH_VARARGS, NULL },
    { "AppendingLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__AppendingLinkage, METH_VARARGS, NULL },
    { "InternalLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__InternalLinkage, METH_VARARGS, NULL },
    { "PrivateLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__PrivateLinkage, METH_VARARGS, NULL },
    { "LinkerPrivateLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__LinkerPrivateLinkage, METH_VARARGS, NULL },
    { "LinkerPrivateWeakLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__LinkerPrivateWeakLinkage, METH_VARARGS, NULL },
    { "DLLImportLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__DLLImportLinkage, METH_VARARGS, NULL },
    { "DLLExportLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__DLLExportLinkage, METH_VARARGS, NULL },
    { "ExternalWeakLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__ExternalWeakLinkage, METH_VARARGS, NULL },
    { "CommonLinkage", (PyCFunction)llvm_GlobalValue__LinkageTypes__CommonLinkage, METH_VARARGS, NULL },
    { "DefaultVisibility", (PyCFunction)llvm_GlobalValue__VisibilityTypes__DefaultVisibility, METH_VARARGS, NULL },
    { "HiddenVisibility", (PyCFunction)llvm_GlobalValue__VisibilityTypes__HiddenVisibility, METH_VARARGS, NULL },
    { "ProtectedVisibility", (PyCFunction)llvm_GlobalValue__VisibilityTypes__ProtectedVisibility, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_GlobalValue[] = {
    { NULL }
};

static
PyObject*
llvm_Function__doesNotAccessMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    bool var_bool = var_llvm_Function->doesNotAccessMemory();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__getBasicBlockList(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    PyObject* var_PyObject1 = Function_getBasicBlockList(var_llvm_Function);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__Create(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
            if(!var_void)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::FunctionType* var_llvm_FunctionType1 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void);
            if(!var_llvm_FunctionType1)
            {
                return NULL;
            }
            var_llvm_FunctionType = var_llvm_FunctionType1;
        }
        llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes = (llvm::GlobalValue::LinkageTypes)PyInt_AsLong(var_PyObject1);
        const char* var_const_char;
        int var_int = py_str_to(var_PyObject2, var_const_char);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::Module");
            if(!var_void1)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
            if(!var_llvm_Module1)
            {
                return NULL;
            }
            var_llvm_Module = var_llvm_Module1;
        }
        llvm::Function* var_llvm_Function = llvm::Function::Create(var_llvm_FunctionType, var_llvm_GlobalValue_LinkageTypes, var_const_char, var_llvm_Module);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function), "llvm::Value", "llvm::Function");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject5, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::FunctionType* var_llvm_FunctionType3 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void2);
            if(!var_llvm_FunctionType3)
            {
                return NULL;
            }
            var_llvm_FunctionType2 = var_llvm_FunctionType3;
        }
        llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes1 = (llvm::GlobalValue::LinkageTypes)PyInt_AsLong(var_PyObject6);
        llvm::Function* var_llvm_Function1 = llvm::Function::Create(var_llvm_FunctionType2, var_llvm_GlobalValue_LinkageTypes1);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function1), "llvm::Value", "llvm::Function");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType4 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject8, "llvm::Type");
            if(!var_void3)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::FunctionType* var_llvm_FunctionType5 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void3);
            if(!var_llvm_FunctionType5)
            {
                return NULL;
            }
            var_llvm_FunctionType4 = var_llvm_FunctionType5;
        }
        llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes2 = (llvm::GlobalValue::LinkageTypes)PyInt_AsLong(var_PyObject9);
        const char* var_const_char1;
        int var_int1 = py_str_to(var_PyObject10, var_const_char1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Function* var_llvm_Function2 = llvm::Function::Create(var_llvm_FunctionType4, var_llvm_GlobalValue_LinkageTypes2, var_const_char1);
        PyObject* var_PyObject11 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function2), "llvm::Value", "llvm::Function");
        if (!var_PyObject11)
        {
            return NULL;
        }
        return var_PyObject11;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_Function__doesNotThrow(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    bool var_bool = var_llvm_Function->doesNotThrow();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__getArgumentList(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    PyObject* var_PyObject1 = Function_getArgumentList(var_llvm_Function);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__getContext(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::LLVMContext& var_llvm_LLVMContext = var_llvm_Function->getContext();
    const llvm::LLVMContext* var_const_llvm_LLVMContext = &var_llvm_LLVMContext;
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::LLVMContext >::from(var_const_llvm_LLVMContext), "llvm::LLVMContext", "llvm::LLVMContext");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Function__doesNotReturn(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    bool var_bool = var_llvm_Function->doesNotReturn();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__eraseFromParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_Function->eraseFromParent();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__removeAttributes(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::AttributeSet");
    if(!var_void1)
    {
        puts("Error: llvm::AttributeSet");
        return NULL;
    }
    llvm::AttributeSet* var_llvm_AttributeSet = unwrap_as<llvm::AttributeSet, llvm::AttributeSet >::from(var_void1);
    if(!var_llvm_AttributeSet)
    {
        return NULL;
    }
    llvm::AttributeSet& var_llvm_AttributeSet1 = *var_llvm_AttributeSet;
    var_llvm_Function->removeAttributes(var_unsigned, var_llvm_AttributeSet1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__setDoesNotAccessMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_Function->setDoesNotAccessMemory();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__viewCFGOnly(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_Function->viewCFGOnly();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__getGC(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    const char* var_const_char = var_llvm_Function->getGC();
    PyObject* var_PyObject1 = py_str_from(var_const_char);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__getEntryBlock(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::BasicBlock& var_llvm_BasicBlock = var_llvm_Function->getEntryBlock();
    const llvm::BasicBlock* var_const_llvm_BasicBlock = &var_llvm_BasicBlock;
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_const_llvm_BasicBlock), "llvm::Value", "llvm::BasicBlock");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Function__addAttributes(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::AttributeSet");
    if(!var_void1)
    {
        puts("Error: llvm::AttributeSet");
        return NULL;
    }
    llvm::AttributeSet* var_llvm_AttributeSet = unwrap_as<llvm::AttributeSet, llvm::AttributeSet >::from(var_void1);
    if(!var_llvm_AttributeSet)
    {
        return NULL;
    }
    llvm::AttributeSet& var_llvm_AttributeSet1 = *var_llvm_AttributeSet;
    var_llvm_Function->addAttributes(var_unsigned, var_llvm_AttributeSet1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__getReturnType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::Type* var_llvm_Type = var_llvm_Function->getReturnType();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Function__setOnlyReadsMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_Function->setOnlyReadsMemory();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__onlyReadsMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    bool var_bool = var_llvm_Function->onlyReadsMemory();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__setCallingConv(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::CallingConv::ID var_llvm_CallingConv_ID = (llvm::CallingConv::ID)PyInt_AsLong(var_PyObject1);
    var_llvm_Function->setCallingConv(var_llvm_CallingConv_ID);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__isIntrinsic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    bool var_bool = var_llvm_Function->isIntrinsic();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__setDoesNotThrow(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_Function->setDoesNotThrow();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__getValueSymbolTable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::ValueSymbolTable& var_llvm_ValueSymbolTable = var_llvm_Function->getValueSymbolTable();
    const llvm::ValueSymbolTable* var_const_llvm_ValueSymbolTable = &var_llvm_ValueSymbolTable;
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::ValueSymbolTable >::from(var_const_llvm_ValueSymbolTable), "llvm::ValueSymbolTable", "llvm::ValueSymbolTable");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Function__hasGC(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    bool var_bool = var_llvm_Function->hasGC();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__addFnAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::Attribute::AttrKind var_llvm_Attribute_AttrKind = (llvm::Attribute::AttrKind)PyInt_AsLong(var_PyObject1);
    var_llvm_Function->addFnAttr(var_llvm_Attribute_AttrKind);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__getCallingConv(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::CallingConv::ID var_llvm_CallingConv_ID = var_llvm_Function->getCallingConv();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_CallingConv_ID);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__setGC(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    const char* var_const_char;
    int var_int = py_str_to(var_PyObject1, var_const_char);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_Function->setGC(var_const_char);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__getIntrinsicID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    unsigned var_unsigned = var_llvm_Function->getIntrinsicID();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__copyAttributesFrom(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    var_llvm_Function->copyAttributesFrom(var_llvm_GlobalValue);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__isVarArg(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    bool var_bool = var_llvm_Function->isVarArg();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Function__getFunctionType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    llvm::FunctionType* var_llvm_FunctionType = var_llvm_Function->getFunctionType();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_FunctionType), "llvm::Type", "llvm::FunctionType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Function__setDoesNotReturn(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_Function->setDoesNotReturn();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__viewCFG(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_Function->viewCFG();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Function__deleteBody(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_Function->deleteBody();
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_Function[] = {
    { "doesNotAccessMemory", (PyCFunction)llvm_Function__doesNotAccessMemory, METH_VARARGS, NULL },
    { "getBasicBlockList", (PyCFunction)llvm_Function__getBasicBlockList, METH_VARARGS, NULL },
    { "Create", (PyCFunction)llvm_Function__Create, METH_VARARGS, NULL },
    { "doesNotThrow", (PyCFunction)llvm_Function__doesNotThrow, METH_VARARGS, NULL },
    { "getArgumentList", (PyCFunction)llvm_Function__getArgumentList, METH_VARARGS, NULL },
    { "getContext", (PyCFunction)llvm_Function__getContext, METH_VARARGS, NULL },
    { "doesNotReturn", (PyCFunction)llvm_Function__doesNotReturn, METH_VARARGS, NULL },
    { "eraseFromParent", (PyCFunction)llvm_Function__eraseFromParent, METH_VARARGS, NULL },
    { "removeAttributes", (PyCFunction)llvm_Function__removeAttributes, METH_VARARGS, NULL },
    { "setDoesNotAccessMemory", (PyCFunction)llvm_Function__setDoesNotAccessMemory, METH_VARARGS, NULL },
    { "viewCFGOnly", (PyCFunction)llvm_Function__viewCFGOnly, METH_VARARGS, NULL },
    { "getGC", (PyCFunction)llvm_Function__getGC, METH_VARARGS, NULL },
    { "getEntryBlock", (PyCFunction)llvm_Function__getEntryBlock, METH_VARARGS, NULL },
    { "addAttributes", (PyCFunction)llvm_Function__addAttributes, METH_VARARGS, NULL },
    { "getReturnType", (PyCFunction)llvm_Function__getReturnType, METH_VARARGS, NULL },
    { "setOnlyReadsMemory", (PyCFunction)llvm_Function__setOnlyReadsMemory, METH_VARARGS, NULL },
    { "onlyReadsMemory", (PyCFunction)llvm_Function__onlyReadsMemory, METH_VARARGS, NULL },
    { "setCallingConv", (PyCFunction)llvm_Function__setCallingConv, METH_VARARGS, NULL },
    { "isIntrinsic", (PyCFunction)llvm_Function__isIntrinsic, METH_VARARGS, NULL },
    { "setDoesNotThrow", (PyCFunction)llvm_Function__setDoesNotThrow, METH_VARARGS, NULL },
    { "getValueSymbolTable", (PyCFunction)llvm_Function__getValueSymbolTable, METH_VARARGS, NULL },
    { "hasGC", (PyCFunction)llvm_Function__hasGC, METH_VARARGS, NULL },
    { "addFnAttr", (PyCFunction)llvm_Function__addFnAttr, METH_VARARGS, NULL },
    { "getCallingConv", (PyCFunction)llvm_Function__getCallingConv, METH_VARARGS, NULL },
    { "setGC", (PyCFunction)llvm_Function__setGC, METH_VARARGS, NULL },
    { "getIntrinsicID", (PyCFunction)llvm_Function__getIntrinsicID, METH_VARARGS, NULL },
    { "copyAttributesFrom", (PyCFunction)llvm_Function__copyAttributesFrom, METH_VARARGS, NULL },
    { "isVarArg", (PyCFunction)llvm_Function__isVarArg, METH_VARARGS, NULL },
    { "getFunctionType", (PyCFunction)llvm_Function__getFunctionType, METH_VARARGS, NULL },
    { "setDoesNotReturn", (PyCFunction)llvm_Function__setDoesNotReturn, METH_VARARGS, NULL },
    { "viewCFG", (PyCFunction)llvm_Function__viewCFG, METH_VARARGS, NULL },
    { "deleteBody", (PyCFunction)llvm_Function__deleteBody, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Function[] = {
    { NULL }
};

static
PyObject*
llvm_UndefValue____getElementValue__by__const(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::UndefValue* var_llvm_UndefValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::UndefValue* var_llvm_UndefValue1 = unwrap_as<llvm::UndefValue, llvm::Value >::from(var_void);
        if(!var_llvm_UndefValue1)
        {
            return NULL;
        }
        var_llvm_UndefValue = var_llvm_UndefValue1;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::UndefValue* var_llvm_UndefValue2 = var_llvm_UndefValue->getElementValue(var_llvm_Constant);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UndefValue2), "llvm::Value", "llvm::UndefValue");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_UndefValue__getStructElement(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::UndefValue* var_llvm_UndefValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::UndefValue* var_llvm_UndefValue1 = unwrap_as<llvm::UndefValue, llvm::Value >::from(var_void);
        if(!var_llvm_UndefValue1)
        {
            return NULL;
        }
        var_llvm_UndefValue = var_llvm_UndefValue1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::UndefValue* var_llvm_UndefValue2 = var_llvm_UndefValue->getStructElement(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UndefValue2), "llvm::Value", "llvm::UndefValue");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_UndefValue__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::UndefValue* var_llvm_UndefValue = llvm::UndefValue::get(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UndefValue), "llvm::Value", "llvm::UndefValue");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_UndefValue__destroyConstant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::UndefValue* var_llvm_UndefValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::UndefValue* var_llvm_UndefValue1 = unwrap_as<llvm::UndefValue, llvm::Value >::from(var_void);
        if(!var_llvm_UndefValue1)
        {
            return NULL;
        }
        var_llvm_UndefValue = var_llvm_UndefValue1;
    }
    var_llvm_UndefValue->destroyConstant();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_UndefValue____getElementValue__by__int(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::UndefValue* var_llvm_UndefValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::UndefValue* var_llvm_UndefValue1 = unwrap_as<llvm::UndefValue, llvm::Value >::from(var_void);
        if(!var_llvm_UndefValue1)
        {
            return NULL;
        }
        var_llvm_UndefValue = var_llvm_UndefValue1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::UndefValue* var_llvm_UndefValue2 = var_llvm_UndefValue->getElementValue(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UndefValue2), "llvm::Value", "llvm::UndefValue");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_UndefValue__getSequentialElement(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::UndefValue* var_llvm_UndefValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::UndefValue* var_llvm_UndefValue1 = unwrap_as<llvm::UndefValue, llvm::Value >::from(var_void);
        if(!var_llvm_UndefValue1)
        {
            return NULL;
        }
        var_llvm_UndefValue = var_llvm_UndefValue1;
    }
    llvm::UndefValue* var_llvm_UndefValue2 = var_llvm_UndefValue->getSequentialElement();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UndefValue2), "llvm::Value", "llvm::UndefValue");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_UndefValue[] = {
    { "_getElementValue_by_const", (PyCFunction)llvm_UndefValue____getElementValue__by__const, METH_VARARGS, NULL },
    { "getStructElement", (PyCFunction)llvm_UndefValue__getStructElement, METH_VARARGS, NULL },
    { "get", (PyCFunction)llvm_UndefValue__get, METH_VARARGS, NULL },
    { "destroyConstant", (PyCFunction)llvm_UndefValue__destroyConstant, METH_VARARGS, NULL },
    { "_getElementValue_by_int", (PyCFunction)llvm_UndefValue____getElementValue__by__int, METH_VARARGS, NULL },
    { "getSequentialElement", (PyCFunction)llvm_UndefValue__getSequentialElement, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_UndefValue[] = {
    { NULL }
};

static
PyObject*
llvm_ConstantInt__isValueValidForType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    int64_t var_int64__t;
    int var_int = py_int_to(var_PyObject1, var_int64__t);
    if(!var_int)
    {
        return NULL;
    }
    bool var_bool = llvm::ConstantInt::isValueValidForType(var_llvm_Type, var_int64__t);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantInt__get(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::IntegerType* var_llvm_IntegerType = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
            if(!var_void)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::IntegerType* var_llvm_IntegerType1 = unwrap_as<llvm::IntegerType, llvm::Type >::from(var_void);
            if(!var_llvm_IntegerType1)
            {
                return NULL;
            }
            var_llvm_IntegerType = var_llvm_IntegerType1;
        }
        uint64_t var_uint64__t;
        int var_int = py_int_to(var_PyObject1, var_uint64__t);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject2, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::ConstantInt* var_llvm_ConstantInt = llvm::ConstantInt::get(var_llvm_IntegerType, var_uint64__t, var_bool);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantInt), "llvm::Value", "llvm::ConstantInt");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IntegerType* var_llvm_IntegerType2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::IntegerType* var_llvm_IntegerType3 = unwrap_as<llvm::IntegerType, llvm::Type >::from(var_void1);
            if(!var_llvm_IntegerType3)
            {
                return NULL;
            }
            var_llvm_IntegerType2 = var_llvm_IntegerType3;
        }
        uint64_t var_uint64__t1;
        int var_int2 = py_int_to(var_PyObject5, var_uint64__t1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::ConstantInt* var_llvm_ConstantInt1 = llvm::ConstantInt::get(var_llvm_IntegerType2, var_uint64__t1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantInt1), "llvm::Value", "llvm::ConstantInt");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantInt__getSExtValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantInt* var_llvm_ConstantInt = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantInt* var_llvm_ConstantInt1 = unwrap_as<llvm::ConstantInt, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantInt1)
        {
            return NULL;
        }
        var_llvm_ConstantInt = var_llvm_ConstantInt1;
    }
    int64_t var_int64__t = var_llvm_ConstantInt->getSExtValue();
    PyObject* var_PyObject1 = py_int_from_signed(var_int64__t);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantInt__getZExtValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantInt* var_llvm_ConstantInt = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantInt* var_llvm_ConstantInt1 = unwrap_as<llvm::ConstantInt, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantInt1)
        {
            return NULL;
        }
        var_llvm_ConstantInt = var_llvm_ConstantInt1;
    }
    uint64_t var_uint64__t = var_llvm_ConstantInt->getZExtValue();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_ConstantInt[] = {
    { "isValueValidForType", (PyCFunction)llvm_ConstantInt__isValueValidForType, METH_VARARGS, NULL },
    { "get", (PyCFunction)llvm_ConstantInt__get, METH_VARARGS, NULL },
    { "getSExtValue", (PyCFunction)llvm_ConstantInt__getSExtValue, METH_VARARGS, NULL },
    { "getZExtValue", (PyCFunction)llvm_ConstantInt__getZExtValue, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ConstantInt[] = {
    { NULL }
};

static
PyObject*
llvm_ConstantFP__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    double var_double;
    int var_int = py_float_to(var_PyObject1, var_double);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = llvm::ConstantFP::get(var_llvm_Type, var_double);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantFP__isNegative(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantFP* var_llvm_ConstantFP = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantFP* var_llvm_ConstantFP1 = unwrap_as<llvm::ConstantFP, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantFP1)
        {
            return NULL;
        }
        var_llvm_ConstantFP = var_llvm_ConstantFP1;
    }
    bool var_bool = var_llvm_ConstantFP->isNegative();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantFP__isNaN(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantFP* var_llvm_ConstantFP = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantFP* var_llvm_ConstantFP1 = unwrap_as<llvm::ConstantFP, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantFP1)
        {
            return NULL;
        }
        var_llvm_ConstantFP = var_llvm_ConstantFP1;
    }
    bool var_bool = var_llvm_ConstantFP->isNaN();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantFP__getNegativeZero(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::ConstantFP* var_llvm_ConstantFP = llvm::ConstantFP::getNegativeZero(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantFP), "llvm::Value", "llvm::ConstantFP");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantFP__isZero(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantFP* var_llvm_ConstantFP = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantFP* var_llvm_ConstantFP1 = unwrap_as<llvm::ConstantFP, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantFP1)
        {
            return NULL;
        }
        var_llvm_ConstantFP = var_llvm_ConstantFP1;
    }
    bool var_bool = var_llvm_ConstantFP->isZero();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantFP__getInfinity(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    llvm::ConstantFP* var_llvm_ConstantFP = llvm::ConstantFP::getInfinity(var_llvm_Type, var_bool);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ConstantFP), "llvm::Value", "llvm::ConstantFP");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_ConstantFP[] = {
    { "get", (PyCFunction)llvm_ConstantFP__get, METH_VARARGS, NULL },
    { "isNegative", (PyCFunction)llvm_ConstantFP__isNegative, METH_VARARGS, NULL },
    { "isNaN", (PyCFunction)llvm_ConstantFP__isNaN, METH_VARARGS, NULL },
    { "getNegativeZero", (PyCFunction)llvm_ConstantFP__getNegativeZero, METH_VARARGS, NULL },
    { "isZero", (PyCFunction)llvm_ConstantFP__isZero, METH_VARARGS, NULL },
    { "getInfinity", (PyCFunction)llvm_ConstantFP__getInfinity, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ConstantFP[] = {
    { NULL }
};

static
PyObject*
llvm_ConstantArray__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ArrayType* var_llvm_ArrayType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::ArrayType* var_llvm_ArrayType1 = unwrap_as<llvm::ArrayType, llvm::Type >::from(var_void);
        if(!var_llvm_ArrayType1)
        {
            return NULL;
        }
        var_llvm_ArrayType = var_llvm_ArrayType1;
    }
    PyObject* var_PyObject2 = ConstantArray_get(var_llvm_ArrayType, var_PyObject1);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_ConstantArray[] = {
    { "get", (PyCFunction)llvm_ConstantArray__get, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ConstantArray[] = {
    { NULL }
};

static
PyObject*
llvm_ConstantStruct__getAnon(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject1, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        PyObject* var_PyObject2 = ConstantStruct_getAnon(var_PyObject, var_bool);
        return var_PyObject2;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject3))
        {
            return NULL;
        }
        PyObject* var_PyObject4 = ConstantStruct_getAnon(var_PyObject3);
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantStruct__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    PyObject* var_PyObject2 = ConstantStruct_get(var_llvm_StructType, var_PyObject1);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_ConstantStruct[] = {
    { "getAnon", (PyCFunction)llvm_ConstantStruct__getAnon, METH_VARARGS, NULL },
    { "get", (PyCFunction)llvm_ConstantStruct__get, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ConstantStruct[] = {
    { NULL }
};

static
PyObject*
llvm_ConstantVector__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    PyObject* var_PyObject1 = ConstantVector_get(var_PyObject);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_ConstantVector[] = {
    { "get", (PyCFunction)llvm_ConstantVector__get, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ConstantVector[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_ConstantDataSequential[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_ConstantDataSequential[] = {
    { NULL }
};

static
PyObject*
llvm_ConstantDataArray__getString(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
        if(!var_void)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
        if(!var_llvm_LLVMContext)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject2, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = llvm::ConstantDataArray::getString(var_llvm_LLVMContext1, var_llvm_StringRef, var_bool);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::LLVMContext");
        if(!var_void1)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext2 = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void1);
        if(!var_llvm_LLVMContext2)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext3 = *var_llvm_LLVMContext2;
        llvm::StringRef var_llvm_StringRef1;
        int var_int2 = py_str_to(var_PyObject5, var_llvm_StringRef1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = llvm::ConstantDataArray::getString(var_llvm_LLVMContext3, var_llvm_StringRef1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant1), "llvm::Value", "llvm::Constant");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyMethodDef meth_llvm_ConstantDataArray[] = {
    { "getString", (PyCFunction)llvm_ConstantDataArray__getString, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ConstantDataArray[] = {
    { NULL }
};

static
PyObject*
llvm_ConstantExpr__getCompare(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::CmpInst::Predicate var_llvm_CmpInst_Predicate = (llvm::CmpInst::Predicate)PyInt_AsLong(var_PyObject);
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getCompare(var_llvm_CmpInst_Predicate, var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_ConstantExpr__getFDiv(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getFDiv(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getNeg(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject1, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject2, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getNeg(var_llvm_Constant, var_bool, var_bool1);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject4))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant4 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
            if(!var_llvm_Constant4)
            {
                return NULL;
            }
            var_llvm_Constant3 = var_llvm_Constant4;
        }
        llvm::Constant* var_llvm_Constant5 = llvm::ConstantExpr::getNeg(var_llvm_Constant3);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant5), "llvm::Value", "llvm::Constant");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant6 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant7 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant7)
            {
                return NULL;
            }
            var_llvm_Constant6 = var_llvm_Constant7;
        }
        bool var_bool2;
        int var_int2 = py_bool_to(var_PyObject7, var_bool2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant8 = llvm::ConstantExpr::getNeg(var_llvm_Constant6, var_bool2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant8), "llvm::Value", "llvm::Constant");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getNot(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getNot(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getAlignOf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant = llvm::ConstantExpr::getAlignOf(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getFMul(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getFMul(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr____getGEP(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void1)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_8 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void1);
        if(!var_llvm_SmallVectorllvm_Value_8)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_81 = *var_llvm_SmallVectorllvm_Value_8;
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getGetElementPtr(var_llvm_Constant, var_llvm_SmallVectorllvm_Value_81, var_bool);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant4 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant4)
            {
                return NULL;
            }
            var_llvm_Constant3 = var_llvm_Constant4;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void3)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_82 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void3);
        if(!var_llvm_SmallVectorllvm_Value_82)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_83 = *var_llvm_SmallVectorllvm_Value_82;
        llvm::Constant* var_llvm_Constant5 = llvm::ConstantExpr::getGetElementPtr(var_llvm_Constant3, var_llvm_SmallVectorllvm_Value_83);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant5), "llvm::Value", "llvm::Constant");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getIntToPtr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getIntToPtr(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getFSub(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getFSub(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getTrunc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getTrunc(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getSDiv(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        llvm::Constant* var_llvm_Constant2 = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
            if(!var_llvm_Constant3)
            {
                return NULL;
            }
            var_llvm_Constant2 = var_llvm_Constant3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getSDiv(var_llvm_Constant, var_llvm_Constant2, var_bool);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant6 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant6)
            {
                return NULL;
            }
            var_llvm_Constant5 = var_llvm_Constant6;
        }
        llvm::Constant* var_llvm_Constant7 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant8 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void3);
            if(!var_llvm_Constant8)
            {
                return NULL;
            }
            var_llvm_Constant7 = var_llvm_Constant8;
        }
        llvm::Constant* var_llvm_Constant9 = llvm::ConstantExpr::getSDiv(var_llvm_Constant5, var_llvm_Constant7);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant9), "llvm::Value", "llvm::Constant");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getFPToSI(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getFPToSI(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__isCast(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantExpr* var_llvm_ConstantExpr = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantExpr* var_llvm_ConstantExpr1 = unwrap_as<llvm::ConstantExpr, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantExpr1)
        {
            return NULL;
        }
        var_llvm_ConstantExpr = var_llvm_ConstantExpr1;
    }
    bool var_bool = var_llvm_ConstantExpr->isCast();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getFNeg(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getFNeg(var_llvm_Constant);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getSExt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getSExt(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getInsertElement(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void2)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
        if(!var_llvm_Constant5)
        {
            return NULL;
        }
        var_llvm_Constant4 = var_llvm_Constant5;
    }
    llvm::Constant* var_llvm_Constant6 = llvm::ConstantExpr::getInsertElement(var_llvm_Constant, var_llvm_Constant2, var_llvm_Constant4);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant6), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_ConstantExpr__getIntegerCast(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject2, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getIntegerCast(var_llvm_Constant, var_llvm_Type, var_bool);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_ConstantExpr__getFRem(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getFRem(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getAdd(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        llvm::Constant* var_llvm_Constant2 = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
            if(!var_llvm_Constant3)
            {
                return NULL;
            }
            var_llvm_Constant2 = var_llvm_Constant3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject3, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getAdd(var_llvm_Constant, var_llvm_Constant2, var_bool, var_bool1);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant6 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant6)
            {
                return NULL;
            }
            var_llvm_Constant5 = var_llvm_Constant6;
        }
        llvm::Constant* var_llvm_Constant7 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant8 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void3);
            if(!var_llvm_Constant8)
            {
                return NULL;
            }
            var_llvm_Constant7 = var_llvm_Constant8;
        }
        llvm::Constant* var_llvm_Constant9 = llvm::ConstantExpr::getAdd(var_llvm_Constant5, var_llvm_Constant7);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant9), "llvm::Value", "llvm::Constant");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant10 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant11 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void4);
            if(!var_llvm_Constant11)
            {
                return NULL;
            }
            var_llvm_Constant10 = var_llvm_Constant11;
        }
        llvm::Constant* var_llvm_Constant12 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant13 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void5);
            if(!var_llvm_Constant13)
            {
                return NULL;
            }
            var_llvm_Constant12 = var_llvm_Constant13;
        }
        bool var_bool2;
        int var_int2 = py_bool_to(var_PyObject10, var_bool2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant14 = llvm::ConstantExpr::getAdd(var_llvm_Constant10, var_llvm_Constant12, var_bool2);
        PyObject* var_PyObject11 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant14), "llvm::Value", "llvm::Constant");
        if (!var_PyObject11)
        {
            return NULL;
        }
        return var_PyObject11;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getUIToFP(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getUIToFP(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getSizeOf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant = llvm::ConstantExpr::getSizeOf(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getSRem(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getSRem(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getZExt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getZExt(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getOffsetOf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getOffsetOf(var_llvm_Type, var_llvm_Constant);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getPtrToInt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getPtrToInt(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getAnd(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getAnd(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getUDiv(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        llvm::Constant* var_llvm_Constant2 = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
            if(!var_llvm_Constant3)
            {
                return NULL;
            }
            var_llvm_Constant2 = var_llvm_Constant3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getUDiv(var_llvm_Constant, var_llvm_Constant2, var_bool);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant6 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant6)
            {
                return NULL;
            }
            var_llvm_Constant5 = var_llvm_Constant6;
        }
        llvm::Constant* var_llvm_Constant7 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant8 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void3);
            if(!var_llvm_Constant8)
            {
                return NULL;
            }
            var_llvm_Constant7 = var_llvm_Constant8;
        }
        llvm::Constant* var_llvm_Constant9 = llvm::ConstantExpr::getUDiv(var_llvm_Constant5, var_llvm_Constant7);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant9), "llvm::Value", "llvm::Constant");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getOr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getOr(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getSelect(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void2)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
        if(!var_llvm_Constant5)
        {
            return NULL;
        }
        var_llvm_Constant4 = var_llvm_Constant5;
    }
    llvm::Constant* var_llvm_Constant6 = llvm::ConstantExpr::getSelect(var_llvm_Constant, var_llvm_Constant2, var_llvm_Constant4);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant6), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_ConstantExpr__getPointerCast(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getPointerCast(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getLShr(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        llvm::Constant* var_llvm_Constant2 = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
            if(!var_llvm_Constant3)
            {
                return NULL;
            }
            var_llvm_Constant2 = var_llvm_Constant3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getLShr(var_llvm_Constant, var_llvm_Constant2, var_bool);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant6 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant6)
            {
                return NULL;
            }
            var_llvm_Constant5 = var_llvm_Constant6;
        }
        llvm::Constant* var_llvm_Constant7 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant8 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void3);
            if(!var_llvm_Constant8)
            {
                return NULL;
            }
            var_llvm_Constant7 = var_llvm_Constant8;
        }
        llvm::Constant* var_llvm_Constant9 = llvm::ConstantExpr::getLShr(var_llvm_Constant5, var_llvm_Constant7);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant9), "llvm::Value", "llvm::Constant");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getMul(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        llvm::Constant* var_llvm_Constant2 = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
            if(!var_llvm_Constant3)
            {
                return NULL;
            }
            var_llvm_Constant2 = var_llvm_Constant3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject3, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getMul(var_llvm_Constant, var_llvm_Constant2, var_bool, var_bool1);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant6 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant6)
            {
                return NULL;
            }
            var_llvm_Constant5 = var_llvm_Constant6;
        }
        llvm::Constant* var_llvm_Constant7 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant8 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void3);
            if(!var_llvm_Constant8)
            {
                return NULL;
            }
            var_llvm_Constant7 = var_llvm_Constant8;
        }
        llvm::Constant* var_llvm_Constant9 = llvm::ConstantExpr::getMul(var_llvm_Constant5, var_llvm_Constant7);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant9), "llvm::Value", "llvm::Constant");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant10 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant11 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void4);
            if(!var_llvm_Constant11)
            {
                return NULL;
            }
            var_llvm_Constant10 = var_llvm_Constant11;
        }
        llvm::Constant* var_llvm_Constant12 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant13 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void5);
            if(!var_llvm_Constant13)
            {
                return NULL;
            }
            var_llvm_Constant12 = var_llvm_Constant13;
        }
        bool var_bool2;
        int var_int2 = py_bool_to(var_PyObject10, var_bool2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant14 = llvm::ConstantExpr::getMul(var_llvm_Constant10, var_llvm_Constant12, var_bool2);
        PyObject* var_PyObject11 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant14), "llvm::Value", "llvm::Constant");
        if (!var_PyObject11)
        {
            return NULL;
        }
        return var_PyObject11;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getFPCast(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getFPCast(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr____getExtractValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::SmallVector<unsigned,8>");
    if(!var_void1)
    {
        puts("Error: llvm::SmallVector<unsigned,8>");
        return NULL;
    }
    llvm::SmallVector<unsigned,8>* var_llvm_SmallVectorunsigned_8 = unwrap_as<llvm::SmallVector<unsigned,8>, llvm::SmallVector<unsigned,8> >::from(var_void1);
    if(!var_llvm_SmallVectorunsigned_8)
    {
        return NULL;
    }
    llvm::SmallVector<unsigned,8>& var_llvm_SmallVectorunsigned_81 = *var_llvm_SmallVectorunsigned_8;
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getExtractValue(var_llvm_Constant, var_llvm_SmallVectorunsigned_81);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getXor(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getXor(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getFAdd(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getFAdd(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__isCompare(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantExpr* var_llvm_ConstantExpr = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantExpr* var_llvm_ConstantExpr1 = unwrap_as<llvm::ConstantExpr, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantExpr1)
        {
            return NULL;
        }
        var_llvm_ConstantExpr = var_llvm_ConstantExpr1;
    }
    bool var_bool = var_llvm_ConstantExpr->isCompare();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getSIToFP(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getSIToFP(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__isGEPWithNoNotionalOverIndexing(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantExpr* var_llvm_ConstantExpr = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantExpr* var_llvm_ConstantExpr1 = unwrap_as<llvm::ConstantExpr, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantExpr1)
        {
            return NULL;
        }
        var_llvm_ConstantExpr = var_llvm_ConstantExpr1;
    }
    bool var_bool = var_llvm_ConstantExpr->isGEPWithNoNotionalOverIndexing();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getFPTrunc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getFPTrunc(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getFCmp(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::CmpInst::Predicate var_llvm_CmpInst_Predicate = (llvm::CmpInst::Predicate)PyInt_AsLong(var_PyObject);
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getFCmp(var_llvm_CmpInst_Predicate, var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_ConstantExpr__getSub(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        llvm::Constant* var_llvm_Constant2 = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
            if(!var_llvm_Constant3)
            {
                return NULL;
            }
            var_llvm_Constant2 = var_llvm_Constant3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject3, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getSub(var_llvm_Constant, var_llvm_Constant2, var_bool, var_bool1);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant6 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant6)
            {
                return NULL;
            }
            var_llvm_Constant5 = var_llvm_Constant6;
        }
        llvm::Constant* var_llvm_Constant7 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant8 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void3);
            if(!var_llvm_Constant8)
            {
                return NULL;
            }
            var_llvm_Constant7 = var_llvm_Constant8;
        }
        llvm::Constant* var_llvm_Constant9 = llvm::ConstantExpr::getSub(var_llvm_Constant5, var_llvm_Constant7);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant9), "llvm::Value", "llvm::Constant");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant10 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant11 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void4);
            if(!var_llvm_Constant11)
            {
                return NULL;
            }
            var_llvm_Constant10 = var_llvm_Constant11;
        }
        llvm::Constant* var_llvm_Constant12 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant13 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void5);
            if(!var_llvm_Constant13)
            {
                return NULL;
            }
            var_llvm_Constant12 = var_llvm_Constant13;
        }
        bool var_bool2;
        int var_int2 = py_bool_to(var_PyObject10, var_bool2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant14 = llvm::ConstantExpr::getSub(var_llvm_Constant10, var_llvm_Constant12, var_bool2);
        PyObject* var_PyObject11 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant14), "llvm::Value", "llvm::Constant");
        if (!var_PyObject11)
        {
            return NULL;
        }
        return var_PyObject11;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getOpcodeName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantExpr* var_llvm_ConstantExpr = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantExpr* var_llvm_ConstantExpr1 = unwrap_as<llvm::ConstantExpr, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantExpr1)
        {
            return NULL;
        }
        var_llvm_ConstantExpr = var_llvm_ConstantExpr1;
    }
    const char* var_const_char = var_llvm_ConstantExpr->getOpcodeName();
    PyObject* var_PyObject1 = py_str_from(var_const_char);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getURem(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getURem(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getFPExtend(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getFPExtend(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getICmp(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::CmpInst::Predicate var_llvm_CmpInst_Predicate = (llvm::CmpInst::Predicate)PyInt_AsLong(var_PyObject);
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getICmp(var_llvm_CmpInst_Predicate, var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_ConstantExpr____getInsertValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::SmallVector<unsigned,8>");
    if(!var_void2)
    {
        puts("Error: llvm::SmallVector<unsigned,8>");
        return NULL;
    }
    llvm::SmallVector<unsigned,8>* var_llvm_SmallVectorunsigned_8 = unwrap_as<llvm::SmallVector<unsigned,8>, llvm::SmallVector<unsigned,8> >::from(var_void2);
    if(!var_llvm_SmallVectorunsigned_8)
    {
        return NULL;
    }
    llvm::SmallVector<unsigned,8>& var_llvm_SmallVectorunsigned_81 = *var_llvm_SmallVectorunsigned_8;
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getInsertValue(var_llvm_Constant, var_llvm_Constant2, var_llvm_SmallVectorunsigned_81);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_ConstantExpr__getOpcode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantExpr* var_llvm_ConstantExpr = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantExpr* var_llvm_ConstantExpr1 = unwrap_as<llvm::ConstantExpr, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantExpr1)
        {
            return NULL;
        }
        var_llvm_ConstantExpr = var_llvm_ConstantExpr1;
    }
    unsigned var_unsigned = var_llvm_ConstantExpr->getOpcode();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getBitCast(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getBitCast(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__getShl(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        llvm::Constant* var_llvm_Constant2 = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
            if(!var_llvm_Constant3)
            {
                return NULL;
            }
            var_llvm_Constant2 = var_llvm_Constant3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject3, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getShl(var_llvm_Constant, var_llvm_Constant2, var_bool, var_bool1);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant6 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant6)
            {
                return NULL;
            }
            var_llvm_Constant5 = var_llvm_Constant6;
        }
        llvm::Constant* var_llvm_Constant7 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant8 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void3);
            if(!var_llvm_Constant8)
            {
                return NULL;
            }
            var_llvm_Constant7 = var_llvm_Constant8;
        }
        llvm::Constant* var_llvm_Constant9 = llvm::ConstantExpr::getShl(var_llvm_Constant5, var_llvm_Constant7);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant9), "llvm::Value", "llvm::Constant");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant10 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant11 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void4);
            if(!var_llvm_Constant11)
            {
                return NULL;
            }
            var_llvm_Constant10 = var_llvm_Constant11;
        }
        llvm::Constant* var_llvm_Constant12 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant13 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void5);
            if(!var_llvm_Constant13)
            {
                return NULL;
            }
            var_llvm_Constant12 = var_llvm_Constant13;
        }
        bool var_bool2;
        int var_int2 = py_bool_to(var_PyObject10, var_bool2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant14 = llvm::ConstantExpr::getShl(var_llvm_Constant10, var_llvm_Constant12, var_bool2);
        PyObject* var_PyObject11 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant14), "llvm::Value", "llvm::Constant");
        if (!var_PyObject11)
        {
            return NULL;
        }
        return var_PyObject11;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getShuffleVector(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void2)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
        if(!var_llvm_Constant5)
        {
            return NULL;
        }
        var_llvm_Constant4 = var_llvm_Constant5;
    }
    llvm::Constant* var_llvm_Constant6 = llvm::ConstantExpr::getShuffleVector(var_llvm_Constant, var_llvm_Constant2, var_llvm_Constant4);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant6), "llvm::Value", "llvm::Constant");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_ConstantExpr__getAShr(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        llvm::Constant* var_llvm_Constant2 = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
            if(!var_llvm_Constant3)
            {
                return NULL;
            }
            var_llvm_Constant2 = var_llvm_Constant3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getAShr(var_llvm_Constant, var_llvm_Constant2, var_bool);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::Constant* var_llvm_Constant5 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant6 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant6)
            {
                return NULL;
            }
            var_llvm_Constant5 = var_llvm_Constant6;
        }
        llvm::Constant* var_llvm_Constant7 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant8 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void3);
            if(!var_llvm_Constant8)
            {
                return NULL;
            }
            var_llvm_Constant7 = var_llvm_Constant8;
        }
        llvm::Constant* var_llvm_Constant9 = llvm::ConstantExpr::getAShr(var_llvm_Constant5, var_llvm_Constant7);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant9), "llvm::Value", "llvm::Constant");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ConstantExpr__getExtractElement(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Constant* var_llvm_Constant2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant3)
        {
            return NULL;
        }
        var_llvm_Constant2 = var_llvm_Constant3;
    }
    llvm::Constant* var_llvm_Constant4 = llvm::ConstantExpr::getExtractElement(var_llvm_Constant, var_llvm_Constant2);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant4), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ConstantExpr__hasIndices(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ConstantExpr* var_llvm_ConstantExpr = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantExpr* var_llvm_ConstantExpr1 = unwrap_as<llvm::ConstantExpr, llvm::Value >::from(var_void);
        if(!var_llvm_ConstantExpr1)
        {
            return NULL;
        }
        var_llvm_ConstantExpr = var_llvm_ConstantExpr1;
    }
    bool var_bool = var_llvm_ConstantExpr->hasIndices();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ConstantExpr__getFPToUI(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Constant* var_llvm_Constant2 = llvm::ConstantExpr::getFPToUI(var_llvm_Constant, var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant2), "llvm::Value", "llvm::Constant");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_ConstantExpr[] = {
    { "getCompare", (PyCFunction)llvm_ConstantExpr__getCompare, METH_VARARGS, NULL },
    { "getFDiv", (PyCFunction)llvm_ConstantExpr__getFDiv, METH_VARARGS, NULL },
    { "getNeg", (PyCFunction)llvm_ConstantExpr__getNeg, METH_VARARGS, NULL },
    { "getNot", (PyCFunction)llvm_ConstantExpr__getNot, METH_VARARGS, NULL },
    { "getAlignOf", (PyCFunction)llvm_ConstantExpr__getAlignOf, METH_VARARGS, NULL },
    { "getFMul", (PyCFunction)llvm_ConstantExpr__getFMul, METH_VARARGS, NULL },
    { "_getGEP", (PyCFunction)llvm_ConstantExpr____getGEP, METH_VARARGS, NULL },
    { "getIntToPtr", (PyCFunction)llvm_ConstantExpr__getIntToPtr, METH_VARARGS, NULL },
    { "getFSub", (PyCFunction)llvm_ConstantExpr__getFSub, METH_VARARGS, NULL },
    { "getTrunc", (PyCFunction)llvm_ConstantExpr__getTrunc, METH_VARARGS, NULL },
    { "getSDiv", (PyCFunction)llvm_ConstantExpr__getSDiv, METH_VARARGS, NULL },
    { "getFPToSI", (PyCFunction)llvm_ConstantExpr__getFPToSI, METH_VARARGS, NULL },
    { "isCast", (PyCFunction)llvm_ConstantExpr__isCast, METH_VARARGS, NULL },
    { "getFNeg", (PyCFunction)llvm_ConstantExpr__getFNeg, METH_VARARGS, NULL },
    { "getSExt", (PyCFunction)llvm_ConstantExpr__getSExt, METH_VARARGS, NULL },
    { "getInsertElement", (PyCFunction)llvm_ConstantExpr__getInsertElement, METH_VARARGS, NULL },
    { "getIntegerCast", (PyCFunction)llvm_ConstantExpr__getIntegerCast, METH_VARARGS, NULL },
    { "getFRem", (PyCFunction)llvm_ConstantExpr__getFRem, METH_VARARGS, NULL },
    { "getAdd", (PyCFunction)llvm_ConstantExpr__getAdd, METH_VARARGS, NULL },
    { "getUIToFP", (PyCFunction)llvm_ConstantExpr__getUIToFP, METH_VARARGS, NULL },
    { "getSizeOf", (PyCFunction)llvm_ConstantExpr__getSizeOf, METH_VARARGS, NULL },
    { "getSRem", (PyCFunction)llvm_ConstantExpr__getSRem, METH_VARARGS, NULL },
    { "getZExt", (PyCFunction)llvm_ConstantExpr__getZExt, METH_VARARGS, NULL },
    { "getOffsetOf", (PyCFunction)llvm_ConstantExpr__getOffsetOf, METH_VARARGS, NULL },
    { "getPtrToInt", (PyCFunction)llvm_ConstantExpr__getPtrToInt, METH_VARARGS, NULL },
    { "getAnd", (PyCFunction)llvm_ConstantExpr__getAnd, METH_VARARGS, NULL },
    { "getUDiv", (PyCFunction)llvm_ConstantExpr__getUDiv, METH_VARARGS, NULL },
    { "getOr", (PyCFunction)llvm_ConstantExpr__getOr, METH_VARARGS, NULL },
    { "getSelect", (PyCFunction)llvm_ConstantExpr__getSelect, METH_VARARGS, NULL },
    { "getPointerCast", (PyCFunction)llvm_ConstantExpr__getPointerCast, METH_VARARGS, NULL },
    { "getLShr", (PyCFunction)llvm_ConstantExpr__getLShr, METH_VARARGS, NULL },
    { "getMul", (PyCFunction)llvm_ConstantExpr__getMul, METH_VARARGS, NULL },
    { "getFPCast", (PyCFunction)llvm_ConstantExpr__getFPCast, METH_VARARGS, NULL },
    { "_getExtractValue", (PyCFunction)llvm_ConstantExpr____getExtractValue, METH_VARARGS, NULL },
    { "getXor", (PyCFunction)llvm_ConstantExpr__getXor, METH_VARARGS, NULL },
    { "getFAdd", (PyCFunction)llvm_ConstantExpr__getFAdd, METH_VARARGS, NULL },
    { "isCompare", (PyCFunction)llvm_ConstantExpr__isCompare, METH_VARARGS, NULL },
    { "getSIToFP", (PyCFunction)llvm_ConstantExpr__getSIToFP, METH_VARARGS, NULL },
    { "isGEPWithNoNotionalOverIndexing", (PyCFunction)llvm_ConstantExpr__isGEPWithNoNotionalOverIndexing, METH_VARARGS, NULL },
    { "getFPTrunc", (PyCFunction)llvm_ConstantExpr__getFPTrunc, METH_VARARGS, NULL },
    { "getFCmp", (PyCFunction)llvm_ConstantExpr__getFCmp, METH_VARARGS, NULL },
    { "getSub", (PyCFunction)llvm_ConstantExpr__getSub, METH_VARARGS, NULL },
    { "getOpcodeName", (PyCFunction)llvm_ConstantExpr__getOpcodeName, METH_VARARGS, NULL },
    { "getURem", (PyCFunction)llvm_ConstantExpr__getURem, METH_VARARGS, NULL },
    { "getFPExtend", (PyCFunction)llvm_ConstantExpr__getFPExtend, METH_VARARGS, NULL },
    { "getICmp", (PyCFunction)llvm_ConstantExpr__getICmp, METH_VARARGS, NULL },
    { "_getInsertValue", (PyCFunction)llvm_ConstantExpr____getInsertValue, METH_VARARGS, NULL },
    { "getOpcode", (PyCFunction)llvm_ConstantExpr__getOpcode, METH_VARARGS, NULL },
    { "getBitCast", (PyCFunction)llvm_ConstantExpr__getBitCast, METH_VARARGS, NULL },
    { "getShl", (PyCFunction)llvm_ConstantExpr__getShl, METH_VARARGS, NULL },
    { "getShuffleVector", (PyCFunction)llvm_ConstantExpr__getShuffleVector, METH_VARARGS, NULL },
    { "getAShr", (PyCFunction)llvm_ConstantExpr__getAShr, METH_VARARGS, NULL },
    { "getExtractElement", (PyCFunction)llvm_ConstantExpr__getExtractElement, METH_VARARGS, NULL },
    { "hasIndices", (PyCFunction)llvm_ConstantExpr__hasIndices, METH_VARARGS, NULL },
    { "getFPToUI", (PyCFunction)llvm_ConstantExpr__getFPToUI, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ConstantExpr[] = {
    { NULL }
};

static
PyObject*
llvm_raw__ostream__flush(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::raw_ostream* var_llvm_raw__ostream = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::raw_ostream");
        if(!var_void)
        {
            puts("Error: llvm::raw_ostream");
            return NULL;
        }
        llvm::raw_ostream* var_llvm_raw__ostream1 = unwrap_as<llvm::raw_ostream, llvm::raw_ostream >::from(var_void);
        if(!var_llvm_raw__ostream1)
        {
            return NULL;
        }
        var_llvm_raw__ostream = var_llvm_raw__ostream1;
    }
    var_llvm_raw__ostream->flush();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_raw__ostream__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::raw_ostream* var_llvm_raw__ostream = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::raw_ostream");
        if(!var_void)
        {
            puts("Error: llvm::raw_ostream");
            return NULL;
        }
        llvm::raw_ostream* var_llvm_raw__ostream1 = unwrap_as<llvm::raw_ostream, llvm::raw_ostream >::from(var_void);
        if(!var_llvm_raw__ostream1)
        {
            return NULL;
        }
        var_llvm_raw__ostream = var_llvm_raw__ostream1;
    }
    delete var_llvm_raw__ostream;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_raw__ostream[] = {
    { "flush", (PyCFunction)llvm_raw__ostream__flush, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_raw__ostream__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_raw__ostream[] = {
    { NULL }
};

static
PyObject*
llvm_raw__svector__ostream__bytes(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::raw_svector_ostream* var_llvm_raw__svector__ostream = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::raw_ostream");
        if(!var_void)
        {
            puts("Error: llvm::raw_ostream");
            return NULL;
        }
        llvm::raw_svector_ostream* var_llvm_raw__svector__ostream1 = unwrap_as<llvm::raw_svector_ostream, llvm::raw_ostream >::from(var_void);
        if(!var_llvm_raw__svector__ostream1)
        {
            return NULL;
        }
        var_llvm_raw__svector__ostream = var_llvm_raw__svector__ostream1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_raw__svector__ostream->str();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_raw__svector__ostream__str(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::raw_svector_ostream* var_llvm_raw__svector__ostream = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::raw_ostream");
        if(!var_void)
        {
            puts("Error: llvm::raw_ostream");
            return NULL;
        }
        llvm::raw_svector_ostream* var_llvm_raw__svector__ostream1 = unwrap_as<llvm::raw_svector_ostream, llvm::raw_ostream >::from(var_void);
        if(!var_llvm_raw__svector__ostream1)
        {
            return NULL;
        }
        var_llvm_raw__svector__ostream = var_llvm_raw__svector__ostream1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_raw__svector__ostream->str();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_raw__svector__ostream[] = {
    { "bytes", (PyCFunction)llvm_raw__svector__ostream__bytes, METH_VARARGS, NULL },
    { "str", (PyCFunction)llvm_raw__svector__ostream__str, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_raw__svector__ostream[] = {
    { NULL }
};

static
PyObject*
llvm_formatted__raw__ostream____new(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::raw_ostream");
    if(!var_void)
    {
        puts("Error: llvm::raw_ostream");
        return NULL;
    }
    llvm::raw_ostream* var_llvm_raw__ostream = unwrap_as<llvm::raw_ostream, llvm::raw_ostream >::from(var_void);
    if(!var_llvm_raw__ostream)
    {
        return NULL;
    }
    llvm::raw_ostream& var_llvm_raw__ostream1 = *var_llvm_raw__ostream;
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    llvm::formatted_raw_ostream* var_llvm_formatted__raw__ostream = new llvm::formatted_raw_ostream(var_llvm_raw__ostream1, var_bool);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::raw_ostream >::from(var_llvm_formatted__raw__ostream), "llvm::raw_ostream", "llvm::formatted_raw_ostream");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_formatted__raw__ostream[] = {
    { "_new", (PyCFunction)llvm_formatted__raw__ostream____new, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_formatted__raw__ostream[] = {
    { NULL }
};

static
PyObject*
llvm_SMDiagnostic__new(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::SMDiagnostic* var_llvm_SMDiagnostic = new llvm::SMDiagnostic();
    PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::SMDiagnostic >::from(var_llvm_SMDiagnostic), "llvm::SMDiagnostic", "llvm::SMDiagnostic");
    if (!var_PyObject)
    {
        return NULL;
    }
    return var_PyObject;
}

static
PyObject*
llvm_SMDiagnostic__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::SMDiagnostic* var_llvm_SMDiagnostic = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::SMDiagnostic");
        if(!var_void)
        {
            puts("Error: llvm::SMDiagnostic");
            return NULL;
        }
        llvm::SMDiagnostic* var_llvm_SMDiagnostic1 = unwrap_as<llvm::SMDiagnostic, llvm::SMDiagnostic >::from(var_void);
        if(!var_llvm_SMDiagnostic1)
        {
            return NULL;
        }
        var_llvm_SMDiagnostic = var_llvm_SMDiagnostic1;
    }
    delete var_llvm_SMDiagnostic;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_SMDiagnostic[] = {
    { "new", (PyCFunction)llvm_SMDiagnostic__new, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_SMDiagnostic__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_SMDiagnostic[] = {
    { NULL }
};

static
PyObject*
llvm_Target__getNext(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    const llvm::Target* var_const_llvm_Target = var_llvm_Target->getNext();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Target >::from(var_const_llvm_Target), "llvm::Target", "llvm::Target");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Target__createTargetMachine(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (8 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::Target* var_llvm_Target = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
            if(!var_void)
            {
                puts("Error: llvm::Target");
                return NULL;
            }
            llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
            if(!var_llvm_Target1)
            {
                return NULL;
            }
            var_llvm_Target = var_llvm_Target1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject2, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int2 = py_str_to(var_PyObject3, var_llvm_StringRef2);
        if(!var_int2)
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::TargetOptions");
        if(!var_void1)
        {
            puts("Error: llvm::TargetOptions");
            return NULL;
        }
        llvm::TargetOptions* var_llvm_TargetOptions = unwrap_as<llvm::TargetOptions, llvm::TargetOptions >::from(var_void1);
        if(!var_llvm_TargetOptions)
        {
            return NULL;
        }
        llvm::TargetOptions& var_llvm_TargetOptions1 = *var_llvm_TargetOptions;
        llvm::Reloc::Model var_llvm_Reloc_Model = (llvm::Reloc::Model)PyInt_AsLong(var_PyObject5);
        llvm::CodeModel::Model var_llvm_CodeModel_Model = (llvm::CodeModel::Model)PyInt_AsLong(var_PyObject6);
        llvm::CodeGenOpt::Level var_llvm_CodeGenOpt_Level = (llvm::CodeGenOpt::Level)PyInt_AsLong(var_PyObject7);
        llvm::TargetMachine* var_llvm_TargetMachine = var_llvm_Target->createTargetMachine(var_llvm_StringRef, var_llvm_StringRef1, var_llvm_StringRef2, var_llvm_TargetOptions1, var_llvm_Reloc_Model, var_llvm_CodeModel_Model, var_llvm_CodeGenOpt_Level);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::TargetMachine >::from(var_llvm_TargetMachine), "llvm::TargetMachine", "llvm::TargetMachine");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject9, &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::Target* var_llvm_Target2 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject9, "llvm::Target");
            if(!var_void2)
            {
                puts("Error: llvm::Target");
                return NULL;
            }
            llvm::Target* var_llvm_Target3 = unwrap_as<llvm::Target, llvm::Target >::from(var_void2);
            if(!var_llvm_Target3)
            {
                return NULL;
            }
            var_llvm_Target2 = var_llvm_Target3;
        }
        llvm::StringRef var_llvm_StringRef3;
        int var_int3 = py_str_to(var_PyObject10, var_llvm_StringRef3);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef4;
        int var_int4 = py_str_to(var_PyObject11, var_llvm_StringRef4);
        if(!var_int4)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef5;
        int var_int5 = py_str_to(var_PyObject12, var_llvm_StringRef5);
        if(!var_int5)
        {
            return NULL;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject13, "llvm::TargetOptions");
        if(!var_void3)
        {
            puts("Error: llvm::TargetOptions");
            return NULL;
        }
        llvm::TargetOptions* var_llvm_TargetOptions2 = unwrap_as<llvm::TargetOptions, llvm::TargetOptions >::from(var_void3);
        if(!var_llvm_TargetOptions2)
        {
            return NULL;
        }
        llvm::TargetOptions& var_llvm_TargetOptions3 = *var_llvm_TargetOptions2;
        llvm::TargetMachine* var_llvm_TargetMachine1 = var_llvm_Target2->createTargetMachine(var_llvm_StringRef3, var_llvm_StringRef4, var_llvm_StringRef5, var_llvm_TargetOptions3);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::TargetMachine >::from(var_llvm_TargetMachine1), "llvm::TargetMachine", "llvm::TargetMachine");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject15, &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20))
        {
            return NULL;
        }
        llvm::Target* var_llvm_Target4 = NULL;
        if (var_PyObject15 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject15, "llvm::Target");
            if(!var_void4)
            {
                puts("Error: llvm::Target");
                return NULL;
            }
            llvm::Target* var_llvm_Target5 = unwrap_as<llvm::Target, llvm::Target >::from(var_void4);
            if(!var_llvm_Target5)
            {
                return NULL;
            }
            var_llvm_Target4 = var_llvm_Target5;
        }
        llvm::StringRef var_llvm_StringRef6;
        int var_int6 = py_str_to(var_PyObject16, var_llvm_StringRef6);
        if(!var_int6)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef7;
        int var_int7 = py_str_to(var_PyObject17, var_llvm_StringRef7);
        if(!var_int7)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef8;
        int var_int8 = py_str_to(var_PyObject18, var_llvm_StringRef8);
        if(!var_int8)
        {
            return NULL;
        }
        void* var_void5 = PyCapsule_GetPointer(var_PyObject19, "llvm::TargetOptions");
        if(!var_void5)
        {
            puts("Error: llvm::TargetOptions");
            return NULL;
        }
        llvm::TargetOptions* var_llvm_TargetOptions4 = unwrap_as<llvm::TargetOptions, llvm::TargetOptions >::from(var_void5);
        if(!var_llvm_TargetOptions4)
        {
            return NULL;
        }
        llvm::TargetOptions& var_llvm_TargetOptions5 = *var_llvm_TargetOptions4;
        llvm::Reloc::Model var_llvm_Reloc_Model1 = (llvm::Reloc::Model)PyInt_AsLong(var_PyObject20);
        llvm::TargetMachine* var_llvm_TargetMachine2 = var_llvm_Target4->createTargetMachine(var_llvm_StringRef6, var_llvm_StringRef7, var_llvm_StringRef8, var_llvm_TargetOptions5, var_llvm_Reloc_Model1);
        PyObject* var_PyObject21 = pycapsule_new(cast_to_base<llvm::TargetMachine >::from(var_llvm_TargetMachine2), "llvm::TargetMachine", "llvm::TargetMachine");
        if (!var_PyObject21)
        {
            return NULL;
        }
        return var_PyObject21;
    }
    if (7 == var_Py__ssize__t)
    {
        PyObject* var_PyObject22;
        PyObject* var_PyObject23;
        PyObject* var_PyObject24;
        PyObject* var_PyObject25;
        PyObject* var_PyObject26;
        PyObject* var_PyObject27;
        PyObject* var_PyObject28;
        if(!PyArg_ParseTuple(args, "OOOOOOO", &var_PyObject22, &var_PyObject23, &var_PyObject24, &var_PyObject25, &var_PyObject26, &var_PyObject27, &var_PyObject28))
        {
            return NULL;
        }
        llvm::Target* var_llvm_Target6 = NULL;
        if (var_PyObject22 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject22, "llvm::Target");
            if(!var_void6)
            {
                puts("Error: llvm::Target");
                return NULL;
            }
            llvm::Target* var_llvm_Target7 = unwrap_as<llvm::Target, llvm::Target >::from(var_void6);
            if(!var_llvm_Target7)
            {
                return NULL;
            }
            var_llvm_Target6 = var_llvm_Target7;
        }
        llvm::StringRef var_llvm_StringRef9;
        int var_int9 = py_str_to(var_PyObject23, var_llvm_StringRef9);
        if(!var_int9)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef10;
        int var_int10 = py_str_to(var_PyObject24, var_llvm_StringRef10);
        if(!var_int10)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef11;
        int var_int11 = py_str_to(var_PyObject25, var_llvm_StringRef11);
        if(!var_int11)
        {
            return NULL;
        }
        void* var_void7 = PyCapsule_GetPointer(var_PyObject26, "llvm::TargetOptions");
        if(!var_void7)
        {
            puts("Error: llvm::TargetOptions");
            return NULL;
        }
        llvm::TargetOptions* var_llvm_TargetOptions6 = unwrap_as<llvm::TargetOptions, llvm::TargetOptions >::from(var_void7);
        if(!var_llvm_TargetOptions6)
        {
            return NULL;
        }
        llvm::TargetOptions& var_llvm_TargetOptions7 = *var_llvm_TargetOptions6;
        llvm::Reloc::Model var_llvm_Reloc_Model2 = (llvm::Reloc::Model)PyInt_AsLong(var_PyObject27);
        llvm::CodeModel::Model var_llvm_CodeModel_Model1 = (llvm::CodeModel::Model)PyInt_AsLong(var_PyObject28);
        llvm::TargetMachine* var_llvm_TargetMachine3 = var_llvm_Target6->createTargetMachine(var_llvm_StringRef9, var_llvm_StringRef10, var_llvm_StringRef11, var_llvm_TargetOptions7, var_llvm_Reloc_Model2, var_llvm_CodeModel_Model1);
        PyObject* var_PyObject29 = pycapsule_new(cast_to_base<llvm::TargetMachine >::from(var_llvm_TargetMachine3), "llvm::TargetMachine", "llvm::TargetMachine");
        if (!var_PyObject29)
        {
            return NULL;
        }
        return var_PyObject29;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_Target__hasMCDisassembler(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasMCDisassembler();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__hasMCObjectStreamer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasMCObjectStreamer();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__hasAsmStreamer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasAsmStreamer();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__getName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    std::string var_std_string = var_llvm_Target->getName();
    PyObject* var_PyObject1 = py_str_from(var_std_string);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__getShortDescription(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    std::string var_std_string = var_llvm_Target->getShortDescription();
    PyObject* var_PyObject1 = py_str_from(var_std_string);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__hasMCAsmBackend(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasMCAsmBackend();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__hasMCInstPrinter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasMCInstPrinter();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__hasMCAsmParser(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasMCAsmParser();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__hasMCCodeEmitter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasMCCodeEmitter();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__hasAsmPrinter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasAsmPrinter();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__hasTargetMachine(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasTargetMachine();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Target__hasJIT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Target* var_llvm_Target = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Target");
        if(!var_void)
        {
            puts("Error: llvm::Target");
            return NULL;
        }
        llvm::Target* var_llvm_Target1 = unwrap_as<llvm::Target, llvm::Target >::from(var_void);
        if(!var_llvm_Target1)
        {
            return NULL;
        }
        var_llvm_Target = var_llvm_Target1;
    }
    bool var_bool = var_llvm_Target->hasJIT();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_Target[] = {
    { "getNext", (PyCFunction)llvm_Target__getNext, METH_VARARGS, NULL },
    { "createTargetMachine", (PyCFunction)llvm_Target__createTargetMachine, METH_VARARGS, NULL },
    { "hasMCDisassembler", (PyCFunction)llvm_Target__hasMCDisassembler, METH_VARARGS, NULL },
    { "hasMCObjectStreamer", (PyCFunction)llvm_Target__hasMCObjectStreamer, METH_VARARGS, NULL },
    { "hasAsmStreamer", (PyCFunction)llvm_Target__hasAsmStreamer, METH_VARARGS, NULL },
    { "getName", (PyCFunction)llvm_Target__getName, METH_VARARGS, NULL },
    { "getShortDescription", (PyCFunction)llvm_Target__getShortDescription, METH_VARARGS, NULL },
    { "hasMCAsmBackend", (PyCFunction)llvm_Target__hasMCAsmBackend, METH_VARARGS, NULL },
    { "hasMCInstPrinter", (PyCFunction)llvm_Target__hasMCInstPrinter, METH_VARARGS, NULL },
    { "hasMCAsmParser", (PyCFunction)llvm_Target__hasMCAsmParser, METH_VARARGS, NULL },
    { "hasMCCodeEmitter", (PyCFunction)llvm_Target__hasMCCodeEmitter, METH_VARARGS, NULL },
    { "hasAsmPrinter", (PyCFunction)llvm_Target__hasAsmPrinter, METH_VARARGS, NULL },
    { "hasTargetMachine", (PyCFunction)llvm_Target__hasTargetMachine, METH_VARARGS, NULL },
    { "hasJIT", (PyCFunction)llvm_Target__hasJIT, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Target[] = {
    { NULL }
};

static
PyObject*
llvm_TargetRegistry__lookupTarget(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        const char* var_const_char;
        int var_int = py_str_to(var_PyObject, var_const_char);
        if(!var_int)
        {
            return NULL;
        }
        PyObject* var_PyObject2 = TargetRegistry_lookupTarget(var_const_char, var_PyObject1);
        return var_PyObject2;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        const char* var_const_char1;
        int var_int1 = py_str_to(var_PyObject3, var_const_char1);
        if(!var_int1)
        {
            return NULL;
        }
        void* var_void = PyCapsule_GetPointer(var_PyObject4, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple)
        {
            return NULL;
        }
        llvm::Triple& var_llvm_Triple1 = *var_llvm_Triple;
        PyObject* var_PyObject6 = TargetRegistry_lookupTarget(var_const_char1, var_llvm_Triple1, var_PyObject5);
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_TargetRegistry__targetsList(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    PyObject* var_PyObject = TargetRegistry_targets_list();
    return var_PyObject;
}

static
PyObject*
llvm_TargetRegistry__getClosestTargetForJIT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    PyObject* var_PyObject1 = TargetRegistry_getClosestTargetForJIT(var_PyObject);
    return var_PyObject1;
}

static
PyObject*
llvm_TargetRegistry__printRegisteredTargetsForVersion(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::TargetRegistry::printRegisteredTargetsForVersion();
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_TargetRegistry[] = {
    { "lookupTarget", (PyCFunction)llvm_TargetRegistry__lookupTarget, METH_VARARGS, NULL },
    { "targetsList", (PyCFunction)llvm_TargetRegistry__targetsList, METH_VARARGS, NULL },
    { "getClosestTargetForJIT", (PyCFunction)llvm_TargetRegistry__getClosestTargetForJIT, METH_VARARGS, NULL },
    { "printRegisteredTargetsForVersion", (PyCFunction)llvm_TargetRegistry__printRegisteredTargetsForVersion, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_TargetRegistry[] = {
    { NULL }
};

static
PyObject*
llvm_Pass__dump(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Pass* var_llvm_Pass = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::Pass* var_llvm_Pass1 = unwrap_as<llvm::Pass, llvm::Pass >::from(var_void);
        if(!var_llvm_Pass1)
        {
            return NULL;
        }
        var_llvm_Pass = var_llvm_Pass1;
    }
    var_llvm_Pass->dump();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Pass__getPassName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Pass* var_llvm_Pass = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::Pass* var_llvm_Pass1 = unwrap_as<llvm::Pass, llvm::Pass >::from(var_void);
        if(!var_llvm_Pass1)
        {
            return NULL;
        }
        var_llvm_Pass = var_llvm_Pass1;
    }
    std::string var_std_string = var_llvm_Pass->getPassName();
    PyObject* var_PyObject1 = py_str_from(var_std_string);
    return var_PyObject1;
}

static
PyObject*
llvm_Pass__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Pass* var_llvm_Pass = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::Pass* var_llvm_Pass1 = unwrap_as<llvm::Pass, llvm::Pass >::from(var_void);
        if(!var_llvm_Pass1)
        {
            return NULL;
        }
        var_llvm_Pass = var_llvm_Pass1;
    }
    delete var_llvm_Pass;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_Pass[] = {
    { "dump", (PyCFunction)llvm_Pass__dump, METH_VARARGS, NULL },
    { "getPassName", (PyCFunction)llvm_Pass__getPassName, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_Pass__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Pass[] = {
    { NULL }
};

static
PyObject*
llvm_ModulePass__runOnModule(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ModulePass* var_llvm_ModulePass = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::ModulePass* var_llvm_ModulePass1 = unwrap_as<llvm::ModulePass, llvm::Pass >::from(var_void);
        if(!var_llvm_ModulePass1)
        {
            return NULL;
        }
        var_llvm_ModulePass = var_llvm_ModulePass1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
    if(!var_void1)
    {
        puts("Error: llvm::Module");
        return NULL;
    }
    llvm::Module* var_llvm_Module = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
    if(!var_llvm_Module)
    {
        return NULL;
    }
    llvm::Module& var_llvm_Module1 = *var_llvm_Module;
    bool var_bool = var_llvm_ModulePass->runOnModule(var_llvm_Module1);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_ModulePass[] = {
    { "runOnModule", (PyCFunction)llvm_ModulePass__runOnModule, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ModulePass[] = {
    { NULL }
};

static
PyObject*
llvm_FunctionPass__doFinalization(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::FunctionPass* var_llvm_FunctionPass = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::FunctionPass* var_llvm_FunctionPass1 = unwrap_as<llvm::FunctionPass, llvm::Pass >::from(var_void);
        if(!var_llvm_FunctionPass1)
        {
            return NULL;
        }
        var_llvm_FunctionPass = var_llvm_FunctionPass1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
    if(!var_void1)
    {
        puts("Error: llvm::Module");
        return NULL;
    }
    llvm::Module* var_llvm_Module = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
    if(!var_llvm_Module)
    {
        return NULL;
    }
    llvm::Module& var_llvm_Module1 = *var_llvm_Module;
    bool var_bool = var_llvm_FunctionPass->doFinalization(var_llvm_Module1);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_FunctionPass__doInitialization(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::FunctionPass* var_llvm_FunctionPass = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::FunctionPass* var_llvm_FunctionPass1 = unwrap_as<llvm::FunctionPass, llvm::Pass >::from(var_void);
        if(!var_llvm_FunctionPass1)
        {
            return NULL;
        }
        var_llvm_FunctionPass = var_llvm_FunctionPass1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
    if(!var_void1)
    {
        puts("Error: llvm::Module");
        return NULL;
    }
    llvm::Module* var_llvm_Module = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
    if(!var_llvm_Module)
    {
        return NULL;
    }
    llvm::Module& var_llvm_Module1 = *var_llvm_Module;
    bool var_bool = var_llvm_FunctionPass->doInitialization(var_llvm_Module1);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_FunctionPass[] = {
    { "doFinalization", (PyCFunction)llvm_FunctionPass__doFinalization, METH_VARARGS, NULL },
    { "doInitialization", (PyCFunction)llvm_FunctionPass__doInitialization, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_FunctionPass[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_ImmutablePass[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_ImmutablePass[] = {
    { NULL }
};

static
PyObject*
llvm_TargetLibraryInfo__setUnavailable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = unwrap_as<llvm::TargetLibraryInfo, llvm::Pass >::from(var_void);
        if(!var_llvm_TargetLibraryInfo1)
        {
            return NULL;
        }
        var_llvm_TargetLibraryInfo = var_llvm_TargetLibraryInfo1;
    }
    llvm::LibFunc::Func var_llvm_LibFunc_Func = (llvm::LibFunc::Func)PyInt_AsLong(var_PyObject1);
    var_llvm_TargetLibraryInfo->setUnavailable(var_llvm_LibFunc_Func);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_TargetLibraryInfo__setAvailable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = unwrap_as<llvm::TargetLibraryInfo, llvm::Pass >::from(var_void);
        if(!var_llvm_TargetLibraryInfo1)
        {
            return NULL;
        }
        var_llvm_TargetLibraryInfo = var_llvm_TargetLibraryInfo1;
    }
    llvm::LibFunc::Func var_llvm_LibFunc_Func = (llvm::LibFunc::Func)PyInt_AsLong(var_PyObject1);
    var_llvm_TargetLibraryInfo->setAvailable(var_llvm_LibFunc_Func);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_TargetLibraryInfo__disableAllFunctions(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = unwrap_as<llvm::TargetLibraryInfo, llvm::Pass >::from(var_void);
        if(!var_llvm_TargetLibraryInfo1)
        {
            return NULL;
        }
        var_llvm_TargetLibraryInfo = var_llvm_TargetLibraryInfo1;
    }
    var_llvm_TargetLibraryInfo->disableAllFunctions();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_TargetLibraryInfo__getName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = unwrap_as<llvm::TargetLibraryInfo, llvm::Pass >::from(var_void);
        if(!var_llvm_TargetLibraryInfo1)
        {
            return NULL;
        }
        var_llvm_TargetLibraryInfo = var_llvm_TargetLibraryInfo1;
    }
    llvm::LibFunc::Func var_llvm_LibFunc_Func = (llvm::LibFunc::Func)PyInt_AsLong(var_PyObject1);
    llvm::StringRef var_llvm_StringRef = var_llvm_TargetLibraryInfo->getName(var_llvm_LibFunc_Func);
    PyObject* var_PyObject2 = py_str_from(var_llvm_StringRef);
    return var_PyObject2;
}

static
PyObject*
llvm_TargetLibraryInfo__new(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (0 == var_Py__ssize__t)
    {
        if(!PyArg_ParseTuple(args, ""))
        {
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = new llvm::TargetLibraryInfo();
        PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::Pass >::from(var_llvm_TargetLibraryInfo), "llvm::Pass", "llvm::TargetLibraryInfo");
        if (!var_PyObject)
        {
            return NULL;
        }
        return var_PyObject;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject1))
        {
            return NULL;
        }
        void* var_void = PyCapsule_GetPointer(var_PyObject1, "llvm::Triple");
        if(!var_void)
        {
            puts("Error: llvm::Triple");
            return NULL;
        }
        llvm::Triple* var_llvm_Triple = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void);
        if(!var_llvm_Triple)
        {
            return NULL;
        }
        llvm::Triple& var_llvm_Triple1 = *var_llvm_Triple;
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = new llvm::TargetLibraryInfo(var_llvm_Triple1);
        PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_llvm_TargetLibraryInfo1), "llvm::Pass", "llvm::TargetLibraryInfo");
        if (!var_PyObject2)
        {
            return NULL;
        }
        return var_PyObject2;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_TargetLibraryInfo__has(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = unwrap_as<llvm::TargetLibraryInfo, llvm::Pass >::from(var_void);
        if(!var_llvm_TargetLibraryInfo1)
        {
            return NULL;
        }
        var_llvm_TargetLibraryInfo = var_llvm_TargetLibraryInfo1;
    }
    llvm::LibFunc::Func var_llvm_LibFunc_Func = (llvm::LibFunc::Func)PyInt_AsLong(var_PyObject1);
    bool var_bool = var_llvm_TargetLibraryInfo->has(var_llvm_LibFunc_Func);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_TargetLibraryInfo__setAvailableWithName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = unwrap_as<llvm::TargetLibraryInfo, llvm::Pass >::from(var_void);
        if(!var_llvm_TargetLibraryInfo1)
        {
            return NULL;
        }
        var_llvm_TargetLibraryInfo = var_llvm_TargetLibraryInfo1;
    }
    llvm::LibFunc::Func var_llvm_LibFunc_Func = (llvm::LibFunc::Func)PyInt_AsLong(var_PyObject1);
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_TargetLibraryInfo->setAvailableWithName(var_llvm_LibFunc_Func, var_llvm_StringRef);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_TargetLibraryInfo__hasOptimizedCodeGen(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = unwrap_as<llvm::TargetLibraryInfo, llvm::Pass >::from(var_void);
        if(!var_llvm_TargetLibraryInfo1)
        {
            return NULL;
        }
        var_llvm_TargetLibraryInfo = var_llvm_TargetLibraryInfo1;
    }
    llvm::LibFunc::Func var_llvm_LibFunc_Func = (llvm::LibFunc::Func)PyInt_AsLong(var_PyObject1);
    bool var_bool = var_llvm_TargetLibraryInfo->hasOptimizedCodeGen(var_llvm_LibFunc_Func);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_TargetLibraryInfo__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = unwrap_as<llvm::TargetLibraryInfo, llvm::Pass >::from(var_void);
        if(!var_llvm_TargetLibraryInfo1)
        {
            return NULL;
        }
        var_llvm_TargetLibraryInfo = var_llvm_TargetLibraryInfo1;
    }
    delete var_llvm_TargetLibraryInfo;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_TargetLibraryInfo[] = {
    { "setUnavailable", (PyCFunction)llvm_TargetLibraryInfo__setUnavailable, METH_VARARGS, NULL },
    { "setAvailable", (PyCFunction)llvm_TargetLibraryInfo__setAvailable, METH_VARARGS, NULL },
    { "disableAllFunctions", (PyCFunction)llvm_TargetLibraryInfo__disableAllFunctions, METH_VARARGS, NULL },
    { "getName", (PyCFunction)llvm_TargetLibraryInfo__getName, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_TargetLibraryInfo__new, METH_VARARGS, NULL },
    { "has", (PyCFunction)llvm_TargetLibraryInfo__has, METH_VARARGS, NULL },
    { "setAvailableWithName", (PyCFunction)llvm_TargetLibraryInfo__setAvailableWithName, METH_VARARGS, NULL },
    { "hasOptimizedCodeGen", (PyCFunction)llvm_TargetLibraryInfo__hasOptimizedCodeGen, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_TargetLibraryInfo__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_TargetLibraryInfo[] = {
    { NULL }
};

static
PyObject*
llvm_TargetMachine__addAnalysisPasses(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::PassManagerBase");
    if(!var_void1)
    {
        puts("Error: llvm::PassManagerBase");
        return NULL;
    }
    llvm::PassManagerBase* var_llvm_PassManagerBase = unwrap_as<llvm::PassManagerBase, llvm::PassManagerBase >::from(var_void1);
    if(!var_llvm_PassManagerBase)
    {
        return NULL;
    }
    llvm::PassManagerBase& var_llvm_PassManagerBase1 = *var_llvm_PassManagerBase;
    var_llvm_TargetMachine->addAnalysisPasses(var_llvm_PassManagerBase1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_TargetMachine__getCodeModel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    llvm::CodeModel::Model var_llvm_CodeModel_Model = var_llvm_TargetMachine->getCodeModel();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_CodeModel_Model);
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__getTargetTriple(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_TargetMachine->getTargetTriple();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__setMCUseDwarfDirectory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_TargetMachine->setMCUseDwarfDirectory(var_bool);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_TargetMachine__getOptLevel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    llvm::CodeGenOpt::Level var_llvm_CodeGenOpt_Level = var_llvm_TargetMachine->getOptLevel();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_CodeGenOpt_Level);
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__getTLSModel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    llvm::TLSModel::Model var_llvm_TLSModel_Model = var_llvm_TargetMachine->getTLSModel(var_llvm_GlobalValue);
    PyObject* var_PyObject2 = PyInt_FromLong(var_llvm_TLSModel_Model);
    return var_PyObject2;
}

static
PyObject*
llvm_TargetMachine__getTarget(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    const llvm::Target& var_const_llvm_Target = var_llvm_TargetMachine->getTarget();
    const llvm::Target* var_const_llvm_Target1 = &var_const_llvm_Target;
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Target >::from(var_const_llvm_Target1), "llvm::Target", "llvm::Target");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__getTargetCPU(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_TargetMachine->getTargetCPU();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__getDataLayout(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    const llvm::DataLayout* var_const_llvm_DataLayout = var_llvm_TargetMachine->getDataLayout();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_const_llvm_DataLayout), "llvm::Pass", "llvm::DataLayout");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__hasMCUseDwarfDirectory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    bool var_bool = var_llvm_TargetMachine->hasMCUseDwarfDirectory();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__getTargetFeatureString(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_TargetMachine->getTargetFeatureString();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__addPassesToEmitFile(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
            if(!var_void)
            {
                puts("Error: llvm::TargetMachine");
                return NULL;
            }
            llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
            if(!var_llvm_TargetMachine1)
            {
                return NULL;
            }
            var_llvm_TargetMachine = var_llvm_TargetMachine1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::PassManagerBase");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::PassManagerBase* var_llvm_PassManagerBase = unwrap_as<llvm::PassManagerBase, llvm::PassManagerBase >::from(var_void1);
        if(!var_llvm_PassManagerBase)
        {
            return NULL;
        }
        llvm::PassManagerBase& var_llvm_PassManagerBase1 = *var_llvm_PassManagerBase;
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::raw_ostream");
        if(!var_void2)
        {
            puts("Error: llvm::raw_ostream");
            return NULL;
        }
        llvm::formatted_raw_ostream* var_llvm_formatted__raw__ostream = unwrap_as<llvm::formatted_raw_ostream, llvm::raw_ostream >::from(var_void2);
        if(!var_llvm_formatted__raw__ostream)
        {
            return NULL;
        }
        llvm::formatted_raw_ostream& var_llvm_formatted__raw__ostream1 = *var_llvm_formatted__raw__ostream;
        llvm::TargetMachine::CodeGenFileType var_llvm_TargetMachine_CodeGenFileType = (llvm::TargetMachine::CodeGenFileType)PyInt_AsLong(var_PyObject3);
        bool var_bool;
        int var_int = py_bool_to(var_PyObject4, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool1 = var_llvm_TargetMachine->addPassesToEmitFile(var_llvm_PassManagerBase1, var_llvm_formatted__raw__ostream1, var_llvm_TargetMachine_CodeGenFileType, var_bool);
        PyObject* var_PyObject5 = py_bool_from(var_bool1);
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::TargetMachine");
            if(!var_void3)
            {
                puts("Error: llvm::TargetMachine");
                return NULL;
            }
            llvm::TargetMachine* var_llvm_TargetMachine3 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void3);
            if(!var_llvm_TargetMachine3)
            {
                return NULL;
            }
            var_llvm_TargetMachine2 = var_llvm_TargetMachine3;
        }
        void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::PassManagerBase");
        if(!var_void4)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::PassManagerBase* var_llvm_PassManagerBase2 = unwrap_as<llvm::PassManagerBase, llvm::PassManagerBase >::from(var_void4);
        if(!var_llvm_PassManagerBase2)
        {
            return NULL;
        }
        llvm::PassManagerBase& var_llvm_PassManagerBase3 = *var_llvm_PassManagerBase2;
        void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::raw_ostream");
        if(!var_void5)
        {
            puts("Error: llvm::raw_ostream");
            return NULL;
        }
        llvm::formatted_raw_ostream* var_llvm_formatted__raw__ostream2 = unwrap_as<llvm::formatted_raw_ostream, llvm::raw_ostream >::from(var_void5);
        if(!var_llvm_formatted__raw__ostream2)
        {
            return NULL;
        }
        llvm::formatted_raw_ostream& var_llvm_formatted__raw__ostream3 = *var_llvm_formatted__raw__ostream2;
        llvm::TargetMachine::CodeGenFileType var_llvm_TargetMachine_CodeGenFileType1 = (llvm::TargetMachine::CodeGenFileType)PyInt_AsLong(var_PyObject9);
        bool var_bool2 = var_llvm_TargetMachine2->addPassesToEmitFile(var_llvm_PassManagerBase3, var_llvm_formatted__raw__ostream3, var_llvm_TargetMachine_CodeGenFileType1);
        PyObject* var_PyObject10 = py_bool_from(var_bool2);
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_TargetMachine__getRelocationModel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    llvm::Reloc::Model var_llvm_Reloc_Model = var_llvm_TargetMachine->getRelocationModel();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_Reloc_Model);
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetMachine");
        if(!var_void)
        {
            puts("Error: llvm::TargetMachine");
            return NULL;
        }
        llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void);
        if(!var_llvm_TargetMachine1)
        {
            return NULL;
        }
        var_llvm_TargetMachine = var_llvm_TargetMachine1;
    }
    delete var_llvm_TargetMachine;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_TargetMachine__CodeGenFileType__CGFT__AssemblyFile(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::TargetMachine::CGFT_AssemblyFile);
    return var_PyObject;
}

static
PyObject*
llvm_TargetMachine__CodeGenFileType__CGFT__ObjectFile(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::TargetMachine::CGFT_ObjectFile);
    return var_PyObject1;
}

static
PyObject*
llvm_TargetMachine__CodeGenFileType__CGFT__Null(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::TargetMachine::CGFT_Null);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_TargetMachine[] = {
    { "addAnalysisPasses", (PyCFunction)llvm_TargetMachine__addAnalysisPasses, METH_VARARGS, NULL },
    { "getCodeModel", (PyCFunction)llvm_TargetMachine__getCodeModel, METH_VARARGS, NULL },
    { "getTargetTriple", (PyCFunction)llvm_TargetMachine__getTargetTriple, METH_VARARGS, NULL },
    { "setMCUseDwarfDirectory", (PyCFunction)llvm_TargetMachine__setMCUseDwarfDirectory, METH_VARARGS, NULL },
    { "getOptLevel", (PyCFunction)llvm_TargetMachine__getOptLevel, METH_VARARGS, NULL },
    { "getTLSModel", (PyCFunction)llvm_TargetMachine__getTLSModel, METH_VARARGS, NULL },
    { "getTarget", (PyCFunction)llvm_TargetMachine__getTarget, METH_VARARGS, NULL },
    { "getTargetCPU", (PyCFunction)llvm_TargetMachine__getTargetCPU, METH_VARARGS, NULL },
    { "getDataLayout", (PyCFunction)llvm_TargetMachine__getDataLayout, METH_VARARGS, NULL },
    { "hasMCUseDwarfDirectory", (PyCFunction)llvm_TargetMachine__hasMCUseDwarfDirectory, METH_VARARGS, NULL },
    { "getTargetFeatureString", (PyCFunction)llvm_TargetMachine__getTargetFeatureString, METH_VARARGS, NULL },
    { "addPassesToEmitFile", (PyCFunction)llvm_TargetMachine__addPassesToEmitFile, METH_VARARGS, NULL },
    { "getRelocationModel", (PyCFunction)llvm_TargetMachine__getRelocationModel, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_TargetMachine__delete, METH_VARARGS, NULL },
    { "CGFT_AssemblyFile", (PyCFunction)llvm_TargetMachine__CodeGenFileType__CGFT__AssemblyFile, METH_VARARGS, NULL },
    { "CGFT_ObjectFile", (PyCFunction)llvm_TargetMachine__CodeGenFileType__CGFT__ObjectFile, METH_VARARGS, NULL },
    { "CGFT_Null", (PyCFunction)llvm_TargetMachine__CodeGenFileType__CGFT__Null, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_TargetMachine[] = {
    { NULL }
};

static
PyObject*
llvm_DataLayout__getPointerPrefAlignment(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
            if(!var_void)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
            if(!var_llvm_DataLayout1)
            {
                return NULL;
            }
            var_llvm_DataLayout = var_llvm_DataLayout1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        unsigned var_unsigned1 = var_llvm_DataLayout->getPointerPrefAlignment(var_unsigned);
        PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned1);
        return var_PyObject2;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject3))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::Pass");
            if(!var_void1)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout3 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void1);
            if(!var_llvm_DataLayout3)
            {
                return NULL;
            }
            var_llvm_DataLayout2 = var_llvm_DataLayout3;
        }
        unsigned var_unsigned2 = var_llvm_DataLayout2->getPointerPrefAlignment();
        PyObject* var_PyObject4 = py_int_from_unsigned(var_unsigned2);
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DataLayout__getTypeSizeInBits(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    uint64_t var_uint64__t = var_llvm_DataLayout->getTypeSizeInBits(var_llvm_Type);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getCallFrameTypeAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_DataLayout->getCallFrameTypeAlignment(var_llvm_Type);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getPointerSizeInBits(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
            if(!var_void)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
            if(!var_llvm_DataLayout1)
            {
                return NULL;
            }
            var_llvm_DataLayout = var_llvm_DataLayout1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        unsigned var_unsigned1 = var_llvm_DataLayout->getPointerSizeInBits(var_unsigned);
        PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned1);
        return var_PyObject2;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject3))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::Pass");
            if(!var_void1)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout3 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void1);
            if(!var_llvm_DataLayout3)
            {
                return NULL;
            }
            var_llvm_DataLayout2 = var_llvm_DataLayout3;
        }
        unsigned var_unsigned2 = var_llvm_DataLayout2->getPointerSizeInBits();
        PyObject* var_PyObject4 = py_int_from_unsigned(var_unsigned2);
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DataLayout__getABIIntegerTypeAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    unsigned var_unsigned1 = var_llvm_DataLayout->getABIIntegerTypeAlignment(var_unsigned);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned1);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getPointerSize(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
            if(!var_void)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
            if(!var_llvm_DataLayout1)
            {
                return NULL;
            }
            var_llvm_DataLayout = var_llvm_DataLayout1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        unsigned var_unsigned1 = var_llvm_DataLayout->getPointerSize(var_unsigned);
        PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned1);
        return var_PyObject2;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject3))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::Pass");
            if(!var_void1)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout3 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void1);
            if(!var_llvm_DataLayout3)
            {
                return NULL;
            }
            var_llvm_DataLayout2 = var_llvm_DataLayout3;
        }
        unsigned var_unsigned2 = var_llvm_DataLayout2->getPointerSize();
        PyObject* var_PyObject4 = py_int_from_unsigned(var_unsigned2);
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DataLayout__isLegalInteger(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    bool var_bool = var_llvm_DataLayout->isLegalInteger(var_unsigned);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getStringRepresentation(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    std::string var_std_string = var_llvm_DataLayout->getStringRepresentation();
    PyObject* var_PyObject1 = py_str_from(var_std_string);
    return var_PyObject1;
}

static
PyObject*
llvm_DataLayout__getPreferredTypeAlignmentShift(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_DataLayout->getPreferredTypeAlignmentShift(var_llvm_Type);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getTypeAllocSizeInBits(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    uint64_t var_uint64__t = var_llvm_DataLayout->getTypeAllocSizeInBits(var_llvm_Type);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout____new__module(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::DataLayout* var_llvm_DataLayout = new llvm::DataLayout(var_llvm_Module);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_llvm_DataLayout), "llvm::Pass", "llvm::DataLayout");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_DataLayout__isLittleEndian(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    bool var_bool = var_llvm_DataLayout->isLittleEndian();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_DataLayout__isBigEndian(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    bool var_bool = var_llvm_DataLayout->isBigEndian();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_DataLayout____getIndexedOffset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::SmallVector<llvm::Value*,8>");
    if(!var_void2)
    {
        puts("Error: llvm::SmallVector<llvm::Value*,8>");
        return NULL;
    }
    llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_8 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void2);
    if(!var_llvm_SmallVectorllvm_Value_8)
    {
        return NULL;
    }
    llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_81 = *var_llvm_SmallVectorllvm_Value_8;
    uint64_t var_uint64__t = var_llvm_DataLayout->getIndexedOffset(var_llvm_Type, var_llvm_SmallVectorllvm_Value_81);
    PyObject* var_PyObject3 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject3;
}

static
PyObject*
llvm_DataLayout____getIntPtrType(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
            if(!var_void)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
            if(!var_llvm_DataLayout1)
            {
                return NULL;
            }
            var_llvm_DataLayout = var_llvm_DataLayout1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::LLVMContext");
        if(!var_void1)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void1);
        if(!var_llvm_LLVMContext)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject2, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        llvm::IntegerType* var_llvm_IntegerType = var_llvm_DataLayout->getIntPtrType(var_llvm_LLVMContext1, var_unsigned);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_IntegerType), "llvm::Type", "llvm::IntegerType");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::Pass");
            if(!var_void2)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout3 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void2);
            if(!var_llvm_DataLayout3)
            {
                return NULL;
            }
            var_llvm_DataLayout2 = var_llvm_DataLayout3;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::LLVMContext");
        if(!var_void3)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext2 = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void3);
        if(!var_llvm_LLVMContext2)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext3 = *var_llvm_LLVMContext2;
        llvm::IntegerType* var_llvm_IntegerType1 = var_llvm_DataLayout2->getIntPtrType(var_llvm_LLVMContext3);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_IntegerType1), "llvm::Type", "llvm::IntegerType");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DataLayout__getPreferredAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    unsigned var_unsigned = var_llvm_DataLayout->getPreferredAlignment(var_llvm_GlobalVariable);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getTypeStoreSize(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    uint64_t var_uint64__t = var_llvm_DataLayout->getTypeStoreSize(var_llvm_Type);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getTypeStoreSizeInBits(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    uint64_t var_uint64__t = var_llvm_DataLayout->getTypeStoreSizeInBits(var_llvm_Type);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getPrefTypeAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_DataLayout->getPrefTypeAlignment(var_llvm_Type);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getPreferredAlignmentLog(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    unsigned var_unsigned = var_llvm_DataLayout->getPreferredAlignmentLog(var_llvm_GlobalVariable);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__isIllegalInteger(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    bool var_bool = var_llvm_DataLayout->isIllegalInteger(var_unsigned);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout____getIntPtrType2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Type* var_llvm_Type2 = var_llvm_DataLayout->getIntPtrType(var_llvm_Type);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type2), "llvm::Type", "llvm::Type");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout____new__string(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = new llvm::DataLayout(var_llvm_StringRef);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_llvm_DataLayout), "llvm::Pass", "llvm::DataLayout");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_DataLayout__fitsInLegalInteger(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    bool var_bool = var_llvm_DataLayout->fitsInLegalInteger(var_unsigned);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getPointerABIAlignment(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
            if(!var_void)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
            if(!var_llvm_DataLayout1)
            {
                return NULL;
            }
            var_llvm_DataLayout = var_llvm_DataLayout1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        unsigned var_unsigned1 = var_llvm_DataLayout->getPointerABIAlignment(var_unsigned);
        PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned1);
        return var_PyObject2;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject3))
        {
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::Pass");
            if(!var_void1)
            {
                puts("Error: llvm::Pass");
                return NULL;
            }
            llvm::DataLayout* var_llvm_DataLayout3 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void1);
            if(!var_llvm_DataLayout3)
            {
                return NULL;
            }
            var_llvm_DataLayout2 = var_llvm_DataLayout3;
        }
        unsigned var_unsigned2 = var_llvm_DataLayout2->getPointerABIAlignment();
        PyObject* var_PyObject4 = py_int_from_unsigned(var_unsigned2);
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DataLayout__getStructLayout(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void1);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    const llvm::StructLayout* var_const_llvm_StructLayout = var_llvm_DataLayout->getStructLayout(var_llvm_StructType);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::StructLayout >::from(var_const_llvm_StructLayout), "llvm::StructLayout", "llvm::StructLayout");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getTypeAllocSize(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    uint64_t var_uint64__t = var_llvm_DataLayout->getTypeAllocSize(var_llvm_Type);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__exceedsNaturalStackAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    bool var_bool = var_llvm_DataLayout->exceedsNaturalStackAlignment(var_unsigned);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_DataLayout__getABITypeAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DataLayout* var_llvm_DataLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Pass");
        if(!var_void)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::DataLayout* var_llvm_DataLayout1 = unwrap_as<llvm::DataLayout, llvm::Pass >::from(var_void);
        if(!var_llvm_DataLayout1)
        {
            return NULL;
        }
        var_llvm_DataLayout = var_llvm_DataLayout1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_DataLayout->getABITypeAlignment(var_llvm_Type);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_DataLayout[] = {
    { "getPointerPrefAlignment", (PyCFunction)llvm_DataLayout__getPointerPrefAlignment, METH_VARARGS, NULL },
    { "getTypeSizeInBits", (PyCFunction)llvm_DataLayout__getTypeSizeInBits, METH_VARARGS, NULL },
    { "getCallFrameTypeAlignment", (PyCFunction)llvm_DataLayout__getCallFrameTypeAlignment, METH_VARARGS, NULL },
    { "getPointerSizeInBits", (PyCFunction)llvm_DataLayout__getPointerSizeInBits, METH_VARARGS, NULL },
    { "getABIIntegerTypeAlignment", (PyCFunction)llvm_DataLayout__getABIIntegerTypeAlignment, METH_VARARGS, NULL },
    { "getPointerSize", (PyCFunction)llvm_DataLayout__getPointerSize, METH_VARARGS, NULL },
    { "isLegalInteger", (PyCFunction)llvm_DataLayout__isLegalInteger, METH_VARARGS, NULL },
    { "getStringRepresentation", (PyCFunction)llvm_DataLayout__getStringRepresentation, METH_VARARGS, NULL },
    { "getPreferredTypeAlignmentShift", (PyCFunction)llvm_DataLayout__getPreferredTypeAlignmentShift, METH_VARARGS, NULL },
    { "getTypeAllocSizeInBits", (PyCFunction)llvm_DataLayout__getTypeAllocSizeInBits, METH_VARARGS, NULL },
    { "_new_module", (PyCFunction)llvm_DataLayout____new__module, METH_VARARGS, NULL },
    { "isLittleEndian", (PyCFunction)llvm_DataLayout__isLittleEndian, METH_VARARGS, NULL },
    { "isBigEndian", (PyCFunction)llvm_DataLayout__isBigEndian, METH_VARARGS, NULL },
    { "_getIndexedOffset", (PyCFunction)llvm_DataLayout____getIndexedOffset, METH_VARARGS, NULL },
    { "_getIntPtrType", (PyCFunction)llvm_DataLayout____getIntPtrType, METH_VARARGS, NULL },
    { "getPreferredAlignment", (PyCFunction)llvm_DataLayout__getPreferredAlignment, METH_VARARGS, NULL },
    { "getTypeStoreSize", (PyCFunction)llvm_DataLayout__getTypeStoreSize, METH_VARARGS, NULL },
    { "getTypeStoreSizeInBits", (PyCFunction)llvm_DataLayout__getTypeStoreSizeInBits, METH_VARARGS, NULL },
    { "getPrefTypeAlignment", (PyCFunction)llvm_DataLayout__getPrefTypeAlignment, METH_VARARGS, NULL },
    { "getPreferredAlignmentLog", (PyCFunction)llvm_DataLayout__getPreferredAlignmentLog, METH_VARARGS, NULL },
    { "isIllegalInteger", (PyCFunction)llvm_DataLayout__isIllegalInteger, METH_VARARGS, NULL },
    { "_getIntPtrType2", (PyCFunction)llvm_DataLayout____getIntPtrType2, METH_VARARGS, NULL },
    { "_new_string", (PyCFunction)llvm_DataLayout____new__string, METH_VARARGS, NULL },
    { "fitsInLegalInteger", (PyCFunction)llvm_DataLayout__fitsInLegalInteger, METH_VARARGS, NULL },
    { "getPointerABIAlignment", (PyCFunction)llvm_DataLayout__getPointerABIAlignment, METH_VARARGS, NULL },
    { "getStructLayout", (PyCFunction)llvm_DataLayout__getStructLayout, METH_VARARGS, NULL },
    { "getTypeAllocSize", (PyCFunction)llvm_DataLayout__getTypeAllocSize, METH_VARARGS, NULL },
    { "exceedsNaturalStackAlignment", (PyCFunction)llvm_DataLayout__exceedsNaturalStackAlignment, METH_VARARGS, NULL },
    { "getABITypeAlignment", (PyCFunction)llvm_DataLayout__getABITypeAlignment, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DataLayout[] = {
    { NULL }
};

static
PyObject*
llvm_StructLayout__getElementContainingOffset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StructLayout* var_llvm_StructLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::StructLayout");
        if(!var_void)
        {
            puts("Error: llvm::StructLayout");
            return NULL;
        }
        llvm::StructLayout* var_llvm_StructLayout1 = unwrap_as<llvm::StructLayout, llvm::StructLayout >::from(var_void);
        if(!var_llvm_StructLayout1)
        {
            return NULL;
        }
        var_llvm_StructLayout = var_llvm_StructLayout1;
    }
    uint64_t var_uint64__t;
    int var_int = py_int_to(var_PyObject1, var_uint64__t);
    if(!var_int)
    {
        return NULL;
    }
    unsigned var_unsigned = var_llvm_StructLayout->getElementContainingOffset(var_uint64__t);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned);
    return var_PyObject2;
}

static
PyObject*
llvm_StructLayout__getSizeInBytes(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StructLayout* var_llvm_StructLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::StructLayout");
        if(!var_void)
        {
            puts("Error: llvm::StructLayout");
            return NULL;
        }
        llvm::StructLayout* var_llvm_StructLayout1 = unwrap_as<llvm::StructLayout, llvm::StructLayout >::from(var_void);
        if(!var_llvm_StructLayout1)
        {
            return NULL;
        }
        var_llvm_StructLayout = var_llvm_StructLayout1;
    }
    uint64_t var_uint64__t = var_llvm_StructLayout->getSizeInBytes();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject1;
}

static
PyObject*
llvm_StructLayout__getSizeInBits(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StructLayout* var_llvm_StructLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::StructLayout");
        if(!var_void)
        {
            puts("Error: llvm::StructLayout");
            return NULL;
        }
        llvm::StructLayout* var_llvm_StructLayout1 = unwrap_as<llvm::StructLayout, llvm::StructLayout >::from(var_void);
        if(!var_llvm_StructLayout1)
        {
            return NULL;
        }
        var_llvm_StructLayout = var_llvm_StructLayout1;
    }
    uint64_t var_uint64__t = var_llvm_StructLayout->getSizeInBits();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject1;
}

static
PyObject*
llvm_StructLayout__getElementOffset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StructLayout* var_llvm_StructLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::StructLayout");
        if(!var_void)
        {
            puts("Error: llvm::StructLayout");
            return NULL;
        }
        llvm::StructLayout* var_llvm_StructLayout1 = unwrap_as<llvm::StructLayout, llvm::StructLayout >::from(var_void);
        if(!var_llvm_StructLayout1)
        {
            return NULL;
        }
        var_llvm_StructLayout = var_llvm_StructLayout1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    uint64_t var_uint64__t = var_llvm_StructLayout->getElementOffset(var_unsigned);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject2;
}

static
PyObject*
llvm_StructLayout__getAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StructLayout* var_llvm_StructLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::StructLayout");
        if(!var_void)
        {
            puts("Error: llvm::StructLayout");
            return NULL;
        }
        llvm::StructLayout* var_llvm_StructLayout1 = unwrap_as<llvm::StructLayout, llvm::StructLayout >::from(var_void);
        if(!var_llvm_StructLayout1)
        {
            return NULL;
        }
        var_llvm_StructLayout = var_llvm_StructLayout1;
    }
    unsigned var_unsigned = var_llvm_StructLayout->getAlignment();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_StructLayout__getElementOffsetInBits(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StructLayout* var_llvm_StructLayout = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::StructLayout");
        if(!var_void)
        {
            puts("Error: llvm::StructLayout");
            return NULL;
        }
        llvm::StructLayout* var_llvm_StructLayout1 = unwrap_as<llvm::StructLayout, llvm::StructLayout >::from(var_void);
        if(!var_llvm_StructLayout1)
        {
            return NULL;
        }
        var_llvm_StructLayout = var_llvm_StructLayout1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    uint64_t var_uint64__t = var_llvm_StructLayout->getElementOffsetInBits(var_unsigned);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_StructLayout[] = {
    { "getElementContainingOffset", (PyCFunction)llvm_StructLayout__getElementContainingOffset, METH_VARARGS, NULL },
    { "getSizeInBytes", (PyCFunction)llvm_StructLayout__getSizeInBytes, METH_VARARGS, NULL },
    { "getSizeInBits", (PyCFunction)llvm_StructLayout__getSizeInBits, METH_VARARGS, NULL },
    { "getElementOffset", (PyCFunction)llvm_StructLayout__getElementOffset, METH_VARARGS, NULL },
    { "getAlignment", (PyCFunction)llvm_StructLayout__getAlignment, METH_VARARGS, NULL },
    { "getElementOffsetInBits", (PyCFunction)llvm_StructLayout__getElementOffsetInBits, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_StructLayout[] = {
    { NULL }
};

static
PyObject*
llvm_Type__isFunctionVarArg(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isFunctionVarArg();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isLabelTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isLabelTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getContext(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::LLVMContext& var_llvm_LLVMContext = var_llvm_Type->getContext();
    const llvm::LLVMContext* var_const_llvm_LLVMContext = &var_llvm_LLVMContext;
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::LLVMContext >::from(var_const_llvm_LLVMContext), "llvm::LLVMContext", "llvm::LLVMContext");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getPointerTo(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::PointerType* var_llvm_PointerType = var_llvm_Type->getPointerTo(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Type__isHalfTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isHalfTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isStructTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isStructTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isVoidTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isVoidTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getX86__MMXPtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getX86_MMXPtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isFloatingPointTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isFloatingPointTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getVectorElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Type* var_llvm_Type2 = var_llvm_Type->getVectorElementType();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type2), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isFPOrFPVectorTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isFPOrFPVectorTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getLabelTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getLabelTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isX86__FP80Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isX86_FP80Ty();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getMetadataTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getMetadataTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getArrayNumElements(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    uint64_t var_uint64__t = var_llvm_Type->getArrayNumElements();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getStructNumElements(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_Type->getStructNumElements();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getX86__MMXTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getX86_MMXTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getInt1PtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getInt1PtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isPointerTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isPointerTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__dump(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    var_llvm_Type->dump();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Type__getInt8Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::IntegerType* var_llvm_IntegerType = llvm::Type::getInt8Ty(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_IntegerType), "llvm::Type", "llvm::IntegerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getIntNTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::IntegerType* var_llvm_IntegerType = llvm::Type::getIntNTy(var_llvm_LLVMContext1, var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_IntegerType), "llvm::Type", "llvm::IntegerType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Type__getVoidTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getVoidTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isPPC__FP128Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isPPC_FP128Ty();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getIntegerBitWidth(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_Type->getIntegerBitWidth();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isMetadataTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isMetadataTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getX86__FP80Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getX86_FP80Ty(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getPointerAddressSpace(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_Type->getPointerAddressSpace();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isIntOrIntVectorTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isIntOrIntVectorTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isVectorTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isVectorTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getInt16Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::IntegerType* var_llvm_IntegerType = llvm::Type::getInt16Ty(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_IntegerType), "llvm::Type", "llvm::IntegerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getInt32PtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getInt32PtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getFloatTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getFloatTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isIntegerTy(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject))
        {
            return NULL;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
            if(!var_void)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        bool var_bool = var_llvm_Type->isIntegerTy();
        PyObject* var_PyObject1 = py_bool_from(var_bool);
        return var_PyObject1;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject3, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool1 = var_llvm_Type2->isIntegerTy(var_unsigned);
        PyObject* var_PyObject4 = py_bool_from(var_bool1);
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_Type__getDoublePtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getDoublePtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getContainedType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type2 = var_llvm_Type->getContainedType(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type2), "llvm::Type", "llvm::Type");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Type__isDoubleTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isDoubleTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getFP128PtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getFP128PtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getTypeID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Type::TypeID var_llvm_Type_TypeID = var_llvm_Type->getTypeID();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_Type_TypeID);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getFP128Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getFP128Ty(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getX86__FP80PtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getX86_FP80PtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__print__(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::raw_ostream");
    if(!var_void1)
    {
        puts("Error: llvm::raw_ostream");
        return NULL;
    }
    llvm::raw_ostream* var_llvm_raw__ostream = unwrap_as<llvm::raw_ostream, llvm::raw_ostream >::from(var_void1);
    if(!var_llvm_raw__ostream)
    {
        return NULL;
    }
    llvm::raw_ostream& var_llvm_raw__ostream1 = *var_llvm_raw__ostream;
    var_llvm_Type->print(var_llvm_raw__ostream1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Type__getFunctionNumParams(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_Type->getFunctionNumParams();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getSequentialElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Type* var_llvm_Type2 = var_llvm_Type->getSequentialElementType();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type2), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getStructName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_Type->getStructName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getArrayElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Type* var_llvm_Type2 = var_llvm_Type->getArrayElementType();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type2), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getPPC__FP128PtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getPPC_FP128PtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getHalfPtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getHalfPtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isSingleValueType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isSingleValueType();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getDoubleTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getDoubleTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getInt16PtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getInt16PtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getHalfTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getHalfTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getPPC__FP128Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::Type* var_llvm_Type = llvm::Type::getPPC_FP128Ty(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getFunctionParamType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type2 = var_llvm_Type->getFunctionParamType(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type2), "llvm::Type", "llvm::Type");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Type__isAggregateType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isAggregateType();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getIntNPtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getIntNPtrTy(var_llvm_LLVMContext1, var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Type__getNumContainedTypes(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_Type->getNumContainedTypes();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isPtrOrPtrVectorTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isPtrOrPtrVectorTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getInt64Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::IntegerType* var_llvm_IntegerType = llvm::Type::getInt64Ty(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_IntegerType), "llvm::Type", "llvm::IntegerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isFloatTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isFloatTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isX86__MMXTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isX86_MMXTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getInt64PtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getInt64PtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isDerivedType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isDerivedType();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isEmptyTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isEmptyTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getStructElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type2 = var_llvm_Type->getStructElementType(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type2), "llvm::Type", "llvm::Type");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Type__getInt32Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::IntegerType* var_llvm_IntegerType = llvm::Type::getInt32Ty(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_IntegerType), "llvm::Type", "llvm::IntegerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getInt8PtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getInt8PtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isFP128Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isFP128Ty();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isSized(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isSized();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getVectorNumElements(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned = var_llvm_Type->getVectorNumElements();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isFunctionTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isFunctionTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getFloatPtrTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::PointerType* var_llvm_PointerType = llvm::Type::getFloatPtrTy(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isPrimitiveType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isPrimitiveType();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getInt1Ty(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::IntegerType* var_llvm_IntegerType = llvm::Type::getInt1Ty(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_IntegerType), "llvm::Type", "llvm::IntegerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__getPointerElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::Type* var_llvm_Type2 = var_llvm_Type->getPointerElementType();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type2), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isFirstClassType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isFirstClassType();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__isArrayTy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = var_llvm_Type->isArrayTy();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__TypeID__VoidTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::Type::VoidTyID);
    return var_PyObject;
}

static
PyObject*
llvm_Type__TypeID__HalfTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::Type::HalfTyID);
    return var_PyObject1;
}

static
PyObject*
llvm_Type__TypeID__FloatTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::Type::FloatTyID);
    return var_PyObject2;
}

static
PyObject*
llvm_Type__TypeID__DoubleTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::Type::DoubleTyID);
    return var_PyObject3;
}

static
PyObject*
llvm_Type__TypeID__X86__FP80TyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::Type::X86_FP80TyID);
    return var_PyObject4;
}

static
PyObject*
llvm_Type__TypeID__FP128TyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::Type::FP128TyID);
    return var_PyObject5;
}

static
PyObject*
llvm_Type__TypeID__PPC__FP128TyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::Type::PPC_FP128TyID);
    return var_PyObject6;
}

static
PyObject*
llvm_Type__TypeID__LabelTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject7 = PyInt_FromLong(llvm::Type::LabelTyID);
    return var_PyObject7;
}

static
PyObject*
llvm_Type__TypeID__MetadataTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject8 = PyInt_FromLong(llvm::Type::MetadataTyID);
    return var_PyObject8;
}

static
PyObject*
llvm_Type__TypeID__X86__MMXTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject9 = PyInt_FromLong(llvm::Type::X86_MMXTyID);
    return var_PyObject9;
}

static
PyObject*
llvm_Type__TypeID__IntegerTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject10 = PyInt_FromLong(llvm::Type::IntegerTyID);
    return var_PyObject10;
}

static
PyObject*
llvm_Type__TypeID__FunctionTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject11 = PyInt_FromLong(llvm::Type::FunctionTyID);
    return var_PyObject11;
}

static
PyObject*
llvm_Type__TypeID__StructTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject12 = PyInt_FromLong(llvm::Type::StructTyID);
    return var_PyObject12;
}

static
PyObject*
llvm_Type__TypeID__ArrayTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject13 = PyInt_FromLong(llvm::Type::ArrayTyID);
    return var_PyObject13;
}

static
PyObject*
llvm_Type__TypeID__PointerTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject14 = PyInt_FromLong(llvm::Type::PointerTyID);
    return var_PyObject14;
}

static
PyObject*
llvm_Type__TypeID__VectorTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject15 = PyInt_FromLong(llvm::Type::VectorTyID);
    return var_PyObject15;
}

static
PyObject*
llvm_Type__TypeID__NumTypeIDs(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject16 = PyInt_FromLong(llvm::Type::NumTypeIDs);
    return var_PyObject16;
}

static
PyObject*
llvm_Type__TypeID__LastPrimitiveTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject17 = PyInt_FromLong(llvm::Type::LastPrimitiveTyID);
    return var_PyObject17;
}

static
PyObject*
llvm_Type__TypeID__FirstDerivedTyID(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject18 = PyInt_FromLong(llvm::Type::FirstDerivedTyID);
    return var_PyObject18;
}

static
PyMethodDef meth_llvm_Type[] = {
    { "isFunctionVarArg", (PyCFunction)llvm_Type__isFunctionVarArg, METH_VARARGS, NULL },
    { "isLabelTy", (PyCFunction)llvm_Type__isLabelTy, METH_VARARGS, NULL },
    { "getContext", (PyCFunction)llvm_Type__getContext, METH_VARARGS, NULL },
    { "getPointerTo", (PyCFunction)llvm_Type__getPointerTo, METH_VARARGS, NULL },
    { "isHalfTy", (PyCFunction)llvm_Type__isHalfTy, METH_VARARGS, NULL },
    { "isStructTy", (PyCFunction)llvm_Type__isStructTy, METH_VARARGS, NULL },
    { "isVoidTy", (PyCFunction)llvm_Type__isVoidTy, METH_VARARGS, NULL },
    { "getX86_MMXPtrTy", (PyCFunction)llvm_Type__getX86__MMXPtrTy, METH_VARARGS, NULL },
    { "isFloatingPointTy", (PyCFunction)llvm_Type__isFloatingPointTy, METH_VARARGS, NULL },
    { "getVectorElementType", (PyCFunction)llvm_Type__getVectorElementType, METH_VARARGS, NULL },
    { "isFPOrFPVectorTy", (PyCFunction)llvm_Type__isFPOrFPVectorTy, METH_VARARGS, NULL },
    { "getLabelTy", (PyCFunction)llvm_Type__getLabelTy, METH_VARARGS, NULL },
    { "isX86_FP80Ty", (PyCFunction)llvm_Type__isX86__FP80Ty, METH_VARARGS, NULL },
    { "getMetadataTy", (PyCFunction)llvm_Type__getMetadataTy, METH_VARARGS, NULL },
    { "getArrayNumElements", (PyCFunction)llvm_Type__getArrayNumElements, METH_VARARGS, NULL },
    { "getStructNumElements", (PyCFunction)llvm_Type__getStructNumElements, METH_VARARGS, NULL },
    { "getX86_MMXTy", (PyCFunction)llvm_Type__getX86__MMXTy, METH_VARARGS, NULL },
    { "getInt1PtrTy", (PyCFunction)llvm_Type__getInt1PtrTy, METH_VARARGS, NULL },
    { "isPointerTy", (PyCFunction)llvm_Type__isPointerTy, METH_VARARGS, NULL },
    { "dump", (PyCFunction)llvm_Type__dump, METH_VARARGS, NULL },
    { "getInt8Ty", (PyCFunction)llvm_Type__getInt8Ty, METH_VARARGS, NULL },
    { "getIntNTy", (PyCFunction)llvm_Type__getIntNTy, METH_VARARGS, NULL },
    { "getVoidTy", (PyCFunction)llvm_Type__getVoidTy, METH_VARARGS, NULL },
    { "isPPC_FP128Ty", (PyCFunction)llvm_Type__isPPC__FP128Ty, METH_VARARGS, NULL },
    { "getIntegerBitWidth", (PyCFunction)llvm_Type__getIntegerBitWidth, METH_VARARGS, NULL },
    { "isMetadataTy", (PyCFunction)llvm_Type__isMetadataTy, METH_VARARGS, NULL },
    { "getX86_FP80Ty", (PyCFunction)llvm_Type__getX86__FP80Ty, METH_VARARGS, NULL },
    { "getPointerAddressSpace", (PyCFunction)llvm_Type__getPointerAddressSpace, METH_VARARGS, NULL },
    { "isIntOrIntVectorTy", (PyCFunction)llvm_Type__isIntOrIntVectorTy, METH_VARARGS, NULL },
    { "isVectorTy", (PyCFunction)llvm_Type__isVectorTy, METH_VARARGS, NULL },
    { "getInt16Ty", (PyCFunction)llvm_Type__getInt16Ty, METH_VARARGS, NULL },
    { "getInt32PtrTy", (PyCFunction)llvm_Type__getInt32PtrTy, METH_VARARGS, NULL },
    { "getFloatTy", (PyCFunction)llvm_Type__getFloatTy, METH_VARARGS, NULL },
    { "isIntegerTy", (PyCFunction)llvm_Type__isIntegerTy, METH_VARARGS, NULL },
    { "getDoublePtrTy", (PyCFunction)llvm_Type__getDoublePtrTy, METH_VARARGS, NULL },
    { "getContainedType", (PyCFunction)llvm_Type__getContainedType, METH_VARARGS, NULL },
    { "isDoubleTy", (PyCFunction)llvm_Type__isDoubleTy, METH_VARARGS, NULL },
    { "getFP128PtrTy", (PyCFunction)llvm_Type__getFP128PtrTy, METH_VARARGS, NULL },
    { "getTypeID", (PyCFunction)llvm_Type__getTypeID, METH_VARARGS, NULL },
    { "getFP128Ty", (PyCFunction)llvm_Type__getFP128Ty, METH_VARARGS, NULL },
    { "getX86_FP80PtrTy", (PyCFunction)llvm_Type__getX86__FP80PtrTy, METH_VARARGS, NULL },
    { "print_", (PyCFunction)llvm_Type__print__, METH_VARARGS, NULL },
    { "getFunctionNumParams", (PyCFunction)llvm_Type__getFunctionNumParams, METH_VARARGS, NULL },
    { "getSequentialElementType", (PyCFunction)llvm_Type__getSequentialElementType, METH_VARARGS, NULL },
    { "getStructName", (PyCFunction)llvm_Type__getStructName, METH_VARARGS, NULL },
    { "getArrayElementType", (PyCFunction)llvm_Type__getArrayElementType, METH_VARARGS, NULL },
    { "getPPC_FP128PtrTy", (PyCFunction)llvm_Type__getPPC__FP128PtrTy, METH_VARARGS, NULL },
    { "getHalfPtrTy", (PyCFunction)llvm_Type__getHalfPtrTy, METH_VARARGS, NULL },
    { "isSingleValueType", (PyCFunction)llvm_Type__isSingleValueType, METH_VARARGS, NULL },
    { "getDoubleTy", (PyCFunction)llvm_Type__getDoubleTy, METH_VARARGS, NULL },
    { "getInt16PtrTy", (PyCFunction)llvm_Type__getInt16PtrTy, METH_VARARGS, NULL },
    { "getHalfTy", (PyCFunction)llvm_Type__getHalfTy, METH_VARARGS, NULL },
    { "getPPC_FP128Ty", (PyCFunction)llvm_Type__getPPC__FP128Ty, METH_VARARGS, NULL },
    { "getFunctionParamType", (PyCFunction)llvm_Type__getFunctionParamType, METH_VARARGS, NULL },
    { "isAggregateType", (PyCFunction)llvm_Type__isAggregateType, METH_VARARGS, NULL },
    { "getIntNPtrTy", (PyCFunction)llvm_Type__getIntNPtrTy, METH_VARARGS, NULL },
    { "getNumContainedTypes", (PyCFunction)llvm_Type__getNumContainedTypes, METH_VARARGS, NULL },
    { "isPtrOrPtrVectorTy", (PyCFunction)llvm_Type__isPtrOrPtrVectorTy, METH_VARARGS, NULL },
    { "getInt64Ty", (PyCFunction)llvm_Type__getInt64Ty, METH_VARARGS, NULL },
    { "isFloatTy", (PyCFunction)llvm_Type__isFloatTy, METH_VARARGS, NULL },
    { "isX86_MMXTy", (PyCFunction)llvm_Type__isX86__MMXTy, METH_VARARGS, NULL },
    { "getInt64PtrTy", (PyCFunction)llvm_Type__getInt64PtrTy, METH_VARARGS, NULL },
    { "isDerivedType", (PyCFunction)llvm_Type__isDerivedType, METH_VARARGS, NULL },
    { "isEmptyTy", (PyCFunction)llvm_Type__isEmptyTy, METH_VARARGS, NULL },
    { "getStructElementType", (PyCFunction)llvm_Type__getStructElementType, METH_VARARGS, NULL },
    { "getInt32Ty", (PyCFunction)llvm_Type__getInt32Ty, METH_VARARGS, NULL },
    { "getInt8PtrTy", (PyCFunction)llvm_Type__getInt8PtrTy, METH_VARARGS, NULL },
    { "isFP128Ty", (PyCFunction)llvm_Type__isFP128Ty, METH_VARARGS, NULL },
    { "isSized", (PyCFunction)llvm_Type__isSized, METH_VARARGS, NULL },
    { "getVectorNumElements", (PyCFunction)llvm_Type__getVectorNumElements, METH_VARARGS, NULL },
    { "isFunctionTy", (PyCFunction)llvm_Type__isFunctionTy, METH_VARARGS, NULL },
    { "getFloatPtrTy", (PyCFunction)llvm_Type__getFloatPtrTy, METH_VARARGS, NULL },
    { "isPrimitiveType", (PyCFunction)llvm_Type__isPrimitiveType, METH_VARARGS, NULL },
    { "getInt1Ty", (PyCFunction)llvm_Type__getInt1Ty, METH_VARARGS, NULL },
    { "getPointerElementType", (PyCFunction)llvm_Type__getPointerElementType, METH_VARARGS, NULL },
    { "isFirstClassType", (PyCFunction)llvm_Type__isFirstClassType, METH_VARARGS, NULL },
    { "isArrayTy", (PyCFunction)llvm_Type__isArrayTy, METH_VARARGS, NULL },
    { "VoidTyID", (PyCFunction)llvm_Type__TypeID__VoidTyID, METH_VARARGS, NULL },
    { "HalfTyID", (PyCFunction)llvm_Type__TypeID__HalfTyID, METH_VARARGS, NULL },
    { "FloatTyID", (PyCFunction)llvm_Type__TypeID__FloatTyID, METH_VARARGS, NULL },
    { "DoubleTyID", (PyCFunction)llvm_Type__TypeID__DoubleTyID, METH_VARARGS, NULL },
    { "X86_FP80TyID", (PyCFunction)llvm_Type__TypeID__X86__FP80TyID, METH_VARARGS, NULL },
    { "FP128TyID", (PyCFunction)llvm_Type__TypeID__FP128TyID, METH_VARARGS, NULL },
    { "PPC_FP128TyID", (PyCFunction)llvm_Type__TypeID__PPC__FP128TyID, METH_VARARGS, NULL },
    { "LabelTyID", (PyCFunction)llvm_Type__TypeID__LabelTyID, METH_VARARGS, NULL },
    { "MetadataTyID", (PyCFunction)llvm_Type__TypeID__MetadataTyID, METH_VARARGS, NULL },
    { "X86_MMXTyID", (PyCFunction)llvm_Type__TypeID__X86__MMXTyID, METH_VARARGS, NULL },
    { "IntegerTyID", (PyCFunction)llvm_Type__TypeID__IntegerTyID, METH_VARARGS, NULL },
    { "FunctionTyID", (PyCFunction)llvm_Type__TypeID__FunctionTyID, METH_VARARGS, NULL },
    { "StructTyID", (PyCFunction)llvm_Type__TypeID__StructTyID, METH_VARARGS, NULL },
    { "ArrayTyID", (PyCFunction)llvm_Type__TypeID__ArrayTyID, METH_VARARGS, NULL },
    { "PointerTyID", (PyCFunction)llvm_Type__TypeID__PointerTyID, METH_VARARGS, NULL },
    { "VectorTyID", (PyCFunction)llvm_Type__TypeID__VectorTyID, METH_VARARGS, NULL },
    { "NumTypeIDs", (PyCFunction)llvm_Type__TypeID__NumTypeIDs, METH_VARARGS, NULL },
    { "LastPrimitiveTyID", (PyCFunction)llvm_Type__TypeID__LastPrimitiveTyID, METH_VARARGS, NULL },
    { "FirstDerivedTyID", (PyCFunction)llvm_Type__TypeID__FirstDerivedTyID, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Type[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_IntegerType[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_IntegerType[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_CompositeType[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_CompositeType[] = {
    { NULL }
};

static
PyObject*
llvm_StructType__isValidElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = llvm::StructType::isValidElementType(var_llvm_Type);
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_StructType__setName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_StructType->setName(var_llvm_StringRef);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_StructType__get(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
        if(!var_void)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
        if(!var_llvm_LLVMContext)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        PyObject* var_PyObject3 = StructType_get(var_llvm_LLVMContext1, var_PyObject1, var_bool);
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::LLVMContext");
        if(!var_void1)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext2 = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void1);
        if(!var_llvm_LLVMContext2)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext3 = *var_llvm_LLVMContext2;
        PyObject* var_PyObject6 = StructType_get(var_llvm_LLVMContext3, var_PyObject5);
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_StructType__getNumElements(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    unsigned var_unsigned = var_llvm_StructType->getNumElements();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_StructType__getName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_StructType->getName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_StructType__isOpaque(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    bool var_bool = var_llvm_StructType->isOpaque();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_StructType__setBody(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::StructType* var_llvm_StructType = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
            if(!var_void)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
            if(!var_llvm_StructType1)
            {
                return NULL;
            }
            var_llvm_StructType = var_llvm_StructType1;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        PyObject* var_PyObject3 = StructType_setBody(var_llvm_StructType, var_PyObject1, var_bool);
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::StructType* var_llvm_StructType2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::StructType* var_llvm_StructType3 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void1);
            if(!var_llvm_StructType3)
            {
                return NULL;
            }
            var_llvm_StructType2 = var_llvm_StructType3;
        }
        PyObject* var_PyObject6 = StructType_setBody(var_llvm_StructType2, var_PyObject5);
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_StructType__isLiteral(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    bool var_bool = var_llvm_StructType->isLiteral();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_StructType__isLayoutIdentical(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    llvm::StructType* var_llvm_StructType2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType3 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void1);
        if(!var_llvm_StructType3)
        {
            return NULL;
        }
        var_llvm_StructType2 = var_llvm_StructType3;
    }
    bool var_bool = var_llvm_StructType->isLayoutIdentical(var_llvm_StructType2);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_StructType__isPacked(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    bool var_bool = var_llvm_StructType->isPacked();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_StructType__create(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
        if(!var_void)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
        if(!var_llvm_LLVMContext)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StructType* var_llvm_StructType = llvm::StructType::create(var_llvm_LLVMContext1, var_llvm_StringRef);
        PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_StructType), "llvm::Type", "llvm::StructType");
        if (!var_PyObject2)
        {
            return NULL;
        }
        return var_PyObject2;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject3))
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::LLVMContext");
        if(!var_void1)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext2 = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void1);
        if(!var_llvm_LLVMContext2)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext3 = *var_llvm_LLVMContext2;
        llvm::StructType* var_llvm_StructType1 = llvm::StructType::create(var_llvm_LLVMContext3);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_StructType1), "llvm::Type", "llvm::StructType");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_StructType__getElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = var_llvm_StructType->getElementType(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_StructType__hasName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StructType* var_llvm_StructType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::StructType* var_llvm_StructType1 = unwrap_as<llvm::StructType, llvm::Type >::from(var_void);
        if(!var_llvm_StructType1)
        {
            return NULL;
        }
        var_llvm_StructType = var_llvm_StructType1;
    }
    bool var_bool = var_llvm_StructType->hasName();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_StructType[] = {
    { "isValidElementType", (PyCFunction)llvm_StructType__isValidElementType, METH_VARARGS, NULL },
    { "setName", (PyCFunction)llvm_StructType__setName, METH_VARARGS, NULL },
    { "get", (PyCFunction)llvm_StructType__get, METH_VARARGS, NULL },
    { "getNumElements", (PyCFunction)llvm_StructType__getNumElements, METH_VARARGS, NULL },
    { "getName", (PyCFunction)llvm_StructType__getName, METH_VARARGS, NULL },
    { "isOpaque", (PyCFunction)llvm_StructType__isOpaque, METH_VARARGS, NULL },
    { "setBody", (PyCFunction)llvm_StructType__setBody, METH_VARARGS, NULL },
    { "isLiteral", (PyCFunction)llvm_StructType__isLiteral, METH_VARARGS, NULL },
    { "isLayoutIdentical", (PyCFunction)llvm_StructType__isLayoutIdentical, METH_VARARGS, NULL },
    { "isPacked", (PyCFunction)llvm_StructType__isPacked, METH_VARARGS, NULL },
    { "create", (PyCFunction)llvm_StructType__create, METH_VARARGS, NULL },
    { "getElementType", (PyCFunction)llvm_StructType__getElementType, METH_VARARGS, NULL },
    { "hasName", (PyCFunction)llvm_StructType__hasName, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_StructType[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_SequentialType[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_SequentialType[] = {
    { NULL }
};

static
PyObject*
llvm_ArrayType__isValidElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = llvm::ArrayType::isValidElementType(var_llvm_Type);
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ArrayType__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    uint64_t var_uint64__t;
    int var_int = py_int_to(var_PyObject1, var_uint64__t);
    if(!var_int)
    {
        return NULL;
    }
    llvm::ArrayType* var_llvm_ArrayType = llvm::ArrayType::get(var_llvm_Type, var_uint64__t);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_ArrayType), "llvm::Type", "llvm::ArrayType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ArrayType__getNumElements(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ArrayType* var_llvm_ArrayType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::ArrayType* var_llvm_ArrayType1 = unwrap_as<llvm::ArrayType, llvm::Type >::from(var_void);
        if(!var_llvm_ArrayType1)
        {
            return NULL;
        }
        var_llvm_ArrayType = var_llvm_ArrayType1;
    }
    uint64_t var_uint64__t = var_llvm_ArrayType->getNumElements();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_ArrayType[] = {
    { "isValidElementType", (PyCFunction)llvm_ArrayType__isValidElementType, METH_VARARGS, NULL },
    { "get", (PyCFunction)llvm_ArrayType__get, METH_VARARGS, NULL },
    { "getNumElements", (PyCFunction)llvm_ArrayType__getNumElements, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ArrayType[] = {
    { NULL }
};

static
PyObject*
llvm_PointerType__getUnqual(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    llvm::PointerType* var_llvm_PointerType = llvm::PointerType::getUnqual(var_llvm_Type);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_PointerType__isValidElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = llvm::PointerType::isValidElementType(var_llvm_Type);
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_PointerType__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::PointerType* var_llvm_PointerType = llvm::PointerType::get(var_llvm_Type, var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_PointerType), "llvm::Type", "llvm::PointerType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_PointerType__getAddressSpace(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PointerType* var_llvm_PointerType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::PointerType* var_llvm_PointerType1 = unwrap_as<llvm::PointerType, llvm::Type >::from(var_void);
        if(!var_llvm_PointerType1)
        {
            return NULL;
        }
        var_llvm_PointerType = var_llvm_PointerType1;
    }
    unsigned var_unsigned = var_llvm_PointerType->getAddressSpace();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_PointerType[] = {
    { "getUnqual", (PyCFunction)llvm_PointerType__getUnqual, METH_VARARGS, NULL },
    { "isValidElementType", (PyCFunction)llvm_PointerType__isValidElementType, METH_VARARGS, NULL },
    { "get", (PyCFunction)llvm_PointerType__get, METH_VARARGS, NULL },
    { "getAddressSpace", (PyCFunction)llvm_PointerType__getAddressSpace, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_PointerType[] = {
    { NULL }
};

static
PyObject*
llvm_VectorType__isValidElementType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    bool var_bool = llvm::VectorType::isValidElementType(var_llvm_Type);
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_VectorType__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::VectorType* var_llvm_VectorType = llvm::VectorType::get(var_llvm_Type, var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_VectorType), "llvm::Type", "llvm::VectorType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_VectorType__getInteger(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::VectorType* var_llvm_VectorType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::VectorType* var_llvm_VectorType1 = unwrap_as<llvm::VectorType, llvm::Type >::from(var_void);
        if(!var_llvm_VectorType1)
        {
            return NULL;
        }
        var_llvm_VectorType = var_llvm_VectorType1;
    }
    llvm::VectorType* var_llvm_VectorType2 = llvm::VectorType::getInteger(var_llvm_VectorType);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_VectorType2), "llvm::Type", "llvm::VectorType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_VectorType__getNumElements(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::VectorType* var_llvm_VectorType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::VectorType* var_llvm_VectorType1 = unwrap_as<llvm::VectorType, llvm::Type >::from(var_void);
        if(!var_llvm_VectorType1)
        {
            return NULL;
        }
        var_llvm_VectorType = var_llvm_VectorType1;
    }
    unsigned var_unsigned = var_llvm_VectorType->getNumElements();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_VectorType__getTruncatedElementVectorType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::VectorType* var_llvm_VectorType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::VectorType* var_llvm_VectorType1 = unwrap_as<llvm::VectorType, llvm::Type >::from(var_void);
        if(!var_llvm_VectorType1)
        {
            return NULL;
        }
        var_llvm_VectorType = var_llvm_VectorType1;
    }
    llvm::VectorType* var_llvm_VectorType2 = llvm::VectorType::getTruncatedElementVectorType(var_llvm_VectorType);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_VectorType2), "llvm::Type", "llvm::VectorType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_VectorType__getExtendedElementVectorType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::VectorType* var_llvm_VectorType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::VectorType* var_llvm_VectorType1 = unwrap_as<llvm::VectorType, llvm::Type >::from(var_void);
        if(!var_llvm_VectorType1)
        {
            return NULL;
        }
        var_llvm_VectorType = var_llvm_VectorType1;
    }
    llvm::VectorType* var_llvm_VectorType2 = llvm::VectorType::getExtendedElementVectorType(var_llvm_VectorType);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_VectorType2), "llvm::Type", "llvm::VectorType");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_VectorType__getBitWidth(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::VectorType* var_llvm_VectorType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::VectorType* var_llvm_VectorType1 = unwrap_as<llvm::VectorType, llvm::Type >::from(var_void);
        if(!var_llvm_VectorType1)
        {
            return NULL;
        }
        var_llvm_VectorType = var_llvm_VectorType1;
    }
    unsigned var_unsigned = var_llvm_VectorType->getBitWidth();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_VectorType[] = {
    { "isValidElementType", (PyCFunction)llvm_VectorType__isValidElementType, METH_VARARGS, NULL },
    { "get", (PyCFunction)llvm_VectorType__get, METH_VARARGS, NULL },
    { "getInteger", (PyCFunction)llvm_VectorType__getInteger, METH_VARARGS, NULL },
    { "getNumElements", (PyCFunction)llvm_VectorType__getNumElements, METH_VARARGS, NULL },
    { "getTruncatedElementVectorType", (PyCFunction)llvm_VectorType__getTruncatedElementVectorType, METH_VARARGS, NULL },
    { "getExtendedElementVectorType", (PyCFunction)llvm_VectorType__getExtendedElementVectorType, METH_VARARGS, NULL },
    { "getBitWidth", (PyCFunction)llvm_VectorType__getBitWidth, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_VectorType[] = {
    { NULL }
};

static
PyObject*
llvm_GlobalVariable__hasDefinitiveInitializer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    bool var_bool = var_llvm_GlobalVariable->hasDefinitiveInitializer();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalVariable__setConstant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_GlobalVariable->setConstant(var_bool);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalVariable__setInitializer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    var_llvm_GlobalVariable->setInitializer(var_llvm_Constant);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalVariable__getInitializer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    llvm::Constant* var_llvm_Constant = var_llvm_GlobalVariable->getInitializer();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Constant), "llvm::Value", "llvm::Constant");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalVariable__setThreadLocalMode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    llvm::GlobalVariable::ThreadLocalMode var_llvm_GlobalVariable_ThreadLocalMode = (llvm::GlobalVariable::ThreadLocalMode)PyInt_AsLong(var_PyObject1);
    var_llvm_GlobalVariable->setThreadLocalMode(var_llvm_GlobalVariable_ThreadLocalMode);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalVariable__hasInitializer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    bool var_bool = var_llvm_GlobalVariable->hasInitializer();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalVariable__isConstant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    bool var_bool = var_llvm_GlobalVariable->isConstant();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalVariable__setThreadLocal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_GlobalVariable->setThreadLocal(var_bool);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GlobalVariable__hasUniqueInitializer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    bool var_bool = var_llvm_GlobalVariable->hasUniqueInitializer();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalVariable__new(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (9 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module)
        {
            return NULL;
        }
        llvm::Module& var_llvm_Module1 = *var_llvm_Module;
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes = (llvm::GlobalValue::LinkageTypes)PyInt_AsLong(var_PyObject3);
        llvm::Constant* var_llvm_Constant = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void2);
            if(!var_llvm_Constant1)
            {
                return NULL;
            }
            var_llvm_Constant = var_llvm_Constant1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int1 = py_str_to(var_PyObject5, var_llvm_StringRef);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void3);
            if(!var_llvm_GlobalVariable1)
            {
                return NULL;
            }
            var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
        }
        llvm::GlobalVariable::ThreadLocalMode var_llvm_GlobalVariable_ThreadLocalMode = (llvm::GlobalVariable::ThreadLocalMode)PyInt_AsLong(var_PyObject7);
        unsigned var_unsigned;
        int var_int2 = py_int_to(var_PyObject8, var_unsigned);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable2 = new llvm::GlobalVariable(var_llvm_Module1, var_llvm_Type, var_bool, var_llvm_GlobalValue_LinkageTypes, var_llvm_Constant, var_llvm_StringRef, var_llvm_GlobalVariable, var_llvm_GlobalVariable_ThreadLocalMode, var_unsigned);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable2), "llvm::Value", "llvm::GlobalVariable");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14))
        {
            return NULL;
        }
        void* var_void4 = PyCapsule_GetPointer(var_PyObject10, "llvm::Module");
        if(!var_void4)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module2 = unwrap_as<llvm::Module, llvm::Module >::from(var_void4);
        if(!var_llvm_Module2)
        {
            return NULL;
        }
        llvm::Module& var_llvm_Module3 = *var_llvm_Module2;
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject11, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        bool var_bool1;
        int var_int3 = py_bool_to(var_PyObject12, var_bool1);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes1 = (llvm::GlobalValue::LinkageTypes)PyInt_AsLong(var_PyObject13);
        llvm::Constant* var_llvm_Constant2 = NULL;
        if (var_PyObject14 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject14, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant3 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void6);
            if(!var_llvm_Constant3)
            {
                return NULL;
            }
            var_llvm_Constant2 = var_llvm_Constant3;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable3 = new llvm::GlobalVariable(var_llvm_Module3, var_llvm_Type2, var_bool1, var_llvm_GlobalValue_LinkageTypes1, var_llvm_Constant2);
        PyObject* var_PyObject15 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable3), "llvm::Value", "llvm::GlobalVariable");
        if (!var_PyObject15)
        {
            return NULL;
        }
        return var_PyObject15;
    }
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        PyObject* var_PyObject21;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20, &var_PyObject21))
        {
            return NULL;
        }
        void* var_void7 = PyCapsule_GetPointer(var_PyObject16, "llvm::Module");
        if(!var_void7)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module4 = unwrap_as<llvm::Module, llvm::Module >::from(var_void7);
        if(!var_llvm_Module4)
        {
            return NULL;
        }
        llvm::Module& var_llvm_Module5 = *var_llvm_Module4;
        llvm::Type* var_llvm_Type4 = NULL;
        if (var_PyObject17 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject17, "llvm::Type");
            if(!var_void8)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type5 = unwrap_as<llvm::Type, llvm::Type >::from(var_void8);
            if(!var_llvm_Type5)
            {
                return NULL;
            }
            var_llvm_Type4 = var_llvm_Type5;
        }
        bool var_bool2;
        int var_int4 = py_bool_to(var_PyObject18, var_bool2);
        if(!var_int4)
        {
            return NULL;
        }
        llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes2 = (llvm::GlobalValue::LinkageTypes)PyInt_AsLong(var_PyObject19);
        llvm::Constant* var_llvm_Constant4 = NULL;
        if (var_PyObject20 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject20, "llvm::Value");
            if(!var_void9)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant5 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void9);
            if(!var_llvm_Constant5)
            {
                return NULL;
            }
            var_llvm_Constant4 = var_llvm_Constant5;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int5 = py_str_to(var_PyObject21, var_llvm_StringRef1);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable4 = new llvm::GlobalVariable(var_llvm_Module5, var_llvm_Type4, var_bool2, var_llvm_GlobalValue_LinkageTypes2, var_llvm_Constant4, var_llvm_StringRef1);
        PyObject* var_PyObject22 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable4), "llvm::Value", "llvm::GlobalVariable");
        if (!var_PyObject22)
        {
            return NULL;
        }
        return var_PyObject22;
    }
    if (7 == var_Py__ssize__t)
    {
        PyObject* var_PyObject23;
        PyObject* var_PyObject24;
        PyObject* var_PyObject25;
        PyObject* var_PyObject26;
        PyObject* var_PyObject27;
        PyObject* var_PyObject28;
        PyObject* var_PyObject29;
        if(!PyArg_ParseTuple(args, "OOOOOOO", &var_PyObject23, &var_PyObject24, &var_PyObject25, &var_PyObject26, &var_PyObject27, &var_PyObject28, &var_PyObject29))
        {
            return NULL;
        }
        void* var_void10 = PyCapsule_GetPointer(var_PyObject23, "llvm::Module");
        if(!var_void10)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module6 = unwrap_as<llvm::Module, llvm::Module >::from(var_void10);
        if(!var_llvm_Module6)
        {
            return NULL;
        }
        llvm::Module& var_llvm_Module7 = *var_llvm_Module6;
        llvm::Type* var_llvm_Type6 = NULL;
        if (var_PyObject24 != Py_None)
        {
            void* var_void11 = PyCapsule_GetPointer(var_PyObject24, "llvm::Type");
            if(!var_void11)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type7 = unwrap_as<llvm::Type, llvm::Type >::from(var_void11);
            if(!var_llvm_Type7)
            {
                return NULL;
            }
            var_llvm_Type6 = var_llvm_Type7;
        }
        bool var_bool3;
        int var_int6 = py_bool_to(var_PyObject25, var_bool3);
        if(!var_int6)
        {
            return NULL;
        }
        llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes3 = (llvm::GlobalValue::LinkageTypes)PyInt_AsLong(var_PyObject26);
        llvm::Constant* var_llvm_Constant6 = NULL;
        if (var_PyObject27 != Py_None)
        {
            void* var_void12 = PyCapsule_GetPointer(var_PyObject27, "llvm::Value");
            if(!var_void12)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant7 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void12);
            if(!var_llvm_Constant7)
            {
                return NULL;
            }
            var_llvm_Constant6 = var_llvm_Constant7;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int7 = py_str_to(var_PyObject28, var_llvm_StringRef2);
        if(!var_int7)
        {
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable5 = NULL;
        if (var_PyObject29 != Py_None)
        {
            void* var_void13 = PyCapsule_GetPointer(var_PyObject29, "llvm::Value");
            if(!var_void13)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::GlobalVariable* var_llvm_GlobalVariable6 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void13);
            if(!var_llvm_GlobalVariable6)
            {
                return NULL;
            }
            var_llvm_GlobalVariable5 = var_llvm_GlobalVariable6;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable7 = new llvm::GlobalVariable(var_llvm_Module7, var_llvm_Type6, var_bool3, var_llvm_GlobalValue_LinkageTypes3, var_llvm_Constant6, var_llvm_StringRef2, var_llvm_GlobalVariable5);
        PyObject* var_PyObject30 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable7), "llvm::Value", "llvm::GlobalVariable");
        if (!var_PyObject30)
        {
            return NULL;
        }
        return var_PyObject30;
    }
    if (8 == var_Py__ssize__t)
    {
        PyObject* var_PyObject31;
        PyObject* var_PyObject32;
        PyObject* var_PyObject33;
        PyObject* var_PyObject34;
        PyObject* var_PyObject35;
        PyObject* var_PyObject36;
        PyObject* var_PyObject37;
        PyObject* var_PyObject38;
        if(!PyArg_ParseTuple(args, "OOOOOOOO", &var_PyObject31, &var_PyObject32, &var_PyObject33, &var_PyObject34, &var_PyObject35, &var_PyObject36, &var_PyObject37, &var_PyObject38))
        {
            return NULL;
        }
        void* var_void14 = PyCapsule_GetPointer(var_PyObject31, "llvm::Module");
        if(!var_void14)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module8 = unwrap_as<llvm::Module, llvm::Module >::from(var_void14);
        if(!var_llvm_Module8)
        {
            return NULL;
        }
        llvm::Module& var_llvm_Module9 = *var_llvm_Module8;
        llvm::Type* var_llvm_Type8 = NULL;
        if (var_PyObject32 != Py_None)
        {
            void* var_void15 = PyCapsule_GetPointer(var_PyObject32, "llvm::Type");
            if(!var_void15)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type9 = unwrap_as<llvm::Type, llvm::Type >::from(var_void15);
            if(!var_llvm_Type9)
            {
                return NULL;
            }
            var_llvm_Type8 = var_llvm_Type9;
        }
        bool var_bool4;
        int var_int8 = py_bool_to(var_PyObject33, var_bool4);
        if(!var_int8)
        {
            return NULL;
        }
        llvm::GlobalValue::LinkageTypes var_llvm_GlobalValue_LinkageTypes4 = (llvm::GlobalValue::LinkageTypes)PyInt_AsLong(var_PyObject34);
        llvm::Constant* var_llvm_Constant8 = NULL;
        if (var_PyObject35 != Py_None)
        {
            void* var_void16 = PyCapsule_GetPointer(var_PyObject35, "llvm::Value");
            if(!var_void16)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Constant* var_llvm_Constant9 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void16);
            if(!var_llvm_Constant9)
            {
                return NULL;
            }
            var_llvm_Constant8 = var_llvm_Constant9;
        }
        llvm::StringRef var_llvm_StringRef3;
        int var_int9 = py_str_to(var_PyObject36, var_llvm_StringRef3);
        if(!var_int9)
        {
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable8 = NULL;
        if (var_PyObject37 != Py_None)
        {
            void* var_void17 = PyCapsule_GetPointer(var_PyObject37, "llvm::Value");
            if(!var_void17)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::GlobalVariable* var_llvm_GlobalVariable9 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void17);
            if(!var_llvm_GlobalVariable9)
            {
                return NULL;
            }
            var_llvm_GlobalVariable8 = var_llvm_GlobalVariable9;
        }
        llvm::GlobalVariable::ThreadLocalMode var_llvm_GlobalVariable_ThreadLocalMode1 = (llvm::GlobalVariable::ThreadLocalMode)PyInt_AsLong(var_PyObject38);
        llvm::GlobalVariable* var_llvm_GlobalVariable10 = new llvm::GlobalVariable(var_llvm_Module9, var_llvm_Type8, var_bool4, var_llvm_GlobalValue_LinkageTypes4, var_llvm_Constant8, var_llvm_StringRef3, var_llvm_GlobalVariable8, var_llvm_GlobalVariable_ThreadLocalMode1);
        PyObject* var_PyObject39 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_GlobalVariable10), "llvm::Value", "llvm::GlobalVariable");
        if (!var_PyObject39)
        {
            return NULL;
        }
        return var_PyObject39;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_GlobalVariable__isThreadLocal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    bool var_bool = var_llvm_GlobalVariable->isThreadLocal();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalVariable__ThreadLocalMode__NotThreadLocal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::GlobalVariable::NotThreadLocal);
    return var_PyObject;
}

static
PyObject*
llvm_GlobalVariable__ThreadLocalMode__GeneralDynamicTLSModel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::GlobalVariable::GeneralDynamicTLSModel);
    return var_PyObject1;
}

static
PyObject*
llvm_GlobalVariable__ThreadLocalMode__LocalDynamicTLSModel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::GlobalVariable::LocalDynamicTLSModel);
    return var_PyObject2;
}

static
PyObject*
llvm_GlobalVariable__ThreadLocalMode__InitialExecTLSModel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::GlobalVariable::InitialExecTLSModel);
    return var_PyObject3;
}

static
PyObject*
llvm_GlobalVariable__ThreadLocalMode__LocalExecTLSModel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::GlobalVariable::LocalExecTLSModel);
    return var_PyObject4;
}

static
PyMethodDef meth_llvm_GlobalVariable[] = {
    { "hasDefinitiveInitializer", (PyCFunction)llvm_GlobalVariable__hasDefinitiveInitializer, METH_VARARGS, NULL },
    { "setConstant", (PyCFunction)llvm_GlobalVariable__setConstant, METH_VARARGS, NULL },
    { "setInitializer", (PyCFunction)llvm_GlobalVariable__setInitializer, METH_VARARGS, NULL },
    { "getInitializer", (PyCFunction)llvm_GlobalVariable__getInitializer, METH_VARARGS, NULL },
    { "setThreadLocalMode", (PyCFunction)llvm_GlobalVariable__setThreadLocalMode, METH_VARARGS, NULL },
    { "hasInitializer", (PyCFunction)llvm_GlobalVariable__hasInitializer, METH_VARARGS, NULL },
    { "isConstant", (PyCFunction)llvm_GlobalVariable__isConstant, METH_VARARGS, NULL },
    { "setThreadLocal", (PyCFunction)llvm_GlobalVariable__setThreadLocal, METH_VARARGS, NULL },
    { "hasUniqueInitializer", (PyCFunction)llvm_GlobalVariable__hasUniqueInitializer, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_GlobalVariable__new, METH_VARARGS, NULL },
    { "isThreadLocal", (PyCFunction)llvm_GlobalVariable__isThreadLocal, METH_VARARGS, NULL },
    { "NotThreadLocal", (PyCFunction)llvm_GlobalVariable__ThreadLocalMode__NotThreadLocal, METH_VARARGS, NULL },
    { "GeneralDynamicTLSModel", (PyCFunction)llvm_GlobalVariable__ThreadLocalMode__GeneralDynamicTLSModel, METH_VARARGS, NULL },
    { "LocalDynamicTLSModel", (PyCFunction)llvm_GlobalVariable__ThreadLocalMode__LocalDynamicTLSModel, METH_VARARGS, NULL },
    { "InitialExecTLSModel", (PyCFunction)llvm_GlobalVariable__ThreadLocalMode__InitialExecTLSModel, METH_VARARGS, NULL },
    { "LocalExecTLSModel", (PyCFunction)llvm_GlobalVariable__ThreadLocalMode__LocalExecTLSModel, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_GlobalVariable[] = {
    { NULL }
};

static
PyObject*
llvm_PassManagerBase__add(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::PassManagerBase* var_llvm_PassManagerBase = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBase");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::PassManagerBase* var_llvm_PassManagerBase1 = unwrap_as<llvm::PassManagerBase, llvm::PassManagerBase >::from(var_void);
        if(!var_llvm_PassManagerBase1)
        {
            return NULL;
        }
        var_llvm_PassManagerBase = var_llvm_PassManagerBase1;
    }
    llvm::Pass* var_llvm_Pass = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Pass");
        if(!var_void1)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::Pass* var_llvm_Pass1 = unwrap_as<llvm::Pass, llvm::Pass >::from(var_void1);
        if(!var_llvm_Pass1)
        {
            return NULL;
        }
        var_llvm_Pass = var_llvm_Pass1;
    }
    var_llvm_PassManagerBase->add(var_llvm_Pass);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBase__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBase* var_llvm_PassManagerBase = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBase");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::PassManagerBase* var_llvm_PassManagerBase1 = unwrap_as<llvm::PassManagerBase, llvm::PassManagerBase >::from(var_void);
        if(!var_llvm_PassManagerBase1)
        {
            return NULL;
        }
        var_llvm_PassManagerBase = var_llvm_PassManagerBase1;
    }
    delete var_llvm_PassManagerBase;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_PassManagerBase[] = {
    { "add", (PyCFunction)llvm_PassManagerBase__add, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_PassManagerBase__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_PassManagerBase[] = {
    { NULL }
};

static
PyObject*
llvm_PassManager__new(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::PassManager* var_llvm_PassManager = new llvm::PassManager();
    PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::PassManagerBase >::from(var_llvm_PassManager), "llvm::PassManagerBase", "llvm::PassManager");
    if (!var_PyObject)
    {
        return NULL;
    }
    return var_PyObject;
}

static
PyObject*
llvm_PassManager__run(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::PassManager* var_llvm_PassManager = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBase");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::PassManager* var_llvm_PassManager1 = unwrap_as<llvm::PassManager, llvm::PassManagerBase >::from(var_void);
        if(!var_llvm_PassManager1)
        {
            return NULL;
        }
        var_llvm_PassManager = var_llvm_PassManager1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
    if(!var_void1)
    {
        puts("Error: llvm::Module");
        return NULL;
    }
    llvm::Module* var_llvm_Module = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
    if(!var_llvm_Module)
    {
        return NULL;
    }
    llvm::Module& var_llvm_Module1 = *var_llvm_Module;
    bool var_bool = var_llvm_PassManager->run(var_llvm_Module1);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyMethodDef meth_llvm_PassManager[] = {
    { "new", (PyCFunction)llvm_PassManager__new, METH_VARARGS, NULL },
    { "run", (PyCFunction)llvm_PassManager__run, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_PassManager[] = {
    { NULL }
};

static
PyObject*
llvm_FunctionPassManager__run(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::FunctionPassManager* var_llvm_FunctionPassManager = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBase");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::FunctionPassManager* var_llvm_FunctionPassManager1 = unwrap_as<llvm::FunctionPassManager, llvm::PassManagerBase >::from(var_void);
        if(!var_llvm_FunctionPassManager1)
        {
            return NULL;
        }
        var_llvm_FunctionPassManager = var_llvm_FunctionPassManager1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
    if(!var_void1)
    {
        puts("Error: llvm::Value");
        return NULL;
    }
    llvm::Function* var_llvm_Function = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
    if(!var_llvm_Function)
    {
        return NULL;
    }
    llvm::Function& var_llvm_Function1 = *var_llvm_Function;
    bool var_bool = var_llvm_FunctionPassManager->run(var_llvm_Function1);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_FunctionPassManager__doFinalization(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::FunctionPassManager* var_llvm_FunctionPassManager = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBase");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::FunctionPassManager* var_llvm_FunctionPassManager1 = unwrap_as<llvm::FunctionPassManager, llvm::PassManagerBase >::from(var_void);
        if(!var_llvm_FunctionPassManager1)
        {
            return NULL;
        }
        var_llvm_FunctionPassManager = var_llvm_FunctionPassManager1;
    }
    bool var_bool = var_llvm_FunctionPassManager->doFinalization();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_FunctionPassManager__new(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::FunctionPassManager* var_llvm_FunctionPassManager = new llvm::FunctionPassManager(var_llvm_Module);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::PassManagerBase >::from(var_llvm_FunctionPassManager), "llvm::PassManagerBase", "llvm::FunctionPassManager");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_FunctionPassManager__doInitialization(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::FunctionPassManager* var_llvm_FunctionPassManager = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBase");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::FunctionPassManager* var_llvm_FunctionPassManager1 = unwrap_as<llvm::FunctionPassManager, llvm::PassManagerBase >::from(var_void);
        if(!var_llvm_FunctionPassManager1)
        {
            return NULL;
        }
        var_llvm_FunctionPassManager = var_llvm_FunctionPassManager1;
    }
    bool var_bool = var_llvm_FunctionPassManager->doInitialization();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_FunctionPassManager[] = {
    { "run", (PyCFunction)llvm_FunctionPassManager__run, METH_VARARGS, NULL },
    { "doFinalization", (PyCFunction)llvm_FunctionPassManager__doFinalization, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_FunctionPassManager__new, METH_VARARGS, NULL },
    { "doInitialization", (PyCFunction)llvm_FunctionPassManager__doInitialization, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_FunctionPassManager[] = {
    { NULL }
};

static
PyObject*
llvm_TargetOptions__new(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::TargetOptions* var_llvm_TargetOptions = new llvm::TargetOptions();
    PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::TargetOptions >::from(var_llvm_TargetOptions), "llvm::TargetOptions", "llvm::TargetOptions");
    if (!var_PyObject)
    {
        return NULL;
    }
    return var_PyObject;
}

static
PyObject*
llvm_TargetOptions__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TargetOptions* var_llvm_TargetOptions = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::TargetOptions");
        if(!var_void)
        {
            puts("Error: llvm::TargetOptions");
            return NULL;
        }
        llvm::TargetOptions* var_llvm_TargetOptions1 = unwrap_as<llvm::TargetOptions, llvm::TargetOptions >::from(var_void);
        if(!var_llvm_TargetOptions1)
        {
            return NULL;
        }
        var_llvm_TargetOptions = var_llvm_TargetOptions1;
    }
    delete var_llvm_TargetOptions;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_TargetOptions[] = {
    { "new", (PyCFunction)llvm_TargetOptions__new, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_TargetOptions__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_TargetOptions[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_AssemblyAnnotationWriter[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_AssemblyAnnotationWriter[] = {
    { NULL }
};

static
PyObject*
llvm_Instruction__mayThrow(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->mayThrow();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__getMetadata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = var_llvm_Instruction->getMetadata(var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_MDNode), "llvm::Value", "llvm::MDNode");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_Instruction__isBinaryOp(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isBinaryOp();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__isAssociative(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isAssociative();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__isArithmeticShift(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isArithmeticShift();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__isCast(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isCast();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__setMetadata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void1);
        if(!var_llvm_MDNode1)
        {
            return NULL;
        }
        var_llvm_MDNode = var_llvm_MDNode1;
    }
    var_llvm_Instruction->setMetadata(var_llvm_StringRef, var_llvm_MDNode);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Instruction__eraseFromParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    var_llvm_Instruction->eraseFromParent();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Instruction__getPrevNode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::Instruction* var_llvm_Instruction2 = var_llvm_Instruction->getPrevNode();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction2), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__hasMetadataOtherThanDebugLoc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->hasMetadataOtherThanDebugLoc();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__moveBefore(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::Instruction* var_llvm_Instruction2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction3 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void1);
        if(!var_llvm_Instruction3)
        {
            return NULL;
        }
        var_llvm_Instruction2 = var_llvm_Instruction3;
    }
    var_llvm_Instruction->moveBefore(var_llvm_Instruction2);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Instruction__getNextNode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::Instruction* var_llvm_Instruction2 = var_llvm_Instruction->getNextNode();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction2), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__insertAfter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::Instruction* var_llvm_Instruction2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction3 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void1);
        if(!var_llvm_Instruction3)
        {
            return NULL;
        }
        var_llvm_Instruction2 = var_llvm_Instruction3;
    }
    var_llvm_Instruction->insertAfter(var_llvm_Instruction2);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Instruction__isNilpotent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isNilpotent();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__isTerminator(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isTerminator();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__insertBefore(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::Instruction* var_llvm_Instruction2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction3 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void1);
        if(!var_llvm_Instruction3)
        {
            return NULL;
        }
        var_llvm_Instruction2 = var_llvm_Instruction3;
    }
    var_llvm_Instruction->insertBefore(var_llvm_Instruction2);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Instruction__mayReadFromMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->mayReadFromMemory();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__removeFromParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    var_llvm_Instruction->removeFromParent();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Instruction__clone(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::Instruction* var_llvm_Instruction2 = var_llvm_Instruction->clone();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction2), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__isCommutative(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isCommutative();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__isShift(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isShift();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__hasMetadata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->hasMetadata();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__getOpcodeName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    const char* var_const_char = var_llvm_Instruction->getOpcodeName();
    PyObject* var_PyObject1 = py_str_from(var_const_char);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__isIdempotent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isIdempotent();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__getParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = var_llvm_Instruction->getParent();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BasicBlock), "llvm::Value", "llvm::BasicBlock");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__mayWriteToMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->mayWriteToMemory();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__getOpcode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    unsigned var_unsigned = var_llvm_Instruction->getOpcode();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__mayHaveSideEffects(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->mayHaveSideEffects();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__isLogicalShift(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->isLogicalShift();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_Instruction__mayReadOrWriteMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    bool var_bool = var_llvm_Instruction->mayReadOrWriteMemory();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_Instruction[] = {
    { "mayThrow", (PyCFunction)llvm_Instruction__mayThrow, METH_VARARGS, NULL },
    { "getMetadata", (PyCFunction)llvm_Instruction__getMetadata, METH_VARARGS, NULL },
    { "isBinaryOp", (PyCFunction)llvm_Instruction__isBinaryOp, METH_VARARGS, NULL },
    { "isAssociative", (PyCFunction)llvm_Instruction__isAssociative, METH_VARARGS, NULL },
    { "isArithmeticShift", (PyCFunction)llvm_Instruction__isArithmeticShift, METH_VARARGS, NULL },
    { "isCast", (PyCFunction)llvm_Instruction__isCast, METH_VARARGS, NULL },
    { "setMetadata", (PyCFunction)llvm_Instruction__setMetadata, METH_VARARGS, NULL },
    { "eraseFromParent", (PyCFunction)llvm_Instruction__eraseFromParent, METH_VARARGS, NULL },
    { "getPrevNode", (PyCFunction)llvm_Instruction__getPrevNode, METH_VARARGS, NULL },
    { "hasMetadataOtherThanDebugLoc", (PyCFunction)llvm_Instruction__hasMetadataOtherThanDebugLoc, METH_VARARGS, NULL },
    { "moveBefore", (PyCFunction)llvm_Instruction__moveBefore, METH_VARARGS, NULL },
    { "getNextNode", (PyCFunction)llvm_Instruction__getNextNode, METH_VARARGS, NULL },
    { "insertAfter", (PyCFunction)llvm_Instruction__insertAfter, METH_VARARGS, NULL },
    { "isNilpotent", (PyCFunction)llvm_Instruction__isNilpotent, METH_VARARGS, NULL },
    { "isTerminator", (PyCFunction)llvm_Instruction__isTerminator, METH_VARARGS, NULL },
    { "insertBefore", (PyCFunction)llvm_Instruction__insertBefore, METH_VARARGS, NULL },
    { "mayReadFromMemory", (PyCFunction)llvm_Instruction__mayReadFromMemory, METH_VARARGS, NULL },
    { "removeFromParent", (PyCFunction)llvm_Instruction__removeFromParent, METH_VARARGS, NULL },
    { "clone", (PyCFunction)llvm_Instruction__clone, METH_VARARGS, NULL },
    { "isCommutative", (PyCFunction)llvm_Instruction__isCommutative, METH_VARARGS, NULL },
    { "isShift", (PyCFunction)llvm_Instruction__isShift, METH_VARARGS, NULL },
    { "hasMetadata", (PyCFunction)llvm_Instruction__hasMetadata, METH_VARARGS, NULL },
    { "getOpcodeName", (PyCFunction)llvm_Instruction__getOpcodeName, METH_VARARGS, NULL },
    { "isIdempotent", (PyCFunction)llvm_Instruction__isIdempotent, METH_VARARGS, NULL },
    { "getParent", (PyCFunction)llvm_Instruction__getParent, METH_VARARGS, NULL },
    { "mayWriteToMemory", (PyCFunction)llvm_Instruction__mayWriteToMemory, METH_VARARGS, NULL },
    { "getOpcode", (PyCFunction)llvm_Instruction__getOpcode, METH_VARARGS, NULL },
    { "mayHaveSideEffects", (PyCFunction)llvm_Instruction__mayHaveSideEffects, METH_VARARGS, NULL },
    { "isLogicalShift", (PyCFunction)llvm_Instruction__isLogicalShift, METH_VARARGS, NULL },
    { "mayReadOrWriteMemory", (PyCFunction)llvm_Instruction__mayReadOrWriteMemory, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Instruction[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_AtomicCmpXchgInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_AtomicCmpXchgInst[] = {
    { NULL }
};

static
PyObject*
llvm_AtomicRMWInst__BinOp__Xchg(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::AtomicRMWInst::Xchg);
    return var_PyObject;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__Add(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::AtomicRMWInst::Add);
    return var_PyObject1;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__Sub(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::AtomicRMWInst::Sub);
    return var_PyObject2;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__And(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::AtomicRMWInst::And);
    return var_PyObject3;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__Nand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::AtomicRMWInst::Nand);
    return var_PyObject4;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__Or(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::AtomicRMWInst::Or);
    return var_PyObject5;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__Xor(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::AtomicRMWInst::Xor);
    return var_PyObject6;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__Max(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject7 = PyInt_FromLong(llvm::AtomicRMWInst::Max);
    return var_PyObject7;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__Min(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject8 = PyInt_FromLong(llvm::AtomicRMWInst::Min);
    return var_PyObject8;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__UMax(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject9 = PyInt_FromLong(llvm::AtomicRMWInst::UMax);
    return var_PyObject9;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__UMin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject10 = PyInt_FromLong(llvm::AtomicRMWInst::UMin);
    return var_PyObject10;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__FIRST__BINOP(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject11 = PyInt_FromLong(llvm::AtomicRMWInst::FIRST_BINOP);
    return var_PyObject11;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__LAST__BINOP(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject12 = PyInt_FromLong(llvm::AtomicRMWInst::LAST_BINOP);
    return var_PyObject12;
}

static
PyObject*
llvm_AtomicRMWInst__BinOp__BAD__BINOP(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject13 = PyInt_FromLong(llvm::AtomicRMWInst::BAD_BINOP);
    return var_PyObject13;
}

static
PyMethodDef meth_llvm_AtomicRMWInst[] = {
    { "Xchg", (PyCFunction)llvm_AtomicRMWInst__BinOp__Xchg, METH_VARARGS, NULL },
    { "Add", (PyCFunction)llvm_AtomicRMWInst__BinOp__Add, METH_VARARGS, NULL },
    { "Sub", (PyCFunction)llvm_AtomicRMWInst__BinOp__Sub, METH_VARARGS, NULL },
    { "And", (PyCFunction)llvm_AtomicRMWInst__BinOp__And, METH_VARARGS, NULL },
    { "Nand", (PyCFunction)llvm_AtomicRMWInst__BinOp__Nand, METH_VARARGS, NULL },
    { "Or", (PyCFunction)llvm_AtomicRMWInst__BinOp__Or, METH_VARARGS, NULL },
    { "Xor", (PyCFunction)llvm_AtomicRMWInst__BinOp__Xor, METH_VARARGS, NULL },
    { "Max", (PyCFunction)llvm_AtomicRMWInst__BinOp__Max, METH_VARARGS, NULL },
    { "Min", (PyCFunction)llvm_AtomicRMWInst__BinOp__Min, METH_VARARGS, NULL },
    { "UMax", (PyCFunction)llvm_AtomicRMWInst__BinOp__UMax, METH_VARARGS, NULL },
    { "UMin", (PyCFunction)llvm_AtomicRMWInst__BinOp__UMin, METH_VARARGS, NULL },
    { "FIRST_BINOP", (PyCFunction)llvm_AtomicRMWInst__BinOp__FIRST__BINOP, METH_VARARGS, NULL },
    { "LAST_BINOP", (PyCFunction)llvm_AtomicRMWInst__BinOp__LAST__BINOP, METH_VARARGS, NULL },
    { "BAD_BINOP", (PyCFunction)llvm_AtomicRMWInst__BinOp__BAD__BINOP, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_AtomicRMWInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_BinaryOperator[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_BinaryOperator[] = {
    { NULL }
};

static
PyObject*
llvm_CallInst__setCallingConv(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    llvm::CallingConv::ID var_llvm_CallingConv_ID = (llvm::CallingConv::ID)PyInt_AsLong(var_PyObject1);
    var_llvm_CallInst->setCallingConv(var_llvm_CallingConv_ID);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_CallInst__setArgOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    var_llvm_CallInst->setArgOperand(var_unsigned, var_llvm_Value);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_CallInst__setCalledFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_CallInst->setCalledFunction(var_llvm_Function);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_CallInst__removeAttribute(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Attribute");
    if(!var_void1)
    {
        puts("Error: llvm::Attribute");
        return NULL;
    }
    llvm::Attribute* var_llvm_Attribute = unwrap_as<llvm::Attribute, llvm::Attribute >::from(var_void1);
    if(!var_llvm_Attribute)
    {
        return NULL;
    }
    llvm::Attribute& var_llvm_Attribute1 = *var_llvm_Attribute;
    var_llvm_CallInst->removeAttribute(var_unsigned, var_llvm_Attribute1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_CallInst__getCalledValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    llvm::Value* var_llvm_Value = var_llvm_CallInst->getCalledValue();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_CallInst__getArgOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = var_llvm_CallInst->getArgOperand(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_CallInst__getNumArgOperands(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    unsigned var_unsigned = var_llvm_CallInst->getNumArgOperands();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_CallInst__addAttribute(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Attribute::AttrKind var_llvm_Attribute_AttrKind = (llvm::Attribute::AttrKind)PyInt_AsLong(var_PyObject2);
    var_llvm_CallInst->addAttribute(var_unsigned, var_llvm_Attribute_AttrKind);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_CallInst__getCallingConv(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    llvm::CallingConv::ID var_llvm_CallingConv_ID = var_llvm_CallInst->getCallingConv();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_CallingConv_ID);
    return var_PyObject1;
}

static
PyObject*
llvm_CallInst__getParamAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    unsigned var_unsigned1 = var_llvm_CallInst->getParamAlignment(var_unsigned);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned1);
    return var_PyObject2;
}

static
PyObject*
llvm_CallInst__CreateFree(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    llvm::Instruction* var_llvm_Instruction = llvm::CallInst::CreateFree(var_llvm_Value, var_llvm_BasicBlock);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_CallInst__getCalledFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    llvm::Function* var_llvm_Function = var_llvm_CallInst->getCalledFunction();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function), "llvm::Value", "llvm::Function");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_CallInst__isInlineAsm(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::CallInst* var_llvm_CallInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst1 = unwrap_as<llvm::CallInst, llvm::Value >::from(var_void);
        if(!var_llvm_CallInst1)
        {
            return NULL;
        }
        var_llvm_CallInst = var_llvm_CallInst1;
    }
    bool var_bool = var_llvm_CallInst->isInlineAsm();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_CallInst__CreateMalloc(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (7 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void);
            if(!var_llvm_BasicBlock1)
            {
                return NULL;
            }
            var_llvm_BasicBlock = var_llvm_BasicBlock1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::Function* var_llvm_Function = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void5);
            if(!var_llvm_Function1)
            {
                return NULL;
            }
            var_llvm_Function = var_llvm_Function1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject6, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction = llvm::CallInst::CreateMalloc(var_llvm_BasicBlock, var_llvm_Type, var_llvm_Type2, var_llvm_Value, var_llvm_Value2, var_llvm_Function, var_llvm_StringRef);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction), "llvm::Value", "llvm::Instruction");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject8, &var_PyObject9, &var_PyObject10, &var_PyObject11))
        {
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock2 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock3 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void6);
            if(!var_llvm_BasicBlock3)
            {
                return NULL;
            }
            var_llvm_BasicBlock2 = var_llvm_BasicBlock3;
        }
        llvm::Type* var_llvm_Type4 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject9, "llvm::Type");
            if(!var_void7)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type5 = unwrap_as<llvm::Type, llvm::Type >::from(var_void7);
            if(!var_llvm_Type5)
            {
                return NULL;
            }
            var_llvm_Type4 = var_llvm_Type5;
        }
        llvm::Type* var_llvm_Type6 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject10, "llvm::Type");
            if(!var_void8)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type7 = unwrap_as<llvm::Type, llvm::Type >::from(var_void8);
            if(!var_llvm_Type7)
            {
                return NULL;
            }
            var_llvm_Type6 = var_llvm_Type7;
        }
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void9)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void9);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        llvm::Instruction* var_llvm_Instruction1 = llvm::CallInst::CreateMalloc(var_llvm_BasicBlock2, var_llvm_Type4, var_llvm_Type6, var_llvm_Value4);
        PyObject* var_PyObject12 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction1), "llvm::Value", "llvm::Instruction");
        if (!var_PyObject12)
        {
            return NULL;
        }
        return var_PyObject12;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject13, &var_PyObject14, &var_PyObject15, &var_PyObject16, &var_PyObject17))
        {
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock4 = NULL;
        if (var_PyObject13 != Py_None)
        {
            void* var_void10 = PyCapsule_GetPointer(var_PyObject13, "llvm::Value");
            if(!var_void10)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock5 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void10);
            if(!var_llvm_BasicBlock5)
            {
                return NULL;
            }
            var_llvm_BasicBlock4 = var_llvm_BasicBlock5;
        }
        llvm::Type* var_llvm_Type8 = NULL;
        if (var_PyObject14 != Py_None)
        {
            void* var_void11 = PyCapsule_GetPointer(var_PyObject14, "llvm::Type");
            if(!var_void11)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type9 = unwrap_as<llvm::Type, llvm::Type >::from(var_void11);
            if(!var_llvm_Type9)
            {
                return NULL;
            }
            var_llvm_Type8 = var_llvm_Type9;
        }
        llvm::Type* var_llvm_Type10 = NULL;
        if (var_PyObject15 != Py_None)
        {
            void* var_void12 = PyCapsule_GetPointer(var_PyObject15, "llvm::Type");
            if(!var_void12)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type11 = unwrap_as<llvm::Type, llvm::Type >::from(var_void12);
            if(!var_llvm_Type11)
            {
                return NULL;
            }
            var_llvm_Type10 = var_llvm_Type11;
        }
        llvm::Value* var_llvm_Value6 = NULL;
        if (var_PyObject16 != Py_None)
        {
            void* var_void13 = PyCapsule_GetPointer(var_PyObject16, "llvm::Value");
            if(!var_void13)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value7 = unwrap_as<llvm::Value, llvm::Value >::from(var_void13);
            if(!var_llvm_Value7)
            {
                return NULL;
            }
            var_llvm_Value6 = var_llvm_Value7;
        }
        llvm::Value* var_llvm_Value8 = NULL;
        if (var_PyObject17 != Py_None)
        {
            void* var_void14 = PyCapsule_GetPointer(var_PyObject17, "llvm::Value");
            if(!var_void14)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value9 = unwrap_as<llvm::Value, llvm::Value >::from(var_void14);
            if(!var_llvm_Value9)
            {
                return NULL;
            }
            var_llvm_Value8 = var_llvm_Value9;
        }
        llvm::Instruction* var_llvm_Instruction2 = llvm::CallInst::CreateMalloc(var_llvm_BasicBlock4, var_llvm_Type8, var_llvm_Type10, var_llvm_Value6, var_llvm_Value8);
        PyObject* var_PyObject18 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction2), "llvm::Value", "llvm::Instruction");
        if (!var_PyObject18)
        {
            return NULL;
        }
        return var_PyObject18;
    }
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        PyObject* var_PyObject21;
        PyObject* var_PyObject22;
        PyObject* var_PyObject23;
        PyObject* var_PyObject24;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject19, &var_PyObject20, &var_PyObject21, &var_PyObject22, &var_PyObject23, &var_PyObject24))
        {
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock6 = NULL;
        if (var_PyObject19 != Py_None)
        {
            void* var_void15 = PyCapsule_GetPointer(var_PyObject19, "llvm::Value");
            if(!var_void15)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock7 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void15);
            if(!var_llvm_BasicBlock7)
            {
                return NULL;
            }
            var_llvm_BasicBlock6 = var_llvm_BasicBlock7;
        }
        llvm::Type* var_llvm_Type12 = NULL;
        if (var_PyObject20 != Py_None)
        {
            void* var_void16 = PyCapsule_GetPointer(var_PyObject20, "llvm::Type");
            if(!var_void16)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type13 = unwrap_as<llvm::Type, llvm::Type >::from(var_void16);
            if(!var_llvm_Type13)
            {
                return NULL;
            }
            var_llvm_Type12 = var_llvm_Type13;
        }
        llvm::Type* var_llvm_Type14 = NULL;
        if (var_PyObject21 != Py_None)
        {
            void* var_void17 = PyCapsule_GetPointer(var_PyObject21, "llvm::Type");
            if(!var_void17)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type15 = unwrap_as<llvm::Type, llvm::Type >::from(var_void17);
            if(!var_llvm_Type15)
            {
                return NULL;
            }
            var_llvm_Type14 = var_llvm_Type15;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject22 != Py_None)
        {
            void* var_void18 = PyCapsule_GetPointer(var_PyObject22, "llvm::Value");
            if(!var_void18)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void18);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject23 != Py_None)
        {
            void* var_void19 = PyCapsule_GetPointer(var_PyObject23, "llvm::Value");
            if(!var_void19)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void19);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::Function* var_llvm_Function2 = NULL;
        if (var_PyObject24 != Py_None)
        {
            void* var_void20 = PyCapsule_GetPointer(var_PyObject24, "llvm::Value");
            if(!var_void20)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Function* var_llvm_Function3 = unwrap_as<llvm::Function, llvm::Value >::from(var_void20);
            if(!var_llvm_Function3)
            {
                return NULL;
            }
            var_llvm_Function2 = var_llvm_Function3;
        }
        llvm::Instruction* var_llvm_Instruction3 = llvm::CallInst::CreateMalloc(var_llvm_BasicBlock6, var_llvm_Type12, var_llvm_Type14, var_llvm_Value10, var_llvm_Value12, var_llvm_Function2);
        PyObject* var_PyObject25 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction3), "llvm::Value", "llvm::Instruction");
        if (!var_PyObject25)
        {
            return NULL;
        }
        return var_PyObject25;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyMethodDef meth_llvm_CallInst[] = {
    { "setCallingConv", (PyCFunction)llvm_CallInst__setCallingConv, METH_VARARGS, NULL },
    { "setArgOperand", (PyCFunction)llvm_CallInst__setArgOperand, METH_VARARGS, NULL },
    { "setCalledFunction", (PyCFunction)llvm_CallInst__setCalledFunction, METH_VARARGS, NULL },
    { "removeAttribute", (PyCFunction)llvm_CallInst__removeAttribute, METH_VARARGS, NULL },
    { "getCalledValue", (PyCFunction)llvm_CallInst__getCalledValue, METH_VARARGS, NULL },
    { "getArgOperand", (PyCFunction)llvm_CallInst__getArgOperand, METH_VARARGS, NULL },
    { "getNumArgOperands", (PyCFunction)llvm_CallInst__getNumArgOperands, METH_VARARGS, NULL },
    { "addAttribute", (PyCFunction)llvm_CallInst__addAttribute, METH_VARARGS, NULL },
    { "getCallingConv", (PyCFunction)llvm_CallInst__getCallingConv, METH_VARARGS, NULL },
    { "getParamAlignment", (PyCFunction)llvm_CallInst__getParamAlignment, METH_VARARGS, NULL },
    { "CreateFree", (PyCFunction)llvm_CallInst__CreateFree, METH_VARARGS, NULL },
    { "getCalledFunction", (PyCFunction)llvm_CallInst__getCalledFunction, METH_VARARGS, NULL },
    { "isInlineAsm", (PyCFunction)llvm_CallInst__isInlineAsm, METH_VARARGS, NULL },
    { "CreateMalloc", (PyCFunction)llvm_CallInst__CreateMalloc, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_CallInst[] = {
    { NULL }
};

static
PyObject*
llvm_CmpInst__getPredicate(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::CmpInst* var_llvm_CmpInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::CmpInst* var_llvm_CmpInst1 = unwrap_as<llvm::CmpInst, llvm::Value >::from(var_void);
        if(!var_llvm_CmpInst1)
        {
            return NULL;
        }
        var_llvm_CmpInst = var_llvm_CmpInst1;
    }
    llvm::CmpInst::Predicate var_llvm_CmpInst_Predicate = var_llvm_CmpInst->getPredicate();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_CmpInst_Predicate);
    return var_PyObject1;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__FALSE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::CmpInst::FCMP_FALSE);
    return var_PyObject;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__OEQ(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::CmpInst::FCMP_OEQ);
    return var_PyObject1;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__OGT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::CmpInst::FCMP_OGT);
    return var_PyObject2;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__OGE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::CmpInst::FCMP_OGE);
    return var_PyObject3;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__OLT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::CmpInst::FCMP_OLT);
    return var_PyObject4;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__OLE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::CmpInst::FCMP_OLE);
    return var_PyObject5;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__ONE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::CmpInst::FCMP_ONE);
    return var_PyObject6;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__ORD(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject7 = PyInt_FromLong(llvm::CmpInst::FCMP_ORD);
    return var_PyObject7;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__UNO(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject8 = PyInt_FromLong(llvm::CmpInst::FCMP_UNO);
    return var_PyObject8;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__UEQ(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject9 = PyInt_FromLong(llvm::CmpInst::FCMP_UEQ);
    return var_PyObject9;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__UGT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject10 = PyInt_FromLong(llvm::CmpInst::FCMP_UGT);
    return var_PyObject10;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__UGE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject11 = PyInt_FromLong(llvm::CmpInst::FCMP_UGE);
    return var_PyObject11;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__ULT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject12 = PyInt_FromLong(llvm::CmpInst::FCMP_ULT);
    return var_PyObject12;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__ULE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject13 = PyInt_FromLong(llvm::CmpInst::FCMP_ULE);
    return var_PyObject13;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__UNE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject14 = PyInt_FromLong(llvm::CmpInst::FCMP_UNE);
    return var_PyObject14;
}

static
PyObject*
llvm_CmpInst__Predicate__FCMP__TRUE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject15 = PyInt_FromLong(llvm::CmpInst::FCMP_TRUE);
    return var_PyObject15;
}

static
PyObject*
llvm_CmpInst__Predicate__FIRST__FCMP__PREDICATE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject16 = PyInt_FromLong(llvm::CmpInst::FIRST_FCMP_PREDICATE);
    return var_PyObject16;
}

static
PyObject*
llvm_CmpInst__Predicate__LAST__FCMP__PREDICATE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject17 = PyInt_FromLong(llvm::CmpInst::LAST_FCMP_PREDICATE);
    return var_PyObject17;
}

static
PyObject*
llvm_CmpInst__Predicate__BAD__FCMP__PREDICATE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject18 = PyInt_FromLong(llvm::CmpInst::BAD_FCMP_PREDICATE);
    return var_PyObject18;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__EQ(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject19 = PyInt_FromLong(llvm::CmpInst::ICMP_EQ);
    return var_PyObject19;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__NE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject20 = PyInt_FromLong(llvm::CmpInst::ICMP_NE);
    return var_PyObject20;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__UGT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject21 = PyInt_FromLong(llvm::CmpInst::ICMP_UGT);
    return var_PyObject21;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__UGE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject22 = PyInt_FromLong(llvm::CmpInst::ICMP_UGE);
    return var_PyObject22;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__ULT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject23 = PyInt_FromLong(llvm::CmpInst::ICMP_ULT);
    return var_PyObject23;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__ULE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject24 = PyInt_FromLong(llvm::CmpInst::ICMP_ULE);
    return var_PyObject24;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__SGT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject25 = PyInt_FromLong(llvm::CmpInst::ICMP_SGT);
    return var_PyObject25;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__SGE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject26 = PyInt_FromLong(llvm::CmpInst::ICMP_SGE);
    return var_PyObject26;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__SLT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject27 = PyInt_FromLong(llvm::CmpInst::ICMP_SLT);
    return var_PyObject27;
}

static
PyObject*
llvm_CmpInst__Predicate__ICMP__SLE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject28 = PyInt_FromLong(llvm::CmpInst::ICMP_SLE);
    return var_PyObject28;
}

static
PyObject*
llvm_CmpInst__Predicate__FIRST__ICMP__PREDICATE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject29 = PyInt_FromLong(llvm::CmpInst::FIRST_ICMP_PREDICATE);
    return var_PyObject29;
}

static
PyObject*
llvm_CmpInst__Predicate__LAST__ICMP__PREDICATE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject30 = PyInt_FromLong(llvm::CmpInst::LAST_ICMP_PREDICATE);
    return var_PyObject30;
}

static
PyObject*
llvm_CmpInst__Predicate__BAD__ICMP__PREDICATE(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject31 = PyInt_FromLong(llvm::CmpInst::BAD_ICMP_PREDICATE);
    return var_PyObject31;
}

static
PyMethodDef meth_llvm_CmpInst[] = {
    { "getPredicate", (PyCFunction)llvm_CmpInst__getPredicate, METH_VARARGS, NULL },
    { "FCMP_FALSE", (PyCFunction)llvm_CmpInst__Predicate__FCMP__FALSE, METH_VARARGS, NULL },
    { "FCMP_OEQ", (PyCFunction)llvm_CmpInst__Predicate__FCMP__OEQ, METH_VARARGS, NULL },
    { "FCMP_OGT", (PyCFunction)llvm_CmpInst__Predicate__FCMP__OGT, METH_VARARGS, NULL },
    { "FCMP_OGE", (PyCFunction)llvm_CmpInst__Predicate__FCMP__OGE, METH_VARARGS, NULL },
    { "FCMP_OLT", (PyCFunction)llvm_CmpInst__Predicate__FCMP__OLT, METH_VARARGS, NULL },
    { "FCMP_OLE", (PyCFunction)llvm_CmpInst__Predicate__FCMP__OLE, METH_VARARGS, NULL },
    { "FCMP_ONE", (PyCFunction)llvm_CmpInst__Predicate__FCMP__ONE, METH_VARARGS, NULL },
    { "FCMP_ORD", (PyCFunction)llvm_CmpInst__Predicate__FCMP__ORD, METH_VARARGS, NULL },
    { "FCMP_UNO", (PyCFunction)llvm_CmpInst__Predicate__FCMP__UNO, METH_VARARGS, NULL },
    { "FCMP_UEQ", (PyCFunction)llvm_CmpInst__Predicate__FCMP__UEQ, METH_VARARGS, NULL },
    { "FCMP_UGT", (PyCFunction)llvm_CmpInst__Predicate__FCMP__UGT, METH_VARARGS, NULL },
    { "FCMP_UGE", (PyCFunction)llvm_CmpInst__Predicate__FCMP__UGE, METH_VARARGS, NULL },
    { "FCMP_ULT", (PyCFunction)llvm_CmpInst__Predicate__FCMP__ULT, METH_VARARGS, NULL },
    { "FCMP_ULE", (PyCFunction)llvm_CmpInst__Predicate__FCMP__ULE, METH_VARARGS, NULL },
    { "FCMP_UNE", (PyCFunction)llvm_CmpInst__Predicate__FCMP__UNE, METH_VARARGS, NULL },
    { "FCMP_TRUE", (PyCFunction)llvm_CmpInst__Predicate__FCMP__TRUE, METH_VARARGS, NULL },
    { "FIRST_FCMP_PREDICATE", (PyCFunction)llvm_CmpInst__Predicate__FIRST__FCMP__PREDICATE, METH_VARARGS, NULL },
    { "LAST_FCMP_PREDICATE", (PyCFunction)llvm_CmpInst__Predicate__LAST__FCMP__PREDICATE, METH_VARARGS, NULL },
    { "BAD_FCMP_PREDICATE", (PyCFunction)llvm_CmpInst__Predicate__BAD__FCMP__PREDICATE, METH_VARARGS, NULL },
    { "ICMP_EQ", (PyCFunction)llvm_CmpInst__Predicate__ICMP__EQ, METH_VARARGS, NULL },
    { "ICMP_NE", (PyCFunction)llvm_CmpInst__Predicate__ICMP__NE, METH_VARARGS, NULL },
    { "ICMP_UGT", (PyCFunction)llvm_CmpInst__Predicate__ICMP__UGT, METH_VARARGS, NULL },
    { "ICMP_UGE", (PyCFunction)llvm_CmpInst__Predicate__ICMP__UGE, METH_VARARGS, NULL },
    { "ICMP_ULT", (PyCFunction)llvm_CmpInst__Predicate__ICMP__ULT, METH_VARARGS, NULL },
    { "ICMP_ULE", (PyCFunction)llvm_CmpInst__Predicate__ICMP__ULE, METH_VARARGS, NULL },
    { "ICMP_SGT", (PyCFunction)llvm_CmpInst__Predicate__ICMP__SGT, METH_VARARGS, NULL },
    { "ICMP_SGE", (PyCFunction)llvm_CmpInst__Predicate__ICMP__SGE, METH_VARARGS, NULL },
    { "ICMP_SLT", (PyCFunction)llvm_CmpInst__Predicate__ICMP__SLT, METH_VARARGS, NULL },
    { "ICMP_SLE", (PyCFunction)llvm_CmpInst__Predicate__ICMP__SLE, METH_VARARGS, NULL },
    { "FIRST_ICMP_PREDICATE", (PyCFunction)llvm_CmpInst__Predicate__FIRST__ICMP__PREDICATE, METH_VARARGS, NULL },
    { "LAST_ICMP_PREDICATE", (PyCFunction)llvm_CmpInst__Predicate__LAST__ICMP__PREDICATE, METH_VARARGS, NULL },
    { "BAD_ICMP_PREDICATE", (PyCFunction)llvm_CmpInst__Predicate__BAD__ICMP__PREDICATE, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_CmpInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_ExtractElementInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_ExtractElementInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_FenceInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_FenceInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_GetElementPtrInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_GetElementPtrInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_InsertElementInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_InsertElementInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_InsertValueInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_InsertValueInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_LandingPadInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_LandingPadInst[] = {
    { NULL }
};

static
PyObject*
llvm_PHINode__getIncomingBlock(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::PHINode* var_llvm_PHINode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode1 = unwrap_as<llvm::PHINode, llvm::Value >::from(var_void);
        if(!var_llvm_PHINode1)
        {
            return NULL;
        }
        var_llvm_PHINode = var_llvm_PHINode1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = var_llvm_PHINode->getIncomingBlock(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BasicBlock), "llvm::Value", "llvm::BasicBlock");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_PHINode__getIncomingValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::PHINode* var_llvm_PHINode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode1 = unwrap_as<llvm::PHINode, llvm::Value >::from(var_void);
        if(!var_llvm_PHINode1)
        {
            return NULL;
        }
        var_llvm_PHINode = var_llvm_PHINode1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = var_llvm_PHINode->getIncomingValue(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_PHINode__hasConstantValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PHINode* var_llvm_PHINode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode1 = unwrap_as<llvm::PHINode, llvm::Value >::from(var_void);
        if(!var_llvm_PHINode1)
        {
            return NULL;
        }
        var_llvm_PHINode = var_llvm_PHINode1;
    }
    llvm::Value* var_llvm_Value = var_llvm_PHINode->hasConstantValue();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_PHINode__getBasicBlockIndex(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::PHINode* var_llvm_PHINode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode1 = unwrap_as<llvm::PHINode, llvm::Value >::from(var_void);
        if(!var_llvm_PHINode1)
        {
            return NULL;
        }
        var_llvm_PHINode = var_llvm_PHINode1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    int var_int = var_llvm_PHINode->getBasicBlockIndex(var_llvm_BasicBlock);
    PyObject* var_PyObject2 = py_int_from_signed(var_int);
    return var_PyObject2;
}

static
PyObject*
llvm_PHINode__setIncomingBlock(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::PHINode* var_llvm_PHINode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode1 = unwrap_as<llvm::PHINode, llvm::Value >::from(var_void);
        if(!var_llvm_PHINode1)
        {
            return NULL;
        }
        var_llvm_PHINode = var_llvm_PHINode1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    var_llvm_PHINode->setIncomingBlock(var_unsigned, var_llvm_BasicBlock);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PHINode__addIncoming(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::PHINode* var_llvm_PHINode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode1 = unwrap_as<llvm::PHINode, llvm::Value >::from(var_void);
        if(!var_llvm_PHINode1)
        {
            return NULL;
        }
        var_llvm_PHINode = var_llvm_PHINode1;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void2)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void2);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    var_llvm_PHINode->addIncoming(var_llvm_Value, var_llvm_BasicBlock);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PHINode__getNumIncomingValues(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PHINode* var_llvm_PHINode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode1 = unwrap_as<llvm::PHINode, llvm::Value >::from(var_void);
        if(!var_llvm_PHINode1)
        {
            return NULL;
        }
        var_llvm_PHINode = var_llvm_PHINode1;
    }
    unsigned var_unsigned = var_llvm_PHINode->getNumIncomingValues();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_PHINode__setIncomingValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::PHINode* var_llvm_PHINode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode1 = unwrap_as<llvm::PHINode, llvm::Value >::from(var_void);
        if(!var_llvm_PHINode1)
        {
            return NULL;
        }
        var_llvm_PHINode = var_llvm_PHINode1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    var_llvm_PHINode->setIncomingValue(var_unsigned, var_llvm_Value);
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_PHINode[] = {
    { "getIncomingBlock", (PyCFunction)llvm_PHINode__getIncomingBlock, METH_VARARGS, NULL },
    { "getIncomingValue", (PyCFunction)llvm_PHINode__getIncomingValue, METH_VARARGS, NULL },
    { "hasConstantValue", (PyCFunction)llvm_PHINode__hasConstantValue, METH_VARARGS, NULL },
    { "getBasicBlockIndex", (PyCFunction)llvm_PHINode__getBasicBlockIndex, METH_VARARGS, NULL },
    { "setIncomingBlock", (PyCFunction)llvm_PHINode__setIncomingBlock, METH_VARARGS, NULL },
    { "addIncoming", (PyCFunction)llvm_PHINode__addIncoming, METH_VARARGS, NULL },
    { "getNumIncomingValues", (PyCFunction)llvm_PHINode__getNumIncomingValues, METH_VARARGS, NULL },
    { "setIncomingValue", (PyCFunction)llvm_PHINode__setIncomingValue, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_PHINode[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_SelectInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_SelectInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_ShuffleVectorInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_ShuffleVectorInst[] = {
    { NULL }
};

static
PyObject*
llvm_StoreInst__isUnordered(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    bool var_bool = var_llvm_StoreInst->isUnordered();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_StoreInst__getPointerOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    llvm::Value* var_llvm_Value = var_llvm_StoreInst->getPointerOperand();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_StoreInst__getAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    unsigned var_unsigned = var_llvm_StoreInst->getAlignment();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_StoreInst__isSimple(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    bool var_bool = var_llvm_StoreInst->isSimple();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_StoreInst__isAtomic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    bool var_bool = var_llvm_StoreInst->isAtomic();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_StoreInst__classof(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    bool var_bool = llvm::StoreInst::classof(var_llvm_Value);
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_StoreInst__isVolatile(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    bool var_bool = var_llvm_StoreInst->isVolatile();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_StoreInst__getPointerAddressSpace(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    unsigned var_unsigned = var_llvm_StoreInst->getPointerAddressSpace();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_StoreInst__setVolatile(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_StoreInst->setVolatile(var_bool);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_StoreInst__setAtomic(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
            if(!var_llvm_StoreInst1)
            {
                return NULL;
            }
            var_llvm_StoreInst = var_llvm_StoreInst1;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject1);
        llvm::SynchronizationScope var_llvm_SynchronizationScope = (llvm::SynchronizationScope)PyInt_AsLong(var_PyObject2);
        var_llvm_StoreInst->setAtomic(var_llvm_AtomicOrdering, var_llvm_SynchronizationScope);
        Py_RETURN_NONE;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::StoreInst* var_llvm_StoreInst3 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void1);
            if(!var_llvm_StoreInst3)
            {
                return NULL;
            }
            var_llvm_StoreInst2 = var_llvm_StoreInst3;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering1 = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject4);
        var_llvm_StoreInst2->setAtomic(var_llvm_AtomicOrdering1);
        Py_RETURN_NONE;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_StoreInst__setAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_StoreInst->setAlignment(var_unsigned);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_StoreInst__getValueOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::StoreInst* var_llvm_StoreInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = unwrap_as<llvm::StoreInst, llvm::Value >::from(var_void);
        if(!var_llvm_StoreInst1)
        {
            return NULL;
        }
        var_llvm_StoreInst = var_llvm_StoreInst1;
    }
    llvm::Value* var_llvm_Value = var_llvm_StoreInst->getValueOperand();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_StoreInst[] = {
    { "isUnordered", (PyCFunction)llvm_StoreInst__isUnordered, METH_VARARGS, NULL },
    { "getPointerOperand", (PyCFunction)llvm_StoreInst__getPointerOperand, METH_VARARGS, NULL },
    { "getAlignment", (PyCFunction)llvm_StoreInst__getAlignment, METH_VARARGS, NULL },
    { "isSimple", (PyCFunction)llvm_StoreInst__isSimple, METH_VARARGS, NULL },
    { "isAtomic", (PyCFunction)llvm_StoreInst__isAtomic, METH_VARARGS, NULL },
    { "classof", (PyCFunction)llvm_StoreInst__classof, METH_VARARGS, NULL },
    { "isVolatile", (PyCFunction)llvm_StoreInst__isVolatile, METH_VARARGS, NULL },
    { "getPointerAddressSpace", (PyCFunction)llvm_StoreInst__getPointerAddressSpace, METH_VARARGS, NULL },
    { "setVolatile", (PyCFunction)llvm_StoreInst__setVolatile, METH_VARARGS, NULL },
    { "setAtomic", (PyCFunction)llvm_StoreInst__setAtomic, METH_VARARGS, NULL },
    { "setAlignment", (PyCFunction)llvm_StoreInst__setAlignment, METH_VARARGS, NULL },
    { "getValueOperand", (PyCFunction)llvm_StoreInst__getValueOperand, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_StoreInst[] = {
    { NULL }
};

static
PyObject*
llvm_TerminatorInst__getSuccessor(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::TerminatorInst* var_llvm_TerminatorInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::TerminatorInst* var_llvm_TerminatorInst1 = unwrap_as<llvm::TerminatorInst, llvm::Value >::from(var_void);
        if(!var_llvm_TerminatorInst1)
        {
            return NULL;
        }
        var_llvm_TerminatorInst = var_llvm_TerminatorInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = var_llvm_TerminatorInst->getSuccessor(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BasicBlock), "llvm::Value", "llvm::BasicBlock");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_TerminatorInst__getNumSuccessors(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::TerminatorInst* var_llvm_TerminatorInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::TerminatorInst* var_llvm_TerminatorInst1 = unwrap_as<llvm::TerminatorInst, llvm::Value >::from(var_void);
        if(!var_llvm_TerminatorInst1)
        {
            return NULL;
        }
        var_llvm_TerminatorInst = var_llvm_TerminatorInst1;
    }
    unsigned var_unsigned = var_llvm_TerminatorInst->getNumSuccessors();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_TerminatorInst__setSuccessor(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::TerminatorInst* var_llvm_TerminatorInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::TerminatorInst* var_llvm_TerminatorInst1 = unwrap_as<llvm::TerminatorInst, llvm::Value >::from(var_void);
        if(!var_llvm_TerminatorInst1)
        {
            return NULL;
        }
        var_llvm_TerminatorInst = var_llvm_TerminatorInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    var_llvm_TerminatorInst->setSuccessor(var_unsigned, var_llvm_BasicBlock);
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_TerminatorInst[] = {
    { "getSuccessor", (PyCFunction)llvm_TerminatorInst__getSuccessor, METH_VARARGS, NULL },
    { "getNumSuccessors", (PyCFunction)llvm_TerminatorInst__getNumSuccessors, METH_VARARGS, NULL },
    { "setSuccessor", (PyCFunction)llvm_TerminatorInst__setSuccessor, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_TerminatorInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_UnaryInstruction[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_UnaryInstruction[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_IntrinsicInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_IntrinsicInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_FCmpInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_FCmpInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_ICmpInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_ICmpInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_BranchInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_BranchInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_IndirectBrInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_IndirectBrInst[] = {
    { NULL }
};

static
PyObject*
llvm_InvokeInst__setCallingConv(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::InvokeInst* var_llvm_InvokeInst1 = unwrap_as<llvm::InvokeInst, llvm::Value >::from(var_void);
        if(!var_llvm_InvokeInst1)
        {
            return NULL;
        }
        var_llvm_InvokeInst = var_llvm_InvokeInst1;
    }
    llvm::CallingConv::ID var_llvm_CallingConv_ID = (llvm::CallingConv::ID)PyInt_AsLong(var_PyObject1);
    var_llvm_InvokeInst->setCallingConv(var_llvm_CallingConv_ID);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_InvokeInst__setCalledFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::InvokeInst* var_llvm_InvokeInst1 = unwrap_as<llvm::InvokeInst, llvm::Value >::from(var_void);
        if(!var_llvm_InvokeInst1)
        {
            return NULL;
        }
        var_llvm_InvokeInst = var_llvm_InvokeInst1;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_InvokeInst->setCalledFunction(var_llvm_Function);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_InvokeInst__removeAttribute(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::InvokeInst* var_llvm_InvokeInst1 = unwrap_as<llvm::InvokeInst, llvm::Value >::from(var_void);
        if(!var_llvm_InvokeInst1)
        {
            return NULL;
        }
        var_llvm_InvokeInst = var_llvm_InvokeInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Attribute");
    if(!var_void1)
    {
        puts("Error: llvm::Attribute");
        return NULL;
    }
    llvm::Attribute* var_llvm_Attribute = unwrap_as<llvm::Attribute, llvm::Attribute >::from(var_void1);
    if(!var_llvm_Attribute)
    {
        return NULL;
    }
    llvm::Attribute& var_llvm_Attribute1 = *var_llvm_Attribute;
    var_llvm_InvokeInst->removeAttribute(var_unsigned, var_llvm_Attribute1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_InvokeInst__getCalledValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::InvokeInst* var_llvm_InvokeInst1 = unwrap_as<llvm::InvokeInst, llvm::Value >::from(var_void);
        if(!var_llvm_InvokeInst1)
        {
            return NULL;
        }
        var_llvm_InvokeInst = var_llvm_InvokeInst1;
    }
    llvm::Value* var_llvm_Value = var_llvm_InvokeInst->getCalledValue();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_InvokeInst__addAttribute(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::InvokeInst* var_llvm_InvokeInst1 = unwrap_as<llvm::InvokeInst, llvm::Value >::from(var_void);
        if(!var_llvm_InvokeInst1)
        {
            return NULL;
        }
        var_llvm_InvokeInst = var_llvm_InvokeInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Attribute::AttrKind var_llvm_Attribute_AttrKind = (llvm::Attribute::AttrKind)PyInt_AsLong(var_PyObject2);
    var_llvm_InvokeInst->addAttribute(var_unsigned, var_llvm_Attribute_AttrKind);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_InvokeInst__getCallingConv(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::InvokeInst* var_llvm_InvokeInst1 = unwrap_as<llvm::InvokeInst, llvm::Value >::from(var_void);
        if(!var_llvm_InvokeInst1)
        {
            return NULL;
        }
        var_llvm_InvokeInst = var_llvm_InvokeInst1;
    }
    llvm::CallingConv::ID var_llvm_CallingConv_ID = var_llvm_InvokeInst->getCallingConv();
    PyObject* var_PyObject1 = PyInt_FromLong(var_llvm_CallingConv_ID);
    return var_PyObject1;
}

static
PyObject*
llvm_InvokeInst__getParamAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::InvokeInst* var_llvm_InvokeInst1 = unwrap_as<llvm::InvokeInst, llvm::Value >::from(var_void);
        if(!var_llvm_InvokeInst1)
        {
            return NULL;
        }
        var_llvm_InvokeInst = var_llvm_InvokeInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    unsigned var_unsigned1 = var_llvm_InvokeInst->getParamAlignment(var_unsigned);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_unsigned1);
    return var_PyObject2;
}

static
PyObject*
llvm_InvokeInst__getCalledFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::InvokeInst* var_llvm_InvokeInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::InvokeInst* var_llvm_InvokeInst1 = unwrap_as<llvm::InvokeInst, llvm::Value >::from(var_void);
        if(!var_llvm_InvokeInst1)
        {
            return NULL;
        }
        var_llvm_InvokeInst = var_llvm_InvokeInst1;
    }
    llvm::Function* var_llvm_Function = var_llvm_InvokeInst->getCalledFunction();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function), "llvm::Value", "llvm::Function");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_InvokeInst[] = {
    { "setCallingConv", (PyCFunction)llvm_InvokeInst__setCallingConv, METH_VARARGS, NULL },
    { "setCalledFunction", (PyCFunction)llvm_InvokeInst__setCalledFunction, METH_VARARGS, NULL },
    { "removeAttribute", (PyCFunction)llvm_InvokeInst__removeAttribute, METH_VARARGS, NULL },
    { "getCalledValue", (PyCFunction)llvm_InvokeInst__getCalledValue, METH_VARARGS, NULL },
    { "addAttribute", (PyCFunction)llvm_InvokeInst__addAttribute, METH_VARARGS, NULL },
    { "getCallingConv", (PyCFunction)llvm_InvokeInst__getCallingConv, METH_VARARGS, NULL },
    { "getParamAlignment", (PyCFunction)llvm_InvokeInst__getParamAlignment, METH_VARARGS, NULL },
    { "getCalledFunction", (PyCFunction)llvm_InvokeInst__getCalledFunction, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_InvokeInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_ResumeInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_ResumeInst[] = {
    { NULL }
};

static
PyObject*
llvm_ReturnInst__getNumSuccessors(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ReturnInst* var_llvm_ReturnInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ReturnInst* var_llvm_ReturnInst1 = unwrap_as<llvm::ReturnInst, llvm::Value >::from(var_void);
        if(!var_llvm_ReturnInst1)
        {
            return NULL;
        }
        var_llvm_ReturnInst = var_llvm_ReturnInst1;
    }
    unsigned var_unsigned = var_llvm_ReturnInst->getNumSuccessors();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_ReturnInst__getReturnValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ReturnInst* var_llvm_ReturnInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ReturnInst* var_llvm_ReturnInst1 = unwrap_as<llvm::ReturnInst, llvm::Value >::from(var_void);
        if(!var_llvm_ReturnInst1)
        {
            return NULL;
        }
        var_llvm_ReturnInst = var_llvm_ReturnInst1;
    }
    llvm::Value* var_llvm_Value = var_llvm_ReturnInst->getReturnValue();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_ReturnInst[] = {
    { "getNumSuccessors", (PyCFunction)llvm_ReturnInst__getNumSuccessors, METH_VARARGS, NULL },
    { "getReturnValue", (PyCFunction)llvm_ReturnInst__getReturnValue, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ReturnInst[] = {
    { NULL }
};

static
PyObject*
llvm_SwitchInst__setDefaultDest(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::SwitchInst* var_llvm_SwitchInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::SwitchInst* var_llvm_SwitchInst1 = unwrap_as<llvm::SwitchInst, llvm::Value >::from(var_void);
        if(!var_llvm_SwitchInst1)
        {
            return NULL;
        }
        var_llvm_SwitchInst = var_llvm_SwitchInst1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    var_llvm_SwitchInst->setDefaultDest(var_llvm_BasicBlock);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_SwitchInst__addCase(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::SwitchInst* var_llvm_SwitchInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::SwitchInst* var_llvm_SwitchInst1 = unwrap_as<llvm::SwitchInst, llvm::Value >::from(var_void);
        if(!var_llvm_SwitchInst1)
        {
            return NULL;
        }
        var_llvm_SwitchInst = var_llvm_SwitchInst1;
    }
    llvm::ConstantInt* var_llvm_ConstantInt = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::ConstantInt* var_llvm_ConstantInt1 = unwrap_as<llvm::ConstantInt, llvm::Value >::from(var_void1);
        if(!var_llvm_ConstantInt1)
        {
            return NULL;
        }
        var_llvm_ConstantInt = var_llvm_ConstantInt1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
        if(!var_void2)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void2);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    var_llvm_SwitchInst->addCase(var_llvm_ConstantInt, var_llvm_BasicBlock);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_SwitchInst__getNumCases(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::SwitchInst* var_llvm_SwitchInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::SwitchInst* var_llvm_SwitchInst1 = unwrap_as<llvm::SwitchInst, llvm::Value >::from(var_void);
        if(!var_llvm_SwitchInst1)
        {
            return NULL;
        }
        var_llvm_SwitchInst = var_llvm_SwitchInst1;
    }
    unsigned var_unsigned = var_llvm_SwitchInst->getNumCases();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_SwitchInst__getDefaultDest(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::SwitchInst* var_llvm_SwitchInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::SwitchInst* var_llvm_SwitchInst1 = unwrap_as<llvm::SwitchInst, llvm::Value >::from(var_void);
        if(!var_llvm_SwitchInst1)
        {
            return NULL;
        }
        var_llvm_SwitchInst = var_llvm_SwitchInst1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = var_llvm_SwitchInst->getDefaultDest();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BasicBlock), "llvm::Value", "llvm::BasicBlock");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_SwitchInst__getCondition(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::SwitchInst* var_llvm_SwitchInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::SwitchInst* var_llvm_SwitchInst1 = unwrap_as<llvm::SwitchInst, llvm::Value >::from(var_void);
        if(!var_llvm_SwitchInst1)
        {
            return NULL;
        }
        var_llvm_SwitchInst = var_llvm_SwitchInst1;
    }
    llvm::Value* var_llvm_Value = var_llvm_SwitchInst->getCondition();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_SwitchInst__setCondition(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::SwitchInst* var_llvm_SwitchInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::SwitchInst* var_llvm_SwitchInst1 = unwrap_as<llvm::SwitchInst, llvm::Value >::from(var_void);
        if(!var_llvm_SwitchInst1)
        {
            return NULL;
        }
        var_llvm_SwitchInst = var_llvm_SwitchInst1;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    var_llvm_SwitchInst->setCondition(var_llvm_Value);
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_SwitchInst[] = {
    { "setDefaultDest", (PyCFunction)llvm_SwitchInst__setDefaultDest, METH_VARARGS, NULL },
    { "addCase", (PyCFunction)llvm_SwitchInst__addCase, METH_VARARGS, NULL },
    { "getNumCases", (PyCFunction)llvm_SwitchInst__getNumCases, METH_VARARGS, NULL },
    { "getDefaultDest", (PyCFunction)llvm_SwitchInst__getDefaultDest, METH_VARARGS, NULL },
    { "getCondition", (PyCFunction)llvm_SwitchInst__getCondition, METH_VARARGS, NULL },
    { "setCondition", (PyCFunction)llvm_SwitchInst__setCondition, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_SwitchInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_UnreachableInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_UnreachableInst[] = {
    { NULL }
};

static
PyObject*
llvm_AllocaInst__isArrayAllocation(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::AllocaInst* var_llvm_AllocaInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::AllocaInst* var_llvm_AllocaInst1 = unwrap_as<llvm::AllocaInst, llvm::Value >::from(var_void);
        if(!var_llvm_AllocaInst1)
        {
            return NULL;
        }
        var_llvm_AllocaInst = var_llvm_AllocaInst1;
    }
    bool var_bool = var_llvm_AllocaInst->isArrayAllocation();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_AllocaInst__getAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::AllocaInst* var_llvm_AllocaInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::AllocaInst* var_llvm_AllocaInst1 = unwrap_as<llvm::AllocaInst, llvm::Value >::from(var_void);
        if(!var_llvm_AllocaInst1)
        {
            return NULL;
        }
        var_llvm_AllocaInst = var_llvm_AllocaInst1;
    }
    unsigned var_unsigned = var_llvm_AllocaInst->getAlignment();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_AllocaInst__isStaticAlloca(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::AllocaInst* var_llvm_AllocaInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::AllocaInst* var_llvm_AllocaInst1 = unwrap_as<llvm::AllocaInst, llvm::Value >::from(var_void);
        if(!var_llvm_AllocaInst1)
        {
            return NULL;
        }
        var_llvm_AllocaInst = var_llvm_AllocaInst1;
    }
    bool var_bool = var_llvm_AllocaInst->isStaticAlloca();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_AllocaInst__getAllocatedType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::AllocaInst* var_llvm_AllocaInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::AllocaInst* var_llvm_AllocaInst1 = unwrap_as<llvm::AllocaInst, llvm::Value >::from(var_void);
        if(!var_llvm_AllocaInst1)
        {
            return NULL;
        }
        var_llvm_AllocaInst = var_llvm_AllocaInst1;
    }
    llvm::Type* var_llvm_Type = var_llvm_AllocaInst->getAllocatedType();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_AllocaInst__setAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::AllocaInst* var_llvm_AllocaInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::AllocaInst* var_llvm_AllocaInst1 = unwrap_as<llvm::AllocaInst, llvm::Value >::from(var_void);
        if(!var_llvm_AllocaInst1)
        {
            return NULL;
        }
        var_llvm_AllocaInst = var_llvm_AllocaInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_AllocaInst->setAlignment(var_unsigned);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_AllocaInst__getArraySize(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::AllocaInst* var_llvm_AllocaInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::AllocaInst* var_llvm_AllocaInst1 = unwrap_as<llvm::AllocaInst, llvm::Value >::from(var_void);
        if(!var_llvm_AllocaInst1)
        {
            return NULL;
        }
        var_llvm_AllocaInst = var_llvm_AllocaInst1;
    }
    llvm::Value* var_llvm_Value = var_llvm_AllocaInst->getArraySize();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_AllocaInst[] = {
    { "isArrayAllocation", (PyCFunction)llvm_AllocaInst__isArrayAllocation, METH_VARARGS, NULL },
    { "getAlignment", (PyCFunction)llvm_AllocaInst__getAlignment, METH_VARARGS, NULL },
    { "isStaticAlloca", (PyCFunction)llvm_AllocaInst__isStaticAlloca, METH_VARARGS, NULL },
    { "getAllocatedType", (PyCFunction)llvm_AllocaInst__getAllocatedType, METH_VARARGS, NULL },
    { "setAlignment", (PyCFunction)llvm_AllocaInst__setAlignment, METH_VARARGS, NULL },
    { "getArraySize", (PyCFunction)llvm_AllocaInst__getArraySize, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_AllocaInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_CastInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_CastInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_ExtractValueInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_ExtractValueInst[] = {
    { NULL }
};

static
PyObject*
llvm_LoadInst__isUnordered(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::LoadInst* var_llvm_LoadInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void);
        if(!var_llvm_LoadInst1)
        {
            return NULL;
        }
        var_llvm_LoadInst = var_llvm_LoadInst1;
    }
    bool var_bool = var_llvm_LoadInst->isUnordered();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_LoadInst__getPointerOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::LoadInst* var_llvm_LoadInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void);
        if(!var_llvm_LoadInst1)
        {
            return NULL;
        }
        var_llvm_LoadInst = var_llvm_LoadInst1;
    }
    llvm::Value* var_llvm_Value = var_llvm_LoadInst->getPointerOperand();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_LoadInst__getAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::LoadInst* var_llvm_LoadInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void);
        if(!var_llvm_LoadInst1)
        {
            return NULL;
        }
        var_llvm_LoadInst = var_llvm_LoadInst1;
    }
    unsigned var_unsigned = var_llvm_LoadInst->getAlignment();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_LoadInst__isSimple(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::LoadInst* var_llvm_LoadInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void);
        if(!var_llvm_LoadInst1)
        {
            return NULL;
        }
        var_llvm_LoadInst = var_llvm_LoadInst1;
    }
    bool var_bool = var_llvm_LoadInst->isSimple();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_LoadInst__isAtomic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::LoadInst* var_llvm_LoadInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void);
        if(!var_llvm_LoadInst1)
        {
            return NULL;
        }
        var_llvm_LoadInst = var_llvm_LoadInst1;
    }
    bool var_bool = var_llvm_LoadInst->isAtomic();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_LoadInst__classof(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    bool var_bool = llvm::LoadInst::classof(var_llvm_Value);
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_LoadInst__isVolatile(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::LoadInst* var_llvm_LoadInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void);
        if(!var_llvm_LoadInst1)
        {
            return NULL;
        }
        var_llvm_LoadInst = var_llvm_LoadInst1;
    }
    bool var_bool = var_llvm_LoadInst->isVolatile();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_LoadInst__setVolatile(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::LoadInst* var_llvm_LoadInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void);
        if(!var_llvm_LoadInst1)
        {
            return NULL;
        }
        var_llvm_LoadInst = var_llvm_LoadInst1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_LoadInst->setVolatile(var_bool);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_LoadInst__setAtomic(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
            if(!var_void)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::LoadInst* var_llvm_LoadInst1 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void);
            if(!var_llvm_LoadInst1)
            {
                return NULL;
            }
            var_llvm_LoadInst = var_llvm_LoadInst1;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject1);
        llvm::SynchronizationScope var_llvm_SynchronizationScope = (llvm::SynchronizationScope)PyInt_AsLong(var_PyObject2);
        var_llvm_LoadInst->setAtomic(var_llvm_AtomicOrdering, var_llvm_SynchronizationScope);
        Py_RETURN_NONE;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::LoadInst* var_llvm_LoadInst3 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void1);
            if(!var_llvm_LoadInst3)
            {
                return NULL;
            }
            var_llvm_LoadInst2 = var_llvm_LoadInst3;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering1 = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject4);
        var_llvm_LoadInst2->setAtomic(var_llvm_AtomicOrdering1);
        Py_RETURN_NONE;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_LoadInst__setAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::LoadInst* var_llvm_LoadInst = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = unwrap_as<llvm::LoadInst, llvm::Value >::from(var_void);
        if(!var_llvm_LoadInst1)
        {
            return NULL;
        }
        var_llvm_LoadInst = var_llvm_LoadInst1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_LoadInst->setAlignment(var_unsigned);
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_LoadInst[] = {
    { "isUnordered", (PyCFunction)llvm_LoadInst__isUnordered, METH_VARARGS, NULL },
    { "getPointerOperand", (PyCFunction)llvm_LoadInst__getPointerOperand, METH_VARARGS, NULL },
    { "getAlignment", (PyCFunction)llvm_LoadInst__getAlignment, METH_VARARGS, NULL },
    { "isSimple", (PyCFunction)llvm_LoadInst__isSimple, METH_VARARGS, NULL },
    { "isAtomic", (PyCFunction)llvm_LoadInst__isAtomic, METH_VARARGS, NULL },
    { "classof", (PyCFunction)llvm_LoadInst__classof, METH_VARARGS, NULL },
    { "isVolatile", (PyCFunction)llvm_LoadInst__isVolatile, METH_VARARGS, NULL },
    { "setVolatile", (PyCFunction)llvm_LoadInst__setVolatile, METH_VARARGS, NULL },
    { "setAtomic", (PyCFunction)llvm_LoadInst__setAtomic, METH_VARARGS, NULL },
    { "setAlignment", (PyCFunction)llvm_LoadInst__setAlignment, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_LoadInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_VAArgInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_VAArgInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_DbgInfoIntrinsic[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_DbgInfoIntrinsic[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_MemIntrinsic[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_MemIntrinsic[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_VACopyInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_VACopyInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_VAEndInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_VAEndInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_VAStartInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_VAStartInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_BitCastInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_BitCastInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_FPExtInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_FPExtInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_FPToSIInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_FPToSIInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_FPToUIInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_FPToUIInst[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_FPTruncInst[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_FPTruncInst[] = {
    { NULL }
};

static
PyObject*
llvm_AttrBuilder__addAlignmentAttr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::AttrBuilder* var_llvm_AttrBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::AttrBuilder");
        if(!var_void)
        {
            puts("Error: llvm::AttrBuilder");
            return NULL;
        }
        llvm::AttrBuilder* var_llvm_AttrBuilder1 = unwrap_as<llvm::AttrBuilder, llvm::AttrBuilder >::from(var_void);
        if(!var_llvm_AttrBuilder1)
        {
            return NULL;
        }
        var_llvm_AttrBuilder = var_llvm_AttrBuilder1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::AttrBuilder& var_llvm_AttrBuilder2 = var_llvm_AttrBuilder->addAlignmentAttr(var_unsigned);
    const llvm::AttrBuilder* var_const_llvm_AttrBuilder = &var_llvm_AttrBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::AttrBuilder >::from(var_const_llvm_AttrBuilder), "llvm::AttrBuilder", "llvm::AttrBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_AttrBuilder__removeAttribute(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::AttrBuilder* var_llvm_AttrBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::AttrBuilder");
        if(!var_void)
        {
            puts("Error: llvm::AttrBuilder");
            return NULL;
        }
        llvm::AttrBuilder* var_llvm_AttrBuilder1 = unwrap_as<llvm::AttrBuilder, llvm::AttrBuilder >::from(var_void);
        if(!var_llvm_AttrBuilder1)
        {
            return NULL;
        }
        var_llvm_AttrBuilder = var_llvm_AttrBuilder1;
    }
    llvm::Attribute::AttrKind var_llvm_Attribute_AttrKind = (llvm::Attribute::AttrKind)PyInt_AsLong(var_PyObject1);
    llvm::AttrBuilder& var_llvm_AttrBuilder2 = var_llvm_AttrBuilder->removeAttribute(var_llvm_Attribute_AttrKind);
    const llvm::AttrBuilder* var_const_llvm_AttrBuilder = &var_llvm_AttrBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::AttrBuilder >::from(var_const_llvm_AttrBuilder), "llvm::AttrBuilder", "llvm::AttrBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_AttrBuilder__clear(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::AttrBuilder* var_llvm_AttrBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::AttrBuilder");
        if(!var_void)
        {
            puts("Error: llvm::AttrBuilder");
            return NULL;
        }
        llvm::AttrBuilder* var_llvm_AttrBuilder1 = unwrap_as<llvm::AttrBuilder, llvm::AttrBuilder >::from(var_void);
        if(!var_llvm_AttrBuilder1)
        {
            return NULL;
        }
        var_llvm_AttrBuilder = var_llvm_AttrBuilder1;
    }
    var_llvm_AttrBuilder->clear();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_AttrBuilder__addAttribute(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::AttrBuilder* var_llvm_AttrBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::AttrBuilder");
        if(!var_void)
        {
            puts("Error: llvm::AttrBuilder");
            return NULL;
        }
        llvm::AttrBuilder* var_llvm_AttrBuilder1 = unwrap_as<llvm::AttrBuilder, llvm::AttrBuilder >::from(var_void);
        if(!var_llvm_AttrBuilder1)
        {
            return NULL;
        }
        var_llvm_AttrBuilder = var_llvm_AttrBuilder1;
    }
    llvm::Attribute::AttrKind var_llvm_Attribute_AttrKind = (llvm::Attribute::AttrKind)PyInt_AsLong(var_PyObject1);
    llvm::AttrBuilder& var_llvm_AttrBuilder2 = var_llvm_AttrBuilder->addAttribute(var_llvm_Attribute_AttrKind);
    const llvm::AttrBuilder* var_const_llvm_AttrBuilder = &var_llvm_AttrBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::AttrBuilder >::from(var_const_llvm_AttrBuilder), "llvm::AttrBuilder", "llvm::AttrBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_AttrBuilder__new(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::AttrBuilder* var_llvm_AttrBuilder = new llvm::AttrBuilder();
    PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::AttrBuilder >::from(var_llvm_AttrBuilder), "llvm::AttrBuilder", "llvm::AttrBuilder");
    if (!var_PyObject)
    {
        return NULL;
    }
    return var_PyObject;
}

static
PyObject*
llvm_AttrBuilder__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::AttrBuilder* var_llvm_AttrBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::AttrBuilder");
        if(!var_void)
        {
            puts("Error: llvm::AttrBuilder");
            return NULL;
        }
        llvm::AttrBuilder* var_llvm_AttrBuilder1 = unwrap_as<llvm::AttrBuilder, llvm::AttrBuilder >::from(var_void);
        if(!var_llvm_AttrBuilder1)
        {
            return NULL;
        }
        var_llvm_AttrBuilder = var_llvm_AttrBuilder1;
    }
    delete var_llvm_AttrBuilder;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_AttrBuilder[] = {
    { "addAlignmentAttr", (PyCFunction)llvm_AttrBuilder__addAlignmentAttr, METH_VARARGS, NULL },
    { "removeAttribute", (PyCFunction)llvm_AttrBuilder__removeAttribute, METH_VARARGS, NULL },
    { "clear", (PyCFunction)llvm_AttrBuilder__clear, METH_VARARGS, NULL },
    { "addAttribute", (PyCFunction)llvm_AttrBuilder__addAttribute, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_AttrBuilder__new, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_AttrBuilder__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_AttrBuilder[] = {
    { NULL }
};

static
PyObject*
llvm_Attribute__get(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
        if(!var_void)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
        if(!var_llvm_LLVMContext)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
        llvm::Attribute::AttrKind var_llvm_Attribute_AttrKind = (llvm::Attribute::AttrKind)PyInt_AsLong(var_PyObject1);
        uint64_t var_uint64__t;
        int var_int = py_int_to(var_PyObject2, var_uint64__t);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Attribute var_llvm_Attribute = llvm::Attribute::get(var_llvm_LLVMContext1, var_llvm_Attribute_AttrKind, var_uint64__t);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Attribute >::from(new llvm::Attribute(var_llvm_Attribute)), "llvm::Attribute", "llvm::Attribute");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::LLVMContext");
        if(!var_void1)
        {
            puts("Error: llvm::LLVMContext");
            return NULL;
        }
        llvm::LLVMContext* var_llvm_LLVMContext2 = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void1);
        if(!var_llvm_LLVMContext2)
        {
            return NULL;
        }
        llvm::LLVMContext& var_llvm_LLVMContext3 = *var_llvm_LLVMContext2;
        llvm::Attribute::AttrKind var_llvm_Attribute_AttrKind1 = (llvm::Attribute::AttrKind)PyInt_AsLong(var_PyObject5);
        llvm::Attribute var_llvm_Attribute1 = llvm::Attribute::get(var_llvm_LLVMContext3, var_llvm_Attribute_AttrKind1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Attribute >::from(new llvm::Attribute(var_llvm_Attribute1)), "llvm::Attribute", "llvm::Attribute");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_Attribute__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Attribute* var_llvm_Attribute = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Attribute");
        if(!var_void)
        {
            puts("Error: llvm::Attribute");
            return NULL;
        }
        llvm::Attribute* var_llvm_Attribute1 = unwrap_as<llvm::Attribute, llvm::Attribute >::from(var_void);
        if(!var_llvm_Attribute1)
        {
            return NULL;
        }
        var_llvm_Attribute = var_llvm_Attribute1;
    }
    delete var_llvm_Attribute;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Attribute__AttrKind__None(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::Attribute::None);
    return var_PyObject;
}

static
PyObject*
llvm_Attribute__AttrKind__Alignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::Attribute::Alignment);
    return var_PyObject1;
}

static
PyObject*
llvm_Attribute__AttrKind__AlwaysInline(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::Attribute::AlwaysInline);
    return var_PyObject2;
}

static
PyObject*
llvm_Attribute__AttrKind__ByVal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::Attribute::ByVal);
    return var_PyObject3;
}

static
PyObject*
llvm_Attribute__AttrKind__InlineHint(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::Attribute::InlineHint);
    return var_PyObject4;
}

static
PyObject*
llvm_Attribute__AttrKind__InReg(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::Attribute::InReg);
    return var_PyObject5;
}

static
PyObject*
llvm_Attribute__AttrKind__MinSize(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::Attribute::MinSize);
    return var_PyObject6;
}

static
PyObject*
llvm_Attribute__AttrKind__Naked(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject7 = PyInt_FromLong(llvm::Attribute::Naked);
    return var_PyObject7;
}

static
PyObject*
llvm_Attribute__AttrKind__Nest(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject8 = PyInt_FromLong(llvm::Attribute::Nest);
    return var_PyObject8;
}

static
PyObject*
llvm_Attribute__AttrKind__NoAlias(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject9 = PyInt_FromLong(llvm::Attribute::NoAlias);
    return var_PyObject9;
}

static
PyObject*
llvm_Attribute__AttrKind__NoBuiltin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject10 = PyInt_FromLong(llvm::Attribute::NoBuiltin);
    return var_PyObject10;
}

static
PyObject*
llvm_Attribute__AttrKind__NoCapture(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject11 = PyInt_FromLong(llvm::Attribute::NoCapture);
    return var_PyObject11;
}

static
PyObject*
llvm_Attribute__AttrKind__NoDuplicate(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject12 = PyInt_FromLong(llvm::Attribute::NoDuplicate);
    return var_PyObject12;
}

static
PyObject*
llvm_Attribute__AttrKind__NoImplicitFloat(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject13 = PyInt_FromLong(llvm::Attribute::NoImplicitFloat);
    return var_PyObject13;
}

static
PyObject*
llvm_Attribute__AttrKind__NoInline(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject14 = PyInt_FromLong(llvm::Attribute::NoInline);
    return var_PyObject14;
}

static
PyObject*
llvm_Attribute__AttrKind__NonLazyBind(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject15 = PyInt_FromLong(llvm::Attribute::NonLazyBind);
    return var_PyObject15;
}

static
PyObject*
llvm_Attribute__AttrKind__NoRedZone(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject16 = PyInt_FromLong(llvm::Attribute::NoRedZone);
    return var_PyObject16;
}

static
PyObject*
llvm_Attribute__AttrKind__NoReturn(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject17 = PyInt_FromLong(llvm::Attribute::NoReturn);
    return var_PyObject17;
}

static
PyObject*
llvm_Attribute__AttrKind__NoUnwind(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject18 = PyInt_FromLong(llvm::Attribute::NoUnwind);
    return var_PyObject18;
}

static
PyObject*
llvm_Attribute__AttrKind__OptimizeForSize(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject19 = PyInt_FromLong(llvm::Attribute::OptimizeForSize);
    return var_PyObject19;
}

static
PyObject*
llvm_Attribute__AttrKind__ReadNone(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject20 = PyInt_FromLong(llvm::Attribute::ReadNone);
    return var_PyObject20;
}

static
PyObject*
llvm_Attribute__AttrKind__ReadOnly(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject21 = PyInt_FromLong(llvm::Attribute::ReadOnly);
    return var_PyObject21;
}

static
PyObject*
llvm_Attribute__AttrKind__Returned(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject22 = PyInt_FromLong(llvm::Attribute::Returned);
    return var_PyObject22;
}

static
PyObject*
llvm_Attribute__AttrKind__ReturnsTwice(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject23 = PyInt_FromLong(llvm::Attribute::ReturnsTwice);
    return var_PyObject23;
}

static
PyObject*
llvm_Attribute__AttrKind__SExt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject24 = PyInt_FromLong(llvm::Attribute::SExt);
    return var_PyObject24;
}

static
PyObject*
llvm_Attribute__AttrKind__StackAlignment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject25 = PyInt_FromLong(llvm::Attribute::StackAlignment);
    return var_PyObject25;
}

static
PyObject*
llvm_Attribute__AttrKind__StackProtect(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject26 = PyInt_FromLong(llvm::Attribute::StackProtect);
    return var_PyObject26;
}

static
PyObject*
llvm_Attribute__AttrKind__StackProtectReq(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject27 = PyInt_FromLong(llvm::Attribute::StackProtectReq);
    return var_PyObject27;
}

static
PyObject*
llvm_Attribute__AttrKind__StackProtectStrong(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject28 = PyInt_FromLong(llvm::Attribute::StackProtectStrong);
    return var_PyObject28;
}

static
PyObject*
llvm_Attribute__AttrKind__StructRet(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject29 = PyInt_FromLong(llvm::Attribute::StructRet);
    return var_PyObject29;
}

static
PyObject*
llvm_Attribute__AttrKind__SanitizeAddress(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject30 = PyInt_FromLong(llvm::Attribute::SanitizeAddress);
    return var_PyObject30;
}

static
PyObject*
llvm_Attribute__AttrKind__SanitizeThread(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject31 = PyInt_FromLong(llvm::Attribute::SanitizeThread);
    return var_PyObject31;
}

static
PyObject*
llvm_Attribute__AttrKind__SanitizeMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject32 = PyInt_FromLong(llvm::Attribute::SanitizeMemory);
    return var_PyObject32;
}

static
PyObject*
llvm_Attribute__AttrKind__UWTable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject33 = PyInt_FromLong(llvm::Attribute::UWTable);
    return var_PyObject33;
}

static
PyObject*
llvm_Attribute__AttrKind__ZExt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject34 = PyInt_FromLong(llvm::Attribute::ZExt);
    return var_PyObject34;
}

static
PyObject*
llvm_Attribute__AttrKind__EndAttrKinds(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject35 = PyInt_FromLong(llvm::Attribute::EndAttrKinds);
    return var_PyObject35;
}

static
PyMethodDef meth_llvm_Attribute[] = {
    { "get", (PyCFunction)llvm_Attribute__get, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_Attribute__delete, METH_VARARGS, NULL },
    { "None", (PyCFunction)llvm_Attribute__AttrKind__None, METH_VARARGS, NULL },
    { "Alignment", (PyCFunction)llvm_Attribute__AttrKind__Alignment, METH_VARARGS, NULL },
    { "AlwaysInline", (PyCFunction)llvm_Attribute__AttrKind__AlwaysInline, METH_VARARGS, NULL },
    { "ByVal", (PyCFunction)llvm_Attribute__AttrKind__ByVal, METH_VARARGS, NULL },
    { "InlineHint", (PyCFunction)llvm_Attribute__AttrKind__InlineHint, METH_VARARGS, NULL },
    { "InReg", (PyCFunction)llvm_Attribute__AttrKind__InReg, METH_VARARGS, NULL },
    { "MinSize", (PyCFunction)llvm_Attribute__AttrKind__MinSize, METH_VARARGS, NULL },
    { "Naked", (PyCFunction)llvm_Attribute__AttrKind__Naked, METH_VARARGS, NULL },
    { "Nest", (PyCFunction)llvm_Attribute__AttrKind__Nest, METH_VARARGS, NULL },
    { "NoAlias", (PyCFunction)llvm_Attribute__AttrKind__NoAlias, METH_VARARGS, NULL },
    { "NoBuiltin", (PyCFunction)llvm_Attribute__AttrKind__NoBuiltin, METH_VARARGS, NULL },
    { "NoCapture", (PyCFunction)llvm_Attribute__AttrKind__NoCapture, METH_VARARGS, NULL },
    { "NoDuplicate", (PyCFunction)llvm_Attribute__AttrKind__NoDuplicate, METH_VARARGS, NULL },
    { "NoImplicitFloat", (PyCFunction)llvm_Attribute__AttrKind__NoImplicitFloat, METH_VARARGS, NULL },
    { "NoInline", (PyCFunction)llvm_Attribute__AttrKind__NoInline, METH_VARARGS, NULL },
    { "NonLazyBind", (PyCFunction)llvm_Attribute__AttrKind__NonLazyBind, METH_VARARGS, NULL },
    { "NoRedZone", (PyCFunction)llvm_Attribute__AttrKind__NoRedZone, METH_VARARGS, NULL },
    { "NoReturn", (PyCFunction)llvm_Attribute__AttrKind__NoReturn, METH_VARARGS, NULL },
    { "NoUnwind", (PyCFunction)llvm_Attribute__AttrKind__NoUnwind, METH_VARARGS, NULL },
    { "OptimizeForSize", (PyCFunction)llvm_Attribute__AttrKind__OptimizeForSize, METH_VARARGS, NULL },
    { "ReadNone", (PyCFunction)llvm_Attribute__AttrKind__ReadNone, METH_VARARGS, NULL },
    { "ReadOnly", (PyCFunction)llvm_Attribute__AttrKind__ReadOnly, METH_VARARGS, NULL },
    { "Returned", (PyCFunction)llvm_Attribute__AttrKind__Returned, METH_VARARGS, NULL },
    { "ReturnsTwice", (PyCFunction)llvm_Attribute__AttrKind__ReturnsTwice, METH_VARARGS, NULL },
    { "SExt", (PyCFunction)llvm_Attribute__AttrKind__SExt, METH_VARARGS, NULL },
    { "StackAlignment", (PyCFunction)llvm_Attribute__AttrKind__StackAlignment, METH_VARARGS, NULL },
    { "StackProtect", (PyCFunction)llvm_Attribute__AttrKind__StackProtect, METH_VARARGS, NULL },
    { "StackProtectReq", (PyCFunction)llvm_Attribute__AttrKind__StackProtectReq, METH_VARARGS, NULL },
    { "StackProtectStrong", (PyCFunction)llvm_Attribute__AttrKind__StackProtectStrong, METH_VARARGS, NULL },
    { "StructRet", (PyCFunction)llvm_Attribute__AttrKind__StructRet, METH_VARARGS, NULL },
    { "SanitizeAddress", (PyCFunction)llvm_Attribute__AttrKind__SanitizeAddress, METH_VARARGS, NULL },
    { "SanitizeThread", (PyCFunction)llvm_Attribute__AttrKind__SanitizeThread, METH_VARARGS, NULL },
    { "SanitizeMemory", (PyCFunction)llvm_Attribute__AttrKind__SanitizeMemory, METH_VARARGS, NULL },
    { "UWTable", (PyCFunction)llvm_Attribute__AttrKind__UWTable, METH_VARARGS, NULL },
    { "ZExt", (PyCFunction)llvm_Attribute__AttrKind__ZExt, METH_VARARGS, NULL },
    { "EndAttrKinds", (PyCFunction)llvm_Attribute__AttrKind__EndAttrKinds, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Attribute[] = {
    { NULL }
};

static
PyObject*
llvm_AttributeSet__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::AttrBuilder");
    if(!var_void1)
    {
        puts("Error: llvm::AttrBuilder");
        return NULL;
    }
    llvm::AttrBuilder* var_llvm_AttrBuilder = unwrap_as<llvm::AttrBuilder, llvm::AttrBuilder >::from(var_void1);
    if(!var_llvm_AttrBuilder)
    {
        return NULL;
    }
    llvm::AttrBuilder& var_llvm_AttrBuilder1 = *var_llvm_AttrBuilder;
    llvm::AttributeSet var_llvm_AttributeSet = llvm::AttributeSet::get(var_llvm_LLVMContext1, var_unsigned, var_llvm_AttrBuilder1);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::AttributeSet >::from(new llvm::AttributeSet(var_llvm_AttributeSet)), "llvm::AttributeSet", "llvm::AttributeSet");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_AttributeSet__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::AttributeSet* var_llvm_AttributeSet = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::AttributeSet");
        if(!var_void)
        {
            puts("Error: llvm::AttributeSet");
            return NULL;
        }
        llvm::AttributeSet* var_llvm_AttributeSet1 = unwrap_as<llvm::AttributeSet, llvm::AttributeSet >::from(var_void);
        if(!var_llvm_AttributeSet1)
        {
            return NULL;
        }
        var_llvm_AttributeSet = var_llvm_AttributeSet1;
    }
    delete var_llvm_AttributeSet;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_AttributeSet[] = {
    { "get", (PyCFunction)llvm_AttributeSet__get, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_AttributeSet__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_AttributeSet[] = {
    { NULL }
};

static
PyObject*
llvm_FunctionType__isVarArg(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::FunctionType* var_llvm_FunctionType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType1 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void);
        if(!var_llvm_FunctionType1)
        {
            return NULL;
        }
        var_llvm_FunctionType = var_llvm_FunctionType1;
    }
    bool var_bool = var_llvm_FunctionType->isVarArg();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_FunctionType__getParamType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::FunctionType* var_llvm_FunctionType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType1 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void);
        if(!var_llvm_FunctionType1)
        {
            return NULL;
        }
        var_llvm_FunctionType = var_llvm_FunctionType1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = var_llvm_FunctionType->getParamType(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_FunctionType____get(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
            if(!var_void)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject1, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType = llvm::FunctionType::get(var_llvm_Type, var_bool);
        PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_FunctionType), "llvm::Type", "llvm::FunctionType");
        if (!var_PyObject2)
        {
            return NULL;
        }
        return var_PyObject2;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::SmallVector<llvm::Type*,8>");
        if(!var_void2)
        {
            puts("Error: llvm::SmallVector<llvm::Type*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Type*,8>* var_llvm_SmallVectorllvm_Type_8 = unwrap_as<llvm::SmallVector<llvm::Type*,8>, llvm::SmallVector<llvm::Type*,8> >::from(var_void2);
        if(!var_llvm_SmallVectorllvm_Type_8)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Type*,8>& var_llvm_SmallVectorllvm_Type_81 = *var_llvm_SmallVectorllvm_Type_8;
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject5, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType1 = llvm::FunctionType::get(var_llvm_Type2, var_llvm_SmallVectorllvm_Type_81, var_bool1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_FunctionType1), "llvm::Type", "llvm::FunctionType");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_FunctionType__getNumParams(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::FunctionType* var_llvm_FunctionType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType1 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void);
        if(!var_llvm_FunctionType1)
        {
            return NULL;
        }
        var_llvm_FunctionType = var_llvm_FunctionType1;
    }
    unsigned var_unsigned = var_llvm_FunctionType->getNumParams();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_FunctionType__getReturnType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::FunctionType* var_llvm_FunctionType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType1 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void);
        if(!var_llvm_FunctionType1)
        {
            return NULL;
        }
        var_llvm_FunctionType = var_llvm_FunctionType1;
    }
    llvm::Type* var_llvm_Type = var_llvm_FunctionType->getReturnType();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Type >::from(var_llvm_Type), "llvm::Type", "llvm::Type");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_FunctionType[] = {
    { "isVarArg", (PyCFunction)llvm_FunctionType__isVarArg, METH_VARARGS, NULL },
    { "getParamType", (PyCFunction)llvm_FunctionType__getParamType, METH_VARARGS, NULL },
    { "_get", (PyCFunction)llvm_FunctionType____get, METH_VARARGS, NULL },
    { "getNumParams", (PyCFunction)llvm_FunctionType__getNumParams, METH_VARARGS, NULL },
    { "getReturnType", (PyCFunction)llvm_FunctionType__getReturnType, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_FunctionType[] = {
    { NULL }
};

static
PyObject*
llvm_NamedMDNode__dropAllReferences(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::NamedMDNode");
        if(!var_void)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    var_llvm_NamedMDNode->dropAllReferences();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_NamedMDNode__getParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::NamedMDNode");
        if(!var_void)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    llvm::Module* var_llvm_Module = var_llvm_NamedMDNode->getParent();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Module >::from(var_llvm_Module), "llvm::Module", "llvm::Module");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_NamedMDNode__dump(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::NamedMDNode");
        if(!var_void)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    var_llvm_NamedMDNode->dump();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_NamedMDNode__getName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::NamedMDNode");
        if(!var_void)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_NamedMDNode->getName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_NamedMDNode__addOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::NamedMDNode");
        if(!var_void)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    llvm::MDNode* var_llvm_MDNode = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void1);
        if(!var_llvm_MDNode1)
        {
            return NULL;
        }
        var_llvm_MDNode = var_llvm_MDNode1;
    }
    var_llvm_NamedMDNode->addOperand(var_llvm_MDNode);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_NamedMDNode__getOperand(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::NamedMDNode");
        if(!var_void)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = var_llvm_NamedMDNode->getOperand(var_unsigned);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_MDNode), "llvm::Value", "llvm::MDNode");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_NamedMDNode__print__(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::NamedMDNode");
        if(!var_void)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::raw_ostream");
    if(!var_void1)
    {
        puts("Error: llvm::raw_ostream");
        return NULL;
    }
    llvm::raw_ostream* var_llvm_raw__ostream = unwrap_as<llvm::raw_ostream, llvm::raw_ostream >::from(var_void1);
    if(!var_llvm_raw__ostream)
    {
        return NULL;
    }
    llvm::raw_ostream& var_llvm_raw__ostream1 = *var_llvm_raw__ostream;
    llvm::AssemblyAnnotationWriter* var_llvm_AssemblyAnnotationWriter = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::AssemblyAnnotationWriter");
        if(!var_void2)
        {
            puts("Error: llvm::AssemblyAnnotationWriter");
            return NULL;
        }
        llvm::AssemblyAnnotationWriter* var_llvm_AssemblyAnnotationWriter1 = unwrap_as<llvm::AssemblyAnnotationWriter, llvm::AssemblyAnnotationWriter >::from(var_void2);
        if(!var_llvm_AssemblyAnnotationWriter1)
        {
            return NULL;
        }
        var_llvm_AssemblyAnnotationWriter = var_llvm_AssemblyAnnotationWriter1;
    }
    var_llvm_NamedMDNode->print(var_llvm_raw__ostream1, var_llvm_AssemblyAnnotationWriter);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_NamedMDNode__getNumOperands(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::NamedMDNode");
        if(!var_void)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    unsigned var_unsigned = var_llvm_NamedMDNode->getNumOperands();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_NamedMDNode__eraseFromParent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::NamedMDNode* var_llvm_NamedMDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::NamedMDNode");
        if(!var_void)
        {
            puts("Error: llvm::NamedMDNode");
            return NULL;
        }
        llvm::NamedMDNode* var_llvm_NamedMDNode1 = unwrap_as<llvm::NamedMDNode, llvm::NamedMDNode >::from(var_void);
        if(!var_llvm_NamedMDNode1)
        {
            return NULL;
        }
        var_llvm_NamedMDNode = var_llvm_NamedMDNode1;
    }
    var_llvm_NamedMDNode->eraseFromParent();
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_NamedMDNode[] = {
    { "dropAllReferences", (PyCFunction)llvm_NamedMDNode__dropAllReferences, METH_VARARGS, NULL },
    { "getParent", (PyCFunction)llvm_NamedMDNode__getParent, METH_VARARGS, NULL },
    { "dump", (PyCFunction)llvm_NamedMDNode__dump, METH_VARARGS, NULL },
    { "getName", (PyCFunction)llvm_NamedMDNode__getName, METH_VARARGS, NULL },
    { "addOperand", (PyCFunction)llvm_NamedMDNode__addOperand, METH_VARARGS, NULL },
    { "getOperand", (PyCFunction)llvm_NamedMDNode__getOperand, METH_VARARGS, NULL },
    { "print_", (PyCFunction)llvm_NamedMDNode__print__, METH_VARARGS, NULL },
    { "getNumOperands", (PyCFunction)llvm_NamedMDNode__getNumOperands, METH_VARARGS, NULL },
    { "eraseFromParent", (PyCFunction)llvm_NamedMDNode__eraseFromParent, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_NamedMDNode[] = {
    { NULL }
};

static
PyObject*
llvm_MachineCodeInfo__address(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::MachineCodeInfo* var_llvm_MachineCodeInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::MachineCodeInfo");
        if(!var_void)
        {
            puts("Error: llvm::MachineCodeInfo");
            return NULL;
        }
        llvm::MachineCodeInfo* var_llvm_MachineCodeInfo1 = unwrap_as<llvm::MachineCodeInfo, llvm::MachineCodeInfo >::from(var_void);
        if(!var_llvm_MachineCodeInfo1)
        {
            return NULL;
        }
        var_llvm_MachineCodeInfo = var_llvm_MachineCodeInfo1;
    }
    void* var_void1 = var_llvm_MachineCodeInfo->address();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_void1);
    return var_PyObject1;
}

static
PyObject*
llvm_MachineCodeInfo__setAddress(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::MachineCodeInfo* var_llvm_MachineCodeInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::MachineCodeInfo");
        if(!var_void)
        {
            puts("Error: llvm::MachineCodeInfo");
            return NULL;
        }
        llvm::MachineCodeInfo* var_llvm_MachineCodeInfo1 = unwrap_as<llvm::MachineCodeInfo, llvm::MachineCodeInfo >::from(var_void);
        if(!var_llvm_MachineCodeInfo1)
        {
            return NULL;
        }
        var_llvm_MachineCodeInfo = var_llvm_MachineCodeInfo1;
    }
    void* var_void1;
    int var_int = py_int_to(var_PyObject1, var_void1);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_MachineCodeInfo->setAddress(var_void1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_MachineCodeInfo__setSize(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::MachineCodeInfo* var_llvm_MachineCodeInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::MachineCodeInfo");
        if(!var_void)
        {
            puts("Error: llvm::MachineCodeInfo");
            return NULL;
        }
        llvm::MachineCodeInfo* var_llvm_MachineCodeInfo1 = unwrap_as<llvm::MachineCodeInfo, llvm::MachineCodeInfo >::from(var_void);
        if(!var_llvm_MachineCodeInfo1)
        {
            return NULL;
        }
        var_llvm_MachineCodeInfo = var_llvm_MachineCodeInfo1;
    }
    size_t var_size__t;
    int var_int = py_int_to(var_PyObject1, var_size__t);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_MachineCodeInfo->setSize(var_size__t);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_MachineCodeInfo__size(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::MachineCodeInfo* var_llvm_MachineCodeInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::MachineCodeInfo");
        if(!var_void)
        {
            puts("Error: llvm::MachineCodeInfo");
            return NULL;
        }
        llvm::MachineCodeInfo* var_llvm_MachineCodeInfo1 = unwrap_as<llvm::MachineCodeInfo, llvm::MachineCodeInfo >::from(var_void);
        if(!var_llvm_MachineCodeInfo1)
        {
            return NULL;
        }
        var_llvm_MachineCodeInfo = var_llvm_MachineCodeInfo1;
    }
    size_t var_size__t = var_llvm_MachineCodeInfo->size();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_size__t);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_MachineCodeInfo[] = {
    { "address", (PyCFunction)llvm_MachineCodeInfo__address, METH_VARARGS, NULL },
    { "setAddress", (PyCFunction)llvm_MachineCodeInfo__setAddress, METH_VARARGS, NULL },
    { "setSize", (PyCFunction)llvm_MachineCodeInfo__setSize, METH_VARARGS, NULL },
    { "size", (PyCFunction)llvm_MachineCodeInfo__size, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_MachineCodeInfo[] = {
    { NULL }
};

static
PyObject*
llvm_DIBuilder__createQualifiedType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createQualifiedType(var_unsigned, var_llvm_DIType1);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_DIBuilder__retainType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    var_llvm_DIBuilder->retainType(var_llvm_DIType1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_DIBuilder__getOrCreateArray(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::SmallVector<llvm::Value*,8>");
    if(!var_void1)
    {
        puts("Error: llvm::SmallVector<llvm::Value*,8>");
        return NULL;
    }
    llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_8 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void1);
    if(!var_llvm_SmallVectorllvm_Value_8)
    {
        return NULL;
    }
    llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_81 = *var_llvm_SmallVectorllvm_Value_8;
    llvm::DIArray var_llvm_DIArray = var_llvm_DIBuilder->getOrCreateArray(var_llvm_SmallVectorllvm_Value_81);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIArray(var_llvm_DIArray)), "llvm::DIDescriptor", "llvm::DIArray");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_DIBuilder__createArrayType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    uint64_t var_uint64__t;
    int var_int = py_int_to(var_PyObject1, var_uint64__t);
    if(!var_int)
    {
        return NULL;
    }
    uint64_t var_uint64__t1;
    int var_int1 = py_int_to(var_PyObject2, var_uint64__t1);
    if(!var_int1)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIArray* var_llvm_DIArray = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIArray)
    {
        return NULL;
    }
    llvm::DIArray& var_llvm_DIArray1 = *var_llvm_DIArray;
    llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createArrayType(var_uint64__t, var_uint64__t1, var_llvm_DIType1, var_llvm_DIArray1);
    PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject5)
    {
        return NULL;
    }
    return var_PyObject5;
}

static
PyObject*
llvm_DIBuilder__createUnionType(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (10 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
            if(!var_void)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
            if(!var_llvm_DIBuilder1)
            {
                return NULL;
            }
            var_llvm_DIBuilder = var_llvm_DIBuilder1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
        if(!var_void1)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
        if(!var_llvm_DIDescriptor)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
        if(!var_void2)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
        if(!var_llvm_DIFile)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
        unsigned var_unsigned;
        int var_int1 = py_int_to(var_PyObject4, var_unsigned);
        if(!var_int1)
        {
            return NULL;
        }
        uint64_t var_uint64__t;
        int var_int2 = py_int_to(var_PyObject5, var_uint64__t);
        if(!var_int2)
        {
            return NULL;
        }
        uint64_t var_uint64__t1;
        int var_int3 = py_int_to(var_PyObject6, var_uint64__t1);
        if(!var_int3)
        {
            return NULL;
        }
        unsigned var_unsigned1;
        int var_int4 = py_int_to(var_PyObject7, var_unsigned1);
        if(!var_int4)
        {
            return NULL;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject8, "llvm::DIDescriptor");
        if(!var_void3)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIArray* var_llvm_DIArray = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void3);
        if(!var_llvm_DIArray)
        {
            return NULL;
        }
        llvm::DIArray& var_llvm_DIArray1 = *var_llvm_DIArray;
        unsigned var_unsigned2;
        int var_int5 = py_int_to(var_PyObject9, var_unsigned2);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::DIType var_llvm_DIType = var_llvm_DIBuilder->createUnionType(var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_DIFile1, var_unsigned, var_uint64__t, var_uint64__t1, var_unsigned1, var_llvm_DIArray1, var_unsigned2);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    if (9 == var_Py__ssize__t)
    {
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        if(!PyArg_ParseTuple(args, "OOOOOOOOO", &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14, &var_PyObject15, &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder2 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject11, "llvm::DIBuilder");
            if(!var_void4)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder3 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void4);
            if(!var_llvm_DIBuilder3)
            {
                return NULL;
            }
            var_llvm_DIBuilder2 = var_llvm_DIBuilder3;
        }
        void* var_void5 = PyCapsule_GetPointer(var_PyObject12, "llvm::DIDescriptor");
        if(!var_void5)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor2 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void5);
        if(!var_llvm_DIDescriptor2)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor3 = *var_llvm_DIDescriptor2;
        llvm::StringRef var_llvm_StringRef1;
        int var_int6 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int6)
        {
            return NULL;
        }
        void* var_void6 = PyCapsule_GetPointer(var_PyObject14, "llvm::DIDescriptor");
        if(!var_void6)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile2 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void6);
        if(!var_llvm_DIFile2)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile3 = *var_llvm_DIFile2;
        unsigned var_unsigned3;
        int var_int7 = py_int_to(var_PyObject15, var_unsigned3);
        if(!var_int7)
        {
            return NULL;
        }
        uint64_t var_uint64__t2;
        int var_int8 = py_int_to(var_PyObject16, var_uint64__t2);
        if(!var_int8)
        {
            return NULL;
        }
        uint64_t var_uint64__t3;
        int var_int9 = py_int_to(var_PyObject17, var_uint64__t3);
        if(!var_int9)
        {
            return NULL;
        }
        unsigned var_unsigned4;
        int var_int10 = py_int_to(var_PyObject18, var_unsigned4);
        if(!var_int10)
        {
            return NULL;
        }
        void* var_void7 = PyCapsule_GetPointer(var_PyObject19, "llvm::DIDescriptor");
        if(!var_void7)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIArray* var_llvm_DIArray2 = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void7);
        if(!var_llvm_DIArray2)
        {
            return NULL;
        }
        llvm::DIArray& var_llvm_DIArray3 = *var_llvm_DIArray2;
        llvm::DIType var_llvm_DIType1 = var_llvm_DIBuilder2->createUnionType(var_llvm_DIDescriptor3, var_llvm_StringRef1, var_llvm_DIFile3, var_unsigned3, var_uint64__t2, var_uint64__t3, var_unsigned4, var_llvm_DIArray3);
        PyObject* var_PyObject20 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType1)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject20)
        {
            return NULL;
        }
        return var_PyObject20;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DIBuilder__createBasicType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    uint64_t var_uint64__t;
    int var_int1 = py_int_to(var_PyObject2, var_uint64__t);
    if(!var_int1)
    {
        return NULL;
    }
    uint64_t var_uint64__t1;
    int var_int2 = py_int_to(var_PyObject3, var_uint64__t1);
    if(!var_int2)
    {
        return NULL;
    }
    unsigned var_unsigned;
    int var_int3 = py_int_to(var_PyObject4, var_unsigned);
    if(!var_int3)
    {
        return NULL;
    }
    llvm::DIType var_llvm_DIType = var_llvm_DIBuilder->createBasicType(var_llvm_StringRef, var_uint64__t, var_uint64__t1, var_unsigned);
    PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject5)
    {
        return NULL;
    }
    return var_PyObject5;
}

static
PyObject*
llvm_DIBuilder__createReferenceType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createReferenceType(var_unsigned, var_llvm_DIType1);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_DIBuilder__createInheritance(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType2 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIType2)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType3 = *var_llvm_DIType2;
    uint64_t var_uint64__t;
    int var_int = py_int_to(var_PyObject3, var_uint64__t);
    if(!var_int)
    {
        return NULL;
    }
    unsigned var_unsigned;
    int var_int1 = py_int_to(var_PyObject4, var_unsigned);
    if(!var_int1)
    {
        return NULL;
    }
    llvm::DIType var_llvm_DIType4 = var_llvm_DIBuilder->createInheritance(var_llvm_DIType1, var_llvm_DIType3, var_uint64__t, var_unsigned);
    PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType4)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject5)
    {
        return NULL;
    }
    return var_PyObject5;
}

static
PyObject*
llvm_DIBuilder__createMemberType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    PyObject* var_PyObject5;
    PyObject* var_PyObject6;
    PyObject* var_PyObject7;
    PyObject* var_PyObject8;
    PyObject* var_PyObject9;
    if(!PyArg_ParseTuple(args, "OOOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIDescriptor)
    {
        return NULL;
    }
    llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIFile)
    {
        return NULL;
    }
    llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
    unsigned var_unsigned;
    int var_int1 = py_int_to(var_PyObject4, var_unsigned);
    if(!var_int1)
    {
        return NULL;
    }
    uint64_t var_uint64__t;
    int var_int2 = py_int_to(var_PyObject5, var_uint64__t);
    if(!var_int2)
    {
        return NULL;
    }
    uint64_t var_uint64__t1;
    int var_int3 = py_int_to(var_PyObject6, var_uint64__t1);
    if(!var_int3)
    {
        return NULL;
    }
    uint64_t var_uint64__t2;
    int var_int4 = py_int_to(var_PyObject7, var_uint64__t2);
    if(!var_int4)
    {
        return NULL;
    }
    unsigned var_unsigned1;
    int var_int5 = py_int_to(var_PyObject8, var_unsigned1);
    if(!var_int5)
    {
        return NULL;
    }
    void* var_void3 = PyCapsule_GetPointer(var_PyObject9, "llvm::DIDescriptor");
    if(!var_void3)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void3);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createMemberType(var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_DIFile1, var_unsigned, var_uint64__t, var_uint64__t1, var_uint64__t2, var_unsigned1, var_llvm_DIType1);
    PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject10)
    {
        return NULL;
    }
    return var_PyObject10;
}

static
PyObject*
llvm_DIBuilder__createUnspecifiedParameter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::DIDescriptor var_llvm_DIDescriptor = var_llvm_DIBuilder->createUnspecifiedParameter();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIDescriptor(var_llvm_DIDescriptor)), "llvm::DIDescriptor", "llvm::DIDescriptor");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_DIBuilder__createLexicalBlockFile(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIDescriptor)
    {
        return NULL;
    }
    llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
    void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIFile)
    {
        return NULL;
    }
    llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
    llvm::DILexicalBlockFile var_llvm_DILexicalBlockFile = var_llvm_DIBuilder->createLexicalBlockFile(var_llvm_DIDescriptor1, var_llvm_DIFile1);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DILexicalBlockFile(var_llvm_DILexicalBlockFile)), "llvm::DIDescriptor", "llvm::DILexicalBlockFile");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_DIBuilder__createObjectPointerType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createObjectPointerType(var_llvm_DIType1);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_DIBuilder__new(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
    if(!var_void)
    {
        puts("Error: llvm::Module");
        return NULL;
    }
    llvm::Module* var_llvm_Module = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
    if(!var_llvm_Module)
    {
        return NULL;
    }
    llvm::Module& var_llvm_Module1 = *var_llvm_Module;
    llvm::DIBuilder* var_llvm_DIBuilder = new llvm::DIBuilder(var_llvm_Module1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::DIBuilder >::from(var_llvm_DIBuilder), "llvm::DIBuilder", "llvm::DIBuilder");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_DIBuilder__createNameSpace(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIDescriptor)
    {
        return NULL;
    }
    llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIFile)
    {
        return NULL;
    }
    llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
    unsigned var_unsigned;
    int var_int1 = py_int_to(var_PyObject4, var_unsigned);
    if(!var_int1)
    {
        return NULL;
    }
    llvm::DINameSpace var_llvm_DINameSpace = var_llvm_DIBuilder->createNameSpace(var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_DIFile1, var_unsigned);
    PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DINameSpace(var_llvm_DINameSpace)), "llvm::DIDescriptor", "llvm::DINameSpace");
    if (!var_PyObject5)
    {
        return NULL;
    }
    return var_PyObject5;
}

static
PyObject*
llvm_DIBuilder__getCU(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    const llvm::MDNode* var_const_llvm_MDNode = var_llvm_DIBuilder->getCU();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_const_llvm_MDNode), "llvm::Value", "llvm::MDNode");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_DIBuilder____insertDbgValueIntrinsic__2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    uint64_t var_uint64__t;
    int var_int = py_int_to(var_PyObject2, var_uint64__t);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIVariable* var_llvm_DIVariable = unwrap_as<llvm::DIVariable, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIVariable)
    {
        return NULL;
    }
    llvm::DIVariable& var_llvm_DIVariable1 = *var_llvm_DIVariable;
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject4 != Py_None)
    {
        void* var_void3 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
        if(!var_void3)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void3);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::Instruction* var_llvm_Instruction2 = var_llvm_DIBuilder->insertDbgValueIntrinsic(var_llvm_Value, var_uint64__t, var_llvm_DIVariable1, var_llvm_Instruction);
    PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction2), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject5)
    {
        return NULL;
    }
    return var_PyObject5;
}

static
PyObject*
llvm_DIBuilder__finalize(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    var_llvm_DIBuilder->finalize();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_DIBuilder____insertDbgValueIntrinsic__1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    uint64_t var_uint64__t;
    int var_int = py_int_to(var_PyObject2, var_uint64__t);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIVariable* var_llvm_DIVariable = unwrap_as<llvm::DIVariable, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIVariable)
    {
        return NULL;
    }
    llvm::DIVariable& var_llvm_DIVariable1 = *var_llvm_DIVariable;
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject4 != Py_None)
    {
        void* var_void3 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
        if(!var_void3)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void3);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    llvm::Instruction* var_llvm_Instruction = var_llvm_DIBuilder->insertDbgValueIntrinsic(var_llvm_Value, var_uint64__t, var_llvm_DIVariable1, var_llvm_BasicBlock);
    PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject5)
    {
        return NULL;
    }
    return var_PyObject5;
}

static
PyObject*
llvm_DIBuilder__createCompileUnit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    PyObject* var_PyObject5;
    PyObject* var_PyObject6;
    PyObject* var_PyObject7;
    if(!PyArg_ParseTuple(args, "OOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject1, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int1 = py_str_to(var_PyObject2, var_llvm_StringRef);
    if(!var_int1)
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef1;
    int var_int2 = py_str_to(var_PyObject3, var_llvm_StringRef1);
    if(!var_int2)
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef2;
    int var_int3 = py_str_to(var_PyObject4, var_llvm_StringRef2);
    if(!var_int3)
    {
        return NULL;
    }
    bool var_bool;
    int var_int4 = py_bool_to(var_PyObject5, var_bool);
    if(!var_int4)
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef3;
    int var_int5 = py_str_to(var_PyObject6, var_llvm_StringRef3);
    if(!var_int5)
    {
        return NULL;
    }
    unsigned var_unsigned1;
    int var_int6 = py_int_to(var_PyObject7, var_unsigned1);
    if(!var_int6)
    {
        return NULL;
    }
    var_llvm_DIBuilder->createCompileUnit(var_unsigned, var_llvm_StringRef, var_llvm_StringRef1, var_llvm_StringRef2, var_bool, var_llvm_StringRef3, var_unsigned1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_DIBuilder__createFile(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef1;
    int var_int1 = py_str_to(var_PyObject2, var_llvm_StringRef1);
    if(!var_int1)
    {
        return NULL;
    }
    llvm::DIFile var_llvm_DIFile = var_llvm_DIBuilder->createFile(var_llvm_StringRef, var_llvm_StringRef1);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIFile(var_llvm_DIFile)), "llvm::DIDescriptor", "llvm::DIFile");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_DIBuilder__createForwardDecl(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (9 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
            if(!var_void)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
            if(!var_llvm_DIBuilder1)
            {
                return NULL;
            }
            var_llvm_DIBuilder = var_llvm_DIBuilder1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int1 = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int1)
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
        if(!var_void1)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
        if(!var_llvm_DIDescriptor)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
        void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::DIDescriptor");
        if(!var_void2)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
        if(!var_llvm_DIFile)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
        unsigned var_unsigned1;
        int var_int2 = py_int_to(var_PyObject5, var_unsigned1);
        if(!var_int2)
        {
            return NULL;
        }
        unsigned var_unsigned2;
        int var_int3 = py_int_to(var_PyObject6, var_unsigned2);
        if(!var_int3)
        {
            return NULL;
        }
        uint64_t var_uint64__t;
        int var_int4 = py_int_to(var_PyObject7, var_uint64__t);
        if(!var_int4)
        {
            return NULL;
        }
        uint64_t var_uint64__t1;
        int var_int5 = py_int_to(var_PyObject8, var_uint64__t1);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::DIType var_llvm_DIType = var_llvm_DIBuilder->createForwardDecl(var_unsigned, var_llvm_StringRef, var_llvm_DIDescriptor1, var_llvm_DIFile1, var_unsigned1, var_unsigned2, var_uint64__t, var_uint64__t1);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14, &var_PyObject15))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder2 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject10, "llvm::DIBuilder");
            if(!var_void3)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder3 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void3);
            if(!var_llvm_DIBuilder3)
            {
                return NULL;
            }
            var_llvm_DIBuilder2 = var_llvm_DIBuilder3;
        }
        unsigned var_unsigned3;
        int var_int6 = py_int_to(var_PyObject11, var_unsigned3);
        if(!var_int6)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int7 = py_str_to(var_PyObject12, var_llvm_StringRef1);
        if(!var_int7)
        {
            return NULL;
        }
        void* var_void4 = PyCapsule_GetPointer(var_PyObject13, "llvm::DIDescriptor");
        if(!var_void4)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor2 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void4);
        if(!var_llvm_DIDescriptor2)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor3 = *var_llvm_DIDescriptor2;
        void* var_void5 = PyCapsule_GetPointer(var_PyObject14, "llvm::DIDescriptor");
        if(!var_void5)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile2 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void5);
        if(!var_llvm_DIFile2)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile3 = *var_llvm_DIFile2;
        unsigned var_unsigned4;
        int var_int8 = py_int_to(var_PyObject15, var_unsigned4);
        if(!var_int8)
        {
            return NULL;
        }
        llvm::DIType var_llvm_DIType1 = var_llvm_DIBuilder2->createForwardDecl(var_unsigned3, var_llvm_StringRef1, var_llvm_DIDescriptor3, var_llvm_DIFile3, var_unsigned4);
        PyObject* var_PyObject16 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType1)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject16)
        {
            return NULL;
        }
        return var_PyObject16;
    }
    if (7 == var_Py__ssize__t)
    {
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        PyObject* var_PyObject21;
        PyObject* var_PyObject22;
        PyObject* var_PyObject23;
        if(!PyArg_ParseTuple(args, "OOOOOOO", &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20, &var_PyObject21, &var_PyObject22, &var_PyObject23))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder4 = NULL;
        if (var_PyObject17 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject17, "llvm::DIBuilder");
            if(!var_void6)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder5 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void6);
            if(!var_llvm_DIBuilder5)
            {
                return NULL;
            }
            var_llvm_DIBuilder4 = var_llvm_DIBuilder5;
        }
        unsigned var_unsigned5;
        int var_int9 = py_int_to(var_PyObject18, var_unsigned5);
        if(!var_int9)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int10 = py_str_to(var_PyObject19, var_llvm_StringRef2);
        if(!var_int10)
        {
            return NULL;
        }
        void* var_void7 = PyCapsule_GetPointer(var_PyObject20, "llvm::DIDescriptor");
        if(!var_void7)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor4 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void7);
        if(!var_llvm_DIDescriptor4)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor5 = *var_llvm_DIDescriptor4;
        void* var_void8 = PyCapsule_GetPointer(var_PyObject21, "llvm::DIDescriptor");
        if(!var_void8)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile4 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void8);
        if(!var_llvm_DIFile4)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile5 = *var_llvm_DIFile4;
        unsigned var_unsigned6;
        int var_int11 = py_int_to(var_PyObject22, var_unsigned6);
        if(!var_int11)
        {
            return NULL;
        }
        unsigned var_unsigned7;
        int var_int12 = py_int_to(var_PyObject23, var_unsigned7);
        if(!var_int12)
        {
            return NULL;
        }
        llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder4->createForwardDecl(var_unsigned5, var_llvm_StringRef2, var_llvm_DIDescriptor5, var_llvm_DIFile5, var_unsigned6, var_unsigned7);
        PyObject* var_PyObject24 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject24)
        {
            return NULL;
        }
        return var_PyObject24;
    }
    if (8 == var_Py__ssize__t)
    {
        PyObject* var_PyObject25;
        PyObject* var_PyObject26;
        PyObject* var_PyObject27;
        PyObject* var_PyObject28;
        PyObject* var_PyObject29;
        PyObject* var_PyObject30;
        PyObject* var_PyObject31;
        PyObject* var_PyObject32;
        if(!PyArg_ParseTuple(args, "OOOOOOOO", &var_PyObject25, &var_PyObject26, &var_PyObject27, &var_PyObject28, &var_PyObject29, &var_PyObject30, &var_PyObject31, &var_PyObject32))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder6 = NULL;
        if (var_PyObject25 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject25, "llvm::DIBuilder");
            if(!var_void9)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder7 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void9);
            if(!var_llvm_DIBuilder7)
            {
                return NULL;
            }
            var_llvm_DIBuilder6 = var_llvm_DIBuilder7;
        }
        unsigned var_unsigned8;
        int var_int13 = py_int_to(var_PyObject26, var_unsigned8);
        if(!var_int13)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef3;
        int var_int14 = py_str_to(var_PyObject27, var_llvm_StringRef3);
        if(!var_int14)
        {
            return NULL;
        }
        void* var_void10 = PyCapsule_GetPointer(var_PyObject28, "llvm::DIDescriptor");
        if(!var_void10)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor6 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void10);
        if(!var_llvm_DIDescriptor6)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor7 = *var_llvm_DIDescriptor6;
        void* var_void11 = PyCapsule_GetPointer(var_PyObject29, "llvm::DIDescriptor");
        if(!var_void11)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile6 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void11);
        if(!var_llvm_DIFile6)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile7 = *var_llvm_DIFile6;
        unsigned var_unsigned9;
        int var_int15 = py_int_to(var_PyObject30, var_unsigned9);
        if(!var_int15)
        {
            return NULL;
        }
        unsigned var_unsigned10;
        int var_int16 = py_int_to(var_PyObject31, var_unsigned10);
        if(!var_int16)
        {
            return NULL;
        }
        uint64_t var_uint64__t2;
        int var_int17 = py_int_to(var_PyObject32, var_uint64__t2);
        if(!var_int17)
        {
            return NULL;
        }
        llvm::DIType var_llvm_DIType3 = var_llvm_DIBuilder6->createForwardDecl(var_unsigned8, var_llvm_StringRef3, var_llvm_DIDescriptor7, var_llvm_DIFile7, var_unsigned9, var_unsigned10, var_uint64__t2);
        PyObject* var_PyObject33 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType3)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject33)
        {
            return NULL;
        }
        return var_PyObject33;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DIBuilder__createNullPtrType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::DIType var_llvm_DIType = var_llvm_DIBuilder->createNullPtrType(var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_DIBuilder__createComplexVariable(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (9 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
            if(!var_void)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
            if(!var_llvm_DIBuilder1)
            {
                return NULL;
            }
            var_llvm_DIBuilder = var_llvm_DIBuilder1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
        if(!var_void1)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
        if(!var_llvm_DIDescriptor)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
        llvm::StringRef var_llvm_StringRef;
        int var_int1 = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int1)
        {
            return NULL;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::DIDescriptor");
        if(!var_void2)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
        if(!var_llvm_DIFile)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
        unsigned var_unsigned1;
        int var_int2 = py_int_to(var_PyObject5, var_unsigned1);
        if(!var_int2)
        {
            return NULL;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::DIDescriptor");
        if(!var_void3)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void3);
        if(!var_llvm_DIType)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
        void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void4)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_8 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void4);
        if(!var_llvm_SmallVectorllvm_Value_8)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_81 = *var_llvm_SmallVectorllvm_Value_8;
        unsigned var_unsigned2;
        int var_int3 = py_int_to(var_PyObject8, var_unsigned2);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::DIVariable var_llvm_DIVariable = var_llvm_DIBuilder->createComplexVariable(var_unsigned, var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_DIFile1, var_unsigned1, var_llvm_DIType1, var_llvm_SmallVectorllvm_Value_81, var_unsigned2);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIVariable(var_llvm_DIVariable)), "llvm::DIDescriptor", "llvm::DIVariable");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (8 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        if(!PyArg_ParseTuple(args, "OOOOOOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14, &var_PyObject15, &var_PyObject16, &var_PyObject17))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder2 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject10, "llvm::DIBuilder");
            if(!var_void5)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder3 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void5);
            if(!var_llvm_DIBuilder3)
            {
                return NULL;
            }
            var_llvm_DIBuilder2 = var_llvm_DIBuilder3;
        }
        unsigned var_unsigned3;
        int var_int4 = py_int_to(var_PyObject11, var_unsigned3);
        if(!var_int4)
        {
            return NULL;
        }
        void* var_void6 = PyCapsule_GetPointer(var_PyObject12, "llvm::DIDescriptor");
        if(!var_void6)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor2 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void6);
        if(!var_llvm_DIDescriptor2)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor3 = *var_llvm_DIDescriptor2;
        llvm::StringRef var_llvm_StringRef1;
        int var_int5 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int5)
        {
            return NULL;
        }
        void* var_void7 = PyCapsule_GetPointer(var_PyObject14, "llvm::DIDescriptor");
        if(!var_void7)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile2 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void7);
        if(!var_llvm_DIFile2)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile3 = *var_llvm_DIFile2;
        unsigned var_unsigned4;
        int var_int6 = py_int_to(var_PyObject15, var_unsigned4);
        if(!var_int6)
        {
            return NULL;
        }
        void* var_void8 = PyCapsule_GetPointer(var_PyObject16, "llvm::DIDescriptor");
        if(!var_void8)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType2 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void8);
        if(!var_llvm_DIType2)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType3 = *var_llvm_DIType2;
        void* var_void9 = PyCapsule_GetPointer(var_PyObject17, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void9)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_82 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void9);
        if(!var_llvm_SmallVectorllvm_Value_82)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_83 = *var_llvm_SmallVectorllvm_Value_82;
        llvm::DIVariable var_llvm_DIVariable1 = var_llvm_DIBuilder2->createComplexVariable(var_unsigned3, var_llvm_DIDescriptor3, var_llvm_StringRef1, var_llvm_DIFile3, var_unsigned4, var_llvm_DIType3, var_llvm_SmallVectorllvm_Value_83);
        PyObject* var_PyObject18 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIVariable(var_llvm_DIVariable1)), "llvm::DIDescriptor", "llvm::DIVariable");
        if (!var_PyObject18)
        {
            return NULL;
        }
        return var_PyObject18;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DIBuilder__createEnumerator(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    uint64_t var_uint64__t;
    int var_int1 = py_int_to(var_PyObject2, var_uint64__t);
    if(!var_int1)
    {
        return NULL;
    }
    llvm::DIEnumerator var_llvm_DIEnumerator = var_llvm_DIBuilder->createEnumerator(var_llvm_StringRef, var_uint64__t);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIEnumerator(var_llvm_DIEnumerator)), "llvm::DIDescriptor", "llvm::DIEnumerator");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_DIBuilder__createClassType(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (13 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9, &var_PyObject10, &var_PyObject11, &var_PyObject12))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
            if(!var_void)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
            if(!var_llvm_DIBuilder1)
            {
                return NULL;
            }
            var_llvm_DIBuilder = var_llvm_DIBuilder1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
        if(!var_void1)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
        if(!var_llvm_DIDescriptor)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
        if(!var_void2)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
        if(!var_llvm_DIFile)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
        unsigned var_unsigned;
        int var_int1 = py_int_to(var_PyObject4, var_unsigned);
        if(!var_int1)
        {
            return NULL;
        }
        uint64_t var_uint64__t;
        int var_int2 = py_int_to(var_PyObject5, var_uint64__t);
        if(!var_int2)
        {
            return NULL;
        }
        uint64_t var_uint64__t1;
        int var_int3 = py_int_to(var_PyObject6, var_uint64__t1);
        if(!var_int3)
        {
            return NULL;
        }
        uint64_t var_uint64__t2;
        int var_int4 = py_int_to(var_PyObject7, var_uint64__t2);
        if(!var_int4)
        {
            return NULL;
        }
        unsigned var_unsigned1;
        int var_int5 = py_int_to(var_PyObject8, var_unsigned1);
        if(!var_int5)
        {
            return NULL;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject9, "llvm::DIDescriptor");
        if(!var_void3)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void3);
        if(!var_llvm_DIType)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
        void* var_void4 = PyCapsule_GetPointer(var_PyObject10, "llvm::DIDescriptor");
        if(!var_void4)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIArray* var_llvm_DIArray = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void4);
        if(!var_llvm_DIArray)
        {
            return NULL;
        }
        llvm::DIArray& var_llvm_DIArray1 = *var_llvm_DIArray;
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void5);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::MDNode* var_llvm_MDNode2 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode3 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void6);
            if(!var_llvm_MDNode3)
            {
                return NULL;
            }
            var_llvm_MDNode2 = var_llvm_MDNode3;
        }
        llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createClassType(var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_DIFile1, var_unsigned, var_uint64__t, var_uint64__t1, var_uint64__t2, var_unsigned1, var_llvm_DIType1, var_llvm_DIArray1, var_llvm_MDNode, var_llvm_MDNode2);
        PyObject* var_PyObject13 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject13)
        {
            return NULL;
        }
        return var_PyObject13;
    }
    if (11 == var_Py__ssize__t)
    {
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        PyObject* var_PyObject21;
        PyObject* var_PyObject22;
        PyObject* var_PyObject23;
        PyObject* var_PyObject24;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOO", &var_PyObject14, &var_PyObject15, &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20, &var_PyObject21, &var_PyObject22, &var_PyObject23, &var_PyObject24))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder2 = NULL;
        if (var_PyObject14 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject14, "llvm::DIBuilder");
            if(!var_void7)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder3 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void7);
            if(!var_llvm_DIBuilder3)
            {
                return NULL;
            }
            var_llvm_DIBuilder2 = var_llvm_DIBuilder3;
        }
        void* var_void8 = PyCapsule_GetPointer(var_PyObject15, "llvm::DIDescriptor");
        if(!var_void8)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor2 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void8);
        if(!var_llvm_DIDescriptor2)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor3 = *var_llvm_DIDescriptor2;
        llvm::StringRef var_llvm_StringRef1;
        int var_int6 = py_str_to(var_PyObject16, var_llvm_StringRef1);
        if(!var_int6)
        {
            return NULL;
        }
        void* var_void9 = PyCapsule_GetPointer(var_PyObject17, "llvm::DIDescriptor");
        if(!var_void9)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile2 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void9);
        if(!var_llvm_DIFile2)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile3 = *var_llvm_DIFile2;
        unsigned var_unsigned2;
        int var_int7 = py_int_to(var_PyObject18, var_unsigned2);
        if(!var_int7)
        {
            return NULL;
        }
        uint64_t var_uint64__t3;
        int var_int8 = py_int_to(var_PyObject19, var_uint64__t3);
        if(!var_int8)
        {
            return NULL;
        }
        uint64_t var_uint64__t4;
        int var_int9 = py_int_to(var_PyObject20, var_uint64__t4);
        if(!var_int9)
        {
            return NULL;
        }
        uint64_t var_uint64__t5;
        int var_int10 = py_int_to(var_PyObject21, var_uint64__t5);
        if(!var_int10)
        {
            return NULL;
        }
        unsigned var_unsigned3;
        int var_int11 = py_int_to(var_PyObject22, var_unsigned3);
        if(!var_int11)
        {
            return NULL;
        }
        void* var_void10 = PyCapsule_GetPointer(var_PyObject23, "llvm::DIDescriptor");
        if(!var_void10)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType3 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void10);
        if(!var_llvm_DIType3)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType4 = *var_llvm_DIType3;
        void* var_void11 = PyCapsule_GetPointer(var_PyObject24, "llvm::DIDescriptor");
        if(!var_void11)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIArray* var_llvm_DIArray2 = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void11);
        if(!var_llvm_DIArray2)
        {
            return NULL;
        }
        llvm::DIArray& var_llvm_DIArray3 = *var_llvm_DIArray2;
        llvm::DIType var_llvm_DIType5 = var_llvm_DIBuilder2->createClassType(var_llvm_DIDescriptor3, var_llvm_StringRef1, var_llvm_DIFile3, var_unsigned2, var_uint64__t3, var_uint64__t4, var_uint64__t5, var_unsigned3, var_llvm_DIType4, var_llvm_DIArray3);
        PyObject* var_PyObject25 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType5)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject25)
        {
            return NULL;
        }
        return var_PyObject25;
    }
    if (12 == var_Py__ssize__t)
    {
        PyObject* var_PyObject26;
        PyObject* var_PyObject27;
        PyObject* var_PyObject28;
        PyObject* var_PyObject29;
        PyObject* var_PyObject30;
        PyObject* var_PyObject31;
        PyObject* var_PyObject32;
        PyObject* var_PyObject33;
        PyObject* var_PyObject34;
        PyObject* var_PyObject35;
        PyObject* var_PyObject36;
        PyObject* var_PyObject37;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOO", &var_PyObject26, &var_PyObject27, &var_PyObject28, &var_PyObject29, &var_PyObject30, &var_PyObject31, &var_PyObject32, &var_PyObject33, &var_PyObject34, &var_PyObject35, &var_PyObject36, &var_PyObject37))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder4 = NULL;
        if (var_PyObject26 != Py_None)
        {
            void* var_void12 = PyCapsule_GetPointer(var_PyObject26, "llvm::DIBuilder");
            if(!var_void12)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder5 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void12);
            if(!var_llvm_DIBuilder5)
            {
                return NULL;
            }
            var_llvm_DIBuilder4 = var_llvm_DIBuilder5;
        }
        void* var_void13 = PyCapsule_GetPointer(var_PyObject27, "llvm::DIDescriptor");
        if(!var_void13)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor4 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void13);
        if(!var_llvm_DIDescriptor4)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor5 = *var_llvm_DIDescriptor4;
        llvm::StringRef var_llvm_StringRef2;
        int var_int12 = py_str_to(var_PyObject28, var_llvm_StringRef2);
        if(!var_int12)
        {
            return NULL;
        }
        void* var_void14 = PyCapsule_GetPointer(var_PyObject29, "llvm::DIDescriptor");
        if(!var_void14)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile4 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void14);
        if(!var_llvm_DIFile4)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile5 = *var_llvm_DIFile4;
        unsigned var_unsigned4;
        int var_int13 = py_int_to(var_PyObject30, var_unsigned4);
        if(!var_int13)
        {
            return NULL;
        }
        uint64_t var_uint64__t6;
        int var_int14 = py_int_to(var_PyObject31, var_uint64__t6);
        if(!var_int14)
        {
            return NULL;
        }
        uint64_t var_uint64__t7;
        int var_int15 = py_int_to(var_PyObject32, var_uint64__t7);
        if(!var_int15)
        {
            return NULL;
        }
        uint64_t var_uint64__t8;
        int var_int16 = py_int_to(var_PyObject33, var_uint64__t8);
        if(!var_int16)
        {
            return NULL;
        }
        unsigned var_unsigned5;
        int var_int17 = py_int_to(var_PyObject34, var_unsigned5);
        if(!var_int17)
        {
            return NULL;
        }
        void* var_void15 = PyCapsule_GetPointer(var_PyObject35, "llvm::DIDescriptor");
        if(!var_void15)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType6 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void15);
        if(!var_llvm_DIType6)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType7 = *var_llvm_DIType6;
        void* var_void16 = PyCapsule_GetPointer(var_PyObject36, "llvm::DIDescriptor");
        if(!var_void16)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIArray* var_llvm_DIArray4 = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void16);
        if(!var_llvm_DIArray4)
        {
            return NULL;
        }
        llvm::DIArray& var_llvm_DIArray5 = *var_llvm_DIArray4;
        llvm::MDNode* var_llvm_MDNode4 = NULL;
        if (var_PyObject37 != Py_None)
        {
            void* var_void17 = PyCapsule_GetPointer(var_PyObject37, "llvm::Value");
            if(!var_void17)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode5 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void17);
            if(!var_llvm_MDNode5)
            {
                return NULL;
            }
            var_llvm_MDNode4 = var_llvm_MDNode5;
        }
        llvm::DIType var_llvm_DIType8 = var_llvm_DIBuilder4->createClassType(var_llvm_DIDescriptor5, var_llvm_StringRef2, var_llvm_DIFile5, var_unsigned4, var_uint64__t6, var_uint64__t7, var_uint64__t8, var_unsigned5, var_llvm_DIType7, var_llvm_DIArray5, var_llvm_MDNode4);
        PyObject* var_PyObject38 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType8)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject38)
        {
            return NULL;
        }
        return var_PyObject38;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DIBuilder__createArtificialType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createArtificialType(var_llvm_DIType1);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_DIBuilder__createSubroutineType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIFile)
    {
        return NULL;
    }
    llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
    void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIArray* var_llvm_DIArray = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIArray)
    {
        return NULL;
    }
    llvm::DIArray& var_llvm_DIArray1 = *var_llvm_DIArray;
    llvm::DIType var_llvm_DIType = var_llvm_DIBuilder->createSubroutineType(var_llvm_DIFile1, var_llvm_DIArray1);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_DIBuilder__createPointerType(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
            if(!var_void)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
            if(!var_llvm_DIBuilder1)
            {
                return NULL;
            }
            var_llvm_DIBuilder = var_llvm_DIBuilder1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
        if(!var_void1)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
        if(!var_llvm_DIType)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
        uint64_t var_uint64__t;
        int var_int = py_int_to(var_PyObject2, var_uint64__t);
        if(!var_int)
        {
            return NULL;
        }
        uint64_t var_uint64__t1;
        int var_int1 = py_int_to(var_PyObject3, var_uint64__t1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int2 = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createPointerType(var_llvm_DIType1, var_uint64__t, var_uint64__t1, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject6, "llvm::DIBuilder");
            if(!var_void2)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder3 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void2);
            if(!var_llvm_DIBuilder3)
            {
                return NULL;
            }
            var_llvm_DIBuilder2 = var_llvm_DIBuilder3;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject7, "llvm::DIDescriptor");
        if(!var_void3)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType3 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void3);
        if(!var_llvm_DIType3)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType4 = *var_llvm_DIType3;
        uint64_t var_uint64__t2;
        int var_int3 = py_int_to(var_PyObject8, var_uint64__t2);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::DIType var_llvm_DIType5 = var_llvm_DIBuilder2->createPointerType(var_llvm_DIType4, var_uint64__t2);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType5)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject10, "llvm::DIBuilder");
            if(!var_void4)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder5 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void4);
            if(!var_llvm_DIBuilder5)
            {
                return NULL;
            }
            var_llvm_DIBuilder4 = var_llvm_DIBuilder5;
        }
        void* var_void5 = PyCapsule_GetPointer(var_PyObject11, "llvm::DIDescriptor");
        if(!var_void5)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType6 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void5);
        if(!var_llvm_DIType6)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType7 = *var_llvm_DIType6;
        uint64_t var_uint64__t3;
        int var_int4 = py_int_to(var_PyObject12, var_uint64__t3);
        if(!var_int4)
        {
            return NULL;
        }
        uint64_t var_uint64__t4;
        int var_int5 = py_int_to(var_PyObject13, var_uint64__t4);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::DIType var_llvm_DIType8 = var_llvm_DIBuilder4->createPointerType(var_llvm_DIType7, var_uint64__t3, var_uint64__t4);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType8)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DIBuilder__createGlobalVariable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    PyObject* var_PyObject5;
    PyObject* var_PyObject6;
    if(!PyArg_ParseTuple(args, "OOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIFile)
    {
        return NULL;
    }
    llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
    unsigned var_unsigned;
    int var_int1 = py_int_to(var_PyObject3, var_unsigned);
    if(!var_int1)
    {
        return NULL;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    bool var_bool;
    int var_int2 = py_bool_to(var_PyObject5, var_bool);
    if(!var_int2)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject6 != Py_None)
    {
        void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
        if(!var_void3)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::DIGlobalVariable var_llvm_DIGlobalVariable = var_llvm_DIBuilder->createGlobalVariable(var_llvm_StringRef, var_llvm_DIFile1, var_unsigned, var_llvm_DIType1, var_bool, var_llvm_Value);
    PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIGlobalVariable(var_llvm_DIGlobalVariable)), "llvm::DIDescriptor", "llvm::DIGlobalVariable");
    if (!var_PyObject7)
    {
        return NULL;
    }
    return var_PyObject7;
}

static
PyObject*
llvm_DIBuilder__createFunction(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (15 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9, &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
            if(!var_void)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
            if(!var_llvm_DIBuilder1)
            {
                return NULL;
            }
            var_llvm_DIBuilder = var_llvm_DIBuilder1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
        if(!var_void1)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
        if(!var_llvm_DIDescriptor)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject3, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::DIDescriptor");
        if(!var_void2)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
        if(!var_llvm_DIFile)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
        unsigned var_unsigned;
        int var_int2 = py_int_to(var_PyObject5, var_unsigned);
        if(!var_int2)
        {
            return NULL;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::DIDescriptor");
        if(!var_void3)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void3);
        if(!var_llvm_DIType)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
        bool var_bool;
        int var_int3 = py_bool_to(var_PyObject7, var_bool);
        if(!var_int3)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int4 = py_bool_to(var_PyObject8, var_bool1);
        if(!var_int4)
        {
            return NULL;
        }
        unsigned var_unsigned1;
        int var_int5 = py_int_to(var_PyObject9, var_unsigned1);
        if(!var_int5)
        {
            return NULL;
        }
        unsigned var_unsigned2;
        int var_int6 = py_int_to(var_PyObject10, var_unsigned2);
        if(!var_int6)
        {
            return NULL;
        }
        bool var_bool2;
        int var_int7 = py_bool_to(var_PyObject11, var_bool2);
        if(!var_int7)
        {
            return NULL;
        }
        llvm::Function* var_llvm_Function = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void4);
            if(!var_llvm_Function1)
            {
                return NULL;
            }
            var_llvm_Function = var_llvm_Function1;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject13 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject13, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void5);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::MDNode* var_llvm_MDNode2 = NULL;
        if (var_PyObject14 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject14, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode3 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void6);
            if(!var_llvm_MDNode3)
            {
                return NULL;
            }
            var_llvm_MDNode2 = var_llvm_MDNode3;
        }
        llvm::DISubprogram var_llvm_DISubprogram = var_llvm_DIBuilder->createFunction(var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_StringRef1, var_llvm_DIFile1, var_unsigned, var_llvm_DIType1, var_bool, var_bool1, var_unsigned1, var_unsigned2, var_bool2, var_llvm_Function, var_llvm_MDNode, var_llvm_MDNode2);
        PyObject* var_PyObject15 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject15)
        {
            return NULL;
        }
        return var_PyObject15;
    }
    if (10 == var_Py__ssize__t)
    {
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        PyObject* var_PyObject21;
        PyObject* var_PyObject22;
        PyObject* var_PyObject23;
        PyObject* var_PyObject24;
        PyObject* var_PyObject25;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOO", &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20, &var_PyObject21, &var_PyObject22, &var_PyObject23, &var_PyObject24, &var_PyObject25))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder2 = NULL;
        if (var_PyObject16 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject16, "llvm::DIBuilder");
            if(!var_void7)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder3 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void7);
            if(!var_llvm_DIBuilder3)
            {
                return NULL;
            }
            var_llvm_DIBuilder2 = var_llvm_DIBuilder3;
        }
        void* var_void8 = PyCapsule_GetPointer(var_PyObject17, "llvm::DIDescriptor");
        if(!var_void8)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor2 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void8);
        if(!var_llvm_DIDescriptor2)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor3 = *var_llvm_DIDescriptor2;
        llvm::StringRef var_llvm_StringRef2;
        int var_int8 = py_str_to(var_PyObject18, var_llvm_StringRef2);
        if(!var_int8)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef3;
        int var_int9 = py_str_to(var_PyObject19, var_llvm_StringRef3);
        if(!var_int9)
        {
            return NULL;
        }
        void* var_void9 = PyCapsule_GetPointer(var_PyObject20, "llvm::DIDescriptor");
        if(!var_void9)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile2 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void9);
        if(!var_llvm_DIFile2)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile3 = *var_llvm_DIFile2;
        unsigned var_unsigned3;
        int var_int10 = py_int_to(var_PyObject21, var_unsigned3);
        if(!var_int10)
        {
            return NULL;
        }
        void* var_void10 = PyCapsule_GetPointer(var_PyObject22, "llvm::DIDescriptor");
        if(!var_void10)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType2 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void10);
        if(!var_llvm_DIType2)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType3 = *var_llvm_DIType2;
        bool var_bool3;
        int var_int11 = py_bool_to(var_PyObject23, var_bool3);
        if(!var_int11)
        {
            return NULL;
        }
        bool var_bool4;
        int var_int12 = py_bool_to(var_PyObject24, var_bool4);
        if(!var_int12)
        {
            return NULL;
        }
        unsigned var_unsigned4;
        int var_int13 = py_int_to(var_PyObject25, var_unsigned4);
        if(!var_int13)
        {
            return NULL;
        }
        llvm::DISubprogram var_llvm_DISubprogram1 = var_llvm_DIBuilder2->createFunction(var_llvm_DIDescriptor3, var_llvm_StringRef2, var_llvm_StringRef3, var_llvm_DIFile3, var_unsigned3, var_llvm_DIType3, var_bool3, var_bool4, var_unsigned4);
        PyObject* var_PyObject26 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram1)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject26)
        {
            return NULL;
        }
        return var_PyObject26;
    }
    if (11 == var_Py__ssize__t)
    {
        PyObject* var_PyObject27;
        PyObject* var_PyObject28;
        PyObject* var_PyObject29;
        PyObject* var_PyObject30;
        PyObject* var_PyObject31;
        PyObject* var_PyObject32;
        PyObject* var_PyObject33;
        PyObject* var_PyObject34;
        PyObject* var_PyObject35;
        PyObject* var_PyObject36;
        PyObject* var_PyObject37;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOO", &var_PyObject27, &var_PyObject28, &var_PyObject29, &var_PyObject30, &var_PyObject31, &var_PyObject32, &var_PyObject33, &var_PyObject34, &var_PyObject35, &var_PyObject36, &var_PyObject37))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder4 = NULL;
        if (var_PyObject27 != Py_None)
        {
            void* var_void11 = PyCapsule_GetPointer(var_PyObject27, "llvm::DIBuilder");
            if(!var_void11)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder5 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void11);
            if(!var_llvm_DIBuilder5)
            {
                return NULL;
            }
            var_llvm_DIBuilder4 = var_llvm_DIBuilder5;
        }
        void* var_void12 = PyCapsule_GetPointer(var_PyObject28, "llvm::DIDescriptor");
        if(!var_void12)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor4 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void12);
        if(!var_llvm_DIDescriptor4)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor5 = *var_llvm_DIDescriptor4;
        llvm::StringRef var_llvm_StringRef4;
        int var_int14 = py_str_to(var_PyObject29, var_llvm_StringRef4);
        if(!var_int14)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef5;
        int var_int15 = py_str_to(var_PyObject30, var_llvm_StringRef5);
        if(!var_int15)
        {
            return NULL;
        }
        void* var_void13 = PyCapsule_GetPointer(var_PyObject31, "llvm::DIDescriptor");
        if(!var_void13)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile4 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void13);
        if(!var_llvm_DIFile4)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile5 = *var_llvm_DIFile4;
        unsigned var_unsigned5;
        int var_int16 = py_int_to(var_PyObject32, var_unsigned5);
        if(!var_int16)
        {
            return NULL;
        }
        void* var_void14 = PyCapsule_GetPointer(var_PyObject33, "llvm::DIDescriptor");
        if(!var_void14)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType4 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void14);
        if(!var_llvm_DIType4)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType5 = *var_llvm_DIType4;
        bool var_bool5;
        int var_int17 = py_bool_to(var_PyObject34, var_bool5);
        if(!var_int17)
        {
            return NULL;
        }
        bool var_bool6;
        int var_int18 = py_bool_to(var_PyObject35, var_bool6);
        if(!var_int18)
        {
            return NULL;
        }
        unsigned var_unsigned6;
        int var_int19 = py_int_to(var_PyObject36, var_unsigned6);
        if(!var_int19)
        {
            return NULL;
        }
        unsigned var_unsigned7;
        int var_int20 = py_int_to(var_PyObject37, var_unsigned7);
        if(!var_int20)
        {
            return NULL;
        }
        llvm::DISubprogram var_llvm_DISubprogram2 = var_llvm_DIBuilder4->createFunction(var_llvm_DIDescriptor5, var_llvm_StringRef4, var_llvm_StringRef5, var_llvm_DIFile5, var_unsigned5, var_llvm_DIType5, var_bool5, var_bool6, var_unsigned6, var_unsigned7);
        PyObject* var_PyObject38 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram2)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject38)
        {
            return NULL;
        }
        return var_PyObject38;
    }
    if (12 == var_Py__ssize__t)
    {
        PyObject* var_PyObject39;
        PyObject* var_PyObject40;
        PyObject* var_PyObject41;
        PyObject* var_PyObject42;
        PyObject* var_PyObject43;
        PyObject* var_PyObject44;
        PyObject* var_PyObject45;
        PyObject* var_PyObject46;
        PyObject* var_PyObject47;
        PyObject* var_PyObject48;
        PyObject* var_PyObject49;
        PyObject* var_PyObject50;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOO", &var_PyObject39, &var_PyObject40, &var_PyObject41, &var_PyObject42, &var_PyObject43, &var_PyObject44, &var_PyObject45, &var_PyObject46, &var_PyObject47, &var_PyObject48, &var_PyObject49, &var_PyObject50))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder6 = NULL;
        if (var_PyObject39 != Py_None)
        {
            void* var_void15 = PyCapsule_GetPointer(var_PyObject39, "llvm::DIBuilder");
            if(!var_void15)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder7 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void15);
            if(!var_llvm_DIBuilder7)
            {
                return NULL;
            }
            var_llvm_DIBuilder6 = var_llvm_DIBuilder7;
        }
        void* var_void16 = PyCapsule_GetPointer(var_PyObject40, "llvm::DIDescriptor");
        if(!var_void16)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor6 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void16);
        if(!var_llvm_DIDescriptor6)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor7 = *var_llvm_DIDescriptor6;
        llvm::StringRef var_llvm_StringRef6;
        int var_int21 = py_str_to(var_PyObject41, var_llvm_StringRef6);
        if(!var_int21)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef7;
        int var_int22 = py_str_to(var_PyObject42, var_llvm_StringRef7);
        if(!var_int22)
        {
            return NULL;
        }
        void* var_void17 = PyCapsule_GetPointer(var_PyObject43, "llvm::DIDescriptor");
        if(!var_void17)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile6 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void17);
        if(!var_llvm_DIFile6)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile7 = *var_llvm_DIFile6;
        unsigned var_unsigned8;
        int var_int23 = py_int_to(var_PyObject44, var_unsigned8);
        if(!var_int23)
        {
            return NULL;
        }
        void* var_void18 = PyCapsule_GetPointer(var_PyObject45, "llvm::DIDescriptor");
        if(!var_void18)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType6 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void18);
        if(!var_llvm_DIType6)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType7 = *var_llvm_DIType6;
        bool var_bool7;
        int var_int24 = py_bool_to(var_PyObject46, var_bool7);
        if(!var_int24)
        {
            return NULL;
        }
        bool var_bool8;
        int var_int25 = py_bool_to(var_PyObject47, var_bool8);
        if(!var_int25)
        {
            return NULL;
        }
        unsigned var_unsigned9;
        int var_int26 = py_int_to(var_PyObject48, var_unsigned9);
        if(!var_int26)
        {
            return NULL;
        }
        unsigned var_unsigned10;
        int var_int27 = py_int_to(var_PyObject49, var_unsigned10);
        if(!var_int27)
        {
            return NULL;
        }
        bool var_bool9;
        int var_int28 = py_bool_to(var_PyObject50, var_bool9);
        if(!var_int28)
        {
            return NULL;
        }
        llvm::DISubprogram var_llvm_DISubprogram3 = var_llvm_DIBuilder6->createFunction(var_llvm_DIDescriptor7, var_llvm_StringRef6, var_llvm_StringRef7, var_llvm_DIFile7, var_unsigned8, var_llvm_DIType7, var_bool7, var_bool8, var_unsigned9, var_unsigned10, var_bool9);
        PyObject* var_PyObject51 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram3)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject51)
        {
            return NULL;
        }
        return var_PyObject51;
    }
    if (13 == var_Py__ssize__t)
    {
        PyObject* var_PyObject52;
        PyObject* var_PyObject53;
        PyObject* var_PyObject54;
        PyObject* var_PyObject55;
        PyObject* var_PyObject56;
        PyObject* var_PyObject57;
        PyObject* var_PyObject58;
        PyObject* var_PyObject59;
        PyObject* var_PyObject60;
        PyObject* var_PyObject61;
        PyObject* var_PyObject62;
        PyObject* var_PyObject63;
        PyObject* var_PyObject64;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOOO", &var_PyObject52, &var_PyObject53, &var_PyObject54, &var_PyObject55, &var_PyObject56, &var_PyObject57, &var_PyObject58, &var_PyObject59, &var_PyObject60, &var_PyObject61, &var_PyObject62, &var_PyObject63, &var_PyObject64))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder8 = NULL;
        if (var_PyObject52 != Py_None)
        {
            void* var_void19 = PyCapsule_GetPointer(var_PyObject52, "llvm::DIBuilder");
            if(!var_void19)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder9 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void19);
            if(!var_llvm_DIBuilder9)
            {
                return NULL;
            }
            var_llvm_DIBuilder8 = var_llvm_DIBuilder9;
        }
        void* var_void20 = PyCapsule_GetPointer(var_PyObject53, "llvm::DIDescriptor");
        if(!var_void20)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor8 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void20);
        if(!var_llvm_DIDescriptor8)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor9 = *var_llvm_DIDescriptor8;
        llvm::StringRef var_llvm_StringRef8;
        int var_int29 = py_str_to(var_PyObject54, var_llvm_StringRef8);
        if(!var_int29)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef9;
        int var_int30 = py_str_to(var_PyObject55, var_llvm_StringRef9);
        if(!var_int30)
        {
            return NULL;
        }
        void* var_void21 = PyCapsule_GetPointer(var_PyObject56, "llvm::DIDescriptor");
        if(!var_void21)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile8 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void21);
        if(!var_llvm_DIFile8)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile9 = *var_llvm_DIFile8;
        unsigned var_unsigned11;
        int var_int31 = py_int_to(var_PyObject57, var_unsigned11);
        if(!var_int31)
        {
            return NULL;
        }
        void* var_void22 = PyCapsule_GetPointer(var_PyObject58, "llvm::DIDescriptor");
        if(!var_void22)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType8 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void22);
        if(!var_llvm_DIType8)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType9 = *var_llvm_DIType8;
        bool var_bool10;
        int var_int32 = py_bool_to(var_PyObject59, var_bool10);
        if(!var_int32)
        {
            return NULL;
        }
        bool var_bool11;
        int var_int33 = py_bool_to(var_PyObject60, var_bool11);
        if(!var_int33)
        {
            return NULL;
        }
        unsigned var_unsigned12;
        int var_int34 = py_int_to(var_PyObject61, var_unsigned12);
        if(!var_int34)
        {
            return NULL;
        }
        unsigned var_unsigned13;
        int var_int35 = py_int_to(var_PyObject62, var_unsigned13);
        if(!var_int35)
        {
            return NULL;
        }
        bool var_bool12;
        int var_int36 = py_bool_to(var_PyObject63, var_bool12);
        if(!var_int36)
        {
            return NULL;
        }
        llvm::Function* var_llvm_Function2 = NULL;
        if (var_PyObject64 != Py_None)
        {
            void* var_void23 = PyCapsule_GetPointer(var_PyObject64, "llvm::Value");
            if(!var_void23)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Function* var_llvm_Function3 = unwrap_as<llvm::Function, llvm::Value >::from(var_void23);
            if(!var_llvm_Function3)
            {
                return NULL;
            }
            var_llvm_Function2 = var_llvm_Function3;
        }
        llvm::DISubprogram var_llvm_DISubprogram4 = var_llvm_DIBuilder8->createFunction(var_llvm_DIDescriptor9, var_llvm_StringRef8, var_llvm_StringRef9, var_llvm_DIFile9, var_unsigned11, var_llvm_DIType9, var_bool10, var_bool11, var_unsigned12, var_unsigned13, var_bool12, var_llvm_Function2);
        PyObject* var_PyObject65 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram4)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject65)
        {
            return NULL;
        }
        return var_PyObject65;
    }
    if (14 == var_Py__ssize__t)
    {
        PyObject* var_PyObject66;
        PyObject* var_PyObject67;
        PyObject* var_PyObject68;
        PyObject* var_PyObject69;
        PyObject* var_PyObject70;
        PyObject* var_PyObject71;
        PyObject* var_PyObject72;
        PyObject* var_PyObject73;
        PyObject* var_PyObject74;
        PyObject* var_PyObject75;
        PyObject* var_PyObject76;
        PyObject* var_PyObject77;
        PyObject* var_PyObject78;
        PyObject* var_PyObject79;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOOOO", &var_PyObject66, &var_PyObject67, &var_PyObject68, &var_PyObject69, &var_PyObject70, &var_PyObject71, &var_PyObject72, &var_PyObject73, &var_PyObject74, &var_PyObject75, &var_PyObject76, &var_PyObject77, &var_PyObject78, &var_PyObject79))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder10 = NULL;
        if (var_PyObject66 != Py_None)
        {
            void* var_void24 = PyCapsule_GetPointer(var_PyObject66, "llvm::DIBuilder");
            if(!var_void24)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder11 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void24);
            if(!var_llvm_DIBuilder11)
            {
                return NULL;
            }
            var_llvm_DIBuilder10 = var_llvm_DIBuilder11;
        }
        void* var_void25 = PyCapsule_GetPointer(var_PyObject67, "llvm::DIDescriptor");
        if(!var_void25)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor10 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void25);
        if(!var_llvm_DIDescriptor10)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor11 = *var_llvm_DIDescriptor10;
        llvm::StringRef var_llvm_StringRef10;
        int var_int37 = py_str_to(var_PyObject68, var_llvm_StringRef10);
        if(!var_int37)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef11;
        int var_int38 = py_str_to(var_PyObject69, var_llvm_StringRef11);
        if(!var_int38)
        {
            return NULL;
        }
        void* var_void26 = PyCapsule_GetPointer(var_PyObject70, "llvm::DIDescriptor");
        if(!var_void26)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile10 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void26);
        if(!var_llvm_DIFile10)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile11 = *var_llvm_DIFile10;
        unsigned var_unsigned14;
        int var_int39 = py_int_to(var_PyObject71, var_unsigned14);
        if(!var_int39)
        {
            return NULL;
        }
        void* var_void27 = PyCapsule_GetPointer(var_PyObject72, "llvm::DIDescriptor");
        if(!var_void27)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType10 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void27);
        if(!var_llvm_DIType10)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType11 = *var_llvm_DIType10;
        bool var_bool13;
        int var_int40 = py_bool_to(var_PyObject73, var_bool13);
        if(!var_int40)
        {
            return NULL;
        }
        bool var_bool14;
        int var_int41 = py_bool_to(var_PyObject74, var_bool14);
        if(!var_int41)
        {
            return NULL;
        }
        unsigned var_unsigned15;
        int var_int42 = py_int_to(var_PyObject75, var_unsigned15);
        if(!var_int42)
        {
            return NULL;
        }
        unsigned var_unsigned16;
        int var_int43 = py_int_to(var_PyObject76, var_unsigned16);
        if(!var_int43)
        {
            return NULL;
        }
        bool var_bool15;
        int var_int44 = py_bool_to(var_PyObject77, var_bool15);
        if(!var_int44)
        {
            return NULL;
        }
        llvm::Function* var_llvm_Function4 = NULL;
        if (var_PyObject78 != Py_None)
        {
            void* var_void28 = PyCapsule_GetPointer(var_PyObject78, "llvm::Value");
            if(!var_void28)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Function* var_llvm_Function5 = unwrap_as<llvm::Function, llvm::Value >::from(var_void28);
            if(!var_llvm_Function5)
            {
                return NULL;
            }
            var_llvm_Function4 = var_llvm_Function5;
        }
        llvm::MDNode* var_llvm_MDNode4 = NULL;
        if (var_PyObject79 != Py_None)
        {
            void* var_void29 = PyCapsule_GetPointer(var_PyObject79, "llvm::Value");
            if(!var_void29)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode5 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void29);
            if(!var_llvm_MDNode5)
            {
                return NULL;
            }
            var_llvm_MDNode4 = var_llvm_MDNode5;
        }
        llvm::DISubprogram var_llvm_DISubprogram5 = var_llvm_DIBuilder10->createFunction(var_llvm_DIDescriptor11, var_llvm_StringRef10, var_llvm_StringRef11, var_llvm_DIFile11, var_unsigned14, var_llvm_DIType11, var_bool13, var_bool14, var_unsigned15, var_unsigned16, var_bool15, var_llvm_Function4, var_llvm_MDNode4);
        PyObject* var_PyObject80 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram5)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject80)
        {
            return NULL;
        }
        return var_PyObject80;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DIBuilder__createTypedef(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    PyObject* var_PyObject5;
    if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIFile)
    {
        return NULL;
    }
    llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
    unsigned var_unsigned;
    int var_int1 = py_int_to(var_PyObject4, var_unsigned);
    if(!var_int1)
    {
        return NULL;
    }
    void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::DIDescriptor");
    if(!var_void3)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void3);
    if(!var_llvm_DIDescriptor)
    {
        return NULL;
    }
    llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
    llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createTypedef(var_llvm_DIType1, var_llvm_StringRef, var_llvm_DIFile1, var_unsigned, var_llvm_DIDescriptor1);
    PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject6)
    {
        return NULL;
    }
    return var_PyObject6;
}

static
PyObject*
llvm_DIBuilder__createStaticVariable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    PyObject* var_PyObject5;
    PyObject* var_PyObject6;
    PyObject* var_PyObject7;
    PyObject* var_PyObject8;
    if(!PyArg_ParseTuple(args, "OOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIDescriptor)
    {
        return NULL;
    }
    llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef1;
    int var_int1 = py_str_to(var_PyObject3, var_llvm_StringRef1);
    if(!var_int1)
    {
        return NULL;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIFile)
    {
        return NULL;
    }
    llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
    unsigned var_unsigned;
    int var_int2 = py_int_to(var_PyObject5, var_unsigned);
    if(!var_int2)
    {
        return NULL;
    }
    void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::DIDescriptor");
    if(!var_void3)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void3);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    bool var_bool;
    int var_int3 = py_bool_to(var_PyObject7, var_bool);
    if(!var_int3)
    {
        return NULL;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject8 != Py_None)
    {
        void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
        if(!var_void4)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::DIGlobalVariable var_llvm_DIGlobalVariable = var_llvm_DIBuilder->createStaticVariable(var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_StringRef1, var_llvm_DIFile1, var_unsigned, var_llvm_DIType1, var_bool, var_llvm_Value);
    PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIGlobalVariable(var_llvm_DIGlobalVariable)), "llvm::DIDescriptor", "llvm::DIGlobalVariable");
    if (!var_PyObject9)
    {
        return NULL;
    }
    return var_PyObject9;
}

static
PyObject*
llvm_DIBuilder____insertDeclare__2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIVariable* var_llvm_DIVariable = unwrap_as<llvm::DIVariable, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIVariable)
    {
        return NULL;
    }
    llvm::DIVariable& var_llvm_DIVariable1 = *var_llvm_DIVariable;
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject3 != Py_None)
    {
        void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
        if(!var_void3)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void3);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    llvm::Instruction* var_llvm_Instruction2 = var_llvm_DIBuilder->insertDeclare(var_llvm_Value, var_llvm_DIVariable1, var_llvm_Instruction);
    PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction2), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject4)
    {
        return NULL;
    }
    return var_PyObject4;
}

static
PyObject*
llvm_DIBuilder____insertDeclare__1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIVariable* var_llvm_DIVariable = unwrap_as<llvm::DIVariable, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIVariable)
    {
        return NULL;
    }
    llvm::DIVariable& var_llvm_DIVariable1 = *var_llvm_DIVariable;
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject3 != Py_None)
    {
        void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
        if(!var_void3)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void3);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    llvm::Instruction* var_llvm_Instruction = var_llvm_DIBuilder->insertDeclare(var_llvm_Value, var_llvm_DIVariable1, var_llvm_BasicBlock);
    PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction), "llvm::Value", "llvm::Instruction");
    if (!var_PyObject4)
    {
        return NULL;
    }
    return var_PyObject4;
}

static
PyObject*
llvm_DIBuilder__createFriend(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType2 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIType2)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType3 = *var_llvm_DIType2;
    llvm::DIType var_llvm_DIType4 = var_llvm_DIBuilder->createFriend(var_llvm_DIType1, var_llvm_DIType3);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType4)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_DIBuilder__createVectorType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    uint64_t var_uint64__t;
    int var_int = py_int_to(var_PyObject1, var_uint64__t);
    if(!var_int)
    {
        return NULL;
    }
    uint64_t var_uint64__t1;
    int var_int1 = py_int_to(var_PyObject2, var_uint64__t1);
    if(!var_int1)
    {
        return NULL;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIArray* var_llvm_DIArray = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIArray)
    {
        return NULL;
    }
    llvm::DIArray& var_llvm_DIArray1 = *var_llvm_DIArray;
    llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createVectorType(var_uint64__t, var_uint64__t1, var_llvm_DIType1, var_llvm_DIArray1);
    PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject5)
    {
        return NULL;
    }
    return var_PyObject5;
}

static
PyObject*
llvm_DIBuilder__createLocalVariable(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (10 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
            if(!var_void)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
            if(!var_llvm_DIBuilder1)
            {
                return NULL;
            }
            var_llvm_DIBuilder = var_llvm_DIBuilder1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
        if(!var_void1)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
        if(!var_llvm_DIDescriptor)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
        llvm::StringRef var_llvm_StringRef;
        int var_int1 = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int1)
        {
            return NULL;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::DIDescriptor");
        if(!var_void2)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
        if(!var_llvm_DIFile)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
        unsigned var_unsigned1;
        int var_int2 = py_int_to(var_PyObject5, var_unsigned1);
        if(!var_int2)
        {
            return NULL;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::DIDescriptor");
        if(!var_void3)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void3);
        if(!var_llvm_DIType)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
        bool var_bool;
        int var_int3 = py_bool_to(var_PyObject7, var_bool);
        if(!var_int3)
        {
            return NULL;
        }
        unsigned var_unsigned2;
        int var_int4 = py_int_to(var_PyObject8, var_unsigned2);
        if(!var_int4)
        {
            return NULL;
        }
        unsigned var_unsigned3;
        int var_int5 = py_int_to(var_PyObject9, var_unsigned3);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::DIVariable var_llvm_DIVariable = var_llvm_DIBuilder->createLocalVariable(var_unsigned, var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_DIFile1, var_unsigned1, var_llvm_DIType1, var_bool, var_unsigned2, var_unsigned3);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIVariable(var_llvm_DIVariable)), "llvm::DIDescriptor", "llvm::DIVariable");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    if (7 == var_Py__ssize__t)
    {
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        if(!PyArg_ParseTuple(args, "OOOOOOO", &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14, &var_PyObject15, &var_PyObject16, &var_PyObject17))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder2 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject11, "llvm::DIBuilder");
            if(!var_void4)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder3 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void4);
            if(!var_llvm_DIBuilder3)
            {
                return NULL;
            }
            var_llvm_DIBuilder2 = var_llvm_DIBuilder3;
        }
        unsigned var_unsigned4;
        int var_int6 = py_int_to(var_PyObject12, var_unsigned4);
        if(!var_int6)
        {
            return NULL;
        }
        void* var_void5 = PyCapsule_GetPointer(var_PyObject13, "llvm::DIDescriptor");
        if(!var_void5)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor2 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void5);
        if(!var_llvm_DIDescriptor2)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor3 = *var_llvm_DIDescriptor2;
        llvm::StringRef var_llvm_StringRef1;
        int var_int7 = py_str_to(var_PyObject14, var_llvm_StringRef1);
        if(!var_int7)
        {
            return NULL;
        }
        void* var_void6 = PyCapsule_GetPointer(var_PyObject15, "llvm::DIDescriptor");
        if(!var_void6)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile2 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void6);
        if(!var_llvm_DIFile2)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile3 = *var_llvm_DIFile2;
        unsigned var_unsigned5;
        int var_int8 = py_int_to(var_PyObject16, var_unsigned5);
        if(!var_int8)
        {
            return NULL;
        }
        void* var_void7 = PyCapsule_GetPointer(var_PyObject17, "llvm::DIDescriptor");
        if(!var_void7)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType2 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void7);
        if(!var_llvm_DIType2)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType3 = *var_llvm_DIType2;
        llvm::DIVariable var_llvm_DIVariable1 = var_llvm_DIBuilder2->createLocalVariable(var_unsigned4, var_llvm_DIDescriptor3, var_llvm_StringRef1, var_llvm_DIFile3, var_unsigned5, var_llvm_DIType3);
        PyObject* var_PyObject18 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIVariable(var_llvm_DIVariable1)), "llvm::DIDescriptor", "llvm::DIVariable");
        if (!var_PyObject18)
        {
            return NULL;
        }
        return var_PyObject18;
    }
    if (8 == var_Py__ssize__t)
    {
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        PyObject* var_PyObject21;
        PyObject* var_PyObject22;
        PyObject* var_PyObject23;
        PyObject* var_PyObject24;
        PyObject* var_PyObject25;
        PyObject* var_PyObject26;
        if(!PyArg_ParseTuple(args, "OOOOOOOO", &var_PyObject19, &var_PyObject20, &var_PyObject21, &var_PyObject22, &var_PyObject23, &var_PyObject24, &var_PyObject25, &var_PyObject26))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder4 = NULL;
        if (var_PyObject19 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject19, "llvm::DIBuilder");
            if(!var_void8)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder5 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void8);
            if(!var_llvm_DIBuilder5)
            {
                return NULL;
            }
            var_llvm_DIBuilder4 = var_llvm_DIBuilder5;
        }
        unsigned var_unsigned6;
        int var_int9 = py_int_to(var_PyObject20, var_unsigned6);
        if(!var_int9)
        {
            return NULL;
        }
        void* var_void9 = PyCapsule_GetPointer(var_PyObject21, "llvm::DIDescriptor");
        if(!var_void9)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor4 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void9);
        if(!var_llvm_DIDescriptor4)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor5 = *var_llvm_DIDescriptor4;
        llvm::StringRef var_llvm_StringRef2;
        int var_int10 = py_str_to(var_PyObject22, var_llvm_StringRef2);
        if(!var_int10)
        {
            return NULL;
        }
        void* var_void10 = PyCapsule_GetPointer(var_PyObject23, "llvm::DIDescriptor");
        if(!var_void10)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile4 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void10);
        if(!var_llvm_DIFile4)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile5 = *var_llvm_DIFile4;
        unsigned var_unsigned7;
        int var_int11 = py_int_to(var_PyObject24, var_unsigned7);
        if(!var_int11)
        {
            return NULL;
        }
        void* var_void11 = PyCapsule_GetPointer(var_PyObject25, "llvm::DIDescriptor");
        if(!var_void11)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType4 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void11);
        if(!var_llvm_DIType4)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType5 = *var_llvm_DIType4;
        bool var_bool1;
        int var_int12 = py_bool_to(var_PyObject26, var_bool1);
        if(!var_int12)
        {
            return NULL;
        }
        llvm::DIVariable var_llvm_DIVariable2 = var_llvm_DIBuilder4->createLocalVariable(var_unsigned6, var_llvm_DIDescriptor5, var_llvm_StringRef2, var_llvm_DIFile5, var_unsigned7, var_llvm_DIType5, var_bool1);
        PyObject* var_PyObject27 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIVariable(var_llvm_DIVariable2)), "llvm::DIDescriptor", "llvm::DIVariable");
        if (!var_PyObject27)
        {
            return NULL;
        }
        return var_PyObject27;
    }
    if (9 == var_Py__ssize__t)
    {
        PyObject* var_PyObject28;
        PyObject* var_PyObject29;
        PyObject* var_PyObject30;
        PyObject* var_PyObject31;
        PyObject* var_PyObject32;
        PyObject* var_PyObject33;
        PyObject* var_PyObject34;
        PyObject* var_PyObject35;
        PyObject* var_PyObject36;
        if(!PyArg_ParseTuple(args, "OOOOOOOOO", &var_PyObject28, &var_PyObject29, &var_PyObject30, &var_PyObject31, &var_PyObject32, &var_PyObject33, &var_PyObject34, &var_PyObject35, &var_PyObject36))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder6 = NULL;
        if (var_PyObject28 != Py_None)
        {
            void* var_void12 = PyCapsule_GetPointer(var_PyObject28, "llvm::DIBuilder");
            if(!var_void12)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder7 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void12);
            if(!var_llvm_DIBuilder7)
            {
                return NULL;
            }
            var_llvm_DIBuilder6 = var_llvm_DIBuilder7;
        }
        unsigned var_unsigned8;
        int var_int13 = py_int_to(var_PyObject29, var_unsigned8);
        if(!var_int13)
        {
            return NULL;
        }
        void* var_void13 = PyCapsule_GetPointer(var_PyObject30, "llvm::DIDescriptor");
        if(!var_void13)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor6 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void13);
        if(!var_llvm_DIDescriptor6)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor7 = *var_llvm_DIDescriptor6;
        llvm::StringRef var_llvm_StringRef3;
        int var_int14 = py_str_to(var_PyObject31, var_llvm_StringRef3);
        if(!var_int14)
        {
            return NULL;
        }
        void* var_void14 = PyCapsule_GetPointer(var_PyObject32, "llvm::DIDescriptor");
        if(!var_void14)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile6 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void14);
        if(!var_llvm_DIFile6)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile7 = *var_llvm_DIFile6;
        unsigned var_unsigned9;
        int var_int15 = py_int_to(var_PyObject33, var_unsigned9);
        if(!var_int15)
        {
            return NULL;
        }
        void* var_void15 = PyCapsule_GetPointer(var_PyObject34, "llvm::DIDescriptor");
        if(!var_void15)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType6 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void15);
        if(!var_llvm_DIType6)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType7 = *var_llvm_DIType6;
        bool var_bool2;
        int var_int16 = py_bool_to(var_PyObject35, var_bool2);
        if(!var_int16)
        {
            return NULL;
        }
        unsigned var_unsigned10;
        int var_int17 = py_int_to(var_PyObject36, var_unsigned10);
        if(!var_int17)
        {
            return NULL;
        }
        llvm::DIVariable var_llvm_DIVariable3 = var_llvm_DIBuilder6->createLocalVariable(var_unsigned8, var_llvm_DIDescriptor7, var_llvm_StringRef3, var_llvm_DIFile7, var_unsigned9, var_llvm_DIType7, var_bool2, var_unsigned10);
        PyObject* var_PyObject37 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIVariable(var_llvm_DIVariable3)), "llvm::DIDescriptor", "llvm::DIVariable");
        if (!var_PyObject37)
        {
            return NULL;
        }
        return var_PyObject37;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DIBuilder__createLexicalBlock(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIDescriptor)
    {
        return NULL;
    }
    llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
    void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIFile)
    {
        return NULL;
    }
    llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject3, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    unsigned var_unsigned1;
    int var_int1 = py_int_to(var_PyObject4, var_unsigned1);
    if(!var_int1)
    {
        return NULL;
    }
    llvm::DILexicalBlock var_llvm_DILexicalBlock = var_llvm_DIBuilder->createLexicalBlock(var_llvm_DIDescriptor1, var_llvm_DIFile1, var_unsigned, var_unsigned1);
    PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DILexicalBlock(var_llvm_DILexicalBlock)), "llvm::DIDescriptor", "llvm::DILexicalBlock");
    if (!var_PyObject5)
    {
        return NULL;
    }
    return var_PyObject5;
}

static
PyObject*
llvm_DIBuilder__createMethod(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (16 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9, &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14, &var_PyObject15))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
            if(!var_void)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
            if(!var_llvm_DIBuilder1)
            {
                return NULL;
            }
            var_llvm_DIBuilder = var_llvm_DIBuilder1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
        if(!var_void1)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
        if(!var_llvm_DIDescriptor)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject3, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::DIDescriptor");
        if(!var_void2)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
        if(!var_llvm_DIFile)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
        unsigned var_unsigned;
        int var_int2 = py_int_to(var_PyObject5, var_unsigned);
        if(!var_int2)
        {
            return NULL;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::DIDescriptor");
        if(!var_void3)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void3);
        if(!var_llvm_DIType)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
        bool var_bool;
        int var_int3 = py_bool_to(var_PyObject7, var_bool);
        if(!var_int3)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int4 = py_bool_to(var_PyObject8, var_bool1);
        if(!var_int4)
        {
            return NULL;
        }
        unsigned var_unsigned1;
        int var_int5 = py_int_to(var_PyObject9, var_unsigned1);
        if(!var_int5)
        {
            return NULL;
        }
        unsigned var_unsigned2;
        int var_int6 = py_int_to(var_PyObject10, var_unsigned2);
        if(!var_int6)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void4);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        unsigned var_unsigned3;
        int var_int7 = py_int_to(var_PyObject12, var_unsigned3);
        if(!var_int7)
        {
            return NULL;
        }
        bool var_bool2;
        int var_int8 = py_bool_to(var_PyObject13, var_bool2);
        if(!var_int8)
        {
            return NULL;
        }
        llvm::Function* var_llvm_Function = NULL;
        if (var_PyObject14 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject14, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void5);
            if(!var_llvm_Function1)
            {
                return NULL;
            }
            var_llvm_Function = var_llvm_Function1;
        }
        llvm::MDNode* var_llvm_MDNode2 = NULL;
        if (var_PyObject15 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject15, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode3 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void6);
            if(!var_llvm_MDNode3)
            {
                return NULL;
            }
            var_llvm_MDNode2 = var_llvm_MDNode3;
        }
        llvm::DISubprogram var_llvm_DISubprogram = var_llvm_DIBuilder->createMethod(var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_StringRef1, var_llvm_DIFile1, var_unsigned, var_llvm_DIType1, var_bool, var_bool1, var_unsigned1, var_unsigned2, var_llvm_MDNode, var_unsigned3, var_bool2, var_llvm_Function, var_llvm_MDNode2);
        PyObject* var_PyObject16 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject16)
        {
            return NULL;
        }
        return var_PyObject16;
    }
    if (9 == var_Py__ssize__t)
    {
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        PyObject* var_PyObject21;
        PyObject* var_PyObject22;
        PyObject* var_PyObject23;
        PyObject* var_PyObject24;
        PyObject* var_PyObject25;
        if(!PyArg_ParseTuple(args, "OOOOOOOOO", &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20, &var_PyObject21, &var_PyObject22, &var_PyObject23, &var_PyObject24, &var_PyObject25))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder2 = NULL;
        if (var_PyObject17 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject17, "llvm::DIBuilder");
            if(!var_void7)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder3 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void7);
            if(!var_llvm_DIBuilder3)
            {
                return NULL;
            }
            var_llvm_DIBuilder2 = var_llvm_DIBuilder3;
        }
        void* var_void8 = PyCapsule_GetPointer(var_PyObject18, "llvm::DIDescriptor");
        if(!var_void8)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor2 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void8);
        if(!var_llvm_DIDescriptor2)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor3 = *var_llvm_DIDescriptor2;
        llvm::StringRef var_llvm_StringRef2;
        int var_int9 = py_str_to(var_PyObject19, var_llvm_StringRef2);
        if(!var_int9)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef3;
        int var_int10 = py_str_to(var_PyObject20, var_llvm_StringRef3);
        if(!var_int10)
        {
            return NULL;
        }
        void* var_void9 = PyCapsule_GetPointer(var_PyObject21, "llvm::DIDescriptor");
        if(!var_void9)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile2 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void9);
        if(!var_llvm_DIFile2)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile3 = *var_llvm_DIFile2;
        unsigned var_unsigned4;
        int var_int11 = py_int_to(var_PyObject22, var_unsigned4);
        if(!var_int11)
        {
            return NULL;
        }
        void* var_void10 = PyCapsule_GetPointer(var_PyObject23, "llvm::DIDescriptor");
        if(!var_void10)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType2 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void10);
        if(!var_llvm_DIType2)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType3 = *var_llvm_DIType2;
        bool var_bool3;
        int var_int12 = py_bool_to(var_PyObject24, var_bool3);
        if(!var_int12)
        {
            return NULL;
        }
        bool var_bool4;
        int var_int13 = py_bool_to(var_PyObject25, var_bool4);
        if(!var_int13)
        {
            return NULL;
        }
        llvm::DISubprogram var_llvm_DISubprogram1 = var_llvm_DIBuilder2->createMethod(var_llvm_DIDescriptor3, var_llvm_StringRef2, var_llvm_StringRef3, var_llvm_DIFile3, var_unsigned4, var_llvm_DIType3, var_bool3, var_bool4);
        PyObject* var_PyObject26 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram1)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject26)
        {
            return NULL;
        }
        return var_PyObject26;
    }
    if (10 == var_Py__ssize__t)
    {
        PyObject* var_PyObject27;
        PyObject* var_PyObject28;
        PyObject* var_PyObject29;
        PyObject* var_PyObject30;
        PyObject* var_PyObject31;
        PyObject* var_PyObject32;
        PyObject* var_PyObject33;
        PyObject* var_PyObject34;
        PyObject* var_PyObject35;
        PyObject* var_PyObject36;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOO", &var_PyObject27, &var_PyObject28, &var_PyObject29, &var_PyObject30, &var_PyObject31, &var_PyObject32, &var_PyObject33, &var_PyObject34, &var_PyObject35, &var_PyObject36))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder4 = NULL;
        if (var_PyObject27 != Py_None)
        {
            void* var_void11 = PyCapsule_GetPointer(var_PyObject27, "llvm::DIBuilder");
            if(!var_void11)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder5 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void11);
            if(!var_llvm_DIBuilder5)
            {
                return NULL;
            }
            var_llvm_DIBuilder4 = var_llvm_DIBuilder5;
        }
        void* var_void12 = PyCapsule_GetPointer(var_PyObject28, "llvm::DIDescriptor");
        if(!var_void12)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor4 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void12);
        if(!var_llvm_DIDescriptor4)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor5 = *var_llvm_DIDescriptor4;
        llvm::StringRef var_llvm_StringRef4;
        int var_int14 = py_str_to(var_PyObject29, var_llvm_StringRef4);
        if(!var_int14)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef5;
        int var_int15 = py_str_to(var_PyObject30, var_llvm_StringRef5);
        if(!var_int15)
        {
            return NULL;
        }
        void* var_void13 = PyCapsule_GetPointer(var_PyObject31, "llvm::DIDescriptor");
        if(!var_void13)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile4 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void13);
        if(!var_llvm_DIFile4)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile5 = *var_llvm_DIFile4;
        unsigned var_unsigned5;
        int var_int16 = py_int_to(var_PyObject32, var_unsigned5);
        if(!var_int16)
        {
            return NULL;
        }
        void* var_void14 = PyCapsule_GetPointer(var_PyObject33, "llvm::DIDescriptor");
        if(!var_void14)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType4 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void14);
        if(!var_llvm_DIType4)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType5 = *var_llvm_DIType4;
        bool var_bool5;
        int var_int17 = py_bool_to(var_PyObject34, var_bool5);
        if(!var_int17)
        {
            return NULL;
        }
        bool var_bool6;
        int var_int18 = py_bool_to(var_PyObject35, var_bool6);
        if(!var_int18)
        {
            return NULL;
        }
        unsigned var_unsigned6;
        int var_int19 = py_int_to(var_PyObject36, var_unsigned6);
        if(!var_int19)
        {
            return NULL;
        }
        llvm::DISubprogram var_llvm_DISubprogram2 = var_llvm_DIBuilder4->createMethod(var_llvm_DIDescriptor5, var_llvm_StringRef4, var_llvm_StringRef5, var_llvm_DIFile5, var_unsigned5, var_llvm_DIType5, var_bool5, var_bool6, var_unsigned6);
        PyObject* var_PyObject37 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram2)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject37)
        {
            return NULL;
        }
        return var_PyObject37;
    }
    if (11 == var_Py__ssize__t)
    {
        PyObject* var_PyObject38;
        PyObject* var_PyObject39;
        PyObject* var_PyObject40;
        PyObject* var_PyObject41;
        PyObject* var_PyObject42;
        PyObject* var_PyObject43;
        PyObject* var_PyObject44;
        PyObject* var_PyObject45;
        PyObject* var_PyObject46;
        PyObject* var_PyObject47;
        PyObject* var_PyObject48;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOO", &var_PyObject38, &var_PyObject39, &var_PyObject40, &var_PyObject41, &var_PyObject42, &var_PyObject43, &var_PyObject44, &var_PyObject45, &var_PyObject46, &var_PyObject47, &var_PyObject48))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder6 = NULL;
        if (var_PyObject38 != Py_None)
        {
            void* var_void15 = PyCapsule_GetPointer(var_PyObject38, "llvm::DIBuilder");
            if(!var_void15)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder7 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void15);
            if(!var_llvm_DIBuilder7)
            {
                return NULL;
            }
            var_llvm_DIBuilder6 = var_llvm_DIBuilder7;
        }
        void* var_void16 = PyCapsule_GetPointer(var_PyObject39, "llvm::DIDescriptor");
        if(!var_void16)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor6 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void16);
        if(!var_llvm_DIDescriptor6)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor7 = *var_llvm_DIDescriptor6;
        llvm::StringRef var_llvm_StringRef6;
        int var_int20 = py_str_to(var_PyObject40, var_llvm_StringRef6);
        if(!var_int20)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef7;
        int var_int21 = py_str_to(var_PyObject41, var_llvm_StringRef7);
        if(!var_int21)
        {
            return NULL;
        }
        void* var_void17 = PyCapsule_GetPointer(var_PyObject42, "llvm::DIDescriptor");
        if(!var_void17)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile6 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void17);
        if(!var_llvm_DIFile6)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile7 = *var_llvm_DIFile6;
        unsigned var_unsigned7;
        int var_int22 = py_int_to(var_PyObject43, var_unsigned7);
        if(!var_int22)
        {
            return NULL;
        }
        void* var_void18 = PyCapsule_GetPointer(var_PyObject44, "llvm::DIDescriptor");
        if(!var_void18)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType6 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void18);
        if(!var_llvm_DIType6)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType7 = *var_llvm_DIType6;
        bool var_bool7;
        int var_int23 = py_bool_to(var_PyObject45, var_bool7);
        if(!var_int23)
        {
            return NULL;
        }
        bool var_bool8;
        int var_int24 = py_bool_to(var_PyObject46, var_bool8);
        if(!var_int24)
        {
            return NULL;
        }
        unsigned var_unsigned8;
        int var_int25 = py_int_to(var_PyObject47, var_unsigned8);
        if(!var_int25)
        {
            return NULL;
        }
        unsigned var_unsigned9;
        int var_int26 = py_int_to(var_PyObject48, var_unsigned9);
        if(!var_int26)
        {
            return NULL;
        }
        llvm::DISubprogram var_llvm_DISubprogram3 = var_llvm_DIBuilder6->createMethod(var_llvm_DIDescriptor7, var_llvm_StringRef6, var_llvm_StringRef7, var_llvm_DIFile7, var_unsigned7, var_llvm_DIType7, var_bool7, var_bool8, var_unsigned8, var_unsigned9);
        PyObject* var_PyObject49 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram3)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject49)
        {
            return NULL;
        }
        return var_PyObject49;
    }
    if (12 == var_Py__ssize__t)
    {
        PyObject* var_PyObject50;
        PyObject* var_PyObject51;
        PyObject* var_PyObject52;
        PyObject* var_PyObject53;
        PyObject* var_PyObject54;
        PyObject* var_PyObject55;
        PyObject* var_PyObject56;
        PyObject* var_PyObject57;
        PyObject* var_PyObject58;
        PyObject* var_PyObject59;
        PyObject* var_PyObject60;
        PyObject* var_PyObject61;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOO", &var_PyObject50, &var_PyObject51, &var_PyObject52, &var_PyObject53, &var_PyObject54, &var_PyObject55, &var_PyObject56, &var_PyObject57, &var_PyObject58, &var_PyObject59, &var_PyObject60, &var_PyObject61))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder8 = NULL;
        if (var_PyObject50 != Py_None)
        {
            void* var_void19 = PyCapsule_GetPointer(var_PyObject50, "llvm::DIBuilder");
            if(!var_void19)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder9 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void19);
            if(!var_llvm_DIBuilder9)
            {
                return NULL;
            }
            var_llvm_DIBuilder8 = var_llvm_DIBuilder9;
        }
        void* var_void20 = PyCapsule_GetPointer(var_PyObject51, "llvm::DIDescriptor");
        if(!var_void20)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor8 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void20);
        if(!var_llvm_DIDescriptor8)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor9 = *var_llvm_DIDescriptor8;
        llvm::StringRef var_llvm_StringRef8;
        int var_int27 = py_str_to(var_PyObject52, var_llvm_StringRef8);
        if(!var_int27)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef9;
        int var_int28 = py_str_to(var_PyObject53, var_llvm_StringRef9);
        if(!var_int28)
        {
            return NULL;
        }
        void* var_void21 = PyCapsule_GetPointer(var_PyObject54, "llvm::DIDescriptor");
        if(!var_void21)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile8 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void21);
        if(!var_llvm_DIFile8)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile9 = *var_llvm_DIFile8;
        unsigned var_unsigned10;
        int var_int29 = py_int_to(var_PyObject55, var_unsigned10);
        if(!var_int29)
        {
            return NULL;
        }
        void* var_void22 = PyCapsule_GetPointer(var_PyObject56, "llvm::DIDescriptor");
        if(!var_void22)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType8 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void22);
        if(!var_llvm_DIType8)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType9 = *var_llvm_DIType8;
        bool var_bool9;
        int var_int30 = py_bool_to(var_PyObject57, var_bool9);
        if(!var_int30)
        {
            return NULL;
        }
        bool var_bool10;
        int var_int31 = py_bool_to(var_PyObject58, var_bool10);
        if(!var_int31)
        {
            return NULL;
        }
        unsigned var_unsigned11;
        int var_int32 = py_int_to(var_PyObject59, var_unsigned11);
        if(!var_int32)
        {
            return NULL;
        }
        unsigned var_unsigned12;
        int var_int33 = py_int_to(var_PyObject60, var_unsigned12);
        if(!var_int33)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode4 = NULL;
        if (var_PyObject61 != Py_None)
        {
            void* var_void23 = PyCapsule_GetPointer(var_PyObject61, "llvm::Value");
            if(!var_void23)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode5 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void23);
            if(!var_llvm_MDNode5)
            {
                return NULL;
            }
            var_llvm_MDNode4 = var_llvm_MDNode5;
        }
        llvm::DISubprogram var_llvm_DISubprogram4 = var_llvm_DIBuilder8->createMethod(var_llvm_DIDescriptor9, var_llvm_StringRef8, var_llvm_StringRef9, var_llvm_DIFile9, var_unsigned10, var_llvm_DIType9, var_bool9, var_bool10, var_unsigned11, var_unsigned12, var_llvm_MDNode4);
        PyObject* var_PyObject62 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram4)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject62)
        {
            return NULL;
        }
        return var_PyObject62;
    }
    if (13 == var_Py__ssize__t)
    {
        PyObject* var_PyObject63;
        PyObject* var_PyObject64;
        PyObject* var_PyObject65;
        PyObject* var_PyObject66;
        PyObject* var_PyObject67;
        PyObject* var_PyObject68;
        PyObject* var_PyObject69;
        PyObject* var_PyObject70;
        PyObject* var_PyObject71;
        PyObject* var_PyObject72;
        PyObject* var_PyObject73;
        PyObject* var_PyObject74;
        PyObject* var_PyObject75;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOOO", &var_PyObject63, &var_PyObject64, &var_PyObject65, &var_PyObject66, &var_PyObject67, &var_PyObject68, &var_PyObject69, &var_PyObject70, &var_PyObject71, &var_PyObject72, &var_PyObject73, &var_PyObject74, &var_PyObject75))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder10 = NULL;
        if (var_PyObject63 != Py_None)
        {
            void* var_void24 = PyCapsule_GetPointer(var_PyObject63, "llvm::DIBuilder");
            if(!var_void24)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder11 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void24);
            if(!var_llvm_DIBuilder11)
            {
                return NULL;
            }
            var_llvm_DIBuilder10 = var_llvm_DIBuilder11;
        }
        void* var_void25 = PyCapsule_GetPointer(var_PyObject64, "llvm::DIDescriptor");
        if(!var_void25)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor10 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void25);
        if(!var_llvm_DIDescriptor10)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor11 = *var_llvm_DIDescriptor10;
        llvm::StringRef var_llvm_StringRef10;
        int var_int34 = py_str_to(var_PyObject65, var_llvm_StringRef10);
        if(!var_int34)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef11;
        int var_int35 = py_str_to(var_PyObject66, var_llvm_StringRef11);
        if(!var_int35)
        {
            return NULL;
        }
        void* var_void26 = PyCapsule_GetPointer(var_PyObject67, "llvm::DIDescriptor");
        if(!var_void26)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile10 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void26);
        if(!var_llvm_DIFile10)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile11 = *var_llvm_DIFile10;
        unsigned var_unsigned13;
        int var_int36 = py_int_to(var_PyObject68, var_unsigned13);
        if(!var_int36)
        {
            return NULL;
        }
        void* var_void27 = PyCapsule_GetPointer(var_PyObject69, "llvm::DIDescriptor");
        if(!var_void27)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType10 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void27);
        if(!var_llvm_DIType10)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType11 = *var_llvm_DIType10;
        bool var_bool11;
        int var_int37 = py_bool_to(var_PyObject70, var_bool11);
        if(!var_int37)
        {
            return NULL;
        }
        bool var_bool12;
        int var_int38 = py_bool_to(var_PyObject71, var_bool12);
        if(!var_int38)
        {
            return NULL;
        }
        unsigned var_unsigned14;
        int var_int39 = py_int_to(var_PyObject72, var_unsigned14);
        if(!var_int39)
        {
            return NULL;
        }
        unsigned var_unsigned15;
        int var_int40 = py_int_to(var_PyObject73, var_unsigned15);
        if(!var_int40)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode6 = NULL;
        if (var_PyObject74 != Py_None)
        {
            void* var_void28 = PyCapsule_GetPointer(var_PyObject74, "llvm::Value");
            if(!var_void28)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode7 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void28);
            if(!var_llvm_MDNode7)
            {
                return NULL;
            }
            var_llvm_MDNode6 = var_llvm_MDNode7;
        }
        unsigned var_unsigned16;
        int var_int41 = py_int_to(var_PyObject75, var_unsigned16);
        if(!var_int41)
        {
            return NULL;
        }
        llvm::DISubprogram var_llvm_DISubprogram5 = var_llvm_DIBuilder10->createMethod(var_llvm_DIDescriptor11, var_llvm_StringRef10, var_llvm_StringRef11, var_llvm_DIFile11, var_unsigned13, var_llvm_DIType11, var_bool11, var_bool12, var_unsigned14, var_unsigned15, var_llvm_MDNode6, var_unsigned16);
        PyObject* var_PyObject76 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram5)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject76)
        {
            return NULL;
        }
        return var_PyObject76;
    }
    if (14 == var_Py__ssize__t)
    {
        PyObject* var_PyObject77;
        PyObject* var_PyObject78;
        PyObject* var_PyObject79;
        PyObject* var_PyObject80;
        PyObject* var_PyObject81;
        PyObject* var_PyObject82;
        PyObject* var_PyObject83;
        PyObject* var_PyObject84;
        PyObject* var_PyObject85;
        PyObject* var_PyObject86;
        PyObject* var_PyObject87;
        PyObject* var_PyObject88;
        PyObject* var_PyObject89;
        PyObject* var_PyObject90;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOOOO", &var_PyObject77, &var_PyObject78, &var_PyObject79, &var_PyObject80, &var_PyObject81, &var_PyObject82, &var_PyObject83, &var_PyObject84, &var_PyObject85, &var_PyObject86, &var_PyObject87, &var_PyObject88, &var_PyObject89, &var_PyObject90))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder12 = NULL;
        if (var_PyObject77 != Py_None)
        {
            void* var_void29 = PyCapsule_GetPointer(var_PyObject77, "llvm::DIBuilder");
            if(!var_void29)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder13 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void29);
            if(!var_llvm_DIBuilder13)
            {
                return NULL;
            }
            var_llvm_DIBuilder12 = var_llvm_DIBuilder13;
        }
        void* var_void30 = PyCapsule_GetPointer(var_PyObject78, "llvm::DIDescriptor");
        if(!var_void30)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor12 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void30);
        if(!var_llvm_DIDescriptor12)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor13 = *var_llvm_DIDescriptor12;
        llvm::StringRef var_llvm_StringRef12;
        int var_int42 = py_str_to(var_PyObject79, var_llvm_StringRef12);
        if(!var_int42)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef13;
        int var_int43 = py_str_to(var_PyObject80, var_llvm_StringRef13);
        if(!var_int43)
        {
            return NULL;
        }
        void* var_void31 = PyCapsule_GetPointer(var_PyObject81, "llvm::DIDescriptor");
        if(!var_void31)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile12 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void31);
        if(!var_llvm_DIFile12)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile13 = *var_llvm_DIFile12;
        unsigned var_unsigned17;
        int var_int44 = py_int_to(var_PyObject82, var_unsigned17);
        if(!var_int44)
        {
            return NULL;
        }
        void* var_void32 = PyCapsule_GetPointer(var_PyObject83, "llvm::DIDescriptor");
        if(!var_void32)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType12 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void32);
        if(!var_llvm_DIType12)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType13 = *var_llvm_DIType12;
        bool var_bool13;
        int var_int45 = py_bool_to(var_PyObject84, var_bool13);
        if(!var_int45)
        {
            return NULL;
        }
        bool var_bool14;
        int var_int46 = py_bool_to(var_PyObject85, var_bool14);
        if(!var_int46)
        {
            return NULL;
        }
        unsigned var_unsigned18;
        int var_int47 = py_int_to(var_PyObject86, var_unsigned18);
        if(!var_int47)
        {
            return NULL;
        }
        unsigned var_unsigned19;
        int var_int48 = py_int_to(var_PyObject87, var_unsigned19);
        if(!var_int48)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode8 = NULL;
        if (var_PyObject88 != Py_None)
        {
            void* var_void33 = PyCapsule_GetPointer(var_PyObject88, "llvm::Value");
            if(!var_void33)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode9 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void33);
            if(!var_llvm_MDNode9)
            {
                return NULL;
            }
            var_llvm_MDNode8 = var_llvm_MDNode9;
        }
        unsigned var_unsigned20;
        int var_int49 = py_int_to(var_PyObject89, var_unsigned20);
        if(!var_int49)
        {
            return NULL;
        }
        bool var_bool15;
        int var_int50 = py_bool_to(var_PyObject90, var_bool15);
        if(!var_int50)
        {
            return NULL;
        }
        llvm::DISubprogram var_llvm_DISubprogram6 = var_llvm_DIBuilder12->createMethod(var_llvm_DIDescriptor13, var_llvm_StringRef12, var_llvm_StringRef13, var_llvm_DIFile13, var_unsigned17, var_llvm_DIType13, var_bool13, var_bool14, var_unsigned18, var_unsigned19, var_llvm_MDNode8, var_unsigned20, var_bool15);
        PyObject* var_PyObject91 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram6)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject91)
        {
            return NULL;
        }
        return var_PyObject91;
    }
    if (15 == var_Py__ssize__t)
    {
        PyObject* var_PyObject92;
        PyObject* var_PyObject93;
        PyObject* var_PyObject94;
        PyObject* var_PyObject95;
        PyObject* var_PyObject96;
        PyObject* var_PyObject97;
        PyObject* var_PyObject98;
        PyObject* var_PyObject99;
        PyObject* var_PyObject100;
        PyObject* var_PyObject101;
        PyObject* var_PyObject102;
        PyObject* var_PyObject103;
        PyObject* var_PyObject104;
        PyObject* var_PyObject105;
        PyObject* var_PyObject106;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOOOOOO", &var_PyObject92, &var_PyObject93, &var_PyObject94, &var_PyObject95, &var_PyObject96, &var_PyObject97, &var_PyObject98, &var_PyObject99, &var_PyObject100, &var_PyObject101, &var_PyObject102, &var_PyObject103, &var_PyObject104, &var_PyObject105, &var_PyObject106))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder14 = NULL;
        if (var_PyObject92 != Py_None)
        {
            void* var_void34 = PyCapsule_GetPointer(var_PyObject92, "llvm::DIBuilder");
            if(!var_void34)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder15 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void34);
            if(!var_llvm_DIBuilder15)
            {
                return NULL;
            }
            var_llvm_DIBuilder14 = var_llvm_DIBuilder15;
        }
        void* var_void35 = PyCapsule_GetPointer(var_PyObject93, "llvm::DIDescriptor");
        if(!var_void35)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor14 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void35);
        if(!var_llvm_DIDescriptor14)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor15 = *var_llvm_DIDescriptor14;
        llvm::StringRef var_llvm_StringRef14;
        int var_int51 = py_str_to(var_PyObject94, var_llvm_StringRef14);
        if(!var_int51)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef15;
        int var_int52 = py_str_to(var_PyObject95, var_llvm_StringRef15);
        if(!var_int52)
        {
            return NULL;
        }
        void* var_void36 = PyCapsule_GetPointer(var_PyObject96, "llvm::DIDescriptor");
        if(!var_void36)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile14 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void36);
        if(!var_llvm_DIFile14)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile15 = *var_llvm_DIFile14;
        unsigned var_unsigned21;
        int var_int53 = py_int_to(var_PyObject97, var_unsigned21);
        if(!var_int53)
        {
            return NULL;
        }
        void* var_void37 = PyCapsule_GetPointer(var_PyObject98, "llvm::DIDescriptor");
        if(!var_void37)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType14 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void37);
        if(!var_llvm_DIType14)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType15 = *var_llvm_DIType14;
        bool var_bool16;
        int var_int54 = py_bool_to(var_PyObject99, var_bool16);
        if(!var_int54)
        {
            return NULL;
        }
        bool var_bool17;
        int var_int55 = py_bool_to(var_PyObject100, var_bool17);
        if(!var_int55)
        {
            return NULL;
        }
        unsigned var_unsigned22;
        int var_int56 = py_int_to(var_PyObject101, var_unsigned22);
        if(!var_int56)
        {
            return NULL;
        }
        unsigned var_unsigned23;
        int var_int57 = py_int_to(var_PyObject102, var_unsigned23);
        if(!var_int57)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode10 = NULL;
        if (var_PyObject103 != Py_None)
        {
            void* var_void38 = PyCapsule_GetPointer(var_PyObject103, "llvm::Value");
            if(!var_void38)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode11 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void38);
            if(!var_llvm_MDNode11)
            {
                return NULL;
            }
            var_llvm_MDNode10 = var_llvm_MDNode11;
        }
        unsigned var_unsigned24;
        int var_int58 = py_int_to(var_PyObject104, var_unsigned24);
        if(!var_int58)
        {
            return NULL;
        }
        bool var_bool18;
        int var_int59 = py_bool_to(var_PyObject105, var_bool18);
        if(!var_int59)
        {
            return NULL;
        }
        llvm::Function* var_llvm_Function2 = NULL;
        if (var_PyObject106 != Py_None)
        {
            void* var_void39 = PyCapsule_GetPointer(var_PyObject106, "llvm::Value");
            if(!var_void39)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Function* var_llvm_Function3 = unwrap_as<llvm::Function, llvm::Value >::from(var_void39);
            if(!var_llvm_Function3)
            {
                return NULL;
            }
            var_llvm_Function2 = var_llvm_Function3;
        }
        llvm::DISubprogram var_llvm_DISubprogram7 = var_llvm_DIBuilder14->createMethod(var_llvm_DIDescriptor15, var_llvm_StringRef14, var_llvm_StringRef15, var_llvm_DIFile15, var_unsigned21, var_llvm_DIType15, var_bool16, var_bool17, var_unsigned22, var_unsigned23, var_llvm_MDNode10, var_unsigned24, var_bool18, var_llvm_Function2);
        PyObject* var_PyObject107 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubprogram(var_llvm_DISubprogram7)), "llvm::DIDescriptor", "llvm::DISubprogram");
        if (!var_PyObject107)
        {
            return NULL;
        }
        return var_PyObject107;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_DIBuilder__createEnumerationType(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    PyObject* var_PyObject5;
    PyObject* var_PyObject6;
    PyObject* var_PyObject7;
    PyObject* var_PyObject8;
    if(!PyArg_ParseTuple(args, "OOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
    if(!var_void1)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
    if(!var_llvm_DIDescriptor)
    {
        return NULL;
    }
    llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
    if(!var_void2)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
    if(!var_llvm_DIFile)
    {
        return NULL;
    }
    llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
    unsigned var_unsigned;
    int var_int1 = py_int_to(var_PyObject4, var_unsigned);
    if(!var_int1)
    {
        return NULL;
    }
    uint64_t var_uint64__t;
    int var_int2 = py_int_to(var_PyObject5, var_uint64__t);
    if(!var_int2)
    {
        return NULL;
    }
    uint64_t var_uint64__t1;
    int var_int3 = py_int_to(var_PyObject6, var_uint64__t1);
    if(!var_int3)
    {
        return NULL;
    }
    void* var_void3 = PyCapsule_GetPointer(var_PyObject7, "llvm::DIDescriptor");
    if(!var_void3)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIArray* var_llvm_DIArray = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void3);
    if(!var_llvm_DIArray)
    {
        return NULL;
    }
    llvm::DIArray& var_llvm_DIArray1 = *var_llvm_DIArray;
    void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::DIDescriptor");
    if(!var_void4)
    {
        puts("Error: llvm::DIDescriptor");
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void4);
    if(!var_llvm_DIType)
    {
        return NULL;
    }
    llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
    llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createEnumerationType(var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_DIFile1, var_unsigned, var_uint64__t, var_uint64__t1, var_llvm_DIArray1, var_llvm_DIType1);
    PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
    if (!var_PyObject9)
    {
        return NULL;
    }
    return var_PyObject9;
}

static
PyObject*
llvm_DIBuilder__getOrCreateSubrange(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    int64_t var_int64__t;
    int var_int = py_int_to(var_PyObject1, var_int64__t);
    if(!var_int)
    {
        return NULL;
    }
    int64_t var_int64__t1;
    int var_int1 = py_int_to(var_PyObject2, var_int64__t1);
    if(!var_int1)
    {
        return NULL;
    }
    llvm::DISubrange var_llvm_DISubrange = var_llvm_DIBuilder->getOrCreateSubrange(var_int64__t, var_int64__t1);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DISubrange(var_llvm_DISubrange)), "llvm::DIDescriptor", "llvm::DISubrange");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_DIBuilder__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIBuilder* var_llvm_DIBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
        if(!var_void)
        {
            puts("Error: llvm::DIBuilder");
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
        if(!var_llvm_DIBuilder1)
        {
            return NULL;
        }
        var_llvm_DIBuilder = var_llvm_DIBuilder1;
    }
    delete var_llvm_DIBuilder;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_DIBuilder__createStructType(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (11 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIBuilder");
            if(!var_void)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder1 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void);
            if(!var_llvm_DIBuilder1)
            {
                return NULL;
            }
            var_llvm_DIBuilder = var_llvm_DIBuilder1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::DIDescriptor");
        if(!var_void1)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void1);
        if(!var_llvm_DIDescriptor)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor1 = *var_llvm_DIDescriptor;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::DIDescriptor");
        if(!var_void2)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void2);
        if(!var_llvm_DIFile)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile1 = *var_llvm_DIFile;
        unsigned var_unsigned;
        int var_int1 = py_int_to(var_PyObject4, var_unsigned);
        if(!var_int1)
        {
            return NULL;
        }
        uint64_t var_uint64__t;
        int var_int2 = py_int_to(var_PyObject5, var_uint64__t);
        if(!var_int2)
        {
            return NULL;
        }
        uint64_t var_uint64__t1;
        int var_int3 = py_int_to(var_PyObject6, var_uint64__t1);
        if(!var_int3)
        {
            return NULL;
        }
        unsigned var_unsigned1;
        int var_int4 = py_int_to(var_PyObject7, var_unsigned1);
        if(!var_int4)
        {
            return NULL;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject8, "llvm::DIDescriptor");
        if(!var_void3)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void3);
        if(!var_llvm_DIType)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType1 = *var_llvm_DIType;
        void* var_void4 = PyCapsule_GetPointer(var_PyObject9, "llvm::DIDescriptor");
        if(!var_void4)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIArray* var_llvm_DIArray = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void4);
        if(!var_llvm_DIArray)
        {
            return NULL;
        }
        llvm::DIArray& var_llvm_DIArray1 = *var_llvm_DIArray;
        unsigned var_unsigned2;
        int var_int5 = py_int_to(var_PyObject10, var_unsigned2);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::DIType var_llvm_DIType2 = var_llvm_DIBuilder->createStructType(var_llvm_DIDescriptor1, var_llvm_StringRef, var_llvm_DIFile1, var_unsigned, var_uint64__t, var_uint64__t1, var_unsigned1, var_llvm_DIType1, var_llvm_DIArray1, var_unsigned2);
        PyObject* var_PyObject11 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType2)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject11)
        {
            return NULL;
        }
        return var_PyObject11;
    }
    if (10 == var_Py__ssize__t)
    {
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        PyObject* var_PyObject21;
        if(!PyArg_ParseTuple(args, "OOOOOOOOOO", &var_PyObject12, &var_PyObject13, &var_PyObject14, &var_PyObject15, &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20, &var_PyObject21))
        {
            return NULL;
        }
        llvm::DIBuilder* var_llvm_DIBuilder2 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject12, "llvm::DIBuilder");
            if(!var_void5)
            {
                puts("Error: llvm::DIBuilder");
                return NULL;
            }
            llvm::DIBuilder* var_llvm_DIBuilder3 = unwrap_as<llvm::DIBuilder, llvm::DIBuilder >::from(var_void5);
            if(!var_llvm_DIBuilder3)
            {
                return NULL;
            }
            var_llvm_DIBuilder2 = var_llvm_DIBuilder3;
        }
        void* var_void6 = PyCapsule_GetPointer(var_PyObject13, "llvm::DIDescriptor");
        if(!var_void6)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor2 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void6);
        if(!var_llvm_DIDescriptor2)
        {
            return NULL;
        }
        llvm::DIDescriptor& var_llvm_DIDescriptor3 = *var_llvm_DIDescriptor2;
        llvm::StringRef var_llvm_StringRef1;
        int var_int6 = py_str_to(var_PyObject14, var_llvm_StringRef1);
        if(!var_int6)
        {
            return NULL;
        }
        void* var_void7 = PyCapsule_GetPointer(var_PyObject15, "llvm::DIDescriptor");
        if(!var_void7)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile2 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void7);
        if(!var_llvm_DIFile2)
        {
            return NULL;
        }
        llvm::DIFile& var_llvm_DIFile3 = *var_llvm_DIFile2;
        unsigned var_unsigned3;
        int var_int7 = py_int_to(var_PyObject16, var_unsigned3);
        if(!var_int7)
        {
            return NULL;
        }
        uint64_t var_uint64__t2;
        int var_int8 = py_int_to(var_PyObject17, var_uint64__t2);
        if(!var_int8)
        {
            return NULL;
        }
        uint64_t var_uint64__t3;
        int var_int9 = py_int_to(var_PyObject18, var_uint64__t3);
        if(!var_int9)
        {
            return NULL;
        }
        unsigned var_unsigned4;
        int var_int10 = py_int_to(var_PyObject19, var_unsigned4);
        if(!var_int10)
        {
            return NULL;
        }
        void* var_void8 = PyCapsule_GetPointer(var_PyObject20, "llvm::DIDescriptor");
        if(!var_void8)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType3 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void8);
        if(!var_llvm_DIType3)
        {
            return NULL;
        }
        llvm::DIType& var_llvm_DIType4 = *var_llvm_DIType3;
        void* var_void9 = PyCapsule_GetPointer(var_PyObject21, "llvm::DIDescriptor");
        if(!var_void9)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIArray* var_llvm_DIArray2 = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void9);
        if(!var_llvm_DIArray2)
        {
            return NULL;
        }
        llvm::DIArray& var_llvm_DIArray3 = *var_llvm_DIArray2;
        llvm::DIType var_llvm_DIType5 = var_llvm_DIBuilder2->createStructType(var_llvm_DIDescriptor3, var_llvm_StringRef1, var_llvm_DIFile3, var_unsigned3, var_uint64__t2, var_uint64__t3, var_unsigned4, var_llvm_DIType4, var_llvm_DIArray3);
        PyObject* var_PyObject22 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(new llvm::DIType(var_llvm_DIType5)), "llvm::DIDescriptor", "llvm::DIType");
        if (!var_PyObject22)
        {
            return NULL;
        }
        return var_PyObject22;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyMethodDef meth_llvm_DIBuilder[] = {
    { "createQualifiedType", (PyCFunction)llvm_DIBuilder__createQualifiedType, METH_VARARGS, NULL },
    { "retainType", (PyCFunction)llvm_DIBuilder__retainType, METH_VARARGS, NULL },
    { "getOrCreateArray", (PyCFunction)llvm_DIBuilder__getOrCreateArray, METH_VARARGS, NULL },
    { "createArrayType", (PyCFunction)llvm_DIBuilder__createArrayType, METH_VARARGS, NULL },
    { "createUnionType", (PyCFunction)llvm_DIBuilder__createUnionType, METH_VARARGS, NULL },
    { "createBasicType", (PyCFunction)llvm_DIBuilder__createBasicType, METH_VARARGS, NULL },
    { "createReferenceType", (PyCFunction)llvm_DIBuilder__createReferenceType, METH_VARARGS, NULL },
    { "createInheritance", (PyCFunction)llvm_DIBuilder__createInheritance, METH_VARARGS, NULL },
    { "createMemberType", (PyCFunction)llvm_DIBuilder__createMemberType, METH_VARARGS, NULL },
    { "createUnspecifiedParameter", (PyCFunction)llvm_DIBuilder__createUnspecifiedParameter, METH_VARARGS, NULL },
    { "createLexicalBlockFile", (PyCFunction)llvm_DIBuilder__createLexicalBlockFile, METH_VARARGS, NULL },
    { "createObjectPointerType", (PyCFunction)llvm_DIBuilder__createObjectPointerType, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_DIBuilder__new, METH_VARARGS, NULL },
    { "createNameSpace", (PyCFunction)llvm_DIBuilder__createNameSpace, METH_VARARGS, NULL },
    { "getCU", (PyCFunction)llvm_DIBuilder__getCU, METH_VARARGS, NULL },
    { "_insertDbgValueIntrinsic_2", (PyCFunction)llvm_DIBuilder____insertDbgValueIntrinsic__2, METH_VARARGS, NULL },
    { "finalize", (PyCFunction)llvm_DIBuilder__finalize, METH_VARARGS, NULL },
    { "_insertDbgValueIntrinsic_1", (PyCFunction)llvm_DIBuilder____insertDbgValueIntrinsic__1, METH_VARARGS, NULL },
    { "createCompileUnit", (PyCFunction)llvm_DIBuilder__createCompileUnit, METH_VARARGS, NULL },
    { "createFile", (PyCFunction)llvm_DIBuilder__createFile, METH_VARARGS, NULL },
    { "createForwardDecl", (PyCFunction)llvm_DIBuilder__createForwardDecl, METH_VARARGS, NULL },
    { "createNullPtrType", (PyCFunction)llvm_DIBuilder__createNullPtrType, METH_VARARGS, NULL },
    { "createComplexVariable", (PyCFunction)llvm_DIBuilder__createComplexVariable, METH_VARARGS, NULL },
    { "createEnumerator", (PyCFunction)llvm_DIBuilder__createEnumerator, METH_VARARGS, NULL },
    { "createClassType", (PyCFunction)llvm_DIBuilder__createClassType, METH_VARARGS, NULL },
    { "createArtificialType", (PyCFunction)llvm_DIBuilder__createArtificialType, METH_VARARGS, NULL },
    { "createSubroutineType", (PyCFunction)llvm_DIBuilder__createSubroutineType, METH_VARARGS, NULL },
    { "createPointerType", (PyCFunction)llvm_DIBuilder__createPointerType, METH_VARARGS, NULL },
    { "createGlobalVariable", (PyCFunction)llvm_DIBuilder__createGlobalVariable, METH_VARARGS, NULL },
    { "createFunction", (PyCFunction)llvm_DIBuilder__createFunction, METH_VARARGS, NULL },
    { "createTypedef", (PyCFunction)llvm_DIBuilder__createTypedef, METH_VARARGS, NULL },
    { "createStaticVariable", (PyCFunction)llvm_DIBuilder__createStaticVariable, METH_VARARGS, NULL },
    { "_insertDeclare_2", (PyCFunction)llvm_DIBuilder____insertDeclare__2, METH_VARARGS, NULL },
    { "_insertDeclare_1", (PyCFunction)llvm_DIBuilder____insertDeclare__1, METH_VARARGS, NULL },
    { "createFriend", (PyCFunction)llvm_DIBuilder__createFriend, METH_VARARGS, NULL },
    { "createVectorType", (PyCFunction)llvm_DIBuilder__createVectorType, METH_VARARGS, NULL },
    { "createLocalVariable", (PyCFunction)llvm_DIBuilder__createLocalVariable, METH_VARARGS, NULL },
    { "createLexicalBlock", (PyCFunction)llvm_DIBuilder__createLexicalBlock, METH_VARARGS, NULL },
    { "createMethod", (PyCFunction)llvm_DIBuilder__createMethod, METH_VARARGS, NULL },
    { "createEnumerationType", (PyCFunction)llvm_DIBuilder__createEnumerationType, METH_VARARGS, NULL },
    { "getOrCreateSubrange", (PyCFunction)llvm_DIBuilder__getOrCreateSubrange, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_DIBuilder__delete, METH_VARARGS, NULL },
    { "createStructType", (PyCFunction)llvm_DIBuilder__createStructType, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIBuilder[] = {
    { NULL }
};

static
PyObject*
llvm_DIDescriptor__new(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::MDNode* var_llvm_MDNode = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Value");
        if(!var_void)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void);
        if(!var_llvm_MDNode1)
        {
            return NULL;
        }
        var_llvm_MDNode = var_llvm_MDNode1;
    }
    llvm::DIDescriptor* var_llvm_DIDescriptor = new llvm::DIDescriptor(var_llvm_MDNode);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::DIDescriptor >::from(var_llvm_DIDescriptor), "llvm::DIDescriptor", "llvm::DIDescriptor");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_DIDescriptor__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIDescriptor* var_llvm_DIDescriptor = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIDescriptor* var_llvm_DIDescriptor1 = unwrap_as<llvm::DIDescriptor, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIDescriptor1)
        {
            return NULL;
        }
        var_llvm_DIDescriptor = var_llvm_DIDescriptor1;
    }
    delete var_llvm_DIDescriptor;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_DIDescriptor[] = {
    { "new", (PyCFunction)llvm_DIDescriptor__new, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_DIDescriptor__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIDescriptor[] = {
    { NULL }
};

static
PyObject*
llvm_DIEnumerator__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIEnumerator* var_llvm_DIEnumerator = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIEnumerator* var_llvm_DIEnumerator1 = unwrap_as<llvm::DIEnumerator, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIEnumerator1)
        {
            return NULL;
        }
        var_llvm_DIEnumerator = var_llvm_DIEnumerator1;
    }
    bool var_bool = var_llvm_DIEnumerator->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_DIEnumerator__getName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIEnumerator* var_llvm_DIEnumerator = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIEnumerator* var_llvm_DIEnumerator1 = unwrap_as<llvm::DIEnumerator, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIEnumerator1)
        {
            return NULL;
        }
        var_llvm_DIEnumerator = var_llvm_DIEnumerator1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_DIEnumerator->getName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyObject*
llvm_DIEnumerator__getEnumValue(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIEnumerator* var_llvm_DIEnumerator = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIEnumerator* var_llvm_DIEnumerator1 = unwrap_as<llvm::DIEnumerator, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIEnumerator1)
        {
            return NULL;
        }
        var_llvm_DIEnumerator = var_llvm_DIEnumerator1;
    }
    uint64_t var_uint64__t = var_llvm_DIEnumerator->getEnumValue();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_uint64__t);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DIEnumerator[] = {
    { "Verify", (PyCFunction)llvm_DIEnumerator__Verify, METH_VARARGS, NULL },
    { "getName", (PyCFunction)llvm_DIEnumerator__getName, METH_VARARGS, NULL },
    { "getEnumValue", (PyCFunction)llvm_DIEnumerator__getEnumValue, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIEnumerator[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_DIScope[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIScope[] = {
    { NULL }
};

static
PyObject*
llvm_DIType__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType1 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIType1)
        {
            return NULL;
        }
        var_llvm_DIType = var_llvm_DIType1;
    }
    bool var_bool = var_llvm_DIType->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_DIType__getLineNumber(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType1 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIType1)
        {
            return NULL;
        }
        var_llvm_DIType = var_llvm_DIType1;
    }
    unsigned var_unsigned = var_llvm_DIType->getLineNumber();
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_DIType__getName(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIType* var_llvm_DIType = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIType* var_llvm_DIType1 = unwrap_as<llvm::DIType, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIType1)
        {
            return NULL;
        }
        var_llvm_DIType = var_llvm_DIType1;
    }
    llvm::StringRef var_llvm_StringRef = var_llvm_DIType->getName();
    PyObject* var_PyObject1 = py_str_from(var_llvm_StringRef);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DIType[] = {
    { "Verify", (PyCFunction)llvm_DIType__Verify, METH_VARARGS, NULL },
    { "getLineNumber", (PyCFunction)llvm_DIType__getLineNumber, METH_VARARGS, NULL },
    { "getName", (PyCFunction)llvm_DIType__getName, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIType[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_DIBasicType[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIBasicType[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_DIDerivedType[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIDerivedType[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_DICompositeType[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_DICompositeType[] = {
    { NULL }
};

static
PyObject*
llvm_DIFile__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIFile* var_llvm_DIFile = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIFile* var_llvm_DIFile1 = unwrap_as<llvm::DIFile, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIFile1)
        {
            return NULL;
        }
        var_llvm_DIFile = var_llvm_DIFile1;
    }
    bool var_bool = var_llvm_DIFile->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DIFile[] = {
    { "Verify", (PyCFunction)llvm_DIFile__Verify, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIFile[] = {
    { NULL }
};

static
PyObject*
llvm_DIArray__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIArray* var_llvm_DIArray = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIArray* var_llvm_DIArray1 = unwrap_as<llvm::DIArray, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIArray1)
        {
            return NULL;
        }
        var_llvm_DIArray = var_llvm_DIArray1;
    }
    bool var_bool = var_llvm_DIArray->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DIArray[] = {
    { "Verify", (PyCFunction)llvm_DIArray__Verify, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIArray[] = {
    { NULL }
};

static
PyObject*
llvm_DISubrange__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DISubrange* var_llvm_DISubrange = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DISubrange* var_llvm_DISubrange1 = unwrap_as<llvm::DISubrange, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DISubrange1)
        {
            return NULL;
        }
        var_llvm_DISubrange = var_llvm_DISubrange1;
    }
    bool var_bool = var_llvm_DISubrange->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DISubrange[] = {
    { "Verify", (PyCFunction)llvm_DISubrange__Verify, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DISubrange[] = {
    { NULL }
};

static
PyObject*
llvm_DIGlobalVariable__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIGlobalVariable* var_llvm_DIGlobalVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIGlobalVariable* var_llvm_DIGlobalVariable1 = unwrap_as<llvm::DIGlobalVariable, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIGlobalVariable1)
        {
            return NULL;
        }
        var_llvm_DIGlobalVariable = var_llvm_DIGlobalVariable1;
    }
    bool var_bool = var_llvm_DIGlobalVariable->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DIGlobalVariable[] = {
    { "Verify", (PyCFunction)llvm_DIGlobalVariable__Verify, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIGlobalVariable[] = {
    { NULL }
};

static
PyObject*
llvm_DIVariable__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DIVariable* var_llvm_DIVariable = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DIVariable* var_llvm_DIVariable1 = unwrap_as<llvm::DIVariable, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DIVariable1)
        {
            return NULL;
        }
        var_llvm_DIVariable = var_llvm_DIVariable1;
    }
    bool var_bool = var_llvm_DIVariable->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DIVariable[] = {
    { "Verify", (PyCFunction)llvm_DIVariable__Verify, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DIVariable[] = {
    { NULL }
};

static
PyObject*
llvm_DISubprogram__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DISubprogram* var_llvm_DISubprogram = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DISubprogram* var_llvm_DISubprogram1 = unwrap_as<llvm::DISubprogram, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DISubprogram1)
        {
            return NULL;
        }
        var_llvm_DISubprogram = var_llvm_DISubprogram1;
    }
    bool var_bool = var_llvm_DISubprogram->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DISubprogram[] = {
    { "Verify", (PyCFunction)llvm_DISubprogram__Verify, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DISubprogram[] = {
    { NULL }
};

static
PyObject*
llvm_DINameSpace__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DINameSpace* var_llvm_DINameSpace = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DINameSpace* var_llvm_DINameSpace1 = unwrap_as<llvm::DINameSpace, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DINameSpace1)
        {
            return NULL;
        }
        var_llvm_DINameSpace = var_llvm_DINameSpace1;
    }
    bool var_bool = var_llvm_DINameSpace->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DINameSpace[] = {
    { "Verify", (PyCFunction)llvm_DINameSpace__Verify, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DINameSpace[] = {
    { NULL }
};

static
PyObject*
llvm_DILexicalBlockFile__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DILexicalBlockFile* var_llvm_DILexicalBlockFile = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DILexicalBlockFile* var_llvm_DILexicalBlockFile1 = unwrap_as<llvm::DILexicalBlockFile, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DILexicalBlockFile1)
        {
            return NULL;
        }
        var_llvm_DILexicalBlockFile = var_llvm_DILexicalBlockFile1;
    }
    bool var_bool = var_llvm_DILexicalBlockFile->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DILexicalBlockFile[] = {
    { "Verify", (PyCFunction)llvm_DILexicalBlockFile__Verify, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DILexicalBlockFile[] = {
    { NULL }
};

static
PyObject*
llvm_DILexicalBlock__Verify(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::DILexicalBlock* var_llvm_DILexicalBlock = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::DIDescriptor");
        if(!var_void)
        {
            puts("Error: llvm::DIDescriptor");
            return NULL;
        }
        llvm::DILexicalBlock* var_llvm_DILexicalBlock1 = unwrap_as<llvm::DILexicalBlock, llvm::DIDescriptor >::from(var_void);
        if(!var_llvm_DILexicalBlock1)
        {
            return NULL;
        }
        var_llvm_DILexicalBlock = var_llvm_DILexicalBlock1;
    }
    bool var_bool = var_llvm_DILexicalBlock->Verify();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_DILexicalBlock[] = {
    { "Verify", (PyCFunction)llvm_DILexicalBlock__Verify, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_DILexicalBlock[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_JITMemoryManager[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_JITMemoryManager[] = {
    { NULL }
};

static
PyObject*
llvm_GenericValue__toSignedInt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::GenericValue");
        if(!var_void)
        {
            puts("Error: llvm::GenericValue");
            return NULL;
        }
        llvm::GenericValue* var_llvm_GenericValue1 = unwrap_as<llvm::GenericValue, llvm::GenericValue >::from(var_void);
        if(!var_llvm_GenericValue1)
        {
            return NULL;
        }
        var_llvm_GenericValue = var_llvm_GenericValue1;
    }
    long long var_long_long = GenericValue_ToSignedInt(var_llvm_GenericValue);
    PyObject* var_PyObject1 = py_int_from_signed(var_long_long);
    return var_PyObject1;
}

static
PyObject*
llvm_GenericValue__CreateInt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
        if(!var_void)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    unsigned long long var_unsigned_long_long;
    int var_int = py_int_to(var_PyObject1, var_unsigned_long_long);
    if(!var_int)
    {
        return NULL;
    }
    bool var_bool;
    int var_int1 = py_bool_to(var_PyObject2, var_bool);
    if(!var_int1)
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = GenericValue_CreateInt(var_llvm_Type, var_unsigned_long_long, var_bool);
    PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::GenericValue >::from(var_llvm_GenericValue), "llvm::GenericValue", "llvm::GenericValue");
    if (!var_PyObject3)
    {
        return NULL;
    }
    return var_PyObject3;
}

static
PyObject*
llvm_GenericValue__CreateFloat(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    float var_float;
    int var_int = py_float_to(var_PyObject, var_float);
    if(!var_int)
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = GenericValue_CreateFloat(var_float);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::GenericValue >::from(var_llvm_GenericValue), "llvm::GenericValue", "llvm::GenericValue");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_GenericValue__toPointer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::GenericValue");
        if(!var_void)
        {
            puts("Error: llvm::GenericValue");
            return NULL;
        }
        llvm::GenericValue* var_llvm_GenericValue1 = unwrap_as<llvm::GenericValue, llvm::GenericValue >::from(var_void);
        if(!var_llvm_GenericValue1)
        {
            return NULL;
        }
        var_llvm_GenericValue = var_llvm_GenericValue1;
    }
    void* var_void1 = GenericValue_ToPointer(var_llvm_GenericValue);
    PyObject* var_PyObject1 = py_int_from_unsigned(var_void1);
    return var_PyObject1;
}

static
PyObject*
llvm_GenericValue__toFloat(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::GenericValue");
        if(!var_void)
        {
            puts("Error: llvm::GenericValue");
            return NULL;
        }
        llvm::GenericValue* var_llvm_GenericValue1 = unwrap_as<llvm::GenericValue, llvm::GenericValue >::from(var_void);
        if(!var_llvm_GenericValue1)
        {
            return NULL;
        }
        var_llvm_GenericValue = var_llvm_GenericValue1;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
        if(!var_void1)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    double var_double = GenericValue_ToFloat(var_llvm_GenericValue, var_llvm_Type);
    PyObject* var_PyObject2 = py_float_from(var_double);
    return var_PyObject2;
}

static
PyObject*
llvm_GenericValue__CreatePointer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void;
    int var_int = py_int_to(var_PyObject, var_void);
    if(!var_int)
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = GenericValue_CreatePointer(var_void);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::GenericValue >::from(var_llvm_GenericValue), "llvm::GenericValue", "llvm::GenericValue");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_GenericValue__valueIntWidth(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::GenericValue");
        if(!var_void)
        {
            puts("Error: llvm::GenericValue");
            return NULL;
        }
        llvm::GenericValue* var_llvm_GenericValue1 = unwrap_as<llvm::GenericValue, llvm::GenericValue >::from(var_void);
        if(!var_llvm_GenericValue1)
        {
            return NULL;
        }
        var_llvm_GenericValue = var_llvm_GenericValue1;
    }
    unsigned var_unsigned = GenericValue_ValueIntWidth(var_llvm_GenericValue);
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_GenericValue__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::GenericValue");
        if(!var_void)
        {
            puts("Error: llvm::GenericValue");
            return NULL;
        }
        llvm::GenericValue* var_llvm_GenericValue1 = unwrap_as<llvm::GenericValue, llvm::GenericValue >::from(var_void);
        if(!var_llvm_GenericValue1)
        {
            return NULL;
        }
        var_llvm_GenericValue = var_llvm_GenericValue1;
    }
    delete var_llvm_GenericValue;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_GenericValue__toUnsignedInt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::GenericValue");
        if(!var_void)
        {
            puts("Error: llvm::GenericValue");
            return NULL;
        }
        llvm::GenericValue* var_llvm_GenericValue1 = unwrap_as<llvm::GenericValue, llvm::GenericValue >::from(var_void);
        if(!var_llvm_GenericValue1)
        {
            return NULL;
        }
        var_llvm_GenericValue = var_llvm_GenericValue1;
    }
    unsigned long long var_unsigned_long_long = GenericValue_ToUnsignedInt(var_llvm_GenericValue);
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned_long_long);
    return var_PyObject1;
}

static
PyObject*
llvm_GenericValue__CreateDouble(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    float var_float;
    int var_int = py_float_to(var_PyObject, var_float);
    if(!var_int)
    {
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = GenericValue_CreateDouble(var_float);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::GenericValue >::from(var_llvm_GenericValue), "llvm::GenericValue", "llvm::GenericValue");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_GenericValue[] = {
    { "toSignedInt", (PyCFunction)llvm_GenericValue__toSignedInt, METH_VARARGS, NULL },
    { "CreateInt", (PyCFunction)llvm_GenericValue__CreateInt, METH_VARARGS, NULL },
    { "CreateFloat", (PyCFunction)llvm_GenericValue__CreateFloat, METH_VARARGS, NULL },
    { "toPointer", (PyCFunction)llvm_GenericValue__toPointer, METH_VARARGS, NULL },
    { "toFloat", (PyCFunction)llvm_GenericValue__toFloat, METH_VARARGS, NULL },
    { "CreatePointer", (PyCFunction)llvm_GenericValue__CreatePointer, METH_VARARGS, NULL },
    { "valueIntWidth", (PyCFunction)llvm_GenericValue__valueIntWidth, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_GenericValue__delete, METH_VARARGS, NULL },
    { "toUnsignedInt", (PyCFunction)llvm_GenericValue__toUnsignedInt, METH_VARARGS, NULL },
    { "CreateDouble", (PyCFunction)llvm_GenericValue__CreateDouble, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_GenericValue[] = {
    { NULL }
};

static
PyObject*
llvm_ExecutionEngine__freeMachineCodeForFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_ExecutionEngine->freeMachineCodeForFunction(var_llvm_Function);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__getPointerToGlobalIfAvailable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    void* var_void2 = var_llvm_ExecutionEngine->getPointerToGlobalIfAvailable(var_llvm_GlobalValue);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_void2);
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__RegisterTable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    void* var_void2;
    int var_int = py_int_to(var_PyObject2, var_void2);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_ExecutionEngine->RegisterTable(var_llvm_Function, var_void2);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__getPointerToFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    void* var_void2 = var_llvm_ExecutionEngine->getPointerToFunction(var_llvm_Function);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_void2);
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__FindFunctionNamed(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    const char* var_const_char;
    int var_int = py_str_to(var_PyObject1, var_const_char);
    if(!var_int)
    {
        return NULL;
    }
    llvm::Function* var_llvm_Function = var_llvm_ExecutionEngine->FindFunctionNamed(var_const_char);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Function), "llvm::Value", "llvm::Function");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__DisableGVCompilation(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_ExecutionEngine->DisableGVCompilation(var_bool);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__getPointerToBasicBlock(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    void* var_void2 = var_llvm_ExecutionEngine->getPointerToBasicBlock(var_llvm_BasicBlock);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_void2);
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__DisableLazyCompilation(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_ExecutionEngine->DisableLazyCompilation(var_bool);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__clearGlobalMappingsFromModule(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
        if(!var_void1)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    var_llvm_ExecutionEngine->clearGlobalMappingsFromModule(var_llvm_Module);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__create(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
            if(!var_void)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
            if(!var_llvm_Module1)
            {
                return NULL;
            }
            var_llvm_Module = var_llvm_Module1;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject1, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::CodeGenOpt::Level var_llvm_CodeGenOpt_Level = (llvm::CodeGenOpt::Level)PyInt_AsLong(var_PyObject3);
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject4, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine = ExecutionEngine_create(var_llvm_Module, var_bool, var_PyObject2, var_llvm_CodeGenOpt_Level, var_bool1);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject6))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject6, "llvm::Module");
            if(!var_void1)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module3 = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
            if(!var_llvm_Module3)
            {
                return NULL;
            }
            var_llvm_Module2 = var_llvm_Module3;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = ExecutionEngine_create(var_llvm_Module2);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine1), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module4 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject8, "llvm::Module");
            if(!var_void2)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module5 = unwrap_as<llvm::Module, llvm::Module >::from(var_void2);
            if(!var_llvm_Module5)
            {
                return NULL;
            }
            var_llvm_Module4 = var_llvm_Module5;
        }
        bool var_bool2;
        int var_int2 = py_bool_to(var_PyObject9, var_bool2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine2 = ExecutionEngine_create(var_llvm_Module4, var_bool2);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine2), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module6 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject11, "llvm::Module");
            if(!var_void3)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module7 = unwrap_as<llvm::Module, llvm::Module >::from(var_void3);
            if(!var_llvm_Module7)
            {
                return NULL;
            }
            var_llvm_Module6 = var_llvm_Module7;
        }
        bool var_bool3;
        int var_int3 = py_bool_to(var_PyObject12, var_bool3);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine3 = ExecutionEngine_create(var_llvm_Module6, var_bool3, var_PyObject13);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine3), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject15, &var_PyObject16, &var_PyObject17, &var_PyObject18))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module8 = NULL;
        if (var_PyObject15 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject15, "llvm::Module");
            if(!var_void4)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module9 = unwrap_as<llvm::Module, llvm::Module >::from(var_void4);
            if(!var_llvm_Module9)
            {
                return NULL;
            }
            var_llvm_Module8 = var_llvm_Module9;
        }
        bool var_bool4;
        int var_int4 = py_bool_to(var_PyObject16, var_bool4);
        if(!var_int4)
        {
            return NULL;
        }
        llvm::CodeGenOpt::Level var_llvm_CodeGenOpt_Level1 = (llvm::CodeGenOpt::Level)PyInt_AsLong(var_PyObject18);
        llvm::ExecutionEngine* var_llvm_ExecutionEngine4 = ExecutionEngine_create(var_llvm_Module8, var_bool4, var_PyObject17, var_llvm_CodeGenOpt_Level1);
        PyObject* var_PyObject19 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine4), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject19)
        {
            return NULL;
        }
        return var_PyObject19;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ExecutionEngine__getOrEmitGlobalVariable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::GlobalVariable* var_llvm_GlobalVariable = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalVariable* var_llvm_GlobalVariable1 = unwrap_as<llvm::GlobalVariable, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalVariable1)
        {
            return NULL;
        }
        var_llvm_GlobalVariable = var_llvm_GlobalVariable1;
    }
    void* var_void2 = var_llvm_ExecutionEngine->getOrEmitGlobalVariable(var_llvm_GlobalVariable);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_void2);
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__isLazyCompilationDisabled(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    bool var_bool = var_llvm_ExecutionEngine->isLazyCompilationDisabled();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ExecutionEngine__getPointerToFunctionOrStub(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    void* var_void2 = var_llvm_ExecutionEngine->getPointerToFunctionOrStub(var_llvm_Function);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_void2);
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__addGlobalMapping(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    void* var_void2;
    int var_int = py_int_to(var_PyObject2, var_void2);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_ExecutionEngine->addGlobalMapping(var_llvm_GlobalValue, var_void2);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__getGlobalValueAtAddress(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    void* var_void1;
    int var_int = py_int_to(var_PyObject1, var_void1);
    if(!var_int)
    {
        return NULL;
    }
    const llvm::GlobalValue* var_const_llvm_GlobalValue = var_llvm_ExecutionEngine->getGlobalValueAtAddress(var_void1);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_const_llvm_GlobalValue), "llvm::Value", "llvm::GlobalValue");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__recompileAndRelinkFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    void* var_void2 = var_llvm_ExecutionEngine->recompileAndRelinkFunction(var_llvm_Function);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_void2);
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__addModule(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
        if(!var_void1)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    var_llvm_ExecutionEngine->addModule(var_llvm_Module);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__isCompilingLazily(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    bool var_bool = var_llvm_ExecutionEngine->isCompilingLazily();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ExecutionEngine__finalizeObject(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    var_llvm_ExecutionEngine->finalizeObject();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__runJITOnFunction(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
            if(!var_void)
            {
                puts("Error: llvm::ExecutionEngine");
                return NULL;
            }
            llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
            if(!var_llvm_ExecutionEngine1)
            {
                return NULL;
            }
            var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
        }
        llvm::Function* var_llvm_Function = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
            if(!var_llvm_Function1)
            {
                return NULL;
            }
            var_llvm_Function = var_llvm_Function1;
        }
        llvm::MachineCodeInfo* var_llvm_MachineCodeInfo = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::MachineCodeInfo");
            if(!var_void2)
            {
                puts("Error: llvm::MachineCodeInfo");
                return NULL;
            }
            llvm::MachineCodeInfo* var_llvm_MachineCodeInfo1 = unwrap_as<llvm::MachineCodeInfo, llvm::MachineCodeInfo >::from(var_void2);
            if(!var_llvm_MachineCodeInfo1)
            {
                return NULL;
            }
            var_llvm_MachineCodeInfo = var_llvm_MachineCodeInfo1;
        }
        var_llvm_ExecutionEngine->runJITOnFunction(var_llvm_Function, var_llvm_MachineCodeInfo);
        Py_RETURN_NONE;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::ExecutionEngine");
            if(!var_void3)
            {
                puts("Error: llvm::ExecutionEngine");
                return NULL;
            }
            llvm::ExecutionEngine* var_llvm_ExecutionEngine3 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void3);
            if(!var_llvm_ExecutionEngine3)
            {
                return NULL;
            }
            var_llvm_ExecutionEngine2 = var_llvm_ExecutionEngine3;
        }
        llvm::Function* var_llvm_Function2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Function* var_llvm_Function3 = unwrap_as<llvm::Function, llvm::Value >::from(var_void4);
            if(!var_llvm_Function3)
            {
                return NULL;
            }
            var_llvm_Function2 = var_llvm_Function3;
        }
        var_llvm_ExecutionEngine2->runJITOnFunction(var_llvm_Function2);
        Py_RETURN_NONE;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ExecutionEngine____runFunction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    PyObject* var_PyObject3 = ExecutionEngine_RunFunction(var_llvm_ExecutionEngine, var_llvm_Function, var_PyObject2);
    return var_PyObject3;
}

static
PyObject*
llvm_ExecutionEngine____removeModule(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
        if(!var_void1)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    bool var_bool = var_llvm_ExecutionEngine->removeModule(var_llvm_Module);
    PyObject* var_PyObject2 = py_bool_from(var_bool);
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__InitializeMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Constant* var_llvm_Constant = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Constant* var_llvm_Constant1 = unwrap_as<llvm::Constant, llvm::Value >::from(var_void1);
        if(!var_llvm_Constant1)
        {
            return NULL;
        }
        var_llvm_Constant = var_llvm_Constant1;
    }
    void* var_void2;
    int var_int = py_int_to(var_PyObject2, var_void2);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_ExecutionEngine->InitializeMemory(var_llvm_Constant, var_void2);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__StoreValueToMemory(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::GenericValue");
    if(!var_void1)
    {
        puts("Error: llvm::GenericValue");
        return NULL;
    }
    llvm::GenericValue* var_llvm_GenericValue = unwrap_as<llvm::GenericValue, llvm::GenericValue >::from(var_void1);
    if(!var_llvm_GenericValue)
    {
        return NULL;
    }
    llvm::GenericValue& var_llvm_GenericValue1 = *var_llvm_GenericValue;
    llvm::GenericValue* var_llvm_GenericValue2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::GenericValue");
        if(!var_void2)
        {
            puts("Error: llvm::GenericValue");
            return NULL;
        }
        llvm::GenericValue* var_llvm_GenericValue3 = unwrap_as<llvm::GenericValue, llvm::GenericValue >::from(var_void2);
        if(!var_llvm_GenericValue3)
        {
            return NULL;
        }
        var_llvm_GenericValue2 = var_llvm_GenericValue3;
    }
    llvm::Type* var_llvm_Type = NULL;
    if (var_PyObject3 != Py_None)
    {
        void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Type");
        if(!var_void3)
        {
            puts("Error: llvm::Type");
            return NULL;
        }
        llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void3);
        if(!var_llvm_Type1)
        {
            return NULL;
        }
        var_llvm_Type = var_llvm_Type1;
    }
    var_llvm_ExecutionEngine->StoreValueToMemory(var_llvm_GenericValue1, var_llvm_GenericValue2, var_llvm_Type);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__updateGlobalMapping(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    void* var_void2;
    int var_int = py_int_to(var_PyObject2, var_void2);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void3 = var_llvm_ExecutionEngine->updateGlobalMapping(var_llvm_GlobalValue, var_void2);
    PyObject* var_PyObject3 = py_int_from_unsigned(var_void3);
    return var_PyObject3;
}

static
PyObject*
llvm_ExecutionEngine__DeregisterTable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::Function* var_llvm_Function = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Function* var_llvm_Function1 = unwrap_as<llvm::Function, llvm::Value >::from(var_void1);
        if(!var_llvm_Function1)
        {
            return NULL;
        }
        var_llvm_Function = var_llvm_Function1;
    }
    var_llvm_ExecutionEngine->DeregisterTable(var_llvm_Function);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__clearAllGlobalMappings(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    var_llvm_ExecutionEngine->clearAllGlobalMappings();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__getDataLayout(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    const llvm::DataLayout* var_const_llvm_DataLayout = var_llvm_ExecutionEngine->getDataLayout();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_const_llvm_DataLayout), "llvm::Pass", "llvm::DataLayout");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_ExecutionEngine__createJIT(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (7 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OOOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
            if(!var_void)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
            if(!var_llvm_Module1)
            {
                return NULL;
            }
            var_llvm_Module = var_llvm_Module1;
        }
        llvm::JITMemoryManager* var_llvm_JITMemoryManager = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::JITMemoryManager");
            if(!var_void1)
            {
                puts("Error: llvm::JITMemoryManager");
                return NULL;
            }
            llvm::JITMemoryManager* var_llvm_JITMemoryManager1 = unwrap_as<llvm::JITMemoryManager, llvm::JITMemoryManager >::from(var_void1);
            if(!var_llvm_JITMemoryManager1)
            {
                return NULL;
            }
            var_llvm_JITMemoryManager = var_llvm_JITMemoryManager1;
        }
        llvm::CodeGenOpt::Level var_llvm_CodeGenOpt_Level = (llvm::CodeGenOpt::Level)PyInt_AsLong(var_PyObject3);
        bool var_bool;
        int var_int = py_bool_to(var_PyObject4, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Reloc::Model var_llvm_Reloc_Model = (llvm::Reloc::Model)PyInt_AsLong(var_PyObject5);
        llvm::CodeModel::Model var_llvm_CodeModel_Model = (llvm::CodeModel::Model)PyInt_AsLong(var_PyObject6);
        llvm::ExecutionEngine* var_llvm_ExecutionEngine = ExecutionEngine_createJIT(var_llvm_Module, var_PyObject1, var_llvm_JITMemoryManager, var_llvm_CodeGenOpt_Level, var_bool, var_llvm_Reloc_Model, var_llvm_CodeModel_Model);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject8))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module2 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject8, "llvm::Module");
            if(!var_void2)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module3 = unwrap_as<llvm::Module, llvm::Module >::from(var_void2);
            if(!var_llvm_Module3)
            {
                return NULL;
            }
            var_llvm_Module2 = var_llvm_Module3;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = ExecutionEngine_createJIT(var_llvm_Module2);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine1), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject10, &var_PyObject11))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject10, "llvm::Module");
            if(!var_void3)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module5 = unwrap_as<llvm::Module, llvm::Module >::from(var_void3);
            if(!var_llvm_Module5)
            {
                return NULL;
            }
            var_llvm_Module4 = var_llvm_Module5;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine2 = ExecutionEngine_createJIT(var_llvm_Module4, var_PyObject11);
        PyObject* var_PyObject12 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine2), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject12)
        {
            return NULL;
        }
        return var_PyObject12;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject13, &var_PyObject14, &var_PyObject15))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module6 = NULL;
        if (var_PyObject13 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject13, "llvm::Module");
            if(!var_void4)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module7 = unwrap_as<llvm::Module, llvm::Module >::from(var_void4);
            if(!var_llvm_Module7)
            {
                return NULL;
            }
            var_llvm_Module6 = var_llvm_Module7;
        }
        llvm::JITMemoryManager* var_llvm_JITMemoryManager2 = NULL;
        if (var_PyObject15 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject15, "llvm::JITMemoryManager");
            if(!var_void5)
            {
                puts("Error: llvm::JITMemoryManager");
                return NULL;
            }
            llvm::JITMemoryManager* var_llvm_JITMemoryManager3 = unwrap_as<llvm::JITMemoryManager, llvm::JITMemoryManager >::from(var_void5);
            if(!var_llvm_JITMemoryManager3)
            {
                return NULL;
            }
            var_llvm_JITMemoryManager2 = var_llvm_JITMemoryManager3;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine3 = ExecutionEngine_createJIT(var_llvm_Module6, var_PyObject14, var_llvm_JITMemoryManager2);
        PyObject* var_PyObject16 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine3), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject16)
        {
            return NULL;
        }
        return var_PyObject16;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module8 = NULL;
        if (var_PyObject17 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject17, "llvm::Module");
            if(!var_void6)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module9 = unwrap_as<llvm::Module, llvm::Module >::from(var_void6);
            if(!var_llvm_Module9)
            {
                return NULL;
            }
            var_llvm_Module8 = var_llvm_Module9;
        }
        llvm::JITMemoryManager* var_llvm_JITMemoryManager4 = NULL;
        if (var_PyObject19 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject19, "llvm::JITMemoryManager");
            if(!var_void7)
            {
                puts("Error: llvm::JITMemoryManager");
                return NULL;
            }
            llvm::JITMemoryManager* var_llvm_JITMemoryManager5 = unwrap_as<llvm::JITMemoryManager, llvm::JITMemoryManager >::from(var_void7);
            if(!var_llvm_JITMemoryManager5)
            {
                return NULL;
            }
            var_llvm_JITMemoryManager4 = var_llvm_JITMemoryManager5;
        }
        llvm::CodeGenOpt::Level var_llvm_CodeGenOpt_Level1 = (llvm::CodeGenOpt::Level)PyInt_AsLong(var_PyObject20);
        llvm::ExecutionEngine* var_llvm_ExecutionEngine4 = ExecutionEngine_createJIT(var_llvm_Module8, var_PyObject18, var_llvm_JITMemoryManager4, var_llvm_CodeGenOpt_Level1);
        PyObject* var_PyObject21 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine4), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject21)
        {
            return NULL;
        }
        return var_PyObject21;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject22;
        PyObject* var_PyObject23;
        PyObject* var_PyObject24;
        PyObject* var_PyObject25;
        PyObject* var_PyObject26;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject22, &var_PyObject23, &var_PyObject24, &var_PyObject25, &var_PyObject26))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module10 = NULL;
        if (var_PyObject22 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject22, "llvm::Module");
            if(!var_void8)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module11 = unwrap_as<llvm::Module, llvm::Module >::from(var_void8);
            if(!var_llvm_Module11)
            {
                return NULL;
            }
            var_llvm_Module10 = var_llvm_Module11;
        }
        llvm::JITMemoryManager* var_llvm_JITMemoryManager6 = NULL;
        if (var_PyObject24 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject24, "llvm::JITMemoryManager");
            if(!var_void9)
            {
                puts("Error: llvm::JITMemoryManager");
                return NULL;
            }
            llvm::JITMemoryManager* var_llvm_JITMemoryManager7 = unwrap_as<llvm::JITMemoryManager, llvm::JITMemoryManager >::from(var_void9);
            if(!var_llvm_JITMemoryManager7)
            {
                return NULL;
            }
            var_llvm_JITMemoryManager6 = var_llvm_JITMemoryManager7;
        }
        llvm::CodeGenOpt::Level var_llvm_CodeGenOpt_Level2 = (llvm::CodeGenOpt::Level)PyInt_AsLong(var_PyObject25);
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject26, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine5 = ExecutionEngine_createJIT(var_llvm_Module10, var_PyObject23, var_llvm_JITMemoryManager6, var_llvm_CodeGenOpt_Level2, var_bool1);
        PyObject* var_PyObject27 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine5), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject27)
        {
            return NULL;
        }
        return var_PyObject27;
    }
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject28;
        PyObject* var_PyObject29;
        PyObject* var_PyObject30;
        PyObject* var_PyObject31;
        PyObject* var_PyObject32;
        PyObject* var_PyObject33;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject28, &var_PyObject29, &var_PyObject30, &var_PyObject31, &var_PyObject32, &var_PyObject33))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module12 = NULL;
        if (var_PyObject28 != Py_None)
        {
            void* var_void10 = PyCapsule_GetPointer(var_PyObject28, "llvm::Module");
            if(!var_void10)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module13 = unwrap_as<llvm::Module, llvm::Module >::from(var_void10);
            if(!var_llvm_Module13)
            {
                return NULL;
            }
            var_llvm_Module12 = var_llvm_Module13;
        }
        llvm::JITMemoryManager* var_llvm_JITMemoryManager8 = NULL;
        if (var_PyObject30 != Py_None)
        {
            void* var_void11 = PyCapsule_GetPointer(var_PyObject30, "llvm::JITMemoryManager");
            if(!var_void11)
            {
                puts("Error: llvm::JITMemoryManager");
                return NULL;
            }
            llvm::JITMemoryManager* var_llvm_JITMemoryManager9 = unwrap_as<llvm::JITMemoryManager, llvm::JITMemoryManager >::from(var_void11);
            if(!var_llvm_JITMemoryManager9)
            {
                return NULL;
            }
            var_llvm_JITMemoryManager8 = var_llvm_JITMemoryManager9;
        }
        llvm::CodeGenOpt::Level var_llvm_CodeGenOpt_Level3 = (llvm::CodeGenOpt::Level)PyInt_AsLong(var_PyObject31);
        bool var_bool2;
        int var_int2 = py_bool_to(var_PyObject32, var_bool2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Reloc::Model var_llvm_Reloc_Model1 = (llvm::Reloc::Model)PyInt_AsLong(var_PyObject33);
        llvm::ExecutionEngine* var_llvm_ExecutionEngine6 = ExecutionEngine_createJIT(var_llvm_Module12, var_PyObject29, var_llvm_JITMemoryManager8, var_llvm_CodeGenOpt_Level3, var_bool2, var_llvm_Reloc_Model1);
        PyObject* var_PyObject34 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine6), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject34)
        {
            return NULL;
        }
        return var_PyObject34;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ExecutionEngine__DeregisterAllTables(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    var_llvm_ExecutionEngine->DeregisterAllTables();
    Py_RETURN_NONE;
}

static
PyObject*
llvm_ExecutionEngine__isSymbolSearchingDisabled(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    bool var_bool = var_llvm_ExecutionEngine->isSymbolSearchingDisabled();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_ExecutionEngine__runStaticConstructorsDestructors(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
            if(!var_void)
            {
                puts("Error: llvm::ExecutionEngine");
                return NULL;
            }
            llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
            if(!var_llvm_ExecutionEngine1)
            {
                return NULL;
            }
            var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject1, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine->runStaticConstructorsDestructors(var_bool);
        Py_RETURN_NONE;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::ExecutionEngine");
            if(!var_void1)
            {
                puts("Error: llvm::ExecutionEngine");
                return NULL;
            }
            llvm::ExecutionEngine* var_llvm_ExecutionEngine3 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void1);
            if(!var_llvm_ExecutionEngine3)
            {
                return NULL;
            }
            var_llvm_ExecutionEngine2 = var_llvm_ExecutionEngine3;
        }
        llvm::Module* var_llvm_Module = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::Module");
            if(!var_void2)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void2);
            if(!var_llvm_Module1)
            {
                return NULL;
            }
            var_llvm_Module = var_llvm_Module1;
        }
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject4, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine2->runStaticConstructorsDestructors(var_llvm_Module, var_bool1);
        Py_RETURN_NONE;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ExecutionEngine__getPointerToGlobal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    llvm::GlobalValue* var_llvm_GlobalValue = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::GlobalValue* var_llvm_GlobalValue1 = unwrap_as<llvm::GlobalValue, llvm::Value >::from(var_void1);
        if(!var_llvm_GlobalValue1)
        {
            return NULL;
        }
        var_llvm_GlobalValue = var_llvm_GlobalValue1;
    }
    void* var_void2 = var_llvm_ExecutionEngine->getPointerToGlobal(var_llvm_GlobalValue);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_void2);
    return var_PyObject2;
}

static
PyObject*
llvm_ExecutionEngine__getPointerToNamedFunction(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
            if(!var_void)
            {
                puts("Error: llvm::ExecutionEngine");
                return NULL;
            }
            llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
            if(!var_llvm_ExecutionEngine1)
            {
                return NULL;
            }
            var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
        }
        std::string var_std_string;
        int var_int = py_str_to(var_PyObject1, var_std_string);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject2, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        void* var_void1 = var_llvm_ExecutionEngine->getPointerToNamedFunction(var_std_string, var_bool);
        PyObject* var_PyObject3 = py_int_from_unsigned(var_void1);
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::ExecutionEngine");
            if(!var_void2)
            {
                puts("Error: llvm::ExecutionEngine");
                return NULL;
            }
            llvm::ExecutionEngine* var_llvm_ExecutionEngine3 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void2);
            if(!var_llvm_ExecutionEngine3)
            {
                return NULL;
            }
            var_llvm_ExecutionEngine2 = var_llvm_ExecutionEngine3;
        }
        std::string var_std_string1;
        int var_int2 = py_str_to(var_PyObject5, var_std_string1);
        if(!var_int2)
        {
            return NULL;
        }
        void* var_void3 = var_llvm_ExecutionEngine2->getPointerToNamedFunction(var_std_string1);
        PyObject* var_PyObject6 = py_int_from_unsigned(var_void3);
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_ExecutionEngine__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::ExecutionEngine* var_llvm_ExecutionEngine = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::ExecutionEngine");
        if(!var_void)
        {
            puts("Error: llvm::ExecutionEngine");
            return NULL;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = unwrap_as<llvm::ExecutionEngine, llvm::ExecutionEngine >::from(var_void);
        if(!var_llvm_ExecutionEngine1)
        {
            return NULL;
        }
        var_llvm_ExecutionEngine = var_llvm_ExecutionEngine1;
    }
    delete var_llvm_ExecutionEngine;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_ExecutionEngine[] = {
    { "freeMachineCodeForFunction", (PyCFunction)llvm_ExecutionEngine__freeMachineCodeForFunction, METH_VARARGS, NULL },
    { "getPointerToGlobalIfAvailable", (PyCFunction)llvm_ExecutionEngine__getPointerToGlobalIfAvailable, METH_VARARGS, NULL },
    { "RegisterTable", (PyCFunction)llvm_ExecutionEngine__RegisterTable, METH_VARARGS, NULL },
    { "getPointerToFunction", (PyCFunction)llvm_ExecutionEngine__getPointerToFunction, METH_VARARGS, NULL },
    { "FindFunctionNamed", (PyCFunction)llvm_ExecutionEngine__FindFunctionNamed, METH_VARARGS, NULL },
    { "DisableGVCompilation", (PyCFunction)llvm_ExecutionEngine__DisableGVCompilation, METH_VARARGS, NULL },
    { "getPointerToBasicBlock", (PyCFunction)llvm_ExecutionEngine__getPointerToBasicBlock, METH_VARARGS, NULL },
    { "DisableLazyCompilation", (PyCFunction)llvm_ExecutionEngine__DisableLazyCompilation, METH_VARARGS, NULL },
    { "clearGlobalMappingsFromModule", (PyCFunction)llvm_ExecutionEngine__clearGlobalMappingsFromModule, METH_VARARGS, NULL },
    { "create", (PyCFunction)llvm_ExecutionEngine__create, METH_VARARGS, NULL },
    { "getOrEmitGlobalVariable", (PyCFunction)llvm_ExecutionEngine__getOrEmitGlobalVariable, METH_VARARGS, NULL },
    { "isLazyCompilationDisabled", (PyCFunction)llvm_ExecutionEngine__isLazyCompilationDisabled, METH_VARARGS, NULL },
    { "getPointerToFunctionOrStub", (PyCFunction)llvm_ExecutionEngine__getPointerToFunctionOrStub, METH_VARARGS, NULL },
    { "addGlobalMapping", (PyCFunction)llvm_ExecutionEngine__addGlobalMapping, METH_VARARGS, NULL },
    { "getGlobalValueAtAddress", (PyCFunction)llvm_ExecutionEngine__getGlobalValueAtAddress, METH_VARARGS, NULL },
    { "recompileAndRelinkFunction", (PyCFunction)llvm_ExecutionEngine__recompileAndRelinkFunction, METH_VARARGS, NULL },
    { "addModule", (PyCFunction)llvm_ExecutionEngine__addModule, METH_VARARGS, NULL },
    { "isCompilingLazily", (PyCFunction)llvm_ExecutionEngine__isCompilingLazily, METH_VARARGS, NULL },
    { "finalizeObject", (PyCFunction)llvm_ExecutionEngine__finalizeObject, METH_VARARGS, NULL },
    { "runJITOnFunction", (PyCFunction)llvm_ExecutionEngine__runJITOnFunction, METH_VARARGS, NULL },
    { "_runFunction", (PyCFunction)llvm_ExecutionEngine____runFunction, METH_VARARGS, NULL },
    { "_removeModule", (PyCFunction)llvm_ExecutionEngine____removeModule, METH_VARARGS, NULL },
    { "InitializeMemory", (PyCFunction)llvm_ExecutionEngine__InitializeMemory, METH_VARARGS, NULL },
    { "StoreValueToMemory", (PyCFunction)llvm_ExecutionEngine__StoreValueToMemory, METH_VARARGS, NULL },
    { "updateGlobalMapping", (PyCFunction)llvm_ExecutionEngine__updateGlobalMapping, METH_VARARGS, NULL },
    { "DeregisterTable", (PyCFunction)llvm_ExecutionEngine__DeregisterTable, METH_VARARGS, NULL },
    { "clearAllGlobalMappings", (PyCFunction)llvm_ExecutionEngine__clearAllGlobalMappings, METH_VARARGS, NULL },
    { "getDataLayout", (PyCFunction)llvm_ExecutionEngine__getDataLayout, METH_VARARGS, NULL },
    { "createJIT", (PyCFunction)llvm_ExecutionEngine__createJIT, METH_VARARGS, NULL },
    { "DeregisterAllTables", (PyCFunction)llvm_ExecutionEngine__DeregisterAllTables, METH_VARARGS, NULL },
    { "isSymbolSearchingDisabled", (PyCFunction)llvm_ExecutionEngine__isSymbolSearchingDisabled, METH_VARARGS, NULL },
    { "runStaticConstructorsDestructors", (PyCFunction)llvm_ExecutionEngine__runStaticConstructorsDestructors, METH_VARARGS, NULL },
    { "getPointerToGlobal", (PyCFunction)llvm_ExecutionEngine__getPointerToGlobal, METH_VARARGS, NULL },
    { "getPointerToNamedFunction", (PyCFunction)llvm_ExecutionEngine__getPointerToNamedFunction, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_ExecutionEngine__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_ExecutionEngine[] = {
    { NULL }
};

static
PyObject*
llvm_EngineBuilder__setAllocateGVsWithCode(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    llvm::EngineBuilder& var_llvm_EngineBuilder2 = var_llvm_EngineBuilder->setAllocateGVsWithCode(var_bool);
    const llvm::EngineBuilder* var_const_llvm_EngineBuilder = &var_llvm_EngineBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_const_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder____setMAttrs(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    PyObject* var_PyObject2 = EngineBuilder_setMAttrs(var_llvm_EngineBuilder, var_PyObject1);
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder____selectTarget0(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    llvm::TargetMachine* var_llvm_TargetMachine = var_llvm_EngineBuilder->selectTarget();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::TargetMachine >::from(var_llvm_TargetMachine), "llvm::TargetMachine", "llvm::TargetMachine");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_EngineBuilder__setMCPU(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::EngineBuilder& var_llvm_EngineBuilder2 = var_llvm_EngineBuilder->setMCPU(var_llvm_StringRef);
    const llvm::EngineBuilder* var_const_llvm_EngineBuilder = &var_llvm_EngineBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_const_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder__setRelocationModel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    llvm::Reloc::Model var_llvm_Reloc_Model = (llvm::Reloc::Model)PyInt_AsLong(var_PyObject1);
    llvm::EngineBuilder& var_llvm_EngineBuilder2 = var_llvm_EngineBuilder->setRelocationModel(var_llvm_Reloc_Model);
    const llvm::EngineBuilder* var_const_llvm_EngineBuilder = &var_llvm_EngineBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_const_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder__setMArch(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::EngineBuilder& var_llvm_EngineBuilder2 = var_llvm_EngineBuilder->setMArch(var_llvm_StringRef);
    const llvm::EngineBuilder* var_const_llvm_EngineBuilder = &var_llvm_EngineBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_const_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder__create(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
            if(!var_void)
            {
                puts("Error: llvm::EngineBuilder");
                return NULL;
            }
            llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
            if(!var_llvm_EngineBuilder1)
            {
                return NULL;
            }
            var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
        }
        llvm::TargetMachine* var_llvm_TargetMachine = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::TargetMachine");
            if(!var_void1)
            {
                puts("Error: llvm::TargetMachine");
                return NULL;
            }
            llvm::TargetMachine* var_llvm_TargetMachine1 = unwrap_as<llvm::TargetMachine, llvm::TargetMachine >::from(var_void1);
            if(!var_llvm_TargetMachine1)
            {
                return NULL;
            }
            var_llvm_TargetMachine = var_llvm_TargetMachine1;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine = var_llvm_EngineBuilder->create(var_llvm_TargetMachine);
        PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject2)
        {
            return NULL;
        }
        return var_PyObject2;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject3))
        {
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::EngineBuilder");
            if(!var_void2)
            {
                puts("Error: llvm::EngineBuilder");
                return NULL;
            }
            llvm::EngineBuilder* var_llvm_EngineBuilder3 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void2);
            if(!var_llvm_EngineBuilder3)
            {
                return NULL;
            }
            var_llvm_EngineBuilder2 = var_llvm_EngineBuilder3;
        }
        llvm::ExecutionEngine* var_llvm_ExecutionEngine1 = var_llvm_EngineBuilder2->create();
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::ExecutionEngine >::from(var_llvm_ExecutionEngine1), "llvm::ExecutionEngine", "llvm::ExecutionEngine");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_EngineBuilder____selectTarget1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    PyObject* var_PyObject4;
    if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Triple");
    if(!var_void1)
    {
        puts("Error: llvm::Triple");
        return NULL;
    }
    llvm::Triple* var_llvm_Triple = unwrap_as<llvm::Triple, llvm::Triple >::from(var_void1);
    if(!var_llvm_Triple)
    {
        return NULL;
    }
    const llvm::Triple& var_const_llvm_Triple = *var_llvm_Triple;
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef1;
    int var_int1 = py_str_to(var_PyObject3, var_llvm_StringRef1);
    if(!var_int1)
    {
        return NULL;
    }
    PyObject* var_PyObject5 = EngineBuilder_selectTarget(var_llvm_EngineBuilder, var_const_llvm_Triple, var_llvm_StringRef, var_llvm_StringRef1, var_PyObject4);
    return var_PyObject5;
}

static
PyObject*
llvm_EngineBuilder__setCodeModel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    llvm::CodeModel::Model var_llvm_CodeModel_Model = (llvm::CodeModel::Model)PyInt_AsLong(var_PyObject1);
    llvm::EngineBuilder& var_llvm_EngineBuilder2 = var_llvm_EngineBuilder->setCodeModel(var_llvm_CodeModel_Model);
    const llvm::EngineBuilder* var_const_llvm_EngineBuilder = &var_llvm_EngineBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_const_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder__setOptLevel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    llvm::CodeGenOpt::Level var_llvm_CodeGenOpt_Level = (llvm::CodeGenOpt::Level)PyInt_AsLong(var_PyObject1);
    llvm::EngineBuilder& var_llvm_EngineBuilder2 = var_llvm_EngineBuilder->setOptLevel(var_llvm_CodeGenOpt_Level);
    const llvm::EngineBuilder* var_const_llvm_EngineBuilder = &var_llvm_EngineBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_const_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder__setEngineKind(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    llvm::EngineKind::Kind var_llvm_EngineKind_Kind = (llvm::EngineKind::Kind)PyInt_AsLong(var_PyObject1);
    llvm::EngineBuilder& var_llvm_EngineBuilder2 = var_llvm_EngineBuilder->setEngineKind(var_llvm_EngineKind_Kind);
    const llvm::EngineBuilder* var_const_llvm_EngineBuilder = &var_llvm_EngineBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_const_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder__setJITMemoryManager(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    llvm::JITMemoryManager* var_llvm_JITMemoryManager = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::JITMemoryManager");
        if(!var_void1)
        {
            puts("Error: llvm::JITMemoryManager");
            return NULL;
        }
        llvm::JITMemoryManager* var_llvm_JITMemoryManager1 = unwrap_as<llvm::JITMemoryManager, llvm::JITMemoryManager >::from(var_void1);
        if(!var_llvm_JITMemoryManager1)
        {
            return NULL;
        }
        var_llvm_JITMemoryManager = var_llvm_JITMemoryManager1;
    }
    llvm::EngineBuilder& var_llvm_EngineBuilder2 = var_llvm_EngineBuilder->setJITMemoryManager(var_llvm_JITMemoryManager);
    const llvm::EngineBuilder* var_const_llvm_EngineBuilder = &var_llvm_EngineBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_const_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder__setUseMCJIT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    bool var_bool;
    int var_int = py_bool_to(var_PyObject1, var_bool);
    if(!var_int)
    {
        return NULL;
    }
    llvm::EngineBuilder& var_llvm_EngineBuilder2 = var_llvm_EngineBuilder->setUseMCJIT(var_bool);
    const llvm::EngineBuilder* var_const_llvm_EngineBuilder = &var_llvm_EngineBuilder2;
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_const_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_EngineBuilder__new(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = new llvm::EngineBuilder(var_llvm_Module);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::EngineBuilder >::from(var_llvm_EngineBuilder), "llvm::EngineBuilder", "llvm::EngineBuilder");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_EngineBuilder__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::EngineBuilder* var_llvm_EngineBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::EngineBuilder");
        if(!var_void)
        {
            puts("Error: llvm::EngineBuilder");
            return NULL;
        }
        llvm::EngineBuilder* var_llvm_EngineBuilder1 = unwrap_as<llvm::EngineBuilder, llvm::EngineBuilder >::from(var_void);
        if(!var_llvm_EngineBuilder1)
        {
            return NULL;
        }
        var_llvm_EngineBuilder = var_llvm_EngineBuilder1;
    }
    delete var_llvm_EngineBuilder;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_EngineBuilder[] = {
    { "setAllocateGVsWithCode", (PyCFunction)llvm_EngineBuilder__setAllocateGVsWithCode, METH_VARARGS, NULL },
    { "_setMAttrs", (PyCFunction)llvm_EngineBuilder____setMAttrs, METH_VARARGS, NULL },
    { "_selectTarget0", (PyCFunction)llvm_EngineBuilder____selectTarget0, METH_VARARGS, NULL },
    { "setMCPU", (PyCFunction)llvm_EngineBuilder__setMCPU, METH_VARARGS, NULL },
    { "setRelocationModel", (PyCFunction)llvm_EngineBuilder__setRelocationModel, METH_VARARGS, NULL },
    { "setMArch", (PyCFunction)llvm_EngineBuilder__setMArch, METH_VARARGS, NULL },
    { "create", (PyCFunction)llvm_EngineBuilder__create, METH_VARARGS, NULL },
    { "_selectTarget1", (PyCFunction)llvm_EngineBuilder____selectTarget1, METH_VARARGS, NULL },
    { "setCodeModel", (PyCFunction)llvm_EngineBuilder__setCodeModel, METH_VARARGS, NULL },
    { "setOptLevel", (PyCFunction)llvm_EngineBuilder__setOptLevel, METH_VARARGS, NULL },
    { "setEngineKind", (PyCFunction)llvm_EngineBuilder__setEngineKind, METH_VARARGS, NULL },
    { "setJITMemoryManager", (PyCFunction)llvm_EngineBuilder__setJITMemoryManager, METH_VARARGS, NULL },
    { "setUseMCJIT", (PyCFunction)llvm_EngineBuilder__setUseMCJIT, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_EngineBuilder__new, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_EngineBuilder__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_EngineBuilder[] = {
    { NULL }
};

static
PyObject*
llvm_IRBuilder__CreateInsertElement(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value6 = var_llvm_IRBuilder->CreateInsertElement(var_llvm_Value, var_llvm_Value2, var_llvm_Value4, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value6), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value10 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value10)
            {
                return NULL;
            }
            var_llvm_Value9 = var_llvm_Value10;
        }
        llvm::Value* var_llvm_Value11 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value12 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value12)
            {
                return NULL;
            }
            var_llvm_Value11 = var_llvm_Value12;
        }
        llvm::Value* var_llvm_Value13 = var_llvm_IRBuilder2->CreateInsertElement(var_llvm_Value7, var_llvm_Value9, var_llvm_Value11);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value13), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateSwitch(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::BasicBlock* var_llvm_BasicBlock = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void2);
            if(!var_llvm_BasicBlock1)
            {
                return NULL;
            }
            var_llvm_BasicBlock = var_llvm_BasicBlock1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject3, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void3);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::SwitchInst* var_llvm_SwitchInst = var_llvm_IRBuilder->CreateSwitch(var_llvm_Value, var_llvm_BasicBlock, var_unsigned, var_llvm_MDNode);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_SwitchInst), "llvm::Value", "llvm::SwitchInst");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::BasicBlock* var_llvm_BasicBlock2 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock3 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void6);
            if(!var_llvm_BasicBlock3)
            {
                return NULL;
            }
            var_llvm_BasicBlock2 = var_llvm_BasicBlock3;
        }
        llvm::SwitchInst* var_llvm_SwitchInst1 = var_llvm_IRBuilder2->CreateSwitch(var_llvm_Value2, var_llvm_BasicBlock2);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_SwitchInst1), "llvm::Value", "llvm::SwitchInst");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void7)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void7);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        llvm::BasicBlock* var_llvm_BasicBlock4 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void9)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock5 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void9);
            if(!var_llvm_BasicBlock5)
            {
                return NULL;
            }
            var_llvm_BasicBlock4 = var_llvm_BasicBlock5;
        }
        unsigned var_unsigned1;
        int var_int1 = py_int_to(var_PyObject13, var_unsigned1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::SwitchInst* var_llvm_SwitchInst2 = var_llvm_IRBuilder4->CreateSwitch(var_llvm_Value4, var_llvm_BasicBlock4, var_unsigned1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_SwitchInst2), "llvm::Value", "llvm::SwitchInst");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateLoad(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst = var_llvm_IRBuilder->CreateLoad(var_llvm_Value, var_llvm_StringRef);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LoadInst), "llvm::Value", "llvm::LoadInst");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = var_llvm_IRBuilder2->CreateLoad(var_llvm_Value2);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LoadInst1), "llvm::Value", "llvm::LoadInst");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder____CreateInvoke(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::BasicBlock* var_llvm_BasicBlock = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void2);
            if(!var_llvm_BasicBlock1)
            {
                return NULL;
            }
            var_llvm_BasicBlock = var_llvm_BasicBlock1;
        }
        llvm::BasicBlock* var_llvm_BasicBlock2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock3 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void3);
            if(!var_llvm_BasicBlock3)
            {
                return NULL;
            }
            var_llvm_BasicBlock2 = var_llvm_BasicBlock3;
        }
        void* var_void4 = PyCapsule_GetPointer(var_PyObject4, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void4)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_8 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void4);
        if(!var_llvm_SmallVectorllvm_Value_8)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_81 = *var_llvm_SmallVectorllvm_Value_8;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject5, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::InvokeInst* var_llvm_InvokeInst = var_llvm_IRBuilder->CreateInvoke(var_llvm_Value, var_llvm_BasicBlock, var_llvm_BasicBlock2, var_llvm_SmallVectorllvm_Value_81, var_llvm_StringRef);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InvokeInst), "llvm::Value", "llvm::InvokeInst");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject7, &var_PyObject8, &var_PyObject9, &var_PyObject10, &var_PyObject11))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::IRBuilder<>");
            if(!var_void5)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void5);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::BasicBlock* var_llvm_BasicBlock4 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock5 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void7);
            if(!var_llvm_BasicBlock5)
            {
                return NULL;
            }
            var_llvm_BasicBlock4 = var_llvm_BasicBlock5;
        }
        llvm::BasicBlock* var_llvm_BasicBlock6 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject10, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock7 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void8);
            if(!var_llvm_BasicBlock7)
            {
                return NULL;
            }
            var_llvm_BasicBlock6 = var_llvm_BasicBlock7;
        }
        void* var_void9 = PyCapsule_GetPointer(var_PyObject11, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void9)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_82 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void9);
        if(!var_llvm_SmallVectorllvm_Value_82)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_83 = *var_llvm_SmallVectorllvm_Value_82;
        llvm::InvokeInst* var_llvm_InvokeInst1 = var_llvm_IRBuilder2->CreateInvoke(var_llvm_Value2, var_llvm_BasicBlock4, var_llvm_BasicBlock6, var_llvm_SmallVectorllvm_Value_83);
        PyObject* var_PyObject12 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InvokeInst1), "llvm::Value", "llvm::InvokeInst");
        if (!var_PyObject12)
        {
            return NULL;
        }
        return var_PyObject12;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFPToUI(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateFPToUI(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateFPToUI(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder____CreateInBoundsGEP(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void2)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_8 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void2);
        if(!var_llvm_SmallVectorllvm_Value_8)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_81 = *var_llvm_SmallVectorllvm_Value_8;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateInBoundsGEP(var_llvm_Value, var_llvm_SmallVectorllvm_Value_81, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void5)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_82 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void5);
        if(!var_llvm_SmallVectorllvm_Value_82)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_83 = *var_llvm_SmallVectorllvm_Value_82;
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateInBoundsGEP(var_llvm_Value3, var_llvm_SmallVectorllvm_Value_83);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateSub(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject4, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int2 = py_bool_to(var_PyObject5, var_bool1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateSub(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_bool, var_bool1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject7, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateSub(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject11, "llvm::IRBuilder<>");
            if(!var_void6)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void6);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject13 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject13, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int3 = py_str_to(var_PyObject14, var_llvm_StringRef1);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateSub(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject15 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject15)
        {
            return NULL;
        }
        return var_PyObject15;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder6 = NULL;
        if (var_PyObject16 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject16, "llvm::IRBuilder<>");
            if(!var_void9)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder7 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void9);
            if(!var_llvm_IRBuilder7)
            {
                return NULL;
            }
            var_llvm_IRBuilder6 = var_llvm_IRBuilder7;
        }
        llvm::Value* var_llvm_Value15 = NULL;
        if (var_PyObject17 != Py_None)
        {
            void* var_void10 = PyCapsule_GetPointer(var_PyObject17, "llvm::Value");
            if(!var_void10)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value16 = unwrap_as<llvm::Value, llvm::Value >::from(var_void10);
            if(!var_llvm_Value16)
            {
                return NULL;
            }
            var_llvm_Value15 = var_llvm_Value16;
        }
        llvm::Value* var_llvm_Value17 = NULL;
        if (var_PyObject18 != Py_None)
        {
            void* var_void11 = PyCapsule_GetPointer(var_PyObject18, "llvm::Value");
            if(!var_void11)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value18 = unwrap_as<llvm::Value, llvm::Value >::from(var_void11);
            if(!var_llvm_Value18)
            {
                return NULL;
            }
            var_llvm_Value17 = var_llvm_Value18;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int4 = py_str_to(var_PyObject19, var_llvm_StringRef2);
        if(!var_int4)
        {
            return NULL;
        }
        bool var_bool2;
        int var_int5 = py_bool_to(var_PyObject20, var_bool2);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value19 = var_llvm_IRBuilder6->CreateSub(var_llvm_Value15, var_llvm_Value17, var_llvm_StringRef2, var_bool2);
        PyObject* var_PyObject21 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value19), "llvm::Value", "llvm::Value");
        if (!var_PyObject21)
        {
            return NULL;
        }
        return var_PyObject21;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder____SetInsertPoint__end__of__bb(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    var_llvm_IRBuilder->SetInsertPoint(var_llvm_BasicBlock);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_IRBuilder__CreateSRem(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateSRem(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateSRem(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFNeg(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void2);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateFNeg(var_llvm_Value, var_llvm_StringRef, var_llvm_MDNode);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateFNeg(var_llvm_Value3);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::IRBuilder<>");
            if(!var_void5)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void5);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value6 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value7 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value7)
            {
                return NULL;
            }
            var_llvm_Value6 = var_llvm_Value7;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject10, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value8 = var_llvm_IRBuilder4->CreateFNeg(var_llvm_Value6, var_llvm_StringRef1);
        PyObject* var_PyObject11 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value8), "llvm::Value", "llvm::Value");
        if (!var_PyObject11)
        {
            return NULL;
        }
        return var_PyObject11;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateTruncOrBitCast(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateTruncOrBitCast(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateTruncOrBitCast(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateBr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void1);
        if(!var_llvm_BasicBlock1)
        {
            return NULL;
        }
        var_llvm_BasicBlock = var_llvm_BasicBlock1;
    }
    llvm::BranchInst* var_llvm_BranchInst = var_llvm_IRBuilder->CreateBr(var_llvm_BasicBlock);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BranchInst), "llvm::Value", "llvm::BranchInst");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_IRBuilder__CreateExtractElement(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateExtractElement(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateExtractElement(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateNot(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateNot(var_llvm_Value, var_llvm_StringRef);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateNot(var_llvm_Value3);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFDiv(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void3);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateFDiv(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_llvm_MDNode);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateFDiv(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void7)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void7);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void9)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void9);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateFDiv(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFSub(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void3);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateFSub(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_llvm_MDNode);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateFSub(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void7)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void7);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void9)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void9);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateFSub(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateIntToPtr(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateIntToPtr(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateIntToPtr(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateSDiv(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject4, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateSDiv(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_bool);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateSDiv(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void6)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void6);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int2 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateSDiv(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__GetInsertBlock(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    llvm::BasicBlock* var_llvm_BasicBlock = var_llvm_IRBuilder->GetInsertBlock();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BasicBlock), "llvm::Value", "llvm::BasicBlock");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_IRBuilder__CreateAShr(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject4, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateAShr(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_bool);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateAShr(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void6)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void6);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int2 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateAShr(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateUDiv(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject4, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateUDiv(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_bool);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateUDiv(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void6)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void6);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int2 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateUDiv(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder____SetInsertPoint__before__instr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    llvm::Instruction* var_llvm_Instruction = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void1);
        if(!var_llvm_Instruction1)
        {
            return NULL;
        }
        var_llvm_Instruction = var_llvm_Instruction1;
    }
    var_llvm_IRBuilder->SetInsertPoint(var_llvm_Instruction);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_IRBuilder__CreateCondBr(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::BasicBlock* var_llvm_BasicBlock = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock1 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void2);
            if(!var_llvm_BasicBlock1)
            {
                return NULL;
            }
            var_llvm_BasicBlock = var_llvm_BasicBlock1;
        }
        llvm::BasicBlock* var_llvm_BasicBlock2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock3 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void3);
            if(!var_llvm_BasicBlock3)
            {
                return NULL;
            }
            var_llvm_BasicBlock2 = var_llvm_BasicBlock3;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void4);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::BranchInst* var_llvm_BranchInst = var_llvm_IRBuilder->CreateCondBr(var_llvm_Value, var_llvm_BasicBlock, var_llvm_BasicBlock2, var_llvm_MDNode);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BranchInst), "llvm::Value", "llvm::BranchInst");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void5)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void5);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::BasicBlock* var_llvm_BasicBlock4 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock5 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void7);
            if(!var_llvm_BasicBlock5)
            {
                return NULL;
            }
            var_llvm_BasicBlock4 = var_llvm_BasicBlock5;
        }
        llvm::BasicBlock* var_llvm_BasicBlock6 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::BasicBlock* var_llvm_BasicBlock7 = unwrap_as<llvm::BasicBlock, llvm::Value >::from(var_void8);
            if(!var_llvm_BasicBlock7)
            {
                return NULL;
            }
            var_llvm_BasicBlock6 = var_llvm_BasicBlock7;
        }
        llvm::BranchInst* var_llvm_BranchInst1 = var_llvm_IRBuilder2->CreateCondBr(var_llvm_Value2, var_llvm_BasicBlock4, var_llvm_BasicBlock6);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_BranchInst1), "llvm::Value", "llvm::BranchInst");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFPToSI(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateFPToSI(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateFPToSI(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFAdd(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void3);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateFAdd(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_llvm_MDNode);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateFAdd(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void7)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void7);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void9)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void9);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateFAdd(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateStructGEP(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject2, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int1 = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateStructGEP(var_llvm_Value, var_unsigned, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        unsigned var_unsigned1;
        int var_int2 = py_int_to(var_PyObject7, var_unsigned1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateStructGEP(var_llvm_Value3, var_unsigned1);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateAlignedLoad(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject2, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject3, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int2 = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst = var_llvm_IRBuilder->CreateAlignedLoad(var_llvm_Value, var_unsigned, var_bool, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LoadInst), "llvm::Value", "llvm::LoadInst");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        unsigned var_unsigned1;
        int var_int3 = py_int_to(var_PyObject8, var_unsigned1);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst1 = var_llvm_IRBuilder2->CreateAlignedLoad(var_llvm_Value2, var_unsigned1);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LoadInst1), "llvm::Value", "llvm::LoadInst");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        unsigned var_unsigned2;
        int var_int4 = py_int_to(var_PyObject12, var_unsigned2);
        if(!var_int4)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int5 = py_bool_to(var_PyObject13, var_bool1);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::LoadInst* var_llvm_LoadInst2 = var_llvm_IRBuilder4->CreateAlignedLoad(var_llvm_Value4, var_unsigned2, var_bool1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LoadInst2), "llvm::Value", "llvm::LoadInst");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateAnd(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateAnd(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateAnd(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateAggregateRet(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    unsigned var_unsigned;
    int var_int = py_int_to(var_PyObject2, var_unsigned);
    if(!var_int)
    {
        return NULL;
    }
    PyObject* var_PyObject3 = IRBuilder_CreateAggregateRet(var_llvm_IRBuilder, var_PyObject1, var_unsigned);
    return var_PyObject3;
}

static
PyObject*
llvm_IRBuilder____CreateExtractValue(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::SmallVector<unsigned,8>");
        if(!var_void2)
        {
            puts("Error: llvm::SmallVector<unsigned,8>");
            return NULL;
        }
        llvm::SmallVector<unsigned,8>* var_llvm_SmallVectorunsigned_8 = unwrap_as<llvm::SmallVector<unsigned,8>, llvm::SmallVector<unsigned,8> >::from(var_void2);
        if(!var_llvm_SmallVectorunsigned_8)
        {
            return NULL;
        }
        llvm::SmallVector<unsigned,8>& var_llvm_SmallVectorunsigned_81 = *var_llvm_SmallVectorunsigned_8;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateExtractValue(var_llvm_Value, var_llvm_SmallVectorunsigned_81, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::SmallVector<unsigned,8>");
        if(!var_void5)
        {
            puts("Error: llvm::SmallVector<unsigned,8>");
            return NULL;
        }
        llvm::SmallVector<unsigned,8>* var_llvm_SmallVectorunsigned_82 = unwrap_as<llvm::SmallVector<unsigned,8>, llvm::SmallVector<unsigned,8> >::from(var_void5);
        if(!var_llvm_SmallVectorunsigned_82)
        {
            return NULL;
        }
        llvm::SmallVector<unsigned,8>& var_llvm_SmallVectorunsigned_83 = *var_llvm_SmallVectorunsigned_82;
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateExtractValue(var_llvm_Value3, var_llvm_SmallVectorunsigned_83);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__new(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::LLVMContext");
    if(!var_void)
    {
        puts("Error: llvm::LLVMContext");
        return NULL;
    }
    llvm::LLVMContext* var_llvm_LLVMContext = unwrap_as<llvm::LLVMContext, llvm::LLVMContext >::from(var_void);
    if(!var_llvm_LLVMContext)
    {
        return NULL;
    }
    llvm::LLVMContext& var_llvm_LLVMContext1 = *var_llvm_LLVMContext;
    llvm::IRBuilder<>* var_llvm_IRBuilder = new llvm::IRBuilder<>(var_llvm_LLVMContext1);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::IRBuilder<> >::from(var_llvm_IRBuilder), "llvm::IRBuilder<>", "llvm::IRBuilder<>");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_IRBuilder__CreateNeg(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject3, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int2 = py_bool_to(var_PyObject4, var_bool1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateNeg(var_llvm_Value, var_llvm_StringRef, var_bool, var_bool1);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateNeg(var_llvm_Value3);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject9, &var_PyObject10, &var_PyObject11))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject9, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value6 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject10, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value7 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value7)
            {
                return NULL;
            }
            var_llvm_Value6 = var_llvm_Value7;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int3 = py_str_to(var_PyObject11, var_llvm_StringRef1);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value8 = var_llvm_IRBuilder4->CreateNeg(var_llvm_Value6, var_llvm_StringRef1);
        PyObject* var_PyObject12 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value8), "llvm::Value", "llvm::Value");
        if (!var_PyObject12)
        {
            return NULL;
        }
        return var_PyObject12;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject13, &var_PyObject14, &var_PyObject15, &var_PyObject16))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder6 = NULL;
        if (var_PyObject13 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject13, "llvm::IRBuilder<>");
            if(!var_void6)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder7 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void6);
            if(!var_llvm_IRBuilder7)
            {
                return NULL;
            }
            var_llvm_IRBuilder6 = var_llvm_IRBuilder7;
        }
        llvm::Value* var_llvm_Value9 = NULL;
        if (var_PyObject14 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject14, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value10 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value10)
            {
                return NULL;
            }
            var_llvm_Value9 = var_llvm_Value10;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int4 = py_str_to(var_PyObject15, var_llvm_StringRef2);
        if(!var_int4)
        {
            return NULL;
        }
        bool var_bool2;
        int var_int5 = py_bool_to(var_PyObject16, var_bool2);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value11 = var_llvm_IRBuilder6->CreateNeg(var_llvm_Value9, var_llvm_StringRef2, var_bool2);
        PyObject* var_PyObject17 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value11), "llvm::Value", "llvm::Value");
        if (!var_PyObject17)
        {
            return NULL;
        }
        return var_PyObject17;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFPTrunc(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateFPTrunc(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateFPTrunc(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateZExtOrTrunc(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::IntegerType* var_llvm_IntegerType = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::IntegerType* var_llvm_IntegerType1 = unwrap_as<llvm::IntegerType, llvm::Type >::from(var_void2);
            if(!var_llvm_IntegerType1)
            {
                return NULL;
            }
            var_llvm_IntegerType = var_llvm_IntegerType1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateZExtOrTrunc(var_llvm_Value, var_llvm_IntegerType, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::IntegerType* var_llvm_IntegerType2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::IntegerType* var_llvm_IntegerType3 = unwrap_as<llvm::IntegerType, llvm::Type >::from(var_void5);
            if(!var_llvm_IntegerType3)
            {
                return NULL;
            }
            var_llvm_IntegerType2 = var_llvm_IntegerType3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateZExtOrTrunc(var_llvm_Value3, var_llvm_IntegerType2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateURem(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateURem(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateURem(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__isNamePreserving(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    bool var_bool = var_llvm_IRBuilder->isNamePreserving();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_IRBuilder__CreateBitCast(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateBitCast(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateBitCast(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateShuffleVector(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value6 = var_llvm_IRBuilder->CreateShuffleVector(var_llvm_Value, var_llvm_Value2, var_llvm_Value4, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value6), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value10 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value10)
            {
                return NULL;
            }
            var_llvm_Value9 = var_llvm_Value10;
        }
        llvm::Value* var_llvm_Value11 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value12 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value12)
            {
                return NULL;
            }
            var_llvm_Value11 = var_llvm_Value12;
        }
        llvm::Value* var_llvm_Value13 = var_llvm_IRBuilder2->CreateShuffleVector(var_llvm_Value7, var_llvm_Value9, var_llvm_Value11);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value13), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateSExt(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateSExt(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateSExt(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateSelect(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value6 = var_llvm_IRBuilder->CreateSelect(var_llvm_Value, var_llvm_Value2, var_llvm_Value4, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value6), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value10 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value10)
            {
                return NULL;
            }
            var_llvm_Value9 = var_llvm_Value10;
        }
        llvm::Value* var_llvm_Value11 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value12 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value12)
            {
                return NULL;
            }
            var_llvm_Value11 = var_llvm_Value12;
        }
        llvm::Value* var_llvm_Value13 = var_llvm_IRBuilder2->CreateSelect(var_llvm_Value7, var_llvm_Value9, var_llvm_Value11);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value13), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateRetVoid(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    llvm::ReturnInst* var_llvm_ReturnInst = var_llvm_IRBuilder->CreateRetVoid();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ReturnInst), "llvm::Value", "llvm::ReturnInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_IRBuilder__CreateAdd(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject4, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int2 = py_bool_to(var_PyObject5, var_bool1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateAdd(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_bool, var_bool1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject7, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateAdd(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject11, "llvm::IRBuilder<>");
            if(!var_void6)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void6);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject13 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject13, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int3 = py_str_to(var_PyObject14, var_llvm_StringRef1);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateAdd(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject15 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject15)
        {
            return NULL;
        }
        return var_PyObject15;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder6 = NULL;
        if (var_PyObject16 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject16, "llvm::IRBuilder<>");
            if(!var_void9)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder7 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void9);
            if(!var_llvm_IRBuilder7)
            {
                return NULL;
            }
            var_llvm_IRBuilder6 = var_llvm_IRBuilder7;
        }
        llvm::Value* var_llvm_Value15 = NULL;
        if (var_PyObject17 != Py_None)
        {
            void* var_void10 = PyCapsule_GetPointer(var_PyObject17, "llvm::Value");
            if(!var_void10)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value16 = unwrap_as<llvm::Value, llvm::Value >::from(var_void10);
            if(!var_llvm_Value16)
            {
                return NULL;
            }
            var_llvm_Value15 = var_llvm_Value16;
        }
        llvm::Value* var_llvm_Value17 = NULL;
        if (var_PyObject18 != Py_None)
        {
            void* var_void11 = PyCapsule_GetPointer(var_PyObject18, "llvm::Value");
            if(!var_void11)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value18 = unwrap_as<llvm::Value, llvm::Value >::from(var_void11);
            if(!var_llvm_Value18)
            {
                return NULL;
            }
            var_llvm_Value17 = var_llvm_Value18;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int4 = py_str_to(var_PyObject19, var_llvm_StringRef2);
        if(!var_int4)
        {
            return NULL;
        }
        bool var_bool2;
        int var_int5 = py_bool_to(var_PyObject20, var_bool2);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value19 = var_llvm_IRBuilder6->CreateAdd(var_llvm_Value15, var_llvm_Value17, var_llvm_StringRef2, var_bool2);
        PyObject* var_PyObject21 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value19), "llvm::Value", "llvm::Value");
        if (!var_PyObject21)
        {
            return NULL;
        }
        return var_PyObject21;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateIsNull(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateIsNull(var_llvm_Value, var_llvm_StringRef);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateIsNull(var_llvm_Value3);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateSExtOrTrunc(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::IntegerType* var_llvm_IntegerType = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::IntegerType* var_llvm_IntegerType1 = unwrap_as<llvm::IntegerType, llvm::Type >::from(var_void2);
            if(!var_llvm_IntegerType1)
            {
                return NULL;
            }
            var_llvm_IntegerType = var_llvm_IntegerType1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateSExtOrTrunc(var_llvm_Value, var_llvm_IntegerType, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::IntegerType* var_llvm_IntegerType2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::IntegerType* var_llvm_IntegerType3 = unwrap_as<llvm::IntegerType, llvm::Type >::from(var_void5);
            if(!var_llvm_IntegerType3)
            {
                return NULL;
            }
            var_llvm_IntegerType2 = var_llvm_IntegerType3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateSExtOrTrunc(var_llvm_Value3, var_llvm_IntegerType2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreatePtrToInt(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreatePtrToInt(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreatePtrToInt(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder____CreateGEP(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void2)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_8 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void2);
        if(!var_llvm_SmallVectorllvm_Value_8)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_81 = *var_llvm_SmallVectorllvm_Value_8;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateGEP(var_llvm_Value, var_llvm_SmallVectorllvm_Value_81, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void5)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_82 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void5);
        if(!var_llvm_SmallVectorllvm_Value_82)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_83 = *var_llvm_SmallVectorllvm_Value_82;
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateGEP(var_llvm_Value3, var_llvm_SmallVectorllvm_Value_83);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateIntCast(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject3, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int1 = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateIntCast(var_llvm_Value, var_llvm_Type, var_bool, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        bool var_bool1;
        int var_int2 = py_bool_to(var_PyObject9, var_bool1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateIntCast(var_llvm_Value3, var_llvm_Type2, var_bool1);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateZExt(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateZExt(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateZExt(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFMul(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void3);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateFMul(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_llvm_MDNode);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateFMul(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void7)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void7);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void9)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void9);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateFMul(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateLandingPad(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject3, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int1 = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::LandingPadInst* var_llvm_LandingPadInst = var_llvm_IRBuilder->CreateLandingPad(var_llvm_Type, var_llvm_Value, var_unsigned, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LandingPadInst), "llvm::Value", "llvm::LandingPadInst");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void4)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void4);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        unsigned var_unsigned1;
        int var_int2 = py_int_to(var_PyObject9, var_unsigned1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::LandingPadInst* var_llvm_LandingPadInst1 = var_llvm_IRBuilder2->CreateLandingPad(var_llvm_Type2, var_llvm_Value2, var_unsigned1);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_LandingPadInst1), "llvm::Value", "llvm::LandingPadInst");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateResume(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ResumeInst* var_llvm_ResumeInst = var_llvm_IRBuilder->CreateResume(var_llvm_Value);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ResumeInst), "llvm::Value", "llvm::ResumeInst");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_IRBuilder__CreateAlloca(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::AllocaInst* var_llvm_AllocaInst = var_llvm_IRBuilder->CreateAlloca(var_llvm_Type, var_llvm_Value, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AllocaInst), "llvm::Value", "llvm::AllocaInst");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject5, &var_PyObject6))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Type");
            if(!var_void4)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void4);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::AllocaInst* var_llvm_AllocaInst1 = var_llvm_IRBuilder2->CreateAlloca(var_llvm_Type2);
        PyObject* var_PyObject7 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AllocaInst1), "llvm::Value", "llvm::AllocaInst");
        if (!var_PyObject7)
        {
            return NULL;
        }
        return var_PyObject7;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::IRBuilder<>");
            if(!var_void5)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void5);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Type* var_llvm_Type4 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject9, "llvm::Type");
            if(!var_void6)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type5 = unwrap_as<llvm::Type, llvm::Type >::from(var_void6);
            if(!var_llvm_Type5)
            {
                return NULL;
            }
            var_llvm_Type4 = var_llvm_Type5;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject10, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::AllocaInst* var_llvm_AllocaInst2 = var_llvm_IRBuilder4->CreateAlloca(var_llvm_Type4, var_llvm_Value2);
        PyObject* var_PyObject11 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AllocaInst2), "llvm::Value", "llvm::AllocaInst");
        if (!var_PyObject11)
        {
            return NULL;
        }
        return var_PyObject11;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateSIToFP(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateSIToFP(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateSIToFP(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateMul(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject4, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int2 = py_bool_to(var_PyObject5, var_bool1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateMul(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_bool, var_bool1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject7, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateMul(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject11, "llvm::IRBuilder<>");
            if(!var_void6)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void6);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject13 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject13, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int3 = py_str_to(var_PyObject14, var_llvm_StringRef1);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateMul(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject15 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject15)
        {
            return NULL;
        }
        return var_PyObject15;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder6 = NULL;
        if (var_PyObject16 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject16, "llvm::IRBuilder<>");
            if(!var_void9)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder7 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void9);
            if(!var_llvm_IRBuilder7)
            {
                return NULL;
            }
            var_llvm_IRBuilder6 = var_llvm_IRBuilder7;
        }
        llvm::Value* var_llvm_Value15 = NULL;
        if (var_PyObject17 != Py_None)
        {
            void* var_void10 = PyCapsule_GetPointer(var_PyObject17, "llvm::Value");
            if(!var_void10)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value16 = unwrap_as<llvm::Value, llvm::Value >::from(var_void10);
            if(!var_llvm_Value16)
            {
                return NULL;
            }
            var_llvm_Value15 = var_llvm_Value16;
        }
        llvm::Value* var_llvm_Value17 = NULL;
        if (var_PyObject18 != Py_None)
        {
            void* var_void11 = PyCapsule_GetPointer(var_PyObject18, "llvm::Value");
            if(!var_void11)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value18 = unwrap_as<llvm::Value, llvm::Value >::from(var_void11);
            if(!var_llvm_Value18)
            {
                return NULL;
            }
            var_llvm_Value17 = var_llvm_Value18;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int4 = py_str_to(var_PyObject19, var_llvm_StringRef2);
        if(!var_int4)
        {
            return NULL;
        }
        bool var_bool2;
        int var_int5 = py_bool_to(var_PyObject20, var_bool2);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value19 = var_llvm_IRBuilder6->CreateMul(var_llvm_Value15, var_llvm_Value17, var_llvm_StringRef2, var_bool2);
        PyObject* var_PyObject21 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value19), "llvm::Value", "llvm::Value");
        if (!var_PyObject21)
        {
            return NULL;
        }
        return var_PyObject21;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateICmp(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::CmpInst::Predicate var_llvm_CmpInst_Predicate = (llvm::CmpInst::Predicate)PyInt_AsLong(var_PyObject1);
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateICmp(var_llvm_CmpInst_Predicate, var_llvm_Value, var_llvm_Value2, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::CmpInst::Predicate var_llvm_CmpInst_Predicate1 = (llvm::CmpInst::Predicate)PyInt_AsLong(var_PyObject7);
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateICmp(var_llvm_CmpInst_Predicate1, var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateIsNotNull(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateIsNotNull(var_llvm_Value, var_llvm_StringRef);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateIsNotNull(var_llvm_Value3);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateStore(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        bool var_bool;
        int var_int = py_bool_to(var_PyObject3, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst = var_llvm_IRBuilder->CreateStore(var_llvm_Value, var_llvm_Value2, var_bool);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_StoreInst), "llvm::Value", "llvm::StoreInst");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        llvm::Value* var_llvm_Value6 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value7 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value7)
            {
                return NULL;
            }
            var_llvm_Value6 = var_llvm_Value7;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = var_llvm_IRBuilder2->CreateStore(var_llvm_Value4, var_llvm_Value6);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_StoreInst1), "llvm::Value", "llvm::StoreInst");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateAlignedStore(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject3, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject4, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst = var_llvm_IRBuilder->CreateAlignedStore(var_llvm_Value, var_llvm_Value2, var_unsigned, var_bool);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_StoreInst), "llvm::Value", "llvm::StoreInst");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        llvm::Value* var_llvm_Value6 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value7 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value7)
            {
                return NULL;
            }
            var_llvm_Value6 = var_llvm_Value7;
        }
        unsigned var_unsigned1;
        int var_int2 = py_int_to(var_PyObject9, var_unsigned1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::StoreInst* var_llvm_StoreInst1 = var_llvm_IRBuilder2->CreateAlignedStore(var_llvm_Value4, var_llvm_Value6, var_unsigned1);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_StoreInst1), "llvm::Value", "llvm::StoreInst");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateAtomicRMW(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::AtomicRMWInst::BinOp var_llvm_AtomicRMWInst_BinOp = (llvm::AtomicRMWInst::BinOp)PyInt_AsLong(var_PyObject1);
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject4);
        llvm::SynchronizationScope var_llvm_SynchronizationScope = (llvm::SynchronizationScope)PyInt_AsLong(var_PyObject5);
        llvm::AtomicRMWInst* var_llvm_AtomicRMWInst = var_llvm_IRBuilder->CreateAtomicRMW(var_llvm_AtomicRMWInst_BinOp, var_llvm_Value, var_llvm_Value2, var_llvm_AtomicOrdering, var_llvm_SynchronizationScope);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicRMWInst), "llvm::Value", "llvm::AtomicRMWInst");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject7, &var_PyObject8, &var_PyObject9, &var_PyObject10, &var_PyObject11))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject7, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::AtomicRMWInst::BinOp var_llvm_AtomicRMWInst_BinOp1 = (llvm::AtomicRMWInst::BinOp)PyInt_AsLong(var_PyObject8);
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        llvm::Value* var_llvm_Value6 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject10, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value7 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value7)
            {
                return NULL;
            }
            var_llvm_Value6 = var_llvm_Value7;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering1 = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject11);
        llvm::AtomicRMWInst* var_llvm_AtomicRMWInst1 = var_llvm_IRBuilder2->CreateAtomicRMW(var_llvm_AtomicRMWInst_BinOp1, var_llvm_Value4, var_llvm_Value6, var_llvm_AtomicOrdering1);
        PyObject* var_PyObject12 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicRMWInst1), "llvm::Value", "llvm::AtomicRMWInst");
        if (!var_PyObject12)
        {
            return NULL;
        }
        return var_PyObject12;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateSExtOrBitCast(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateSExtOrBitCast(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateSExtOrBitCast(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    delete var_llvm_IRBuilder;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_IRBuilder__CreateLShr(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject4, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateLShr(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_bool);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateLShr(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void6)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void6);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int2 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateLShr(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateIndirectBr(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject2, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        llvm::IndirectBrInst* var_llvm_IndirectBrInst = var_llvm_IRBuilder->CreateIndirectBr(var_llvm_Value, var_unsigned);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_IndirectBrInst), "llvm::Value", "llvm::IndirectBrInst");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::IndirectBrInst* var_llvm_IndirectBrInst1 = var_llvm_IRBuilder2->CreateIndirectBr(var_llvm_Value2);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_IndirectBrInst1), "llvm::Value", "llvm::IndirectBrInst");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFRem(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::MDNode* var_llvm_MDNode = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject4, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::MDNode* var_llvm_MDNode1 = unwrap_as<llvm::MDNode, llvm::Value >::from(var_void3);
            if(!var_llvm_MDNode1)
            {
                return NULL;
            }
            var_llvm_MDNode = var_llvm_MDNode1;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateFRem(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_llvm_MDNode);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateFRem(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject9 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject9)
        {
            return NULL;
        }
        return var_PyObject9;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject10, &var_PyObject11, &var_PyObject12, &var_PyObject13))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject10, "llvm::IRBuilder<>");
            if(!var_void7)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void7);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject11, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void9)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void9);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject13, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateFRem(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject14 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject14)
        {
            return NULL;
        }
        return var_PyObject14;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreatePtrDiff(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreatePtrDiff(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreatePtrDiff(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateZExtOrBitCast(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateZExtOrBitCast(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateZExtOrBitCast(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFPCast(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateFPCast(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateFPCast(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateRet(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    llvm::Value* var_llvm_Value = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
        if(!var_void1)
        {
            puts("Error: llvm::Value");
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
        if(!var_llvm_Value1)
        {
            return NULL;
        }
        var_llvm_Value = var_llvm_Value1;
    }
    llvm::ReturnInst* var_llvm_ReturnInst = var_llvm_IRBuilder->CreateRet(var_llvm_Value);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_ReturnInst), "llvm::Value", "llvm::ReturnInst");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_IRBuilder__CreateFence(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject1);
        llvm::SynchronizationScope var_llvm_SynchronizationScope = (llvm::SynchronizationScope)PyInt_AsLong(var_PyObject2);
        llvm::FenceInst* var_llvm_FenceInst = var_llvm_IRBuilder->CreateFence(var_llvm_AtomicOrdering, var_llvm_SynchronizationScope);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FenceInst), "llvm::Value", "llvm::FenceInst");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::IRBuilder<>");
            if(!var_void1)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void1);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering1 = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject5);
        llvm::FenceInst* var_llvm_FenceInst1 = var_llvm_IRBuilder2->CreateFence(var_llvm_AtomicOrdering1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_FenceInst1), "llvm::Value", "llvm::FenceInst");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder____CreateInsertValue(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::SmallVector<unsigned,8>");
        if(!var_void3)
        {
            puts("Error: llvm::SmallVector<unsigned,8>");
            return NULL;
        }
        llvm::SmallVector<unsigned,8>* var_llvm_SmallVectorunsigned_8 = unwrap_as<llvm::SmallVector<unsigned,8>, llvm::SmallVector<unsigned,8> >::from(var_void3);
        if(!var_llvm_SmallVectorunsigned_8)
        {
            return NULL;
        }
        llvm::SmallVector<unsigned,8>& var_llvm_SmallVectorunsigned_81 = *var_llvm_SmallVectorunsigned_8;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateInsertValue(var_llvm_Value, var_llvm_Value2, var_llvm_SmallVectorunsigned_81, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        void* var_void7 = PyCapsule_GetPointer(var_PyObject9, "llvm::SmallVector<unsigned,8>");
        if(!var_void7)
        {
            puts("Error: llvm::SmallVector<unsigned,8>");
            return NULL;
        }
        llvm::SmallVector<unsigned,8>* var_llvm_SmallVectorunsigned_82 = unwrap_as<llvm::SmallVector<unsigned,8>, llvm::SmallVector<unsigned,8> >::from(var_void7);
        if(!var_llvm_SmallVectorunsigned_82)
        {
            return NULL;
        }
        llvm::SmallVector<unsigned,8>& var_llvm_SmallVectorunsigned_83 = *var_llvm_SmallVectorunsigned_82;
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateInsertValue(var_llvm_Value5, var_llvm_Value7, var_llvm_SmallVectorunsigned_83);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__Insert(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Instruction* var_llvm_Instruction = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Instruction* var_llvm_Instruction1 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void1);
            if(!var_llvm_Instruction1)
            {
                return NULL;
            }
            var_llvm_Instruction = var_llvm_Instruction1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject2, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Instruction* var_llvm_Instruction2 = var_llvm_IRBuilder->Insert(var_llvm_Instruction, var_llvm_StringRef);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction2), "llvm::Value", "llvm::Instruction");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject4, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Instruction* var_llvm_Instruction3 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Instruction* var_llvm_Instruction4 = unwrap_as<llvm::Instruction, llvm::Value >::from(var_void3);
            if(!var_llvm_Instruction4)
            {
                return NULL;
            }
            var_llvm_Instruction3 = var_llvm_Instruction4;
        }
        llvm::Instruction* var_llvm_Instruction5 = var_llvm_IRBuilder2->Insert(var_llvm_Instruction3);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Instruction5), "llvm::Value", "llvm::Instruction");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateShl(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool;
        int var_int1 = py_bool_to(var_PyObject4, var_bool);
        if(!var_int1)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int2 = py_bool_to(var_PyObject5, var_bool1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateShl(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef, var_bool, var_bool1);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject7, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateShl(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject11;
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject11, &var_PyObject12, &var_PyObject13, &var_PyObject14))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder4 = NULL;
        if (var_PyObject11 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject11, "llvm::IRBuilder<>");
            if(!var_void6)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder5 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void6);
            if(!var_llvm_IRBuilder5)
            {
                return NULL;
            }
            var_llvm_IRBuilder4 = var_llvm_IRBuilder5;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject12, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::Value* var_llvm_Value12 = NULL;
        if (var_PyObject13 != Py_None)
        {
            void* var_void8 = PyCapsule_GetPointer(var_PyObject13, "llvm::Value");
            if(!var_void8)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value13 = unwrap_as<llvm::Value, llvm::Value >::from(var_void8);
            if(!var_llvm_Value13)
            {
                return NULL;
            }
            var_llvm_Value12 = var_llvm_Value13;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int3 = py_str_to(var_PyObject14, var_llvm_StringRef1);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value14 = var_llvm_IRBuilder4->CreateShl(var_llvm_Value10, var_llvm_Value12, var_llvm_StringRef1);
        PyObject* var_PyObject15 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value14), "llvm::Value", "llvm::Value");
        if (!var_PyObject15)
        {
            return NULL;
        }
        return var_PyObject15;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject16;
        PyObject* var_PyObject17;
        PyObject* var_PyObject18;
        PyObject* var_PyObject19;
        PyObject* var_PyObject20;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject16, &var_PyObject17, &var_PyObject18, &var_PyObject19, &var_PyObject20))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder6 = NULL;
        if (var_PyObject16 != Py_None)
        {
            void* var_void9 = PyCapsule_GetPointer(var_PyObject16, "llvm::IRBuilder<>");
            if(!var_void9)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder7 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void9);
            if(!var_llvm_IRBuilder7)
            {
                return NULL;
            }
            var_llvm_IRBuilder6 = var_llvm_IRBuilder7;
        }
        llvm::Value* var_llvm_Value15 = NULL;
        if (var_PyObject17 != Py_None)
        {
            void* var_void10 = PyCapsule_GetPointer(var_PyObject17, "llvm::Value");
            if(!var_void10)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value16 = unwrap_as<llvm::Value, llvm::Value >::from(var_void10);
            if(!var_llvm_Value16)
            {
                return NULL;
            }
            var_llvm_Value15 = var_llvm_Value16;
        }
        llvm::Value* var_llvm_Value17 = NULL;
        if (var_PyObject18 != Py_None)
        {
            void* var_void11 = PyCapsule_GetPointer(var_PyObject18, "llvm::Value");
            if(!var_void11)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value18 = unwrap_as<llvm::Value, llvm::Value >::from(var_void11);
            if(!var_llvm_Value18)
            {
                return NULL;
            }
            var_llvm_Value17 = var_llvm_Value18;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int4 = py_str_to(var_PyObject19, var_llvm_StringRef2);
        if(!var_int4)
        {
            return NULL;
        }
        bool var_bool2;
        int var_int5 = py_bool_to(var_PyObject20, var_bool2);
        if(!var_int5)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value19 = var_llvm_IRBuilder6->CreateShl(var_llvm_Value15, var_llvm_Value17, var_llvm_StringRef2, var_bool2);
        PyObject* var_PyObject21 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value19), "llvm::Value", "llvm::Value");
        if (!var_PyObject21)
        {
            return NULL;
        }
        return var_PyObject21;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder____CreateCall(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void2)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_8 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void2);
        if(!var_llvm_SmallVectorllvm_Value_8)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_81 = *var_llvm_SmallVectorllvm_Value_8;
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::CallInst* var_llvm_CallInst = var_llvm_IRBuilder->CreateCall(var_llvm_Value, var_llvm_SmallVectorllvm_Value_81, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CallInst), "llvm::Value", "llvm::CallInst");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::SmallVector<llvm::Value*,8>");
        if(!var_void5)
        {
            puts("Error: llvm::SmallVector<llvm::Value*,8>");
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>* var_llvm_SmallVectorllvm_Value_82 = unwrap_as<llvm::SmallVector<llvm::Value*,8>, llvm::SmallVector<llvm::Value*,8> >::from(var_void5);
        if(!var_llvm_SmallVectorllvm_Value_82)
        {
            return NULL;
        }
        llvm::SmallVector<llvm::Value*,8>& var_llvm_SmallVectorllvm_Value_83 = *var_llvm_SmallVectorllvm_Value_82;
        llvm::CallInst* var_llvm_CallInst1 = var_llvm_IRBuilder2->CreateCall(var_llvm_Value2, var_llvm_SmallVectorllvm_Value_83);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_CallInst1), "llvm::Value", "llvm::CallInst");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateGlobalStringPtr(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject2, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value = var_llvm_IRBuilder->CreateGlobalStringPtr(var_llvm_StringRef, var_llvm_StringRef1);
        PyObject* var_PyObject3 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value), "llvm::Value", "llvm::Value");
        if (!var_PyObject3)
        {
            return NULL;
        }
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::IRBuilder<>");
            if(!var_void1)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void1);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int2 = py_str_to(var_PyObject5, var_llvm_StringRef2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value1 = var_llvm_IRBuilder2->CreateGlobalStringPtr(var_llvm_StringRef2);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value1), "llvm::Value", "llvm::Value");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateVAArg(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::VAArgInst* var_llvm_VAArgInst = var_llvm_IRBuilder->CreateVAArg(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAArgInst), "llvm::Value", "llvm::VAArgInst");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::VAArgInst* var_llvm_VAArgInst1 = var_llvm_IRBuilder2->CreateVAArg(var_llvm_Value2, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_VAArgInst1), "llvm::Value", "llvm::VAArgInst");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFPExt(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateFPExt(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateFPExt(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreatePHI(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void1);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject2, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int1 = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int1)
        {
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode = var_llvm_IRBuilder->CreatePHI(var_llvm_Type, var_unsigned, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_PHINode), "llvm::Value", "llvm::PHINode");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void2)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void2);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::Type");
            if(!var_void3)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void3);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        unsigned var_unsigned1;
        int var_int2 = py_int_to(var_PyObject7, var_unsigned1);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::PHINode* var_llvm_PHINode1 = var_llvm_IRBuilder2->CreatePHI(var_llvm_Type2, var_unsigned1);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_PHINode1), "llvm::Value", "llvm::PHINode");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateXor(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateXor(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateXor(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateTrunc(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateTrunc(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateTrunc(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateAtomicCmpXchg(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::Value* var_llvm_Value4 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void3)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value5 = unwrap_as<llvm::Value, llvm::Value >::from(var_void3);
            if(!var_llvm_Value5)
            {
                return NULL;
            }
            var_llvm_Value4 = var_llvm_Value5;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject4);
        llvm::SynchronizationScope var_llvm_SynchronizationScope = (llvm::SynchronizationScope)PyInt_AsLong(var_PyObject5);
        llvm::AtomicCmpXchgInst* var_llvm_AtomicCmpXchgInst = var_llvm_IRBuilder->CreateAtomicCmpXchg(var_llvm_Value, var_llvm_Value2, var_llvm_Value4, var_llvm_AtomicOrdering, var_llvm_SynchronizationScope);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicCmpXchgInst), "llvm::Value", "llvm::AtomicCmpXchgInst");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        PyObject* var_PyObject11;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject7, &var_PyObject8, &var_PyObject9, &var_PyObject10, &var_PyObject11))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject7, "llvm::IRBuilder<>");
            if(!var_void4)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void4);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value6 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value7 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value7)
            {
                return NULL;
            }
            var_llvm_Value6 = var_llvm_Value7;
        }
        llvm::Value* var_llvm_Value8 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void6 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void6)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value9 = unwrap_as<llvm::Value, llvm::Value >::from(var_void6);
            if(!var_llvm_Value9)
            {
                return NULL;
            }
            var_llvm_Value8 = var_llvm_Value9;
        }
        llvm::Value* var_llvm_Value10 = NULL;
        if (var_PyObject10 != Py_None)
        {
            void* var_void7 = PyCapsule_GetPointer(var_PyObject10, "llvm::Value");
            if(!var_void7)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value11 = unwrap_as<llvm::Value, llvm::Value >::from(var_void7);
            if(!var_llvm_Value11)
            {
                return NULL;
            }
            var_llvm_Value10 = var_llvm_Value11;
        }
        llvm::AtomicOrdering var_llvm_AtomicOrdering1 = (llvm::AtomicOrdering)PyInt_AsLong(var_PyObject11);
        llvm::AtomicCmpXchgInst* var_llvm_AtomicCmpXchgInst1 = var_llvm_IRBuilder2->CreateAtomicCmpXchg(var_llvm_Value6, var_llvm_Value8, var_llvm_Value10, var_llvm_AtomicOrdering1);
        PyObject* var_PyObject12 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_AtomicCmpXchgInst1), "llvm::Value", "llvm::AtomicCmpXchgInst");
        if (!var_PyObject12)
        {
            return NULL;
        }
        return var_PyObject12;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateUIToFP(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Type* var_llvm_Type = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type1 = unwrap_as<llvm::Type, llvm::Type >::from(var_void2);
            if(!var_llvm_Type1)
            {
                return NULL;
            }
            var_llvm_Type = var_llvm_Type1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value2 = var_llvm_IRBuilder->CreateUIToFP(var_llvm_Value, var_llvm_Type, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value2), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value3 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value4 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value4)
            {
                return NULL;
            }
            var_llvm_Value3 = var_llvm_Value4;
        }
        llvm::Type* var_llvm_Type2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void5)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::Type* var_llvm_Type3 = unwrap_as<llvm::Type, llvm::Type >::from(var_void5);
            if(!var_llvm_Type3)
            {
                return NULL;
            }
            var_llvm_Type2 = var_llvm_Type3;
        }
        llvm::Value* var_llvm_Value5 = var_llvm_IRBuilder2->CreateUIToFP(var_llvm_Value3, var_llvm_Type2);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value5), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateOr(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject1 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject3, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateOr(var_llvm_Value, var_llvm_Value2, var_llvm_StringRef);
        PyObject* var_PyObject4 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject4)
        {
            return NULL;
        }
        return var_PyObject4;
    }
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject5, &var_PyObject6, &var_PyObject7))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject5, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject6, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject7, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateOr(var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject8 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject8)
        {
            return NULL;
        }
        return var_PyObject8;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateFCmp(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
            if(!var_void)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
            if(!var_llvm_IRBuilder1)
            {
                return NULL;
            }
            var_llvm_IRBuilder = var_llvm_IRBuilder1;
        }
        llvm::CmpInst::Predicate var_llvm_CmpInst_Predicate = (llvm::CmpInst::Predicate)PyInt_AsLong(var_PyObject1);
        llvm::Value* var_llvm_Value = NULL;
        if (var_PyObject2 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::Value");
            if(!var_void1)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value1 = unwrap_as<llvm::Value, llvm::Value >::from(var_void1);
            if(!var_llvm_Value1)
            {
                return NULL;
            }
            var_llvm_Value = var_llvm_Value1;
        }
        llvm::Value* var_llvm_Value2 = NULL;
        if (var_PyObject3 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::Value");
            if(!var_void2)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value3 = unwrap_as<llvm::Value, llvm::Value >::from(var_void2);
            if(!var_llvm_Value3)
            {
                return NULL;
            }
            var_llvm_Value2 = var_llvm_Value3;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject4, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::Value* var_llvm_Value4 = var_llvm_IRBuilder->CreateFCmp(var_llvm_CmpInst_Predicate, var_llvm_Value, var_llvm_Value2, var_llvm_StringRef);
        PyObject* var_PyObject5 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value4), "llvm::Value", "llvm::Value");
        if (!var_PyObject5)
        {
            return NULL;
        }
        return var_PyObject5;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject6, &var_PyObject7, &var_PyObject8, &var_PyObject9))
        {
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder2 = NULL;
        if (var_PyObject6 != Py_None)
        {
            void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::IRBuilder<>");
            if(!var_void3)
            {
                puts("Error: llvm::IRBuilder<>");
                return NULL;
            }
            llvm::IRBuilder<>* var_llvm_IRBuilder3 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void3);
            if(!var_llvm_IRBuilder3)
            {
                return NULL;
            }
            var_llvm_IRBuilder2 = var_llvm_IRBuilder3;
        }
        llvm::CmpInst::Predicate var_llvm_CmpInst_Predicate1 = (llvm::CmpInst::Predicate)PyInt_AsLong(var_PyObject7);
        llvm::Value* var_llvm_Value5 = NULL;
        if (var_PyObject8 != Py_None)
        {
            void* var_void4 = PyCapsule_GetPointer(var_PyObject8, "llvm::Value");
            if(!var_void4)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value6 = unwrap_as<llvm::Value, llvm::Value >::from(var_void4);
            if(!var_llvm_Value6)
            {
                return NULL;
            }
            var_llvm_Value5 = var_llvm_Value6;
        }
        llvm::Value* var_llvm_Value7 = NULL;
        if (var_PyObject9 != Py_None)
        {
            void* var_void5 = PyCapsule_GetPointer(var_PyObject9, "llvm::Value");
            if(!var_void5)
            {
                puts("Error: llvm::Value");
                return NULL;
            }
            llvm::Value* var_llvm_Value8 = unwrap_as<llvm::Value, llvm::Value >::from(var_void5);
            if(!var_llvm_Value8)
            {
                return NULL;
            }
            var_llvm_Value7 = var_llvm_Value8;
        }
        llvm::Value* var_llvm_Value9 = var_llvm_IRBuilder2->CreateFCmp(var_llvm_CmpInst_Predicate1, var_llvm_Value5, var_llvm_Value7);
        PyObject* var_PyObject10 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_Value9), "llvm::Value", "llvm::Value");
        if (!var_PyObject10)
        {
            return NULL;
        }
        return var_PyObject10;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_IRBuilder__CreateUnreachable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::IRBuilder<>* var_llvm_IRBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::IRBuilder<>");
        if(!var_void)
        {
            puts("Error: llvm::IRBuilder<>");
            return NULL;
        }
        llvm::IRBuilder<>* var_llvm_IRBuilder1 = unwrap_as<llvm::IRBuilder<>, llvm::IRBuilder<> >::from(var_void);
        if(!var_llvm_IRBuilder1)
        {
            return NULL;
        }
        var_llvm_IRBuilder = var_llvm_IRBuilder1;
    }
    llvm::UnreachableInst* var_llvm_UnreachableInst = var_llvm_IRBuilder->CreateUnreachable();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_UnreachableInst), "llvm::Value", "llvm::UnreachableInst");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_IRBuilder[] = {
    { "CreateInsertElement", (PyCFunction)llvm_IRBuilder__CreateInsertElement, METH_VARARGS, NULL },
    { "CreateSwitch", (PyCFunction)llvm_IRBuilder__CreateSwitch, METH_VARARGS, NULL },
    { "CreateLoad", (PyCFunction)llvm_IRBuilder__CreateLoad, METH_VARARGS, NULL },
    { "_CreateInvoke", (PyCFunction)llvm_IRBuilder____CreateInvoke, METH_VARARGS, NULL },
    { "CreateFPToUI", (PyCFunction)llvm_IRBuilder__CreateFPToUI, METH_VARARGS, NULL },
    { "_CreateInBoundsGEP", (PyCFunction)llvm_IRBuilder____CreateInBoundsGEP, METH_VARARGS, NULL },
    { "CreateSub", (PyCFunction)llvm_IRBuilder__CreateSub, METH_VARARGS, NULL },
    { "_SetInsertPoint_end_of_bb", (PyCFunction)llvm_IRBuilder____SetInsertPoint__end__of__bb, METH_VARARGS, NULL },
    { "CreateSRem", (PyCFunction)llvm_IRBuilder__CreateSRem, METH_VARARGS, NULL },
    { "CreateFNeg", (PyCFunction)llvm_IRBuilder__CreateFNeg, METH_VARARGS, NULL },
    { "CreateTruncOrBitCast", (PyCFunction)llvm_IRBuilder__CreateTruncOrBitCast, METH_VARARGS, NULL },
    { "CreateBr", (PyCFunction)llvm_IRBuilder__CreateBr, METH_VARARGS, NULL },
    { "CreateExtractElement", (PyCFunction)llvm_IRBuilder__CreateExtractElement, METH_VARARGS, NULL },
    { "CreateNot", (PyCFunction)llvm_IRBuilder__CreateNot, METH_VARARGS, NULL },
    { "CreateFDiv", (PyCFunction)llvm_IRBuilder__CreateFDiv, METH_VARARGS, NULL },
    { "CreateFSub", (PyCFunction)llvm_IRBuilder__CreateFSub, METH_VARARGS, NULL },
    { "CreateIntToPtr", (PyCFunction)llvm_IRBuilder__CreateIntToPtr, METH_VARARGS, NULL },
    { "CreateSDiv", (PyCFunction)llvm_IRBuilder__CreateSDiv, METH_VARARGS, NULL },
    { "GetInsertBlock", (PyCFunction)llvm_IRBuilder__GetInsertBlock, METH_VARARGS, NULL },
    { "CreateAShr", (PyCFunction)llvm_IRBuilder__CreateAShr, METH_VARARGS, NULL },
    { "CreateUDiv", (PyCFunction)llvm_IRBuilder__CreateUDiv, METH_VARARGS, NULL },
    { "_SetInsertPoint_before_instr", (PyCFunction)llvm_IRBuilder____SetInsertPoint__before__instr, METH_VARARGS, NULL },
    { "CreateCondBr", (PyCFunction)llvm_IRBuilder__CreateCondBr, METH_VARARGS, NULL },
    { "CreateFPToSI", (PyCFunction)llvm_IRBuilder__CreateFPToSI, METH_VARARGS, NULL },
    { "CreateFAdd", (PyCFunction)llvm_IRBuilder__CreateFAdd, METH_VARARGS, NULL },
    { "CreateStructGEP", (PyCFunction)llvm_IRBuilder__CreateStructGEP, METH_VARARGS, NULL },
    { "CreateAlignedLoad", (PyCFunction)llvm_IRBuilder__CreateAlignedLoad, METH_VARARGS, NULL },
    { "CreateAnd", (PyCFunction)llvm_IRBuilder__CreateAnd, METH_VARARGS, NULL },
    { "CreateAggregateRet", (PyCFunction)llvm_IRBuilder__CreateAggregateRet, METH_VARARGS, NULL },
    { "_CreateExtractValue", (PyCFunction)llvm_IRBuilder____CreateExtractValue, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_IRBuilder__new, METH_VARARGS, NULL },
    { "CreateNeg", (PyCFunction)llvm_IRBuilder__CreateNeg, METH_VARARGS, NULL },
    { "CreateFPTrunc", (PyCFunction)llvm_IRBuilder__CreateFPTrunc, METH_VARARGS, NULL },
    { "CreateZExtOrTrunc", (PyCFunction)llvm_IRBuilder__CreateZExtOrTrunc, METH_VARARGS, NULL },
    { "CreateURem", (PyCFunction)llvm_IRBuilder__CreateURem, METH_VARARGS, NULL },
    { "isNamePreserving", (PyCFunction)llvm_IRBuilder__isNamePreserving, METH_VARARGS, NULL },
    { "CreateBitCast", (PyCFunction)llvm_IRBuilder__CreateBitCast, METH_VARARGS, NULL },
    { "CreateShuffleVector", (PyCFunction)llvm_IRBuilder__CreateShuffleVector, METH_VARARGS, NULL },
    { "CreateSExt", (PyCFunction)llvm_IRBuilder__CreateSExt, METH_VARARGS, NULL },
    { "CreateSelect", (PyCFunction)llvm_IRBuilder__CreateSelect, METH_VARARGS, NULL },
    { "CreateRetVoid", (PyCFunction)llvm_IRBuilder__CreateRetVoid, METH_VARARGS, NULL },
    { "CreateAdd", (PyCFunction)llvm_IRBuilder__CreateAdd, METH_VARARGS, NULL },
    { "CreateIsNull", (PyCFunction)llvm_IRBuilder__CreateIsNull, METH_VARARGS, NULL },
    { "CreateSExtOrTrunc", (PyCFunction)llvm_IRBuilder__CreateSExtOrTrunc, METH_VARARGS, NULL },
    { "CreatePtrToInt", (PyCFunction)llvm_IRBuilder__CreatePtrToInt, METH_VARARGS, NULL },
    { "_CreateGEP", (PyCFunction)llvm_IRBuilder____CreateGEP, METH_VARARGS, NULL },
    { "CreateIntCast", (PyCFunction)llvm_IRBuilder__CreateIntCast, METH_VARARGS, NULL },
    { "CreateZExt", (PyCFunction)llvm_IRBuilder__CreateZExt, METH_VARARGS, NULL },
    { "CreateFMul", (PyCFunction)llvm_IRBuilder__CreateFMul, METH_VARARGS, NULL },
    { "CreateLandingPad", (PyCFunction)llvm_IRBuilder__CreateLandingPad, METH_VARARGS, NULL },
    { "CreateResume", (PyCFunction)llvm_IRBuilder__CreateResume, METH_VARARGS, NULL },
    { "CreateAlloca", (PyCFunction)llvm_IRBuilder__CreateAlloca, METH_VARARGS, NULL },
    { "CreateSIToFP", (PyCFunction)llvm_IRBuilder__CreateSIToFP, METH_VARARGS, NULL },
    { "CreateMul", (PyCFunction)llvm_IRBuilder__CreateMul, METH_VARARGS, NULL },
    { "CreateICmp", (PyCFunction)llvm_IRBuilder__CreateICmp, METH_VARARGS, NULL },
    { "CreateIsNotNull", (PyCFunction)llvm_IRBuilder__CreateIsNotNull, METH_VARARGS, NULL },
    { "CreateStore", (PyCFunction)llvm_IRBuilder__CreateStore, METH_VARARGS, NULL },
    { "CreateAlignedStore", (PyCFunction)llvm_IRBuilder__CreateAlignedStore, METH_VARARGS, NULL },
    { "CreateAtomicRMW", (PyCFunction)llvm_IRBuilder__CreateAtomicRMW, METH_VARARGS, NULL },
    { "CreateSExtOrBitCast", (PyCFunction)llvm_IRBuilder__CreateSExtOrBitCast, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_IRBuilder__delete, METH_VARARGS, NULL },
    { "CreateLShr", (PyCFunction)llvm_IRBuilder__CreateLShr, METH_VARARGS, NULL },
    { "CreateIndirectBr", (PyCFunction)llvm_IRBuilder__CreateIndirectBr, METH_VARARGS, NULL },
    { "CreateFRem", (PyCFunction)llvm_IRBuilder__CreateFRem, METH_VARARGS, NULL },
    { "CreatePtrDiff", (PyCFunction)llvm_IRBuilder__CreatePtrDiff, METH_VARARGS, NULL },
    { "CreateZExtOrBitCast", (PyCFunction)llvm_IRBuilder__CreateZExtOrBitCast, METH_VARARGS, NULL },
    { "CreateFPCast", (PyCFunction)llvm_IRBuilder__CreateFPCast, METH_VARARGS, NULL },
    { "CreateRet", (PyCFunction)llvm_IRBuilder__CreateRet, METH_VARARGS, NULL },
    { "CreateFence", (PyCFunction)llvm_IRBuilder__CreateFence, METH_VARARGS, NULL },
    { "_CreateInsertValue", (PyCFunction)llvm_IRBuilder____CreateInsertValue, METH_VARARGS, NULL },
    { "Insert", (PyCFunction)llvm_IRBuilder__Insert, METH_VARARGS, NULL },
    { "CreateShl", (PyCFunction)llvm_IRBuilder__CreateShl, METH_VARARGS, NULL },
    { "_CreateCall", (PyCFunction)llvm_IRBuilder____CreateCall, METH_VARARGS, NULL },
    { "CreateGlobalStringPtr", (PyCFunction)llvm_IRBuilder__CreateGlobalStringPtr, METH_VARARGS, NULL },
    { "CreateVAArg", (PyCFunction)llvm_IRBuilder__CreateVAArg, METH_VARARGS, NULL },
    { "CreateFPExt", (PyCFunction)llvm_IRBuilder__CreateFPExt, METH_VARARGS, NULL },
    { "CreatePHI", (PyCFunction)llvm_IRBuilder__CreatePHI, METH_VARARGS, NULL },
    { "CreateXor", (PyCFunction)llvm_IRBuilder__CreateXor, METH_VARARGS, NULL },
    { "CreateTrunc", (PyCFunction)llvm_IRBuilder__CreateTrunc, METH_VARARGS, NULL },
    { "CreateAtomicCmpXchg", (PyCFunction)llvm_IRBuilder__CreateAtomicCmpXchg, METH_VARARGS, NULL },
    { "CreateUIToFP", (PyCFunction)llvm_IRBuilder__CreateUIToFP, METH_VARARGS, NULL },
    { "CreateOr", (PyCFunction)llvm_IRBuilder__CreateOr, METH_VARARGS, NULL },
    { "CreateFCmp", (PyCFunction)llvm_IRBuilder__CreateFCmp, METH_VARARGS, NULL },
    { "CreateUnreachable", (PyCFunction)llvm_IRBuilder__CreateUnreachable, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_IRBuilder[] = {
    { NULL }
};

static
PyObject*
llvm_InlineAsm__get(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (6 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OOOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Type");
            if(!var_void)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::FunctionType* var_llvm_FunctionType1 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void);
            if(!var_llvm_FunctionType1)
            {
                return NULL;
            }
            var_llvm_FunctionType = var_llvm_FunctionType1;
        }
        llvm::StringRef var_llvm_StringRef;
        int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
        if(!var_int)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef1;
        int var_int1 = py_str_to(var_PyObject2, var_llvm_StringRef1);
        if(!var_int1)
        {
            return NULL;
        }
        bool var_bool;
        int var_int2 = py_bool_to(var_PyObject3, var_bool);
        if(!var_int2)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int3 = py_bool_to(var_PyObject4, var_bool1);
        if(!var_int3)
        {
            return NULL;
        }
        llvm::InlineAsm::AsmDialect var_llvm_InlineAsm_AsmDialect = (llvm::InlineAsm::AsmDialect)PyInt_AsLong(var_PyObject5);
        llvm::InlineAsm* var_llvm_InlineAsm = llvm::InlineAsm::get(var_llvm_FunctionType, var_llvm_StringRef, var_llvm_StringRef1, var_bool, var_bool1, var_llvm_InlineAsm_AsmDialect);
        PyObject* var_PyObject6 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InlineAsm), "llvm::Value", "llvm::InlineAsm");
        if (!var_PyObject6)
        {
            return NULL;
        }
        return var_PyObject6;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        PyObject* var_PyObject9;
        PyObject* var_PyObject10;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject7, &var_PyObject8, &var_PyObject9, &var_PyObject10))
        {
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType2 = NULL;
        if (var_PyObject7 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject7, "llvm::Type");
            if(!var_void1)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::FunctionType* var_llvm_FunctionType3 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void1);
            if(!var_llvm_FunctionType3)
            {
                return NULL;
            }
            var_llvm_FunctionType2 = var_llvm_FunctionType3;
        }
        llvm::StringRef var_llvm_StringRef2;
        int var_int4 = py_str_to(var_PyObject8, var_llvm_StringRef2);
        if(!var_int4)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef3;
        int var_int5 = py_str_to(var_PyObject9, var_llvm_StringRef3);
        if(!var_int5)
        {
            return NULL;
        }
        bool var_bool2;
        int var_int6 = py_bool_to(var_PyObject10, var_bool2);
        if(!var_int6)
        {
            return NULL;
        }
        llvm::InlineAsm* var_llvm_InlineAsm1 = llvm::InlineAsm::get(var_llvm_FunctionType2, var_llvm_StringRef2, var_llvm_StringRef3, var_bool2);
        PyObject* var_PyObject11 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InlineAsm1), "llvm::Value", "llvm::InlineAsm");
        if (!var_PyObject11)
        {
            return NULL;
        }
        return var_PyObject11;
    }
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject12;
        PyObject* var_PyObject13;
        PyObject* var_PyObject14;
        PyObject* var_PyObject15;
        PyObject* var_PyObject16;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject12, &var_PyObject13, &var_PyObject14, &var_PyObject15, &var_PyObject16))
        {
            return NULL;
        }
        llvm::FunctionType* var_llvm_FunctionType4 = NULL;
        if (var_PyObject12 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject12, "llvm::Type");
            if(!var_void2)
            {
                puts("Error: llvm::Type");
                return NULL;
            }
            llvm::FunctionType* var_llvm_FunctionType5 = unwrap_as<llvm::FunctionType, llvm::Type >::from(var_void2);
            if(!var_llvm_FunctionType5)
            {
                return NULL;
            }
            var_llvm_FunctionType4 = var_llvm_FunctionType5;
        }
        llvm::StringRef var_llvm_StringRef4;
        int var_int7 = py_str_to(var_PyObject13, var_llvm_StringRef4);
        if(!var_int7)
        {
            return NULL;
        }
        llvm::StringRef var_llvm_StringRef5;
        int var_int8 = py_str_to(var_PyObject14, var_llvm_StringRef5);
        if(!var_int8)
        {
            return NULL;
        }
        bool var_bool3;
        int var_int9 = py_bool_to(var_PyObject15, var_bool3);
        if(!var_int9)
        {
            return NULL;
        }
        bool var_bool4;
        int var_int10 = py_bool_to(var_PyObject16, var_bool4);
        if(!var_int10)
        {
            return NULL;
        }
        llvm::InlineAsm* var_llvm_InlineAsm2 = llvm::InlineAsm::get(var_llvm_FunctionType4, var_llvm_StringRef4, var_llvm_StringRef5, var_bool3, var_bool4);
        PyObject* var_PyObject17 = pycapsule_new(cast_to_base<llvm::Value >::from(var_llvm_InlineAsm2), "llvm::Value", "llvm::InlineAsm");
        if (!var_PyObject17)
        {
            return NULL;
        }
        return var_PyObject17;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_InlineAsm__ConstraintPrefix__isInput(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::InlineAsm::isInput);
    return var_PyObject;
}

static
PyObject*
llvm_InlineAsm__ConstraintPrefix__isOutput(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::InlineAsm::isOutput);
    return var_PyObject1;
}

static
PyObject*
llvm_InlineAsm__ConstraintPrefix__isClobber(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::InlineAsm::isClobber);
    return var_PyObject2;
}

static
PyObject*
llvm_InlineAsm__AsmDialect__AD__ATT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::InlineAsm::AD_ATT);
    return var_PyObject;
}

static
PyObject*
llvm_InlineAsm__AsmDialect__AD__Intel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::InlineAsm::AD_Intel);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_InlineAsm[] = {
    { "get", (PyCFunction)llvm_InlineAsm__get, METH_VARARGS, NULL },
    { "isInput", (PyCFunction)llvm_InlineAsm__ConstraintPrefix__isInput, METH_VARARGS, NULL },
    { "isOutput", (PyCFunction)llvm_InlineAsm__ConstraintPrefix__isOutput, METH_VARARGS, NULL },
    { "isClobber", (PyCFunction)llvm_InlineAsm__ConstraintPrefix__isClobber, METH_VARARGS, NULL },
    { "AD_ATT", (PyCFunction)llvm_InlineAsm__AsmDialect__AD__ATT, METH_VARARGS, NULL },
    { "AD_Intel", (PyCFunction)llvm_InlineAsm__AsmDialect__AD__Intel, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_InlineAsm[] = {
    { NULL }
};

static
PyObject*
llvm_Linker__LinkInModule(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
    {
        return NULL;
    }
    llvm::Linker* var_llvm_Linker = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Linker");
        if(!var_void)
        {
            puts("Error: llvm::Linker");
            return NULL;
        }
        llvm::Linker* var_llvm_Linker1 = unwrap_as<llvm::Linker, llvm::Linker >::from(var_void);
        if(!var_llvm_Linker1)
        {
            return NULL;
        }
        var_llvm_Linker = var_llvm_Linker1;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
        if(!var_void1)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    PyObject* var_PyObject3 = Linker_LinkInModule(var_llvm_Linker, var_llvm_Module, var_PyObject2);
    return var_PyObject3;
}

static
PyObject*
llvm_Linker____LinkModules(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::Module* var_llvm_Module2 = NULL;
    if (var_PyObject1 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::Module");
        if(!var_void1)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module3 = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
        if(!var_llvm_Module3)
        {
            return NULL;
        }
        var_llvm_Module2 = var_llvm_Module3;
    }
    llvm::Linker::LinkerMode var_llvm_Linker_LinkerMode = (llvm::Linker::LinkerMode)PyInt_AsLong(var_PyObject2);
    PyObject* var_PyObject4 = Linker_LinkModules(var_llvm_Module, var_llvm_Module2, var_llvm_Linker_LinkerMode, var_PyObject3);
    return var_PyObject4;
}

static
PyObject*
llvm_Linker__new(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Module* var_llvm_Module = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
        if(!var_void)
        {
            puts("Error: llvm::Module");
            return NULL;
        }
        llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
        if(!var_llvm_Module1)
        {
            return NULL;
        }
        var_llvm_Module = var_llvm_Module1;
    }
    llvm::Linker* var_llvm_Linker = new llvm::Linker(var_llvm_Module);
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Linker >::from(var_llvm_Linker), "llvm::Linker", "llvm::Linker");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Linker__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Linker* var_llvm_Linker = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Linker");
        if(!var_void)
        {
            puts("Error: llvm::Linker");
            return NULL;
        }
        llvm::Linker* var_llvm_Linker1 = unwrap_as<llvm::Linker, llvm::Linker >::from(var_void);
        if(!var_llvm_Linker1)
        {
            return NULL;
        }
        var_llvm_Linker = var_llvm_Linker1;
    }
    delete var_llvm_Linker;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_Linker__getModule(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::Linker* var_llvm_Linker = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Linker");
        if(!var_void)
        {
            puts("Error: llvm::Linker");
            return NULL;
        }
        llvm::Linker* var_llvm_Linker1 = unwrap_as<llvm::Linker, llvm::Linker >::from(var_void);
        if(!var_llvm_Linker1)
        {
            return NULL;
        }
        var_llvm_Linker = var_llvm_Linker1;
    }
    llvm::Module* var_llvm_Module = var_llvm_Linker->getModule();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Module >::from(var_llvm_Module), "llvm::Module", "llvm::Module");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_Linker__LinkerMode__DestroySource(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::Linker::DestroySource);
    return var_PyObject;
}

static
PyObject*
llvm_Linker__LinkerMode__PreserveSource(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::Linker::PreserveSource);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_Linker[] = {
    { "LinkInModule", (PyCFunction)llvm_Linker__LinkInModule, METH_VARARGS, NULL },
    { "_LinkModules", (PyCFunction)llvm_Linker____LinkModules, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_Linker__new, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_Linker__delete, METH_VARARGS, NULL },
    { "getModule", (PyCFunction)llvm_Linker__getModule, METH_VARARGS, NULL },
    { "DestroySource", (PyCFunction)llvm_Linker__LinkerMode__DestroySource, METH_VARARGS, NULL },
    { "PreserveSource", (PyCFunction)llvm_Linker__LinkerMode__PreserveSource, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Linker[] = {
    { NULL }
};

static
PyObject*
llvm_PassRegistry__getPassRegistry(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = llvm::PassRegistry::getPassRegistry();
    PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::PassRegistry >::from(var_llvm_PassRegistry), "llvm::PassRegistry", "llvm::PassRegistry");
    if (!var_PyObject)
    {
        return NULL;
    }
    return var_PyObject;
}

static
PyObject*
llvm_PassRegistry__getPassInfo(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
        if(!var_void)
        {
            puts("Error: llvm::PassRegistry");
            return NULL;
        }
        llvm::PassRegistry* var_llvm_PassRegistry1 = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
        if(!var_llvm_PassRegistry1)
        {
            return NULL;
        }
        var_llvm_PassRegistry = var_llvm_PassRegistry1;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject1, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    const llvm::PassInfo* var_const_llvm_PassInfo = var_llvm_PassRegistry->getPassInfo(var_llvm_StringRef);
    PyObject* var_PyObject2 = pycapsule_new(cast_to_base<llvm::PassInfo >::from(var_const_llvm_PassInfo), "llvm::PassInfo", "llvm::PassInfo");
    if (!var_PyObject2)
    {
        return NULL;
    }
    return var_PyObject2;
}

static
PyObject*
llvm_PassRegistry__enumerate(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
        if(!var_void)
        {
            puts("Error: llvm::PassRegistry");
            return NULL;
        }
        llvm::PassRegistry* var_llvm_PassRegistry1 = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
        if(!var_llvm_PassRegistry1)
        {
            return NULL;
        }
        var_llvm_PassRegistry = var_llvm_PassRegistry1;
    }
    PyObject* var_PyObject1 = PassRegistry_enumerate(var_llvm_PassRegistry);
    return var_PyObject1;
}

static
PyObject*
llvm_PassRegistry__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassRegistry* var_llvm_PassRegistry = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassRegistry");
        if(!var_void)
        {
            puts("Error: llvm::PassRegistry");
            return NULL;
        }
        llvm::PassRegistry* var_llvm_PassRegistry1 = unwrap_as<llvm::PassRegistry, llvm::PassRegistry >::from(var_void);
        if(!var_llvm_PassRegistry1)
        {
            return NULL;
        }
        var_llvm_PassRegistry = var_llvm_PassRegistry1;
    }
    delete var_llvm_PassRegistry;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_PassRegistry[] = {
    { "getPassRegistry", (PyCFunction)llvm_PassRegistry__getPassRegistry, METH_VARARGS, NULL },
    { "getPassInfo", (PyCFunction)llvm_PassRegistry__getPassInfo, METH_VARARGS, NULL },
    { "enumerate", (PyCFunction)llvm_PassRegistry__enumerate, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_PassRegistry__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_PassRegistry[] = {
    { NULL }
};

static
PyObject*
llvm_PassInfo__createPass(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassInfo* var_llvm_PassInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassInfo");
        if(!var_void)
        {
            puts("Error: llvm::PassInfo");
            return NULL;
        }
        llvm::PassInfo* var_llvm_PassInfo1 = unwrap_as<llvm::PassInfo, llvm::PassInfo >::from(var_void);
        if(!var_llvm_PassInfo1)
        {
            return NULL;
        }
        var_llvm_PassInfo = var_llvm_PassInfo1;
    }
    llvm::Pass* var_llvm_Pass = var_llvm_PassInfo->createPass();
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_llvm_Pass), "llvm::Pass", "llvm::Pass");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_PassInfo[] = {
    { "createPass", (PyCFunction)llvm_PassInfo__createPass, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_PassInfo[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_TargetTransformInfo[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_TargetTransformInfo[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_ScalarTargetTransformInfo[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_ScalarTargetTransformInfo[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_VectorTargetTransformInfo[] = {
    { NULL },
};

static
SubModuleEntry submodule_llvm_VectorTargetTransformInfo[] = {
    { NULL }
};

static
PyObject*
llvm_PassManagerBuilder__populateModulePassManager(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::PassManagerBase");
    if(!var_void1)
    {
        puts("Error: llvm::PassManagerBase");
        return NULL;
    }
    llvm::PassManagerBase* var_llvm_PassManagerBase = unwrap_as<llvm::PassManagerBase, llvm::PassManagerBase >::from(var_void1);
    if(!var_llvm_PassManagerBase)
    {
        return NULL;
    }
    llvm::PassManagerBase& var_llvm_PassManagerBase1 = *var_llvm_PassManagerBase;
    var_llvm_PassManagerBuilder->populateModulePassManager(var_llvm_PassManagerBase1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder__new(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = new llvm::PassManagerBuilder();
    PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::PassManagerBuilder >::from(var_llvm_PassManagerBuilder), "llvm::PassManagerBuilder", "llvm::PassManagerBuilder");
    if (!var_PyObject)
    {
        return NULL;
    }
    return var_PyObject;
}

static
PyObject*
llvm_PassManagerBuilder__populateFunctionPassManager(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::PassManagerBase");
    if(!var_void1)
    {
        puts("Error: llvm::PassManagerBase");
        return NULL;
    }
    llvm::FunctionPassManager* var_llvm_FunctionPassManager = unwrap_as<llvm::FunctionPassManager, llvm::PassManagerBase >::from(var_void1);
    if(!var_llvm_FunctionPassManager)
    {
        return NULL;
    }
    llvm::FunctionPassManager& var_llvm_FunctionPassManager1 = *var_llvm_FunctionPassManager;
    var_llvm_PassManagerBuilder->populateFunctionPassManager(var_llvm_FunctionPassManager1);
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder__populateLTOPassManager(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (5 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OOOOO", &var_PyObject, &var_PyObject1, &var_PyObject2, &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
            if(!var_void)
            {
                puts("Error: llvm::PassManagerBuilder");
                return NULL;
            }
            llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
            if(!var_llvm_PassManagerBuilder1)
            {
                return NULL;
            }
            var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
        }
        void* var_void1 = PyCapsule_GetPointer(var_PyObject1, "llvm::PassManagerBase");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::PassManagerBase* var_llvm_PassManagerBase = unwrap_as<llvm::PassManagerBase, llvm::PassManagerBase >::from(var_void1);
        if(!var_llvm_PassManagerBase)
        {
            return NULL;
        }
        llvm::PassManagerBase& var_llvm_PassManagerBase1 = *var_llvm_PassManagerBase;
        bool var_bool;
        int var_int = py_bool_to(var_PyObject2, var_bool);
        if(!var_int)
        {
            return NULL;
        }
        bool var_bool1;
        int var_int1 = py_bool_to(var_PyObject3, var_bool1);
        if(!var_int1)
        {
            return NULL;
        }
        bool var_bool2;
        int var_int2 = py_bool_to(var_PyObject4, var_bool2);
        if(!var_int2)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder->populateLTOPassManager(var_llvm_PassManagerBase1, var_bool, var_bool1, var_bool2);
        Py_RETURN_NONE;
    }
    if (4 == var_Py__ssize__t)
    {
        PyObject* var_PyObject5;
        PyObject* var_PyObject6;
        PyObject* var_PyObject7;
        PyObject* var_PyObject8;
        if(!PyArg_ParseTuple(args, "OOOO", &var_PyObject5, &var_PyObject6, &var_PyObject7, &var_PyObject8))
        {
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
        if (var_PyObject5 != Py_None)
        {
            void* var_void2 = PyCapsule_GetPointer(var_PyObject5, "llvm::PassManagerBuilder");
            if(!var_void2)
            {
                puts("Error: llvm::PassManagerBuilder");
                return NULL;
            }
            llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void2);
            if(!var_llvm_PassManagerBuilder3)
            {
                return NULL;
            }
            var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
        }
        void* var_void3 = PyCapsule_GetPointer(var_PyObject6, "llvm::PassManagerBase");
        if(!var_void3)
        {
            puts("Error: llvm::PassManagerBase");
            return NULL;
        }
        llvm::PassManagerBase* var_llvm_PassManagerBase2 = unwrap_as<llvm::PassManagerBase, llvm::PassManagerBase >::from(var_void3);
        if(!var_llvm_PassManagerBase2)
        {
            return NULL;
        }
        llvm::PassManagerBase& var_llvm_PassManagerBase3 = *var_llvm_PassManagerBase2;
        bool var_bool3;
        int var_int3 = py_bool_to(var_PyObject7, var_bool3);
        if(!var_int3)
        {
            return NULL;
        }
        bool var_bool4;
        int var_int4 = py_bool_to(var_PyObject8, var_bool4);
        if(!var_int4)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2->populateLTOPassManager(var_llvm_PassManagerBase3, var_bool3, var_bool4);
        Py_RETURN_NONE;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_PassManagerBuilder__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    delete var_llvm_PassManagerBuilder;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_DisableUnrollLoops__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    bool var_bool = var_llvm_PassManagerBuilder->DisableUnrollLoops;
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_DisableUnrollLoops__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    bool var_bool1;
    int var_int = py_bool_to(var_PyObject3, var_bool1);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_PassManagerBuilder2->DisableUnrollLoops = var_bool1;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_Inliner__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    llvm::Pass* var_llvm_Pass = var_llvm_PassManagerBuilder->Inliner;
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_llvm_Pass), "llvm::Pass", "llvm::Pass");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_Inliner__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    llvm::Pass* var_llvm_Pass1 = NULL;
    if (var_PyObject3 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::Pass");
        if(!var_void2)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::Pass* var_llvm_Pass2 = unwrap_as<llvm::Pass, llvm::Pass >::from(var_void2);
        if(!var_llvm_Pass2)
        {
            return NULL;
        }
        var_llvm_Pass1 = var_llvm_Pass2;
    }
    var_llvm_PassManagerBuilder2->Inliner = var_llvm_Pass1;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_SizeLevel__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    unsigned var_unsigned = var_llvm_PassManagerBuilder->SizeLevel;
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_SizeLevel__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    unsigned var_unsigned1;
    int var_int = py_int_to(var_PyObject3, var_unsigned1);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_PassManagerBuilder2->SizeLevel = var_unsigned1;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_LoopVectorize__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    bool var_bool = var_llvm_PassManagerBuilder->LoopVectorize;
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_LoopVectorize__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    bool var_bool1;
    int var_int = py_bool_to(var_PyObject3, var_bool1);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_PassManagerBuilder2->LoopVectorize = var_bool1;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_SLPVectorize__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    bool var_bool = var_llvm_PassManagerBuilder->SLPVectorize;
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_SLPVectorize__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    bool var_bool1;
    int var_int = py_bool_to(var_PyObject3, var_bool1);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_PassManagerBuilder2->SLPVectorize = var_bool1;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_OptLevel__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    unsigned var_unsigned = var_llvm_PassManagerBuilder->OptLevel;
    PyObject* var_PyObject1 = py_int_from_unsigned(var_unsigned);
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_OptLevel__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    unsigned var_unsigned1;
    int var_int = py_int_to(var_PyObject3, var_unsigned1);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_PassManagerBuilder2->OptLevel = var_unsigned1;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_DisableSimplifyLibCalls__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    bool var_bool = var_llvm_PassManagerBuilder->DisableSimplifyLibCalls;
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_DisableSimplifyLibCalls__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    bool var_bool1;
    int var_int = py_bool_to(var_PyObject3, var_bool1);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_PassManagerBuilder2->DisableSimplifyLibCalls = var_bool1;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_DisableUnitAtATime__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    bool var_bool = var_llvm_PassManagerBuilder->DisableUnitAtATime;
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_DisableUnitAtATime__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    bool var_bool1;
    int var_int = py_bool_to(var_PyObject3, var_bool1);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_PassManagerBuilder2->DisableUnitAtATime = var_bool1;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_LibraryInfo__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo = var_llvm_PassManagerBuilder->LibraryInfo;
    PyObject* var_PyObject1 = pycapsule_new(cast_to_base<llvm::Pass >::from(var_llvm_TargetLibraryInfo), "llvm::Pass", "llvm::TargetLibraryInfo");
    if (!var_PyObject1)
    {
        return NULL;
    }
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_LibraryInfo__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo1 = NULL;
    if (var_PyObject3 != Py_None)
    {
        void* var_void2 = PyCapsule_GetPointer(var_PyObject3, "llvm::Pass");
        if(!var_void2)
        {
            puts("Error: llvm::Pass");
            return NULL;
        }
        llvm::TargetLibraryInfo* var_llvm_TargetLibraryInfo2 = unwrap_as<llvm::TargetLibraryInfo, llvm::Pass >::from(var_void2);
        if(!var_llvm_TargetLibraryInfo2)
        {
            return NULL;
        }
        var_llvm_TargetLibraryInfo1 = var_llvm_TargetLibraryInfo2;
    }
    var_llvm_PassManagerBuilder2->LibraryInfo = var_llvm_TargetLibraryInfo1;
    Py_RETURN_NONE;
}

static
PyObject*
llvm_PassManagerBuilder_BBVectorize__get(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::PassManagerBuilder");
        if(!var_void)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder1 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void);
        if(!var_llvm_PassManagerBuilder1)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder = var_llvm_PassManagerBuilder1;
    }
    bool var_bool = var_llvm_PassManagerBuilder->BBVectorize;
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_PassManagerBuilder_BBVectorize__set(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2;
    PyObject* var_PyObject3;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject2, &var_PyObject3))
    {
        return NULL;
    }
    llvm::PassManagerBuilder* var_llvm_PassManagerBuilder2 = NULL;
    if (var_PyObject2 != Py_None)
    {
        void* var_void1 = PyCapsule_GetPointer(var_PyObject2, "llvm::PassManagerBuilder");
        if(!var_void1)
        {
            puts("Error: llvm::PassManagerBuilder");
            return NULL;
        }
        llvm::PassManagerBuilder* var_llvm_PassManagerBuilder3 = unwrap_as<llvm::PassManagerBuilder, llvm::PassManagerBuilder >::from(var_void1);
        if(!var_llvm_PassManagerBuilder3)
        {
            return NULL;
        }
        var_llvm_PassManagerBuilder2 = var_llvm_PassManagerBuilder3;
    }
    bool var_bool1;
    int var_int = py_bool_to(var_PyObject3, var_bool1);
    if(!var_int)
    {
        return NULL;
    }
    var_llvm_PassManagerBuilder2->BBVectorize = var_bool1;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_PassManagerBuilder[] = {
    { "populateModulePassManager", (PyCFunction)llvm_PassManagerBuilder__populateModulePassManager, METH_VARARGS, NULL },
    { "new", (PyCFunction)llvm_PassManagerBuilder__new, METH_VARARGS, NULL },
    { "populateFunctionPassManager", (PyCFunction)llvm_PassManagerBuilder__populateFunctionPassManager, METH_VARARGS, NULL },
    { "populateLTOPassManager", (PyCFunction)llvm_PassManagerBuilder__populateLTOPassManager, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_PassManagerBuilder__delete, METH_VARARGS, NULL },
    { "DisableUnrollLoops_get", (PyCFunction)llvm_PassManagerBuilder_DisableUnrollLoops__get, METH_VARARGS, NULL },
    { "DisableUnrollLoops_set", (PyCFunction)llvm_PassManagerBuilder_DisableUnrollLoops__set, METH_VARARGS, NULL },
    { "Inliner_get", (PyCFunction)llvm_PassManagerBuilder_Inliner__get, METH_VARARGS, NULL },
    { "Inliner_set", (PyCFunction)llvm_PassManagerBuilder_Inliner__set, METH_VARARGS, NULL },
    { "SizeLevel_get", (PyCFunction)llvm_PassManagerBuilder_SizeLevel__get, METH_VARARGS, NULL },
    { "SizeLevel_set", (PyCFunction)llvm_PassManagerBuilder_SizeLevel__set, METH_VARARGS, NULL },
    { "LoopVectorize_get", (PyCFunction)llvm_PassManagerBuilder_LoopVectorize__get, METH_VARARGS, NULL },
    { "LoopVectorize_set", (PyCFunction)llvm_PassManagerBuilder_LoopVectorize__set, METH_VARARGS, NULL },
    { "SLPVectorize_get", (PyCFunction)llvm_PassManagerBuilder_SLPVectorize__get, METH_VARARGS, NULL },
    { "SLPVectorize_set", (PyCFunction)llvm_PassManagerBuilder_SLPVectorize__set, METH_VARARGS, NULL },
    { "OptLevel_get", (PyCFunction)llvm_PassManagerBuilder_OptLevel__get, METH_VARARGS, NULL },
    { "OptLevel_set", (PyCFunction)llvm_PassManagerBuilder_OptLevel__set, METH_VARARGS, NULL },
    { "DisableSimplifyLibCalls_get", (PyCFunction)llvm_PassManagerBuilder_DisableSimplifyLibCalls__get, METH_VARARGS, NULL },
    { "DisableSimplifyLibCalls_set", (PyCFunction)llvm_PassManagerBuilder_DisableSimplifyLibCalls__set, METH_VARARGS, NULL },
    { "DisableUnitAtATime_get", (PyCFunction)llvm_PassManagerBuilder_DisableUnitAtATime__get, METH_VARARGS, NULL },
    { "DisableUnitAtATime_set", (PyCFunction)llvm_PassManagerBuilder_DisableUnitAtATime__set, METH_VARARGS, NULL },
    { "LibraryInfo_get", (PyCFunction)llvm_PassManagerBuilder_LibraryInfo__get, METH_VARARGS, NULL },
    { "LibraryInfo_set", (PyCFunction)llvm_PassManagerBuilder_LibraryInfo__set, METH_VARARGS, NULL },
    { "BBVectorize_get", (PyCFunction)llvm_PassManagerBuilder_BBVectorize__get, METH_VARARGS, NULL },
    { "BBVectorize_set", (PyCFunction)llvm_PassManagerBuilder_BBVectorize__set, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_PassManagerBuilder[] = {
    { NULL }
};

static
PyObject*
llvm_InlineFunctionInfo__new(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    llvm::InlineFunctionInfo* var_llvm_InlineFunctionInfo = new llvm::InlineFunctionInfo();
    PyObject* var_PyObject = pycapsule_new(cast_to_base<llvm::InlineFunctionInfo >::from(var_llvm_InlineFunctionInfo), "llvm::InlineFunctionInfo", "llvm::InlineFunctionInfo");
    if (!var_PyObject)
    {
        return NULL;
    }
    return var_PyObject;
}

static
PyObject*
llvm_InlineFunctionInfo__delete(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::InlineFunctionInfo* var_llvm_InlineFunctionInfo = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::InlineFunctionInfo");
        if(!var_void)
        {
            puts("Error: llvm::InlineFunctionInfo");
            return NULL;
        }
        llvm::InlineFunctionInfo* var_llvm_InlineFunctionInfo1 = unwrap_as<llvm::InlineFunctionInfo, llvm::InlineFunctionInfo >::from(var_void);
        if(!var_llvm_InlineFunctionInfo1)
        {
            return NULL;
        }
        var_llvm_InlineFunctionInfo = var_llvm_InlineFunctionInfo1;
    }
    delete var_llvm_InlineFunctionInfo;
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_InlineFunctionInfo[] = {
    { "new", (PyCFunction)llvm_InlineFunctionInfo__new, METH_VARARGS, NULL },
    { "delete", (PyCFunction)llvm_InlineFunctionInfo__delete, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_InlineFunctionInfo[] = {
    { NULL }
};

static
PyObject*
llvm__AtomicOrdering__NotAtomic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::NotAtomic);
    return var_PyObject;
}

static
PyObject*
llvm__AtomicOrdering__Unordered(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::Unordered);
    return var_PyObject1;
}

static
PyObject*
llvm__AtomicOrdering__Monotonic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::Monotonic);
    return var_PyObject2;
}

static
PyObject*
llvm__AtomicOrdering__Acquire(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::Acquire);
    return var_PyObject3;
}

static
PyObject*
llvm__AtomicOrdering__Release(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::Release);
    return var_PyObject4;
}

static
PyObject*
llvm__AtomicOrdering__AcquireRelease(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::AcquireRelease);
    return var_PyObject5;
}

static
PyObject*
llvm__AtomicOrdering__SequentiallyConsistent(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::SequentiallyConsistent);
    return var_PyObject6;
}

static
PyObject*
llvm__SynchronizationScope__SingleThread(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::SingleThread);
    return var_PyObject;
}

static
PyObject*
llvm__SynchronizationScope__CrossThread(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::CrossThread);
    return var_PyObject1;
}

static
PyObject*
llvm__VerifierFailureAction__AbortProcessAction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::AbortProcessAction);
    return var_PyObject;
}

static
PyObject*
llvm__VerifierFailureAction__PrintMessageAction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::PrintMessageAction);
    return var_PyObject1;
}

static
PyObject*
llvm__VerifierFailureAction__ReturnStatusAction(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::ReturnStatusAction);
    return var_PyObject2;
}

static
PyObject*
llvm_sys__getDefaultTargetTriple(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    const std::string var_const_std_string = llvm::sys::getDefaultTargetTriple();
    PyObject* var_PyObject = py_str_from(var_const_std_string);
    return var_PyObject;
}

static
PyObject*
llvm_sys__getProcessTriple(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    const std::string var_const_std_string = llvm::sys::getProcessTriple();
    PyObject* var_PyObject = py_str_from(var_const_std_string);
    return var_PyObject;
}

static
PyObject*
llvm_sys__isLittleEndianHost(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    bool var_bool = llvm_sys_isLittleEndianHost();
    PyObject* var_PyObject = py_bool_from(var_bool);
    return var_PyObject;
}

static
PyObject*
llvm_sys__isBigEndianHost(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    bool var_bool = llvm_sys_isBigEndianHost();
    PyObject* var_PyObject = py_bool_from(var_bool);
    return var_PyObject;
}

static
PyObject*
llvm_sys__getHostCPUName(PyObject* self, PyObject* args)
{
    if(!PyArg_ParseTuple(args, ""))
    {
        return NULL;
    }
    const std::string var_const_std_string = llvm::sys::getHostCPUName();
    PyObject* var_PyObject = py_str_from(var_const_std_string);
    return var_PyObject;
}

static
PyObject*
llvm_sys__getHostCPUFeatures(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    PyObject* var_PyObject1 = llvm_sys_getHostCPUFeatures(var_PyObject);
    return var_PyObject1;
}

static
PyObject*
llvm_sys_DynamicLibrary__LoadPermanentLibrary(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        const char* var_const_char;
        int var_int = py_str_to(var_PyObject, var_const_char);
        if(!var_int)
        {
            return NULL;
        }
        PyObject* var_PyObject2 = DynamicLibrary_LoadLibraryPermanently(var_const_char, var_PyObject1);
        return var_PyObject2;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject3))
        {
            return NULL;
        }
        const char* var_const_char1;
        int var_int1 = py_str_to(var_PyObject3, var_const_char1);
        if(!var_int1)
        {
            return NULL;
        }
        PyObject* var_PyObject4 = DynamicLibrary_LoadLibraryPermanently(var_const_char1);
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_sys_DynamicLibrary__getPermanentLibrary(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
        {
            return NULL;
        }
        const char* var_const_char;
        int var_int = py_str_to(var_PyObject, var_const_char);
        if(!var_int)
        {
            return NULL;
        }
        PyObject* var_PyObject2 = DynamicLibrary_getPermanentLibrary(var_const_char, var_PyObject1);
        return var_PyObject2;
    }
    if (1 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        if(!PyArg_ParseTuple(args, "O", &var_PyObject3))
        {
            return NULL;
        }
        const char* var_const_char1;
        int var_int1 = py_str_to(var_PyObject3, var_const_char1);
        if(!var_int1)
        {
            return NULL;
        }
        PyObject* var_PyObject4 = DynamicLibrary_getPermanentLibrary(var_const_char1);
        return var_PyObject4;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyObject*
llvm_sys_DynamicLibrary__isValid(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    llvm::sys::DynamicLibrary* var_llvm_sys_DynamicLibrary = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::sys::DynamicLibrary");
        if(!var_void)
        {
            puts("Error: llvm::sys::DynamicLibrary");
            return NULL;
        }
        llvm::sys::DynamicLibrary* var_llvm_sys_DynamicLibrary1 = unwrap_as<llvm::sys::DynamicLibrary, llvm::sys::DynamicLibrary >::from(var_void);
        if(!var_llvm_sys_DynamicLibrary1)
        {
            return NULL;
        }
        var_llvm_sys_DynamicLibrary = var_llvm_sys_DynamicLibrary1;
    }
    bool var_bool = var_llvm_sys_DynamicLibrary->isValid();
    PyObject* var_PyObject1 = py_bool_from(var_bool);
    return var_PyObject1;
}

static
PyObject*
llvm_sys_DynamicLibrary__getAddressOfSymbol(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::sys::DynamicLibrary* var_llvm_sys_DynamicLibrary = NULL;
    if (var_PyObject != Py_None)
    {
        void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::sys::DynamicLibrary");
        if(!var_void)
        {
            puts("Error: llvm::sys::DynamicLibrary");
            return NULL;
        }
        llvm::sys::DynamicLibrary* var_llvm_sys_DynamicLibrary1 = unwrap_as<llvm::sys::DynamicLibrary, llvm::sys::DynamicLibrary >::from(var_void);
        if(!var_llvm_sys_DynamicLibrary1)
        {
            return NULL;
        }
        var_llvm_sys_DynamicLibrary = var_llvm_sys_DynamicLibrary1;
    }
    const char* var_const_char;
    int var_int = py_str_to(var_PyObject1, var_const_char);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void1 = var_llvm_sys_DynamicLibrary->getAddressOfSymbol(var_const_char);
    PyObject* var_PyObject2 = py_int_from_unsigned(var_void1);
    return var_PyObject2;
}

static
PyObject*
llvm_sys_DynamicLibrary__SearchForAddressOfSymbol(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    if(!PyArg_ParseTuple(args, "O", &var_PyObject))
    {
        return NULL;
    }
    const char* var_const_char;
    int var_int = py_str_to(var_PyObject, var_const_char);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void = llvm::sys::DynamicLibrary::SearchForAddressOfSymbol(var_const_char);
    PyObject* var_PyObject1 = py_int_from_unsigned(var_void);
    return var_PyObject1;
}

static
PyObject*
llvm_sys_DynamicLibrary__AddSymbol(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject;
    PyObject* var_PyObject1;
    if(!PyArg_ParseTuple(args, "OO", &var_PyObject, &var_PyObject1))
    {
        return NULL;
    }
    llvm::StringRef var_llvm_StringRef;
    int var_int = py_str_to(var_PyObject, var_llvm_StringRef);
    if(!var_int)
    {
        return NULL;
    }
    void* var_void;
    int var_int1 = py_int_to(var_PyObject1, var_void);
    if(!var_int1)
    {
        return NULL;
    }
    llvm::sys::DynamicLibrary::AddSymbol(var_llvm_StringRef, var_void);
    Py_RETURN_NONE;
}

static
PyMethodDef meth_llvm_sys_DynamicLibrary[] = {
    { "LoadPermanentLibrary", (PyCFunction)llvm_sys_DynamicLibrary__LoadPermanentLibrary, METH_VARARGS, NULL },
    { "getPermanentLibrary", (PyCFunction)llvm_sys_DynamicLibrary__getPermanentLibrary, METH_VARARGS, NULL },
    { "isValid", (PyCFunction)llvm_sys_DynamicLibrary__isValid, METH_VARARGS, NULL },
    { "getAddressOfSymbol", (PyCFunction)llvm_sys_DynamicLibrary__getAddressOfSymbol, METH_VARARGS, NULL },
    { "SearchForAddressOfSymbol", (PyCFunction)llvm_sys_DynamicLibrary__SearchForAddressOfSymbol, METH_VARARGS, NULL },
    { "AddSymbol", (PyCFunction)llvm_sys_DynamicLibrary__AddSymbol, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_sys_DynamicLibrary[] = {
    { NULL }
};

static
PyMethodDef meth_llvm_sys[] = {
    { "getDefaultTargetTriple", (PyCFunction)llvm_sys__getDefaultTargetTriple, METH_VARARGS, NULL },
    { "getProcessTriple", (PyCFunction)llvm_sys__getProcessTriple, METH_VARARGS, NULL },
    { "isLittleEndianHost", (PyCFunction)llvm_sys__isLittleEndianHost, METH_VARARGS, NULL },
    { "isBigEndianHost", (PyCFunction)llvm_sys__isBigEndianHost, METH_VARARGS, NULL },
    { "getHostCPUName", (PyCFunction)llvm_sys__getHostCPUName, METH_VARARGS, NULL },
    { "getHostCPUFeatures", (PyCFunction)llvm_sys__getHostCPUFeatures, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_sys[] = {
    { "DynamicLibrary", meth_llvm_sys_DynamicLibrary, NULL },
    { NULL }
};

static
PyObject*
llvm_cl__ParseEnvironmentOptions(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        const char* var_const_char;
        int var_int = py_str_to(var_PyObject, var_const_char);
        if(!var_int)
        {
            return NULL;
        }
        const char* var_const_char1;
        int var_int1 = py_str_to(var_PyObject1, var_const_char1);
        if(!var_int1)
        {
            return NULL;
        }
        const char* var_const_char2;
        int var_int2 = py_str_to(var_PyObject2, var_const_char2);
        if(!var_int2)
        {
            return NULL;
        }
        llvm::cl::ParseEnvironmentOptions(var_const_char, var_const_char1, var_const_char2);
        Py_RETURN_NONE;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject3;
        PyObject* var_PyObject4;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject3, &var_PyObject4))
        {
            return NULL;
        }
        const char* var_const_char3;
        int var_int3 = py_str_to(var_PyObject3, var_const_char3);
        if(!var_int3)
        {
            return NULL;
        }
        const char* var_const_char4;
        int var_int4 = py_str_to(var_PyObject4, var_const_char4);
        if(!var_int4)
        {
            return NULL;
        }
        llvm::cl::ParseEnvironmentOptions(var_const_char3, var_const_char4);
        Py_RETURN_NONE;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyMethodDef meth_llvm_cl[] = {
    { "ParseEnvironmentOptions", (PyCFunction)llvm_cl__ParseEnvironmentOptions, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_cl[] = {
    { NULL }
};

static
PyObject*
llvm_Reloc__Model__Default(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::Reloc::Default);
    return var_PyObject;
}

static
PyObject*
llvm_Reloc__Model__Static(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::Reloc::Static);
    return var_PyObject1;
}

static
PyObject*
llvm_Reloc__Model__PIC__(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::Reloc::PIC_);
    return var_PyObject2;
}

static
PyObject*
llvm_Reloc__Model__DynamicNoPIC(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::Reloc::DynamicNoPIC);
    return var_PyObject3;
}

static
PyMethodDef meth_llvm_Reloc[] = {
    { "Default", (PyCFunction)llvm_Reloc__Model__Default, METH_VARARGS, NULL },
    { "Static", (PyCFunction)llvm_Reloc__Model__Static, METH_VARARGS, NULL },
    { "PIC_", (PyCFunction)llvm_Reloc__Model__PIC__, METH_VARARGS, NULL },
    { "DynamicNoPIC", (PyCFunction)llvm_Reloc__Model__DynamicNoPIC, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Reloc[] = {
    { NULL }
};

static
PyObject*
llvm_CodeModel__Model__Default(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::CodeModel::Default);
    return var_PyObject;
}

static
PyObject*
llvm_CodeModel__Model__JITDefault(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::CodeModel::JITDefault);
    return var_PyObject1;
}

static
PyObject*
llvm_CodeModel__Model__Small(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::CodeModel::Small);
    return var_PyObject2;
}

static
PyObject*
llvm_CodeModel__Model__Kernel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::CodeModel::Kernel);
    return var_PyObject3;
}

static
PyObject*
llvm_CodeModel__Model__Medium(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::CodeModel::Medium);
    return var_PyObject4;
}

static
PyObject*
llvm_CodeModel__Model__Large(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::CodeModel::Large);
    return var_PyObject5;
}

static
PyMethodDef meth_llvm_CodeModel[] = {
    { "Default", (PyCFunction)llvm_CodeModel__Model__Default, METH_VARARGS, NULL },
    { "JITDefault", (PyCFunction)llvm_CodeModel__Model__JITDefault, METH_VARARGS, NULL },
    { "Small", (PyCFunction)llvm_CodeModel__Model__Small, METH_VARARGS, NULL },
    { "Kernel", (PyCFunction)llvm_CodeModel__Model__Kernel, METH_VARARGS, NULL },
    { "Medium", (PyCFunction)llvm_CodeModel__Model__Medium, METH_VARARGS, NULL },
    { "Large", (PyCFunction)llvm_CodeModel__Model__Large, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_CodeModel[] = {
    { NULL }
};

static
PyObject*
llvm_TLSModel__Model__GeneralDynamic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::TLSModel::GeneralDynamic);
    return var_PyObject;
}

static
PyObject*
llvm_TLSModel__Model__LocalDynamic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::TLSModel::LocalDynamic);
    return var_PyObject1;
}

static
PyObject*
llvm_TLSModel__Model__InitialExec(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::TLSModel::InitialExec);
    return var_PyObject2;
}

static
PyObject*
llvm_TLSModel__Model__LocalExec(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::TLSModel::LocalExec);
    return var_PyObject3;
}

static
PyMethodDef meth_llvm_TLSModel[] = {
    { "GeneralDynamic", (PyCFunction)llvm_TLSModel__Model__GeneralDynamic, METH_VARARGS, NULL },
    { "LocalDynamic", (PyCFunction)llvm_TLSModel__Model__LocalDynamic, METH_VARARGS, NULL },
    { "InitialExec", (PyCFunction)llvm_TLSModel__Model__InitialExec, METH_VARARGS, NULL },
    { "LocalExec", (PyCFunction)llvm_TLSModel__Model__LocalExec, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_TLSModel[] = {
    { NULL }
};

static
PyObject*
llvm_CodeGenOpt__Level__None(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::CodeGenOpt::None);
    return var_PyObject;
}

static
PyObject*
llvm_CodeGenOpt__Level__Less(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::CodeGenOpt::Less);
    return var_PyObject1;
}

static
PyObject*
llvm_CodeGenOpt__Level__Default(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::CodeGenOpt::Default);
    return var_PyObject2;
}

static
PyObject*
llvm_CodeGenOpt__Level__Aggressive(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::CodeGenOpt::Aggressive);
    return var_PyObject3;
}

static
PyMethodDef meth_llvm_CodeGenOpt[] = {
    { "None", (PyCFunction)llvm_CodeGenOpt__Level__None, METH_VARARGS, NULL },
    { "Less", (PyCFunction)llvm_CodeGenOpt__Level__Less, METH_VARARGS, NULL },
    { "Default", (PyCFunction)llvm_CodeGenOpt__Level__Default, METH_VARARGS, NULL },
    { "Aggressive", (PyCFunction)llvm_CodeGenOpt__Level__Aggressive, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_CodeGenOpt[] = {
    { NULL }
};

static
PyObject*
llvm_dwarf__dwarf__constants__DWARF__VERSION(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::dwarf::DWARF_VERSION);
    return var_PyObject;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__array__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::dwarf::DW_TAG_array_type);
    return var_PyObject1;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__class__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::dwarf::DW_TAG_class_type);
    return var_PyObject2;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__entry__point(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::dwarf::DW_TAG_entry_point);
    return var_PyObject3;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__enumeration__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::dwarf::DW_TAG_enumeration_type);
    return var_PyObject4;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__formal__parameter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::dwarf::DW_TAG_formal_parameter);
    return var_PyObject5;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__imported__declaration(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::dwarf::DW_TAG_imported_declaration);
    return var_PyObject6;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__label(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject7 = PyInt_FromLong(llvm::dwarf::DW_TAG_label);
    return var_PyObject7;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__lexical__block(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject8 = PyInt_FromLong(llvm::dwarf::DW_TAG_lexical_block);
    return var_PyObject8;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__member(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject9 = PyInt_FromLong(llvm::dwarf::DW_TAG_member);
    return var_PyObject9;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__pointer__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject10 = PyInt_FromLong(llvm::dwarf::DW_TAG_pointer_type);
    return var_PyObject10;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__reference__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject11 = PyInt_FromLong(llvm::dwarf::DW_TAG_reference_type);
    return var_PyObject11;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__compile__unit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject12 = PyInt_FromLong(llvm::dwarf::DW_TAG_compile_unit);
    return var_PyObject12;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__string__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject13 = PyInt_FromLong(llvm::dwarf::DW_TAG_string_type);
    return var_PyObject13;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__structure__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject14 = PyInt_FromLong(llvm::dwarf::DW_TAG_structure_type);
    return var_PyObject14;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__subroutine__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject15 = PyInt_FromLong(llvm::dwarf::DW_TAG_subroutine_type);
    return var_PyObject15;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__typedef(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject16 = PyInt_FromLong(llvm::dwarf::DW_TAG_typedef);
    return var_PyObject16;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__union__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject17 = PyInt_FromLong(llvm::dwarf::DW_TAG_union_type);
    return var_PyObject17;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__unspecified__parameters(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject18 = PyInt_FromLong(llvm::dwarf::DW_TAG_unspecified_parameters);
    return var_PyObject18;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__variant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject19 = PyInt_FromLong(llvm::dwarf::DW_TAG_variant);
    return var_PyObject19;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__common__block(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject20 = PyInt_FromLong(llvm::dwarf::DW_TAG_common_block);
    return var_PyObject20;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__common__inclusion(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject21 = PyInt_FromLong(llvm::dwarf::DW_TAG_common_inclusion);
    return var_PyObject21;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__inheritance(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject22 = PyInt_FromLong(llvm::dwarf::DW_TAG_inheritance);
    return var_PyObject22;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__inlined__subroutine(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject23 = PyInt_FromLong(llvm::dwarf::DW_TAG_inlined_subroutine);
    return var_PyObject23;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__module(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject24 = PyInt_FromLong(llvm::dwarf::DW_TAG_module);
    return var_PyObject24;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__ptr__to__member__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject25 = PyInt_FromLong(llvm::dwarf::DW_TAG_ptr_to_member_type);
    return var_PyObject25;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__set__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject26 = PyInt_FromLong(llvm::dwarf::DW_TAG_set_type);
    return var_PyObject26;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__subrange__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject27 = PyInt_FromLong(llvm::dwarf::DW_TAG_subrange_type);
    return var_PyObject27;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__with__stmt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject28 = PyInt_FromLong(llvm::dwarf::DW_TAG_with_stmt);
    return var_PyObject28;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__access__declaration(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject29 = PyInt_FromLong(llvm::dwarf::DW_TAG_access_declaration);
    return var_PyObject29;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__base__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject30 = PyInt_FromLong(llvm::dwarf::DW_TAG_base_type);
    return var_PyObject30;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__catch__block(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject31 = PyInt_FromLong(llvm::dwarf::DW_TAG_catch_block);
    return var_PyObject31;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__const__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject32 = PyInt_FromLong(llvm::dwarf::DW_TAG_const_type);
    return var_PyObject32;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__constant(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject33 = PyInt_FromLong(llvm::dwarf::DW_TAG_constant);
    return var_PyObject33;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__enumerator(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject34 = PyInt_FromLong(llvm::dwarf::DW_TAG_enumerator);
    return var_PyObject34;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__file__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject35 = PyInt_FromLong(llvm::dwarf::DW_TAG_file_type);
    return var_PyObject35;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__friend(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject36 = PyInt_FromLong(llvm::dwarf::DW_TAG_friend);
    return var_PyObject36;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__namelist(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject37 = PyInt_FromLong(llvm::dwarf::DW_TAG_namelist);
    return var_PyObject37;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__namelist__item(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject38 = PyInt_FromLong(llvm::dwarf::DW_TAG_namelist_item);
    return var_PyObject38;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__packed__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject39 = PyInt_FromLong(llvm::dwarf::DW_TAG_packed_type);
    return var_PyObject39;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__subprogram(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject40 = PyInt_FromLong(llvm::dwarf::DW_TAG_subprogram);
    return var_PyObject40;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__template__type__parameter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject41 = PyInt_FromLong(llvm::dwarf::DW_TAG_template_type_parameter);
    return var_PyObject41;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__template__value__parameter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject42 = PyInt_FromLong(llvm::dwarf::DW_TAG_template_value_parameter);
    return var_PyObject42;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__thrown__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject43 = PyInt_FromLong(llvm::dwarf::DW_TAG_thrown_type);
    return var_PyObject43;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__try__block(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject44 = PyInt_FromLong(llvm::dwarf::DW_TAG_try_block);
    return var_PyObject44;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__variant__part(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject45 = PyInt_FromLong(llvm::dwarf::DW_TAG_variant_part);
    return var_PyObject45;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__variable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject46 = PyInt_FromLong(llvm::dwarf::DW_TAG_variable);
    return var_PyObject46;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__volatile__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject47 = PyInt_FromLong(llvm::dwarf::DW_TAG_volatile_type);
    return var_PyObject47;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__dwarf__procedure(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject48 = PyInt_FromLong(llvm::dwarf::DW_TAG_dwarf_procedure);
    return var_PyObject48;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__restrict__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject49 = PyInt_FromLong(llvm::dwarf::DW_TAG_restrict_type);
    return var_PyObject49;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__interface__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject50 = PyInt_FromLong(llvm::dwarf::DW_TAG_interface_type);
    return var_PyObject50;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__namespace(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject51 = PyInt_FromLong(llvm::dwarf::DW_TAG_namespace);
    return var_PyObject51;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__imported__module(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject52 = PyInt_FromLong(llvm::dwarf::DW_TAG_imported_module);
    return var_PyObject52;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__unspecified__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject53 = PyInt_FromLong(llvm::dwarf::DW_TAG_unspecified_type);
    return var_PyObject53;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__partial__unit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject54 = PyInt_FromLong(llvm::dwarf::DW_TAG_partial_unit);
    return var_PyObject54;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__imported__unit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject55 = PyInt_FromLong(llvm::dwarf::DW_TAG_imported_unit);
    return var_PyObject55;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__condition(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject56 = PyInt_FromLong(llvm::dwarf::DW_TAG_condition);
    return var_PyObject56;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__shared__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject57 = PyInt_FromLong(llvm::dwarf::DW_TAG_shared_type);
    return var_PyObject57;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__type__unit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject58 = PyInt_FromLong(llvm::dwarf::DW_TAG_type_unit);
    return var_PyObject58;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__rvalue__reference__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject59 = PyInt_FromLong(llvm::dwarf::DW_TAG_rvalue_reference_type);
    return var_PyObject59;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__template__alias(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject60 = PyInt_FromLong(llvm::dwarf::DW_TAG_template_alias);
    return var_PyObject60;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__MIPS__loop(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject61 = PyInt_FromLong(llvm::dwarf::DW_TAG_MIPS_loop);
    return var_PyObject61;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__format__label(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject62 = PyInt_FromLong(llvm::dwarf::DW_TAG_format_label);
    return var_PyObject62;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__function__template(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject63 = PyInt_FromLong(llvm::dwarf::DW_TAG_function_template);
    return var_PyObject63;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__class__template(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject64 = PyInt_FromLong(llvm::dwarf::DW_TAG_class_template);
    return var_PyObject64;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__GNU__template__template__param(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject65 = PyInt_FromLong(llvm::dwarf::DW_TAG_GNU_template_template_param);
    return var_PyObject65;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__GNU__template__parameter__pack(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject66 = PyInt_FromLong(llvm::dwarf::DW_TAG_GNU_template_parameter_pack);
    return var_PyObject66;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__GNU__formal__parameter__pack(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject67 = PyInt_FromLong(llvm::dwarf::DW_TAG_GNU_formal_parameter_pack);
    return var_PyObject67;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__lo__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject68 = PyInt_FromLong(llvm::dwarf::DW_TAG_lo_user);
    return var_PyObject68;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__APPLE__property(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject69 = PyInt_FromLong(llvm::dwarf::DW_TAG_APPLE_property);
    return var_PyObject69;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__TAG__hi__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject70 = PyInt_FromLong(llvm::dwarf::DW_TAG_hi_user);
    return var_PyObject70;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CHILDREN__no(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject71 = PyInt_FromLong(llvm::dwarf::DW_CHILDREN_no);
    return var_PyObject71;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CHILDREN__yes(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject72 = PyInt_FromLong(llvm::dwarf::DW_CHILDREN_yes);
    return var_PyObject72;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__sibling(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject73 = PyInt_FromLong(llvm::dwarf::DW_AT_sibling);
    return var_PyObject73;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__location(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject74 = PyInt_FromLong(llvm::dwarf::DW_AT_location);
    return var_PyObject74;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__name(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject75 = PyInt_FromLong(llvm::dwarf::DW_AT_name);
    return var_PyObject75;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__ordering(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject76 = PyInt_FromLong(llvm::dwarf::DW_AT_ordering);
    return var_PyObject76;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__byte__size(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject77 = PyInt_FromLong(llvm::dwarf::DW_AT_byte_size);
    return var_PyObject77;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__bit__offset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject78 = PyInt_FromLong(llvm::dwarf::DW_AT_bit_offset);
    return var_PyObject78;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__bit__size(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject79 = PyInt_FromLong(llvm::dwarf::DW_AT_bit_size);
    return var_PyObject79;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__stmt__list(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject80 = PyInt_FromLong(llvm::dwarf::DW_AT_stmt_list);
    return var_PyObject80;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__low__pc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject81 = PyInt_FromLong(llvm::dwarf::DW_AT_low_pc);
    return var_PyObject81;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__high__pc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject82 = PyInt_FromLong(llvm::dwarf::DW_AT_high_pc);
    return var_PyObject82;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__language(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject83 = PyInt_FromLong(llvm::dwarf::DW_AT_language);
    return var_PyObject83;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__discr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject84 = PyInt_FromLong(llvm::dwarf::DW_AT_discr);
    return var_PyObject84;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__discr__value(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject85 = PyInt_FromLong(llvm::dwarf::DW_AT_discr_value);
    return var_PyObject85;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__visibility(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject86 = PyInt_FromLong(llvm::dwarf::DW_AT_visibility);
    return var_PyObject86;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__import(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject87 = PyInt_FromLong(llvm::dwarf::DW_AT_import);
    return var_PyObject87;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__string__length(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject88 = PyInt_FromLong(llvm::dwarf::DW_AT_string_length);
    return var_PyObject88;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__common__reference(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject89 = PyInt_FromLong(llvm::dwarf::DW_AT_common_reference);
    return var_PyObject89;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__comp__dir(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject90 = PyInt_FromLong(llvm::dwarf::DW_AT_comp_dir);
    return var_PyObject90;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__const__value(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject91 = PyInt_FromLong(llvm::dwarf::DW_AT_const_value);
    return var_PyObject91;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__containing__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject92 = PyInt_FromLong(llvm::dwarf::DW_AT_containing_type);
    return var_PyObject92;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__default__value(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject93 = PyInt_FromLong(llvm::dwarf::DW_AT_default_value);
    return var_PyObject93;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__inline(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject94 = PyInt_FromLong(llvm::dwarf::DW_AT_inline);
    return var_PyObject94;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__is__optional(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject95 = PyInt_FromLong(llvm::dwarf::DW_AT_is_optional);
    return var_PyObject95;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__lower__bound(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject96 = PyInt_FromLong(llvm::dwarf::DW_AT_lower_bound);
    return var_PyObject96;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__producer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject97 = PyInt_FromLong(llvm::dwarf::DW_AT_producer);
    return var_PyObject97;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__prototyped(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject98 = PyInt_FromLong(llvm::dwarf::DW_AT_prototyped);
    return var_PyObject98;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__return__addr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject99 = PyInt_FromLong(llvm::dwarf::DW_AT_return_addr);
    return var_PyObject99;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__start__scope(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject100 = PyInt_FromLong(llvm::dwarf::DW_AT_start_scope);
    return var_PyObject100;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__bit__stride(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject101 = PyInt_FromLong(llvm::dwarf::DW_AT_bit_stride);
    return var_PyObject101;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__upper__bound(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject102 = PyInt_FromLong(llvm::dwarf::DW_AT_upper_bound);
    return var_PyObject102;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__abstract__origin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject103 = PyInt_FromLong(llvm::dwarf::DW_AT_abstract_origin);
    return var_PyObject103;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__accessibility(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject104 = PyInt_FromLong(llvm::dwarf::DW_AT_accessibility);
    return var_PyObject104;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__address__class(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject105 = PyInt_FromLong(llvm::dwarf::DW_AT_address_class);
    return var_PyObject105;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__artificial(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject106 = PyInt_FromLong(llvm::dwarf::DW_AT_artificial);
    return var_PyObject106;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__base__types(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject107 = PyInt_FromLong(llvm::dwarf::DW_AT_base_types);
    return var_PyObject107;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__calling__convention(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject108 = PyInt_FromLong(llvm::dwarf::DW_AT_calling_convention);
    return var_PyObject108;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__count(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject109 = PyInt_FromLong(llvm::dwarf::DW_AT_count);
    return var_PyObject109;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__data__member__location(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject110 = PyInt_FromLong(llvm::dwarf::DW_AT_data_member_location);
    return var_PyObject110;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__decl__column(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject111 = PyInt_FromLong(llvm::dwarf::DW_AT_decl_column);
    return var_PyObject111;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__decl__file(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject112 = PyInt_FromLong(llvm::dwarf::DW_AT_decl_file);
    return var_PyObject112;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__decl__line(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject113 = PyInt_FromLong(llvm::dwarf::DW_AT_decl_line);
    return var_PyObject113;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__declaration(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject114 = PyInt_FromLong(llvm::dwarf::DW_AT_declaration);
    return var_PyObject114;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__discr__list(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject115 = PyInt_FromLong(llvm::dwarf::DW_AT_discr_list);
    return var_PyObject115;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__encoding(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject116 = PyInt_FromLong(llvm::dwarf::DW_AT_encoding);
    return var_PyObject116;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__external(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject117 = PyInt_FromLong(llvm::dwarf::DW_AT_external);
    return var_PyObject117;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__frame__base(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject118 = PyInt_FromLong(llvm::dwarf::DW_AT_frame_base);
    return var_PyObject118;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__friend(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject119 = PyInt_FromLong(llvm::dwarf::DW_AT_friend);
    return var_PyObject119;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__identifier__case(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject120 = PyInt_FromLong(llvm::dwarf::DW_AT_identifier_case);
    return var_PyObject120;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__macro__info(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject121 = PyInt_FromLong(llvm::dwarf::DW_AT_macro_info);
    return var_PyObject121;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__namelist__item(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject122 = PyInt_FromLong(llvm::dwarf::DW_AT_namelist_item);
    return var_PyObject122;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__priority(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject123 = PyInt_FromLong(llvm::dwarf::DW_AT_priority);
    return var_PyObject123;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__segment(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject124 = PyInt_FromLong(llvm::dwarf::DW_AT_segment);
    return var_PyObject124;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__specification(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject125 = PyInt_FromLong(llvm::dwarf::DW_AT_specification);
    return var_PyObject125;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__static__link(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject126 = PyInt_FromLong(llvm::dwarf::DW_AT_static_link);
    return var_PyObject126;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject127 = PyInt_FromLong(llvm::dwarf::DW_AT_type);
    return var_PyObject127;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__use__location(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject128 = PyInt_FromLong(llvm::dwarf::DW_AT_use_location);
    return var_PyObject128;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__variable__parameter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject129 = PyInt_FromLong(llvm::dwarf::DW_AT_variable_parameter);
    return var_PyObject129;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__virtuality(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject130 = PyInt_FromLong(llvm::dwarf::DW_AT_virtuality);
    return var_PyObject130;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__vtable__elem__location(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject131 = PyInt_FromLong(llvm::dwarf::DW_AT_vtable_elem_location);
    return var_PyObject131;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__allocated(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject132 = PyInt_FromLong(llvm::dwarf::DW_AT_allocated);
    return var_PyObject132;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__associated(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject133 = PyInt_FromLong(llvm::dwarf::DW_AT_associated);
    return var_PyObject133;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__data__location(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject134 = PyInt_FromLong(llvm::dwarf::DW_AT_data_location);
    return var_PyObject134;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__byte__stride(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject135 = PyInt_FromLong(llvm::dwarf::DW_AT_byte_stride);
    return var_PyObject135;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__entry__pc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject136 = PyInt_FromLong(llvm::dwarf::DW_AT_entry_pc);
    return var_PyObject136;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__use__UTF8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject137 = PyInt_FromLong(llvm::dwarf::DW_AT_use_UTF8);
    return var_PyObject137;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__extension(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject138 = PyInt_FromLong(llvm::dwarf::DW_AT_extension);
    return var_PyObject138;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__ranges(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject139 = PyInt_FromLong(llvm::dwarf::DW_AT_ranges);
    return var_PyObject139;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__trampoline(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject140 = PyInt_FromLong(llvm::dwarf::DW_AT_trampoline);
    return var_PyObject140;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__call__column(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject141 = PyInt_FromLong(llvm::dwarf::DW_AT_call_column);
    return var_PyObject141;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__call__file(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject142 = PyInt_FromLong(llvm::dwarf::DW_AT_call_file);
    return var_PyObject142;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__call__line(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject143 = PyInt_FromLong(llvm::dwarf::DW_AT_call_line);
    return var_PyObject143;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__description(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject144 = PyInt_FromLong(llvm::dwarf::DW_AT_description);
    return var_PyObject144;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__binary__scale(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject145 = PyInt_FromLong(llvm::dwarf::DW_AT_binary_scale);
    return var_PyObject145;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__decimal__scale(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject146 = PyInt_FromLong(llvm::dwarf::DW_AT_decimal_scale);
    return var_PyObject146;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__small(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject147 = PyInt_FromLong(llvm::dwarf::DW_AT_small);
    return var_PyObject147;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__decimal__sign(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject148 = PyInt_FromLong(llvm::dwarf::DW_AT_decimal_sign);
    return var_PyObject148;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__digit__count(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject149 = PyInt_FromLong(llvm::dwarf::DW_AT_digit_count);
    return var_PyObject149;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__picture__string(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject150 = PyInt_FromLong(llvm::dwarf::DW_AT_picture_string);
    return var_PyObject150;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__mutable(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject151 = PyInt_FromLong(llvm::dwarf::DW_AT_mutable);
    return var_PyObject151;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__threads__scaled(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject152 = PyInt_FromLong(llvm::dwarf::DW_AT_threads_scaled);
    return var_PyObject152;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__explicit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject153 = PyInt_FromLong(llvm::dwarf::DW_AT_explicit);
    return var_PyObject153;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__object__pointer(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject154 = PyInt_FromLong(llvm::dwarf::DW_AT_object_pointer);
    return var_PyObject154;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__endianity(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject155 = PyInt_FromLong(llvm::dwarf::DW_AT_endianity);
    return var_PyObject155;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__elemental(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject156 = PyInt_FromLong(llvm::dwarf::DW_AT_elemental);
    return var_PyObject156;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__pure(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject157 = PyInt_FromLong(llvm::dwarf::DW_AT_pure);
    return var_PyObject157;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__recursive(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject158 = PyInt_FromLong(llvm::dwarf::DW_AT_recursive);
    return var_PyObject158;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__signature(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject159 = PyInt_FromLong(llvm::dwarf::DW_AT_signature);
    return var_PyObject159;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__main__subprogram(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject160 = PyInt_FromLong(llvm::dwarf::DW_AT_main_subprogram);
    return var_PyObject160;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__data__bit__offset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject161 = PyInt_FromLong(llvm::dwarf::DW_AT_data_bit_offset);
    return var_PyObject161;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__const__expr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject162 = PyInt_FromLong(llvm::dwarf::DW_AT_const_expr);
    return var_PyObject162;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__enum__class(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject163 = PyInt_FromLong(llvm::dwarf::DW_AT_enum_class);
    return var_PyObject163;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__linkage__name(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject164 = PyInt_FromLong(llvm::dwarf::DW_AT_linkage_name);
    return var_PyObject164;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__lo__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject165 = PyInt_FromLong(llvm::dwarf::DW_AT_lo_user);
    return var_PyObject165;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__hi__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject166 = PyInt_FromLong(llvm::dwarf::DW_AT_hi_user);
    return var_PyObject166;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__loop__begin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject167 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_loop_begin);
    return var_PyObject167;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__tail__loop__begin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject168 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_tail_loop_begin);
    return var_PyObject168;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__epilog__begin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject169 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_epilog_begin);
    return var_PyObject169;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__loop__unroll__factor(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject170 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_loop_unroll_factor);
    return var_PyObject170;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__software__pipeline__depth(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject171 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_software_pipeline_depth);
    return var_PyObject171;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__linkage__name(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject172 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_linkage_name);
    return var_PyObject172;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__stride(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject173 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_stride);
    return var_PyObject173;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__abstract__name(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject174 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_abstract_name);
    return var_PyObject174;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__clone__origin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject175 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_clone_origin);
    return var_PyObject175;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__has__inlines(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject176 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_has_inlines);
    return var_PyObject176;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__stride__byte(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject177 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_stride_byte);
    return var_PyObject177;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__stride__elem(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject178 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_stride_elem);
    return var_PyObject178;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__ptr__dopetype(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject179 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_ptr_dopetype);
    return var_PyObject179;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__allocatable__dopetype(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject180 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_allocatable_dopetype);
    return var_PyObject180;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__assumed__shape__dopetype(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject181 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_assumed_shape_dopetype);
    return var_PyObject181;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__MIPS__assumed__size(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject182 = PyInt_FromLong(llvm::dwarf::DW_AT_MIPS_assumed_size);
    return var_PyObject182;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__sf__names(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject183 = PyInt_FromLong(llvm::dwarf::DW_AT_sf_names);
    return var_PyObject183;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__src__info(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject184 = PyInt_FromLong(llvm::dwarf::DW_AT_src_info);
    return var_PyObject184;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__mac__info(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject185 = PyInt_FromLong(llvm::dwarf::DW_AT_mac_info);
    return var_PyObject185;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__src__coords(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject186 = PyInt_FromLong(llvm::dwarf::DW_AT_src_coords);
    return var_PyObject186;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__body__begin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject187 = PyInt_FromLong(llvm::dwarf::DW_AT_body_begin);
    return var_PyObject187;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__body__end(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject188 = PyInt_FromLong(llvm::dwarf::DW_AT_body_end);
    return var_PyObject188;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__optimized(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject189 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_optimized);
    return var_PyObject189;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__flags(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject190 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_flags);
    return var_PyObject190;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__isa(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject191 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_isa);
    return var_PyObject191;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__block(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject192 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_block);
    return var_PyObject192;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__major__runtime__vers(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject193 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_major_runtime_vers);
    return var_PyObject193;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__runtime__class(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject194 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_runtime_class);
    return var_PyObject194;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__omit__frame__ptr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject195 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_omit_frame_ptr);
    return var_PyObject195;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__property__name(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject196 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_property_name);
    return var_PyObject196;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__property__getter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject197 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_property_getter);
    return var_PyObject197;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__property__setter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject198 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_property_setter);
    return var_PyObject198;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__property__attribute(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject199 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_property_attribute);
    return var_PyObject199;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__objc__complete__type(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject200 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_objc_complete_type);
    return var_PyObject200;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__AT__APPLE__property(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject201 = PyInt_FromLong(llvm::dwarf::DW_AT_APPLE_property);
    return var_PyObject201;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__addr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject202 = PyInt_FromLong(llvm::dwarf::DW_FORM_addr);
    return var_PyObject202;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__block2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject203 = PyInt_FromLong(llvm::dwarf::DW_FORM_block2);
    return var_PyObject203;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__block4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject204 = PyInt_FromLong(llvm::dwarf::DW_FORM_block4);
    return var_PyObject204;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__data2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject205 = PyInt_FromLong(llvm::dwarf::DW_FORM_data2);
    return var_PyObject205;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__data4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject206 = PyInt_FromLong(llvm::dwarf::DW_FORM_data4);
    return var_PyObject206;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__data8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject207 = PyInt_FromLong(llvm::dwarf::DW_FORM_data8);
    return var_PyObject207;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__string(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject208 = PyInt_FromLong(llvm::dwarf::DW_FORM_string);
    return var_PyObject208;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__block(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject209 = PyInt_FromLong(llvm::dwarf::DW_FORM_block);
    return var_PyObject209;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__block1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject210 = PyInt_FromLong(llvm::dwarf::DW_FORM_block1);
    return var_PyObject210;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__data1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject211 = PyInt_FromLong(llvm::dwarf::DW_FORM_data1);
    return var_PyObject211;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__flag(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject212 = PyInt_FromLong(llvm::dwarf::DW_FORM_flag);
    return var_PyObject212;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__sdata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject213 = PyInt_FromLong(llvm::dwarf::DW_FORM_sdata);
    return var_PyObject213;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__strp(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject214 = PyInt_FromLong(llvm::dwarf::DW_FORM_strp);
    return var_PyObject214;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__udata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject215 = PyInt_FromLong(llvm::dwarf::DW_FORM_udata);
    return var_PyObject215;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__ref__addr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject216 = PyInt_FromLong(llvm::dwarf::DW_FORM_ref_addr);
    return var_PyObject216;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__ref1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject217 = PyInt_FromLong(llvm::dwarf::DW_FORM_ref1);
    return var_PyObject217;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__ref2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject218 = PyInt_FromLong(llvm::dwarf::DW_FORM_ref2);
    return var_PyObject218;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__ref4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject219 = PyInt_FromLong(llvm::dwarf::DW_FORM_ref4);
    return var_PyObject219;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__ref8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject220 = PyInt_FromLong(llvm::dwarf::DW_FORM_ref8);
    return var_PyObject220;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__ref__udata(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject221 = PyInt_FromLong(llvm::dwarf::DW_FORM_ref_udata);
    return var_PyObject221;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__indirect(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject222 = PyInt_FromLong(llvm::dwarf::DW_FORM_indirect);
    return var_PyObject222;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__sec__offset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject223 = PyInt_FromLong(llvm::dwarf::DW_FORM_sec_offset);
    return var_PyObject223;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__exprloc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject224 = PyInt_FromLong(llvm::dwarf::DW_FORM_exprloc);
    return var_PyObject224;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__flag__present(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject225 = PyInt_FromLong(llvm::dwarf::DW_FORM_flag_present);
    return var_PyObject225;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__FORM__ref__sig8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject226 = PyInt_FromLong(llvm::dwarf::DW_FORM_ref_sig8);
    return var_PyObject226;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__addr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject227 = PyInt_FromLong(llvm::dwarf::DW_OP_addr);
    return var_PyObject227;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__deref(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject228 = PyInt_FromLong(llvm::dwarf::DW_OP_deref);
    return var_PyObject228;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__const1u(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject229 = PyInt_FromLong(llvm::dwarf::DW_OP_const1u);
    return var_PyObject229;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__const1s(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject230 = PyInt_FromLong(llvm::dwarf::DW_OP_const1s);
    return var_PyObject230;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__const2u(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject231 = PyInt_FromLong(llvm::dwarf::DW_OP_const2u);
    return var_PyObject231;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__const2s(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject232 = PyInt_FromLong(llvm::dwarf::DW_OP_const2s);
    return var_PyObject232;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__const4u(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject233 = PyInt_FromLong(llvm::dwarf::DW_OP_const4u);
    return var_PyObject233;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__const4s(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject234 = PyInt_FromLong(llvm::dwarf::DW_OP_const4s);
    return var_PyObject234;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__const8u(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject235 = PyInt_FromLong(llvm::dwarf::DW_OP_const8u);
    return var_PyObject235;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__const8s(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject236 = PyInt_FromLong(llvm::dwarf::DW_OP_const8s);
    return var_PyObject236;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__constu(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject237 = PyInt_FromLong(llvm::dwarf::DW_OP_constu);
    return var_PyObject237;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__consts(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject238 = PyInt_FromLong(llvm::dwarf::DW_OP_consts);
    return var_PyObject238;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__dup(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject239 = PyInt_FromLong(llvm::dwarf::DW_OP_dup);
    return var_PyObject239;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__drop(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject240 = PyInt_FromLong(llvm::dwarf::DW_OP_drop);
    return var_PyObject240;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__over(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject241 = PyInt_FromLong(llvm::dwarf::DW_OP_over);
    return var_PyObject241;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__pick(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject242 = PyInt_FromLong(llvm::dwarf::DW_OP_pick);
    return var_PyObject242;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__swap(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject243 = PyInt_FromLong(llvm::dwarf::DW_OP_swap);
    return var_PyObject243;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__rot(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject244 = PyInt_FromLong(llvm::dwarf::DW_OP_rot);
    return var_PyObject244;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__xderef(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject245 = PyInt_FromLong(llvm::dwarf::DW_OP_xderef);
    return var_PyObject245;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__abs(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject246 = PyInt_FromLong(llvm::dwarf::DW_OP_abs);
    return var_PyObject246;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__and(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject247 = PyInt_FromLong(llvm::dwarf::DW_OP_and);
    return var_PyObject247;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__div(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject248 = PyInt_FromLong(llvm::dwarf::DW_OP_div);
    return var_PyObject248;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__minus(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject249 = PyInt_FromLong(llvm::dwarf::DW_OP_minus);
    return var_PyObject249;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__mod(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject250 = PyInt_FromLong(llvm::dwarf::DW_OP_mod);
    return var_PyObject250;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__mul(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject251 = PyInt_FromLong(llvm::dwarf::DW_OP_mul);
    return var_PyObject251;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__neg(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject252 = PyInt_FromLong(llvm::dwarf::DW_OP_neg);
    return var_PyObject252;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__not(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject253 = PyInt_FromLong(llvm::dwarf::DW_OP_not);
    return var_PyObject253;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__or(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject254 = PyInt_FromLong(llvm::dwarf::DW_OP_or);
    return var_PyObject254;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__plus(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject255 = PyInt_FromLong(llvm::dwarf::DW_OP_plus);
    return var_PyObject255;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__plus__uconst(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject256 = PyInt_FromLong(llvm::dwarf::DW_OP_plus_uconst);
    return var_PyObject256;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__shl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject257 = PyInt_FromLong(llvm::dwarf::DW_OP_shl);
    return var_PyObject257;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__shr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject258 = PyInt_FromLong(llvm::dwarf::DW_OP_shr);
    return var_PyObject258;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__shra(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject259 = PyInt_FromLong(llvm::dwarf::DW_OP_shra);
    return var_PyObject259;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__xor(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject260 = PyInt_FromLong(llvm::dwarf::DW_OP_xor);
    return var_PyObject260;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__skip(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject261 = PyInt_FromLong(llvm::dwarf::DW_OP_skip);
    return var_PyObject261;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__bra(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject262 = PyInt_FromLong(llvm::dwarf::DW_OP_bra);
    return var_PyObject262;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__eq(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject263 = PyInt_FromLong(llvm::dwarf::DW_OP_eq);
    return var_PyObject263;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__ge(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject264 = PyInt_FromLong(llvm::dwarf::DW_OP_ge);
    return var_PyObject264;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__gt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject265 = PyInt_FromLong(llvm::dwarf::DW_OP_gt);
    return var_PyObject265;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__le(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject266 = PyInt_FromLong(llvm::dwarf::DW_OP_le);
    return var_PyObject266;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject267 = PyInt_FromLong(llvm::dwarf::DW_OP_lt);
    return var_PyObject267;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__ne(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject268 = PyInt_FromLong(llvm::dwarf::DW_OP_ne);
    return var_PyObject268;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit0(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject269 = PyInt_FromLong(llvm::dwarf::DW_OP_lit0);
    return var_PyObject269;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject270 = PyInt_FromLong(llvm::dwarf::DW_OP_lit1);
    return var_PyObject270;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject271 = PyInt_FromLong(llvm::dwarf::DW_OP_lit2);
    return var_PyObject271;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit3(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject272 = PyInt_FromLong(llvm::dwarf::DW_OP_lit3);
    return var_PyObject272;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject273 = PyInt_FromLong(llvm::dwarf::DW_OP_lit4);
    return var_PyObject273;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit5(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject274 = PyInt_FromLong(llvm::dwarf::DW_OP_lit5);
    return var_PyObject274;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit6(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject275 = PyInt_FromLong(llvm::dwarf::DW_OP_lit6);
    return var_PyObject275;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit7(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject276 = PyInt_FromLong(llvm::dwarf::DW_OP_lit7);
    return var_PyObject276;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject277 = PyInt_FromLong(llvm::dwarf::DW_OP_lit8);
    return var_PyObject277;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit9(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject278 = PyInt_FromLong(llvm::dwarf::DW_OP_lit9);
    return var_PyObject278;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit10(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject279 = PyInt_FromLong(llvm::dwarf::DW_OP_lit10);
    return var_PyObject279;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit11(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject280 = PyInt_FromLong(llvm::dwarf::DW_OP_lit11);
    return var_PyObject280;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit12(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject281 = PyInt_FromLong(llvm::dwarf::DW_OP_lit12);
    return var_PyObject281;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit13(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject282 = PyInt_FromLong(llvm::dwarf::DW_OP_lit13);
    return var_PyObject282;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit14(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject283 = PyInt_FromLong(llvm::dwarf::DW_OP_lit14);
    return var_PyObject283;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit15(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject284 = PyInt_FromLong(llvm::dwarf::DW_OP_lit15);
    return var_PyObject284;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit16(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject285 = PyInt_FromLong(llvm::dwarf::DW_OP_lit16);
    return var_PyObject285;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit17(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject286 = PyInt_FromLong(llvm::dwarf::DW_OP_lit17);
    return var_PyObject286;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit18(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject287 = PyInt_FromLong(llvm::dwarf::DW_OP_lit18);
    return var_PyObject287;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit19(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject288 = PyInt_FromLong(llvm::dwarf::DW_OP_lit19);
    return var_PyObject288;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit20(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject289 = PyInt_FromLong(llvm::dwarf::DW_OP_lit20);
    return var_PyObject289;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit21(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject290 = PyInt_FromLong(llvm::dwarf::DW_OP_lit21);
    return var_PyObject290;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit22(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject291 = PyInt_FromLong(llvm::dwarf::DW_OP_lit22);
    return var_PyObject291;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit23(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject292 = PyInt_FromLong(llvm::dwarf::DW_OP_lit23);
    return var_PyObject292;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit24(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject293 = PyInt_FromLong(llvm::dwarf::DW_OP_lit24);
    return var_PyObject293;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit25(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject294 = PyInt_FromLong(llvm::dwarf::DW_OP_lit25);
    return var_PyObject294;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit26(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject295 = PyInt_FromLong(llvm::dwarf::DW_OP_lit26);
    return var_PyObject295;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit27(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject296 = PyInt_FromLong(llvm::dwarf::DW_OP_lit27);
    return var_PyObject296;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit28(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject297 = PyInt_FromLong(llvm::dwarf::DW_OP_lit28);
    return var_PyObject297;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit29(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject298 = PyInt_FromLong(llvm::dwarf::DW_OP_lit29);
    return var_PyObject298;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit30(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject299 = PyInt_FromLong(llvm::dwarf::DW_OP_lit30);
    return var_PyObject299;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lit31(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject300 = PyInt_FromLong(llvm::dwarf::DW_OP_lit31);
    return var_PyObject300;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg0(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject301 = PyInt_FromLong(llvm::dwarf::DW_OP_reg0);
    return var_PyObject301;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject302 = PyInt_FromLong(llvm::dwarf::DW_OP_reg1);
    return var_PyObject302;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject303 = PyInt_FromLong(llvm::dwarf::DW_OP_reg2);
    return var_PyObject303;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg3(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject304 = PyInt_FromLong(llvm::dwarf::DW_OP_reg3);
    return var_PyObject304;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject305 = PyInt_FromLong(llvm::dwarf::DW_OP_reg4);
    return var_PyObject305;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg5(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject306 = PyInt_FromLong(llvm::dwarf::DW_OP_reg5);
    return var_PyObject306;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg6(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject307 = PyInt_FromLong(llvm::dwarf::DW_OP_reg6);
    return var_PyObject307;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg7(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject308 = PyInt_FromLong(llvm::dwarf::DW_OP_reg7);
    return var_PyObject308;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject309 = PyInt_FromLong(llvm::dwarf::DW_OP_reg8);
    return var_PyObject309;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg9(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject310 = PyInt_FromLong(llvm::dwarf::DW_OP_reg9);
    return var_PyObject310;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg10(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject311 = PyInt_FromLong(llvm::dwarf::DW_OP_reg10);
    return var_PyObject311;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg11(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject312 = PyInt_FromLong(llvm::dwarf::DW_OP_reg11);
    return var_PyObject312;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg12(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject313 = PyInt_FromLong(llvm::dwarf::DW_OP_reg12);
    return var_PyObject313;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg13(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject314 = PyInt_FromLong(llvm::dwarf::DW_OP_reg13);
    return var_PyObject314;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg14(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject315 = PyInt_FromLong(llvm::dwarf::DW_OP_reg14);
    return var_PyObject315;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg15(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject316 = PyInt_FromLong(llvm::dwarf::DW_OP_reg15);
    return var_PyObject316;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg16(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject317 = PyInt_FromLong(llvm::dwarf::DW_OP_reg16);
    return var_PyObject317;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg17(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject318 = PyInt_FromLong(llvm::dwarf::DW_OP_reg17);
    return var_PyObject318;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg18(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject319 = PyInt_FromLong(llvm::dwarf::DW_OP_reg18);
    return var_PyObject319;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg19(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject320 = PyInt_FromLong(llvm::dwarf::DW_OP_reg19);
    return var_PyObject320;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg20(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject321 = PyInt_FromLong(llvm::dwarf::DW_OP_reg20);
    return var_PyObject321;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg21(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject322 = PyInt_FromLong(llvm::dwarf::DW_OP_reg21);
    return var_PyObject322;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg22(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject323 = PyInt_FromLong(llvm::dwarf::DW_OP_reg22);
    return var_PyObject323;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg23(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject324 = PyInt_FromLong(llvm::dwarf::DW_OP_reg23);
    return var_PyObject324;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg24(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject325 = PyInt_FromLong(llvm::dwarf::DW_OP_reg24);
    return var_PyObject325;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg25(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject326 = PyInt_FromLong(llvm::dwarf::DW_OP_reg25);
    return var_PyObject326;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg26(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject327 = PyInt_FromLong(llvm::dwarf::DW_OP_reg26);
    return var_PyObject327;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg27(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject328 = PyInt_FromLong(llvm::dwarf::DW_OP_reg27);
    return var_PyObject328;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg28(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject329 = PyInt_FromLong(llvm::dwarf::DW_OP_reg28);
    return var_PyObject329;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg29(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject330 = PyInt_FromLong(llvm::dwarf::DW_OP_reg29);
    return var_PyObject330;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg30(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject331 = PyInt_FromLong(llvm::dwarf::DW_OP_reg30);
    return var_PyObject331;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__reg31(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject332 = PyInt_FromLong(llvm::dwarf::DW_OP_reg31);
    return var_PyObject332;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg0(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject333 = PyInt_FromLong(llvm::dwarf::DW_OP_breg0);
    return var_PyObject333;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject334 = PyInt_FromLong(llvm::dwarf::DW_OP_breg1);
    return var_PyObject334;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject335 = PyInt_FromLong(llvm::dwarf::DW_OP_breg2);
    return var_PyObject335;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg3(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject336 = PyInt_FromLong(llvm::dwarf::DW_OP_breg3);
    return var_PyObject336;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject337 = PyInt_FromLong(llvm::dwarf::DW_OP_breg4);
    return var_PyObject337;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg5(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject338 = PyInt_FromLong(llvm::dwarf::DW_OP_breg5);
    return var_PyObject338;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg6(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject339 = PyInt_FromLong(llvm::dwarf::DW_OP_breg6);
    return var_PyObject339;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg7(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject340 = PyInt_FromLong(llvm::dwarf::DW_OP_breg7);
    return var_PyObject340;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject341 = PyInt_FromLong(llvm::dwarf::DW_OP_breg8);
    return var_PyObject341;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg9(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject342 = PyInt_FromLong(llvm::dwarf::DW_OP_breg9);
    return var_PyObject342;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg10(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject343 = PyInt_FromLong(llvm::dwarf::DW_OP_breg10);
    return var_PyObject343;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg11(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject344 = PyInt_FromLong(llvm::dwarf::DW_OP_breg11);
    return var_PyObject344;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg12(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject345 = PyInt_FromLong(llvm::dwarf::DW_OP_breg12);
    return var_PyObject345;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg13(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject346 = PyInt_FromLong(llvm::dwarf::DW_OP_breg13);
    return var_PyObject346;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg14(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject347 = PyInt_FromLong(llvm::dwarf::DW_OP_breg14);
    return var_PyObject347;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg15(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject348 = PyInt_FromLong(llvm::dwarf::DW_OP_breg15);
    return var_PyObject348;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg16(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject349 = PyInt_FromLong(llvm::dwarf::DW_OP_breg16);
    return var_PyObject349;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg17(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject350 = PyInt_FromLong(llvm::dwarf::DW_OP_breg17);
    return var_PyObject350;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg18(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject351 = PyInt_FromLong(llvm::dwarf::DW_OP_breg18);
    return var_PyObject351;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg19(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject352 = PyInt_FromLong(llvm::dwarf::DW_OP_breg19);
    return var_PyObject352;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg20(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject353 = PyInt_FromLong(llvm::dwarf::DW_OP_breg20);
    return var_PyObject353;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg21(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject354 = PyInt_FromLong(llvm::dwarf::DW_OP_breg21);
    return var_PyObject354;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg22(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject355 = PyInt_FromLong(llvm::dwarf::DW_OP_breg22);
    return var_PyObject355;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg23(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject356 = PyInt_FromLong(llvm::dwarf::DW_OP_breg23);
    return var_PyObject356;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg24(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject357 = PyInt_FromLong(llvm::dwarf::DW_OP_breg24);
    return var_PyObject357;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg25(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject358 = PyInt_FromLong(llvm::dwarf::DW_OP_breg25);
    return var_PyObject358;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg26(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject359 = PyInt_FromLong(llvm::dwarf::DW_OP_breg26);
    return var_PyObject359;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg27(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject360 = PyInt_FromLong(llvm::dwarf::DW_OP_breg27);
    return var_PyObject360;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg28(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject361 = PyInt_FromLong(llvm::dwarf::DW_OP_breg28);
    return var_PyObject361;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg29(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject362 = PyInt_FromLong(llvm::dwarf::DW_OP_breg29);
    return var_PyObject362;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg30(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject363 = PyInt_FromLong(llvm::dwarf::DW_OP_breg30);
    return var_PyObject363;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__breg31(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject364 = PyInt_FromLong(llvm::dwarf::DW_OP_breg31);
    return var_PyObject364;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__regx(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject365 = PyInt_FromLong(llvm::dwarf::DW_OP_regx);
    return var_PyObject365;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__fbreg(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject366 = PyInt_FromLong(llvm::dwarf::DW_OP_fbreg);
    return var_PyObject366;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__bregx(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject367 = PyInt_FromLong(llvm::dwarf::DW_OP_bregx);
    return var_PyObject367;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__piece(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject368 = PyInt_FromLong(llvm::dwarf::DW_OP_piece);
    return var_PyObject368;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__deref__size(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject369 = PyInt_FromLong(llvm::dwarf::DW_OP_deref_size);
    return var_PyObject369;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__xderef__size(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject370 = PyInt_FromLong(llvm::dwarf::DW_OP_xderef_size);
    return var_PyObject370;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__nop(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject371 = PyInt_FromLong(llvm::dwarf::DW_OP_nop);
    return var_PyObject371;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__push__object__address(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject372 = PyInt_FromLong(llvm::dwarf::DW_OP_push_object_address);
    return var_PyObject372;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__call2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject373 = PyInt_FromLong(llvm::dwarf::DW_OP_call2);
    return var_PyObject373;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__call4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject374 = PyInt_FromLong(llvm::dwarf::DW_OP_call4);
    return var_PyObject374;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__call__ref(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject375 = PyInt_FromLong(llvm::dwarf::DW_OP_call_ref);
    return var_PyObject375;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__form__tls__address(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject376 = PyInt_FromLong(llvm::dwarf::DW_OP_form_tls_address);
    return var_PyObject376;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__call__frame__cfa(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject377 = PyInt_FromLong(llvm::dwarf::DW_OP_call_frame_cfa);
    return var_PyObject377;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__bit__piece(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject378 = PyInt_FromLong(llvm::dwarf::DW_OP_bit_piece);
    return var_PyObject378;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__implicit__value(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject379 = PyInt_FromLong(llvm::dwarf::DW_OP_implicit_value);
    return var_PyObject379;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__stack__value(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject380 = PyInt_FromLong(llvm::dwarf::DW_OP_stack_value);
    return var_PyObject380;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__lo__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject381 = PyInt_FromLong(llvm::dwarf::DW_OP_lo_user);
    return var_PyObject381;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__OP__hi__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject382 = PyInt_FromLong(llvm::dwarf::DW_OP_hi_user);
    return var_PyObject382;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__address(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject383 = PyInt_FromLong(llvm::dwarf::DW_ATE_address);
    return var_PyObject383;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__boolean(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject384 = PyInt_FromLong(llvm::dwarf::DW_ATE_boolean);
    return var_PyObject384;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__complex__float(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject385 = PyInt_FromLong(llvm::dwarf::DW_ATE_complex_float);
    return var_PyObject385;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__float(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject386 = PyInt_FromLong(llvm::dwarf::DW_ATE_float);
    return var_PyObject386;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__signed(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject387 = PyInt_FromLong(llvm::dwarf::DW_ATE_signed);
    return var_PyObject387;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__signed__char(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject388 = PyInt_FromLong(llvm::dwarf::DW_ATE_signed_char);
    return var_PyObject388;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__unsigned(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject389 = PyInt_FromLong(llvm::dwarf::DW_ATE_unsigned);
    return var_PyObject389;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__unsigned__char(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject390 = PyInt_FromLong(llvm::dwarf::DW_ATE_unsigned_char);
    return var_PyObject390;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__imaginary__float(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject391 = PyInt_FromLong(llvm::dwarf::DW_ATE_imaginary_float);
    return var_PyObject391;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__packed__decimal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject392 = PyInt_FromLong(llvm::dwarf::DW_ATE_packed_decimal);
    return var_PyObject392;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__numeric__string(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject393 = PyInt_FromLong(llvm::dwarf::DW_ATE_numeric_string);
    return var_PyObject393;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__edited(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject394 = PyInt_FromLong(llvm::dwarf::DW_ATE_edited);
    return var_PyObject394;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__signed__fixed(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject395 = PyInt_FromLong(llvm::dwarf::DW_ATE_signed_fixed);
    return var_PyObject395;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__unsigned__fixed(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject396 = PyInt_FromLong(llvm::dwarf::DW_ATE_unsigned_fixed);
    return var_PyObject396;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__decimal__float(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject397 = PyInt_FromLong(llvm::dwarf::DW_ATE_decimal_float);
    return var_PyObject397;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__UTF(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject398 = PyInt_FromLong(llvm::dwarf::DW_ATE_UTF);
    return var_PyObject398;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__lo__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject399 = PyInt_FromLong(llvm::dwarf::DW_ATE_lo_user);
    return var_PyObject399;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ATE__hi__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject400 = PyInt_FromLong(llvm::dwarf::DW_ATE_hi_user);
    return var_PyObject400;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__DS__unsigned(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject401 = PyInt_FromLong(llvm::dwarf::DW_DS_unsigned);
    return var_PyObject401;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__DS__leading__overpunch(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject402 = PyInt_FromLong(llvm::dwarf::DW_DS_leading_overpunch);
    return var_PyObject402;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__DS__trailing__overpunch(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject403 = PyInt_FromLong(llvm::dwarf::DW_DS_trailing_overpunch);
    return var_PyObject403;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__DS__leading__separate(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject404 = PyInt_FromLong(llvm::dwarf::DW_DS_leading_separate);
    return var_PyObject404;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__DS__trailing__separate(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject405 = PyInt_FromLong(llvm::dwarf::DW_DS_trailing_separate);
    return var_PyObject405;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__END__default(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject406 = PyInt_FromLong(llvm::dwarf::DW_END_default);
    return var_PyObject406;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__END__big(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject407 = PyInt_FromLong(llvm::dwarf::DW_END_big);
    return var_PyObject407;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__END__little(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject408 = PyInt_FromLong(llvm::dwarf::DW_END_little);
    return var_PyObject408;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__END__lo__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject409 = PyInt_FromLong(llvm::dwarf::DW_END_lo_user);
    return var_PyObject409;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__END__hi__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject410 = PyInt_FromLong(llvm::dwarf::DW_END_hi_user);
    return var_PyObject410;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ACCESS__public(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject411 = PyInt_FromLong(llvm::dwarf::DW_ACCESS_public);
    return var_PyObject411;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ACCESS__protected(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject412 = PyInt_FromLong(llvm::dwarf::DW_ACCESS_protected);
    return var_PyObject412;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ACCESS__private(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject413 = PyInt_FromLong(llvm::dwarf::DW_ACCESS_private);
    return var_PyObject413;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__VIS__local(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject414 = PyInt_FromLong(llvm::dwarf::DW_VIS_local);
    return var_PyObject414;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__VIS__exported(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject415 = PyInt_FromLong(llvm::dwarf::DW_VIS_exported);
    return var_PyObject415;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__VIS__qualified(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject416 = PyInt_FromLong(llvm::dwarf::DW_VIS_qualified);
    return var_PyObject416;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__VIRTUALITY__none(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject417 = PyInt_FromLong(llvm::dwarf::DW_VIRTUALITY_none);
    return var_PyObject417;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__VIRTUALITY__virtual(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject418 = PyInt_FromLong(llvm::dwarf::DW_VIRTUALITY_virtual);
    return var_PyObject418;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__VIRTUALITY__pure__virtual(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject419 = PyInt_FromLong(llvm::dwarf::DW_VIRTUALITY_pure_virtual);
    return var_PyObject419;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__C89(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject420 = PyInt_FromLong(llvm::dwarf::DW_LANG_C89);
    return var_PyObject420;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__C(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject421 = PyInt_FromLong(llvm::dwarf::DW_LANG_C);
    return var_PyObject421;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Ada83(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject422 = PyInt_FromLong(llvm::dwarf::DW_LANG_Ada83);
    return var_PyObject422;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__C__plus__plus(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject423 = PyInt_FromLong(llvm::dwarf::DW_LANG_C_plus_plus);
    return var_PyObject423;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Cobol74(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject424 = PyInt_FromLong(llvm::dwarf::DW_LANG_Cobol74);
    return var_PyObject424;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Cobol85(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject425 = PyInt_FromLong(llvm::dwarf::DW_LANG_Cobol85);
    return var_PyObject425;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Fortran77(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject426 = PyInt_FromLong(llvm::dwarf::DW_LANG_Fortran77);
    return var_PyObject426;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Fortran90(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject427 = PyInt_FromLong(llvm::dwarf::DW_LANG_Fortran90);
    return var_PyObject427;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Pascal83(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject428 = PyInt_FromLong(llvm::dwarf::DW_LANG_Pascal83);
    return var_PyObject428;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Modula2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject429 = PyInt_FromLong(llvm::dwarf::DW_LANG_Modula2);
    return var_PyObject429;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Java(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject430 = PyInt_FromLong(llvm::dwarf::DW_LANG_Java);
    return var_PyObject430;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__C99(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject431 = PyInt_FromLong(llvm::dwarf::DW_LANG_C99);
    return var_PyObject431;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Ada95(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject432 = PyInt_FromLong(llvm::dwarf::DW_LANG_Ada95);
    return var_PyObject432;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Fortran95(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject433 = PyInt_FromLong(llvm::dwarf::DW_LANG_Fortran95);
    return var_PyObject433;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__PLI(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject434 = PyInt_FromLong(llvm::dwarf::DW_LANG_PLI);
    return var_PyObject434;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__ObjC(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject435 = PyInt_FromLong(llvm::dwarf::DW_LANG_ObjC);
    return var_PyObject435;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__ObjC__plus__plus(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject436 = PyInt_FromLong(llvm::dwarf::DW_LANG_ObjC_plus_plus);
    return var_PyObject436;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__UPC(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject437 = PyInt_FromLong(llvm::dwarf::DW_LANG_UPC);
    return var_PyObject437;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__D(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject438 = PyInt_FromLong(llvm::dwarf::DW_LANG_D);
    return var_PyObject438;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Python(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject439 = PyInt_FromLong(llvm::dwarf::DW_LANG_Python);
    return var_PyObject439;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__lo__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject440 = PyInt_FromLong(llvm::dwarf::DW_LANG_lo_user);
    return var_PyObject440;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__Mips__Assembler(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject441 = PyInt_FromLong(llvm::dwarf::DW_LANG_Mips_Assembler);
    return var_PyObject441;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LANG__hi__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject442 = PyInt_FromLong(llvm::dwarf::DW_LANG_hi_user);
    return var_PyObject442;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ID__case__sensitive(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject443 = PyInt_FromLong(llvm::dwarf::DW_ID_case_sensitive);
    return var_PyObject443;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ID__up__case(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject444 = PyInt_FromLong(llvm::dwarf::DW_ID_up_case);
    return var_PyObject444;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ID__down__case(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject445 = PyInt_FromLong(llvm::dwarf::DW_ID_down_case);
    return var_PyObject445;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ID__case__insensitive(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject446 = PyInt_FromLong(llvm::dwarf::DW_ID_case_insensitive);
    return var_PyObject446;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CC__normal(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject447 = PyInt_FromLong(llvm::dwarf::DW_CC_normal);
    return var_PyObject447;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CC__program(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject448 = PyInt_FromLong(llvm::dwarf::DW_CC_program);
    return var_PyObject448;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CC__nocall(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject449 = PyInt_FromLong(llvm::dwarf::DW_CC_nocall);
    return var_PyObject449;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CC__lo__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject450 = PyInt_FromLong(llvm::dwarf::DW_CC_lo_user);
    return var_PyObject450;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CC__hi__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject451 = PyInt_FromLong(llvm::dwarf::DW_CC_hi_user);
    return var_PyObject451;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__INL__not__inlined(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject452 = PyInt_FromLong(llvm::dwarf::DW_INL_not_inlined);
    return var_PyObject452;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__INL__inlined(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject453 = PyInt_FromLong(llvm::dwarf::DW_INL_inlined);
    return var_PyObject453;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__INL__declared__not__inlined(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject454 = PyInt_FromLong(llvm::dwarf::DW_INL_declared_not_inlined);
    return var_PyObject454;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__INL__declared__inlined(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject455 = PyInt_FromLong(llvm::dwarf::DW_INL_declared_inlined);
    return var_PyObject455;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ORD__row__major(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject456 = PyInt_FromLong(llvm::dwarf::DW_ORD_row_major);
    return var_PyObject456;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__ORD__col__major(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject457 = PyInt_FromLong(llvm::dwarf::DW_ORD_col_major);
    return var_PyObject457;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__DSC__label(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject458 = PyInt_FromLong(llvm::dwarf::DW_DSC_label);
    return var_PyObject458;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__DSC__range(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject459 = PyInt_FromLong(llvm::dwarf::DW_DSC_range);
    return var_PyObject459;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__extended__op(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject460 = PyInt_FromLong(llvm::dwarf::DW_LNS_extended_op);
    return var_PyObject460;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__copy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject461 = PyInt_FromLong(llvm::dwarf::DW_LNS_copy);
    return var_PyObject461;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__advance__pc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject462 = PyInt_FromLong(llvm::dwarf::DW_LNS_advance_pc);
    return var_PyObject462;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__advance__line(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject463 = PyInt_FromLong(llvm::dwarf::DW_LNS_advance_line);
    return var_PyObject463;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__set__file(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject464 = PyInt_FromLong(llvm::dwarf::DW_LNS_set_file);
    return var_PyObject464;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__set__column(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject465 = PyInt_FromLong(llvm::dwarf::DW_LNS_set_column);
    return var_PyObject465;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__negate__stmt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject466 = PyInt_FromLong(llvm::dwarf::DW_LNS_negate_stmt);
    return var_PyObject466;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__set__basic__block(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject467 = PyInt_FromLong(llvm::dwarf::DW_LNS_set_basic_block);
    return var_PyObject467;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__const__add__pc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject468 = PyInt_FromLong(llvm::dwarf::DW_LNS_const_add_pc);
    return var_PyObject468;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__fixed__advance__pc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject469 = PyInt_FromLong(llvm::dwarf::DW_LNS_fixed_advance_pc);
    return var_PyObject469;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__set__prologue__end(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject470 = PyInt_FromLong(llvm::dwarf::DW_LNS_set_prologue_end);
    return var_PyObject470;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__set__epilogue__begin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject471 = PyInt_FromLong(llvm::dwarf::DW_LNS_set_epilogue_begin);
    return var_PyObject471;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNS__set__isa(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject472 = PyInt_FromLong(llvm::dwarf::DW_LNS_set_isa);
    return var_PyObject472;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNE__end__sequence(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject473 = PyInt_FromLong(llvm::dwarf::DW_LNE_end_sequence);
    return var_PyObject473;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNE__set__address(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject474 = PyInt_FromLong(llvm::dwarf::DW_LNE_set_address);
    return var_PyObject474;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNE__define__file(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject475 = PyInt_FromLong(llvm::dwarf::DW_LNE_define_file);
    return var_PyObject475;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNE__set__discriminator(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject476 = PyInt_FromLong(llvm::dwarf::DW_LNE_set_discriminator);
    return var_PyObject476;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNE__lo__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject477 = PyInt_FromLong(llvm::dwarf::DW_LNE_lo_user);
    return var_PyObject477;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__LNE__hi__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject478 = PyInt_FromLong(llvm::dwarf::DW_LNE_hi_user);
    return var_PyObject478;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__MACINFO__define(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject479 = PyInt_FromLong(llvm::dwarf::DW_MACINFO_define);
    return var_PyObject479;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__MACINFO__undef(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject480 = PyInt_FromLong(llvm::dwarf::DW_MACINFO_undef);
    return var_PyObject480;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__MACINFO__start__file(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject481 = PyInt_FromLong(llvm::dwarf::DW_MACINFO_start_file);
    return var_PyObject481;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__MACINFO__end__file(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject482 = PyInt_FromLong(llvm::dwarf::DW_MACINFO_end_file);
    return var_PyObject482;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__MACINFO__vendor__ext(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject483 = PyInt_FromLong(llvm::dwarf::DW_MACINFO_vendor_ext);
    return var_PyObject483;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__extended(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject484 = PyInt_FromLong(llvm::dwarf::DW_CFA_extended);
    return var_PyObject484;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__nop(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject485 = PyInt_FromLong(llvm::dwarf::DW_CFA_nop);
    return var_PyObject485;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__advance__loc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject486 = PyInt_FromLong(llvm::dwarf::DW_CFA_advance_loc);
    return var_PyObject486;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__offset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject487 = PyInt_FromLong(llvm::dwarf::DW_CFA_offset);
    return var_PyObject487;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__restore(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject488 = PyInt_FromLong(llvm::dwarf::DW_CFA_restore);
    return var_PyObject488;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__set__loc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject489 = PyInt_FromLong(llvm::dwarf::DW_CFA_set_loc);
    return var_PyObject489;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__advance__loc1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject490 = PyInt_FromLong(llvm::dwarf::DW_CFA_advance_loc1);
    return var_PyObject490;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__advance__loc2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject491 = PyInt_FromLong(llvm::dwarf::DW_CFA_advance_loc2);
    return var_PyObject491;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__advance__loc4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject492 = PyInt_FromLong(llvm::dwarf::DW_CFA_advance_loc4);
    return var_PyObject492;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__offset__extended(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject493 = PyInt_FromLong(llvm::dwarf::DW_CFA_offset_extended);
    return var_PyObject493;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__restore__extended(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject494 = PyInt_FromLong(llvm::dwarf::DW_CFA_restore_extended);
    return var_PyObject494;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__undefined(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject495 = PyInt_FromLong(llvm::dwarf::DW_CFA_undefined);
    return var_PyObject495;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__same__value(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject496 = PyInt_FromLong(llvm::dwarf::DW_CFA_same_value);
    return var_PyObject496;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__register(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject497 = PyInt_FromLong(llvm::dwarf::DW_CFA_register);
    return var_PyObject497;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__remember__state(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject498 = PyInt_FromLong(llvm::dwarf::DW_CFA_remember_state);
    return var_PyObject498;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__restore__state(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject499 = PyInt_FromLong(llvm::dwarf::DW_CFA_restore_state);
    return var_PyObject499;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__def__cfa(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject500 = PyInt_FromLong(llvm::dwarf::DW_CFA_def_cfa);
    return var_PyObject500;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__register(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject501 = PyInt_FromLong(llvm::dwarf::DW_CFA_def_cfa_register);
    return var_PyObject501;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__offset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject502 = PyInt_FromLong(llvm::dwarf::DW_CFA_def_cfa_offset);
    return var_PyObject502;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__expression(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject503 = PyInt_FromLong(llvm::dwarf::DW_CFA_def_cfa_expression);
    return var_PyObject503;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__expression(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject504 = PyInt_FromLong(llvm::dwarf::DW_CFA_expression);
    return var_PyObject504;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__offset__extended__sf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject505 = PyInt_FromLong(llvm::dwarf::DW_CFA_offset_extended_sf);
    return var_PyObject505;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__sf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject506 = PyInt_FromLong(llvm::dwarf::DW_CFA_def_cfa_sf);
    return var_PyObject506;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__offset__sf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject507 = PyInt_FromLong(llvm::dwarf::DW_CFA_def_cfa_offset_sf);
    return var_PyObject507;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__val__offset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject508 = PyInt_FromLong(llvm::dwarf::DW_CFA_val_offset);
    return var_PyObject508;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__val__offset__sf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject509 = PyInt_FromLong(llvm::dwarf::DW_CFA_val_offset_sf);
    return var_PyObject509;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__val__expression(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject510 = PyInt_FromLong(llvm::dwarf::DW_CFA_val_expression);
    return var_PyObject510;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__MIPS__advance__loc8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject511 = PyInt_FromLong(llvm::dwarf::DW_CFA_MIPS_advance_loc8);
    return var_PyObject511;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__GNU__window__save(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject512 = PyInt_FromLong(llvm::dwarf::DW_CFA_GNU_window_save);
    return var_PyObject512;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__GNU__args__size(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject513 = PyInt_FromLong(llvm::dwarf::DW_CFA_GNU_args_size);
    return var_PyObject513;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__lo__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject514 = PyInt_FromLong(llvm::dwarf::DW_CFA_lo_user);
    return var_PyObject514;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__CFA__hi__user(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject515 = PyInt_FromLong(llvm::dwarf::DW_CFA_hi_user);
    return var_PyObject515;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__absptr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject516 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_absptr);
    return var_PyObject516;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__omit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject517 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_omit);
    return var_PyObject517;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__uleb128(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject518 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_uleb128);
    return var_PyObject518;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__udata2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject519 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_udata2);
    return var_PyObject519;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__udata4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject520 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_udata4);
    return var_PyObject520;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__udata8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject521 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_udata8);
    return var_PyObject521;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__sleb128(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject522 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_sleb128);
    return var_PyObject522;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__sdata2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject523 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_sdata2);
    return var_PyObject523;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__sdata4(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject524 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_sdata4);
    return var_PyObject524;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__sdata8(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject525 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_sdata8);
    return var_PyObject525;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__signed(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject526 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_signed);
    return var_PyObject526;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__pcrel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject527 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_pcrel);
    return var_PyObject527;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__textrel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject528 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_textrel);
    return var_PyObject528;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__datarel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject529 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_datarel);
    return var_PyObject529;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__funcrel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject530 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_funcrel);
    return var_PyObject530;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__aligned(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject531 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_aligned);
    return var_PyObject531;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__EH__PE__indirect(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject532 = PyInt_FromLong(llvm::dwarf::DW_EH_PE_indirect);
    return var_PyObject532;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__readonly(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject533 = PyInt_FromLong(llvm::dwarf::DW_APPLE_PROPERTY_readonly);
    return var_PyObject533;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__readwrite(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject534 = PyInt_FromLong(llvm::dwarf::DW_APPLE_PROPERTY_readwrite);
    return var_PyObject534;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__assign(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject535 = PyInt_FromLong(llvm::dwarf::DW_APPLE_PROPERTY_assign);
    return var_PyObject535;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__retain(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject536 = PyInt_FromLong(llvm::dwarf::DW_APPLE_PROPERTY_retain);
    return var_PyObject536;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__copy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject537 = PyInt_FromLong(llvm::dwarf::DW_APPLE_PROPERTY_copy);
    return var_PyObject537;
}

static
PyObject*
llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__nonatomic(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject538 = PyInt_FromLong(llvm::dwarf::DW_APPLE_PROPERTY_nonatomic);
    return var_PyObject538;
}

static
PyMethodDef meth_llvm_dwarf[] = {
    { "DWARF_VERSION", (PyCFunction)llvm_dwarf__dwarf__constants__DWARF__VERSION, METH_VARARGS, NULL },
    { "DW_TAG_array_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__array__type, METH_VARARGS, NULL },
    { "DW_TAG_class_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__class__type, METH_VARARGS, NULL },
    { "DW_TAG_entry_point", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__entry__point, METH_VARARGS, NULL },
    { "DW_TAG_enumeration_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__enumeration__type, METH_VARARGS, NULL },
    { "DW_TAG_formal_parameter", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__formal__parameter, METH_VARARGS, NULL },
    { "DW_TAG_imported_declaration", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__imported__declaration, METH_VARARGS, NULL },
    { "DW_TAG_label", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__label, METH_VARARGS, NULL },
    { "DW_TAG_lexical_block", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__lexical__block, METH_VARARGS, NULL },
    { "DW_TAG_member", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__member, METH_VARARGS, NULL },
    { "DW_TAG_pointer_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__pointer__type, METH_VARARGS, NULL },
    { "DW_TAG_reference_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__reference__type, METH_VARARGS, NULL },
    { "DW_TAG_compile_unit", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__compile__unit, METH_VARARGS, NULL },
    { "DW_TAG_string_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__string__type, METH_VARARGS, NULL },
    { "DW_TAG_structure_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__structure__type, METH_VARARGS, NULL },
    { "DW_TAG_subroutine_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__subroutine__type, METH_VARARGS, NULL },
    { "DW_TAG_typedef", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__typedef, METH_VARARGS, NULL },
    { "DW_TAG_union_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__union__type, METH_VARARGS, NULL },
    { "DW_TAG_unspecified_parameters", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__unspecified__parameters, METH_VARARGS, NULL },
    { "DW_TAG_variant", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__variant, METH_VARARGS, NULL },
    { "DW_TAG_common_block", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__common__block, METH_VARARGS, NULL },
    { "DW_TAG_common_inclusion", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__common__inclusion, METH_VARARGS, NULL },
    { "DW_TAG_inheritance", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__inheritance, METH_VARARGS, NULL },
    { "DW_TAG_inlined_subroutine", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__inlined__subroutine, METH_VARARGS, NULL },
    { "DW_TAG_module", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__module, METH_VARARGS, NULL },
    { "DW_TAG_ptr_to_member_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__ptr__to__member__type, METH_VARARGS, NULL },
    { "DW_TAG_set_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__set__type, METH_VARARGS, NULL },
    { "DW_TAG_subrange_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__subrange__type, METH_VARARGS, NULL },
    { "DW_TAG_with_stmt", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__with__stmt, METH_VARARGS, NULL },
    { "DW_TAG_access_declaration", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__access__declaration, METH_VARARGS, NULL },
    { "DW_TAG_base_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__base__type, METH_VARARGS, NULL },
    { "DW_TAG_catch_block", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__catch__block, METH_VARARGS, NULL },
    { "DW_TAG_const_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__const__type, METH_VARARGS, NULL },
    { "DW_TAG_constant", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__constant, METH_VARARGS, NULL },
    { "DW_TAG_enumerator", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__enumerator, METH_VARARGS, NULL },
    { "DW_TAG_file_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__file__type, METH_VARARGS, NULL },
    { "DW_TAG_friend", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__friend, METH_VARARGS, NULL },
    { "DW_TAG_namelist", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__namelist, METH_VARARGS, NULL },
    { "DW_TAG_namelist_item", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__namelist__item, METH_VARARGS, NULL },
    { "DW_TAG_packed_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__packed__type, METH_VARARGS, NULL },
    { "DW_TAG_subprogram", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__subprogram, METH_VARARGS, NULL },
    { "DW_TAG_template_type_parameter", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__template__type__parameter, METH_VARARGS, NULL },
    { "DW_TAG_template_value_parameter", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__template__value__parameter, METH_VARARGS, NULL },
    { "DW_TAG_thrown_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__thrown__type, METH_VARARGS, NULL },
    { "DW_TAG_try_block", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__try__block, METH_VARARGS, NULL },
    { "DW_TAG_variant_part", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__variant__part, METH_VARARGS, NULL },
    { "DW_TAG_variable", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__variable, METH_VARARGS, NULL },
    { "DW_TAG_volatile_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__volatile__type, METH_VARARGS, NULL },
    { "DW_TAG_dwarf_procedure", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__dwarf__procedure, METH_VARARGS, NULL },
    { "DW_TAG_restrict_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__restrict__type, METH_VARARGS, NULL },
    { "DW_TAG_interface_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__interface__type, METH_VARARGS, NULL },
    { "DW_TAG_namespace", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__namespace, METH_VARARGS, NULL },
    { "DW_TAG_imported_module", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__imported__module, METH_VARARGS, NULL },
    { "DW_TAG_unspecified_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__unspecified__type, METH_VARARGS, NULL },
    { "DW_TAG_partial_unit", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__partial__unit, METH_VARARGS, NULL },
    { "DW_TAG_imported_unit", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__imported__unit, METH_VARARGS, NULL },
    { "DW_TAG_condition", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__condition, METH_VARARGS, NULL },
    { "DW_TAG_shared_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__shared__type, METH_VARARGS, NULL },
    { "DW_TAG_type_unit", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__type__unit, METH_VARARGS, NULL },
    { "DW_TAG_rvalue_reference_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__rvalue__reference__type, METH_VARARGS, NULL },
    { "DW_TAG_template_alias", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__template__alias, METH_VARARGS, NULL },
    { "DW_TAG_MIPS_loop", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__MIPS__loop, METH_VARARGS, NULL },
    { "DW_TAG_format_label", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__format__label, METH_VARARGS, NULL },
    { "DW_TAG_function_template", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__function__template, METH_VARARGS, NULL },
    { "DW_TAG_class_template", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__class__template, METH_VARARGS, NULL },
    { "DW_TAG_GNU_template_template_param", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__GNU__template__template__param, METH_VARARGS, NULL },
    { "DW_TAG_GNU_template_parameter_pack", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__GNU__template__parameter__pack, METH_VARARGS, NULL },
    { "DW_TAG_GNU_formal_parameter_pack", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__GNU__formal__parameter__pack, METH_VARARGS, NULL },
    { "DW_TAG_lo_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__lo__user, METH_VARARGS, NULL },
    { "DW_TAG_APPLE_property", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__APPLE__property, METH_VARARGS, NULL },
    { "DW_TAG_hi_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__TAG__hi__user, METH_VARARGS, NULL },
    { "DW_CHILDREN_no", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CHILDREN__no, METH_VARARGS, NULL },
    { "DW_CHILDREN_yes", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CHILDREN__yes, METH_VARARGS, NULL },
    { "DW_AT_sibling", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__sibling, METH_VARARGS, NULL },
    { "DW_AT_location", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__location, METH_VARARGS, NULL },
    { "DW_AT_name", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__name, METH_VARARGS, NULL },
    { "DW_AT_ordering", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__ordering, METH_VARARGS, NULL },
    { "DW_AT_byte_size", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__byte__size, METH_VARARGS, NULL },
    { "DW_AT_bit_offset", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__bit__offset, METH_VARARGS, NULL },
    { "DW_AT_bit_size", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__bit__size, METH_VARARGS, NULL },
    { "DW_AT_stmt_list", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__stmt__list, METH_VARARGS, NULL },
    { "DW_AT_low_pc", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__low__pc, METH_VARARGS, NULL },
    { "DW_AT_high_pc", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__high__pc, METH_VARARGS, NULL },
    { "DW_AT_language", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__language, METH_VARARGS, NULL },
    { "DW_AT_discr", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__discr, METH_VARARGS, NULL },
    { "DW_AT_discr_value", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__discr__value, METH_VARARGS, NULL },
    { "DW_AT_visibility", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__visibility, METH_VARARGS, NULL },
    { "DW_AT_import", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__import, METH_VARARGS, NULL },
    { "DW_AT_string_length", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__string__length, METH_VARARGS, NULL },
    { "DW_AT_common_reference", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__common__reference, METH_VARARGS, NULL },
    { "DW_AT_comp_dir", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__comp__dir, METH_VARARGS, NULL },
    { "DW_AT_const_value", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__const__value, METH_VARARGS, NULL },
    { "DW_AT_containing_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__containing__type, METH_VARARGS, NULL },
    { "DW_AT_default_value", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__default__value, METH_VARARGS, NULL },
    { "DW_AT_inline", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__inline, METH_VARARGS, NULL },
    { "DW_AT_is_optional", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__is__optional, METH_VARARGS, NULL },
    { "DW_AT_lower_bound", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__lower__bound, METH_VARARGS, NULL },
    { "DW_AT_producer", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__producer, METH_VARARGS, NULL },
    { "DW_AT_prototyped", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__prototyped, METH_VARARGS, NULL },
    { "DW_AT_return_addr", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__return__addr, METH_VARARGS, NULL },
    { "DW_AT_start_scope", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__start__scope, METH_VARARGS, NULL },
    { "DW_AT_bit_stride", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__bit__stride, METH_VARARGS, NULL },
    { "DW_AT_upper_bound", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__upper__bound, METH_VARARGS, NULL },
    { "DW_AT_abstract_origin", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__abstract__origin, METH_VARARGS, NULL },
    { "DW_AT_accessibility", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__accessibility, METH_VARARGS, NULL },
    { "DW_AT_address_class", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__address__class, METH_VARARGS, NULL },
    { "DW_AT_artificial", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__artificial, METH_VARARGS, NULL },
    { "DW_AT_base_types", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__base__types, METH_VARARGS, NULL },
    { "DW_AT_calling_convention", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__calling__convention, METH_VARARGS, NULL },
    { "DW_AT_count", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__count, METH_VARARGS, NULL },
    { "DW_AT_data_member_location", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__data__member__location, METH_VARARGS, NULL },
    { "DW_AT_decl_column", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__decl__column, METH_VARARGS, NULL },
    { "DW_AT_decl_file", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__decl__file, METH_VARARGS, NULL },
    { "DW_AT_decl_line", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__decl__line, METH_VARARGS, NULL },
    { "DW_AT_declaration", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__declaration, METH_VARARGS, NULL },
    { "DW_AT_discr_list", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__discr__list, METH_VARARGS, NULL },
    { "DW_AT_encoding", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__encoding, METH_VARARGS, NULL },
    { "DW_AT_external", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__external, METH_VARARGS, NULL },
    { "DW_AT_frame_base", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__frame__base, METH_VARARGS, NULL },
    { "DW_AT_friend", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__friend, METH_VARARGS, NULL },
    { "DW_AT_identifier_case", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__identifier__case, METH_VARARGS, NULL },
    { "DW_AT_macro_info", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__macro__info, METH_VARARGS, NULL },
    { "DW_AT_namelist_item", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__namelist__item, METH_VARARGS, NULL },
    { "DW_AT_priority", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__priority, METH_VARARGS, NULL },
    { "DW_AT_segment", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__segment, METH_VARARGS, NULL },
    { "DW_AT_specification", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__specification, METH_VARARGS, NULL },
    { "DW_AT_static_link", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__static__link, METH_VARARGS, NULL },
    { "DW_AT_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__type, METH_VARARGS, NULL },
    { "DW_AT_use_location", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__use__location, METH_VARARGS, NULL },
    { "DW_AT_variable_parameter", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__variable__parameter, METH_VARARGS, NULL },
    { "DW_AT_virtuality", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__virtuality, METH_VARARGS, NULL },
    { "DW_AT_vtable_elem_location", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__vtable__elem__location, METH_VARARGS, NULL },
    { "DW_AT_allocated", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__allocated, METH_VARARGS, NULL },
    { "DW_AT_associated", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__associated, METH_VARARGS, NULL },
    { "DW_AT_data_location", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__data__location, METH_VARARGS, NULL },
    { "DW_AT_byte_stride", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__byte__stride, METH_VARARGS, NULL },
    { "DW_AT_entry_pc", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__entry__pc, METH_VARARGS, NULL },
    { "DW_AT_use_UTF8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__use__UTF8, METH_VARARGS, NULL },
    { "DW_AT_extension", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__extension, METH_VARARGS, NULL },
    { "DW_AT_ranges", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__ranges, METH_VARARGS, NULL },
    { "DW_AT_trampoline", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__trampoline, METH_VARARGS, NULL },
    { "DW_AT_call_column", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__call__column, METH_VARARGS, NULL },
    { "DW_AT_call_file", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__call__file, METH_VARARGS, NULL },
    { "DW_AT_call_line", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__call__line, METH_VARARGS, NULL },
    { "DW_AT_description", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__description, METH_VARARGS, NULL },
    { "DW_AT_binary_scale", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__binary__scale, METH_VARARGS, NULL },
    { "DW_AT_decimal_scale", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__decimal__scale, METH_VARARGS, NULL },
    { "DW_AT_small", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__small, METH_VARARGS, NULL },
    { "DW_AT_decimal_sign", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__decimal__sign, METH_VARARGS, NULL },
    { "DW_AT_digit_count", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__digit__count, METH_VARARGS, NULL },
    { "DW_AT_picture_string", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__picture__string, METH_VARARGS, NULL },
    { "DW_AT_mutable", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__mutable, METH_VARARGS, NULL },
    { "DW_AT_threads_scaled", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__threads__scaled, METH_VARARGS, NULL },
    { "DW_AT_explicit", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__explicit, METH_VARARGS, NULL },
    { "DW_AT_object_pointer", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__object__pointer, METH_VARARGS, NULL },
    { "DW_AT_endianity", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__endianity, METH_VARARGS, NULL },
    { "DW_AT_elemental", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__elemental, METH_VARARGS, NULL },
    { "DW_AT_pure", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__pure, METH_VARARGS, NULL },
    { "DW_AT_recursive", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__recursive, METH_VARARGS, NULL },
    { "DW_AT_signature", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__signature, METH_VARARGS, NULL },
    { "DW_AT_main_subprogram", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__main__subprogram, METH_VARARGS, NULL },
    { "DW_AT_data_bit_offset", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__data__bit__offset, METH_VARARGS, NULL },
    { "DW_AT_const_expr", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__const__expr, METH_VARARGS, NULL },
    { "DW_AT_enum_class", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__enum__class, METH_VARARGS, NULL },
    { "DW_AT_linkage_name", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__linkage__name, METH_VARARGS, NULL },
    { "DW_AT_lo_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__lo__user, METH_VARARGS, NULL },
    { "DW_AT_hi_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__hi__user, METH_VARARGS, NULL },
    { "DW_AT_MIPS_loop_begin", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__loop__begin, METH_VARARGS, NULL },
    { "DW_AT_MIPS_tail_loop_begin", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__tail__loop__begin, METH_VARARGS, NULL },
    { "DW_AT_MIPS_epilog_begin", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__epilog__begin, METH_VARARGS, NULL },
    { "DW_AT_MIPS_loop_unroll_factor", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__loop__unroll__factor, METH_VARARGS, NULL },
    { "DW_AT_MIPS_software_pipeline_depth", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__software__pipeline__depth, METH_VARARGS, NULL },
    { "DW_AT_MIPS_linkage_name", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__linkage__name, METH_VARARGS, NULL },
    { "DW_AT_MIPS_stride", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__stride, METH_VARARGS, NULL },
    { "DW_AT_MIPS_abstract_name", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__abstract__name, METH_VARARGS, NULL },
    { "DW_AT_MIPS_clone_origin", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__clone__origin, METH_VARARGS, NULL },
    { "DW_AT_MIPS_has_inlines", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__has__inlines, METH_VARARGS, NULL },
    { "DW_AT_MIPS_stride_byte", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__stride__byte, METH_VARARGS, NULL },
    { "DW_AT_MIPS_stride_elem", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__stride__elem, METH_VARARGS, NULL },
    { "DW_AT_MIPS_ptr_dopetype", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__ptr__dopetype, METH_VARARGS, NULL },
    { "DW_AT_MIPS_allocatable_dopetype", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__allocatable__dopetype, METH_VARARGS, NULL },
    { "DW_AT_MIPS_assumed_shape_dopetype", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__assumed__shape__dopetype, METH_VARARGS, NULL },
    { "DW_AT_MIPS_assumed_size", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__MIPS__assumed__size, METH_VARARGS, NULL },
    { "DW_AT_sf_names", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__sf__names, METH_VARARGS, NULL },
    { "DW_AT_src_info", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__src__info, METH_VARARGS, NULL },
    { "DW_AT_mac_info", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__mac__info, METH_VARARGS, NULL },
    { "DW_AT_src_coords", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__src__coords, METH_VARARGS, NULL },
    { "DW_AT_body_begin", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__body__begin, METH_VARARGS, NULL },
    { "DW_AT_body_end", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__body__end, METH_VARARGS, NULL },
    { "DW_AT_APPLE_optimized", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__optimized, METH_VARARGS, NULL },
    { "DW_AT_APPLE_flags", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__flags, METH_VARARGS, NULL },
    { "DW_AT_APPLE_isa", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__isa, METH_VARARGS, NULL },
    { "DW_AT_APPLE_block", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__block, METH_VARARGS, NULL },
    { "DW_AT_APPLE_major_runtime_vers", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__major__runtime__vers, METH_VARARGS, NULL },
    { "DW_AT_APPLE_runtime_class", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__runtime__class, METH_VARARGS, NULL },
    { "DW_AT_APPLE_omit_frame_ptr", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__omit__frame__ptr, METH_VARARGS, NULL },
    { "DW_AT_APPLE_property_name", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__property__name, METH_VARARGS, NULL },
    { "DW_AT_APPLE_property_getter", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__property__getter, METH_VARARGS, NULL },
    { "DW_AT_APPLE_property_setter", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__property__setter, METH_VARARGS, NULL },
    { "DW_AT_APPLE_property_attribute", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__property__attribute, METH_VARARGS, NULL },
    { "DW_AT_APPLE_objc_complete_type", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__objc__complete__type, METH_VARARGS, NULL },
    { "DW_AT_APPLE_property", (PyCFunction)llvm_dwarf__dwarf__constants__DW__AT__APPLE__property, METH_VARARGS, NULL },
    { "DW_FORM_addr", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__addr, METH_VARARGS, NULL },
    { "DW_FORM_block2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__block2, METH_VARARGS, NULL },
    { "DW_FORM_block4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__block4, METH_VARARGS, NULL },
    { "DW_FORM_data2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__data2, METH_VARARGS, NULL },
    { "DW_FORM_data4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__data4, METH_VARARGS, NULL },
    { "DW_FORM_data8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__data8, METH_VARARGS, NULL },
    { "DW_FORM_string", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__string, METH_VARARGS, NULL },
    { "DW_FORM_block", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__block, METH_VARARGS, NULL },
    { "DW_FORM_block1", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__block1, METH_VARARGS, NULL },
    { "DW_FORM_data1", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__data1, METH_VARARGS, NULL },
    { "DW_FORM_flag", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__flag, METH_VARARGS, NULL },
    { "DW_FORM_sdata", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__sdata, METH_VARARGS, NULL },
    { "DW_FORM_strp", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__strp, METH_VARARGS, NULL },
    { "DW_FORM_udata", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__udata, METH_VARARGS, NULL },
    { "DW_FORM_ref_addr", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__ref__addr, METH_VARARGS, NULL },
    { "DW_FORM_ref1", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__ref1, METH_VARARGS, NULL },
    { "DW_FORM_ref2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__ref2, METH_VARARGS, NULL },
    { "DW_FORM_ref4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__ref4, METH_VARARGS, NULL },
    { "DW_FORM_ref8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__ref8, METH_VARARGS, NULL },
    { "DW_FORM_ref_udata", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__ref__udata, METH_VARARGS, NULL },
    { "DW_FORM_indirect", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__indirect, METH_VARARGS, NULL },
    { "DW_FORM_sec_offset", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__sec__offset, METH_VARARGS, NULL },
    { "DW_FORM_exprloc", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__exprloc, METH_VARARGS, NULL },
    { "DW_FORM_flag_present", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__flag__present, METH_VARARGS, NULL },
    { "DW_FORM_ref_sig8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__FORM__ref__sig8, METH_VARARGS, NULL },
    { "DW_OP_addr", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__addr, METH_VARARGS, NULL },
    { "DW_OP_deref", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__deref, METH_VARARGS, NULL },
    { "DW_OP_const1u", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__const1u, METH_VARARGS, NULL },
    { "DW_OP_const1s", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__const1s, METH_VARARGS, NULL },
    { "DW_OP_const2u", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__const2u, METH_VARARGS, NULL },
    { "DW_OP_const2s", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__const2s, METH_VARARGS, NULL },
    { "DW_OP_const4u", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__const4u, METH_VARARGS, NULL },
    { "DW_OP_const4s", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__const4s, METH_VARARGS, NULL },
    { "DW_OP_const8u", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__const8u, METH_VARARGS, NULL },
    { "DW_OP_const8s", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__const8s, METH_VARARGS, NULL },
    { "DW_OP_constu", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__constu, METH_VARARGS, NULL },
    { "DW_OP_consts", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__consts, METH_VARARGS, NULL },
    { "DW_OP_dup", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__dup, METH_VARARGS, NULL },
    { "DW_OP_drop", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__drop, METH_VARARGS, NULL },
    { "DW_OP_over", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__over, METH_VARARGS, NULL },
    { "DW_OP_pick", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__pick, METH_VARARGS, NULL },
    { "DW_OP_swap", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__swap, METH_VARARGS, NULL },
    { "DW_OP_rot", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__rot, METH_VARARGS, NULL },
    { "DW_OP_xderef", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__xderef, METH_VARARGS, NULL },
    { "DW_OP_abs", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__abs, METH_VARARGS, NULL },
    { "DW_OP_and", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__and, METH_VARARGS, NULL },
    { "DW_OP_div", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__div, METH_VARARGS, NULL },
    { "DW_OP_minus", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__minus, METH_VARARGS, NULL },
    { "DW_OP_mod", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__mod, METH_VARARGS, NULL },
    { "DW_OP_mul", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__mul, METH_VARARGS, NULL },
    { "DW_OP_neg", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__neg, METH_VARARGS, NULL },
    { "DW_OP_not", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__not, METH_VARARGS, NULL },
    { "DW_OP_or", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__or, METH_VARARGS, NULL },
    { "DW_OP_plus", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__plus, METH_VARARGS, NULL },
    { "DW_OP_plus_uconst", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__plus__uconst, METH_VARARGS, NULL },
    { "DW_OP_shl", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__shl, METH_VARARGS, NULL },
    { "DW_OP_shr", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__shr, METH_VARARGS, NULL },
    { "DW_OP_shra", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__shra, METH_VARARGS, NULL },
    { "DW_OP_xor", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__xor, METH_VARARGS, NULL },
    { "DW_OP_skip", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__skip, METH_VARARGS, NULL },
    { "DW_OP_bra", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__bra, METH_VARARGS, NULL },
    { "DW_OP_eq", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__eq, METH_VARARGS, NULL },
    { "DW_OP_ge", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__ge, METH_VARARGS, NULL },
    { "DW_OP_gt", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__gt, METH_VARARGS, NULL },
    { "DW_OP_le", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__le, METH_VARARGS, NULL },
    { "DW_OP_lt", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lt, METH_VARARGS, NULL },
    { "DW_OP_ne", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__ne, METH_VARARGS, NULL },
    { "DW_OP_lit0", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit0, METH_VARARGS, NULL },
    { "DW_OP_lit1", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit1, METH_VARARGS, NULL },
    { "DW_OP_lit2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit2, METH_VARARGS, NULL },
    { "DW_OP_lit3", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit3, METH_VARARGS, NULL },
    { "DW_OP_lit4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit4, METH_VARARGS, NULL },
    { "DW_OP_lit5", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit5, METH_VARARGS, NULL },
    { "DW_OP_lit6", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit6, METH_VARARGS, NULL },
    { "DW_OP_lit7", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit7, METH_VARARGS, NULL },
    { "DW_OP_lit8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit8, METH_VARARGS, NULL },
    { "DW_OP_lit9", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit9, METH_VARARGS, NULL },
    { "DW_OP_lit10", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit10, METH_VARARGS, NULL },
    { "DW_OP_lit11", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit11, METH_VARARGS, NULL },
    { "DW_OP_lit12", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit12, METH_VARARGS, NULL },
    { "DW_OP_lit13", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit13, METH_VARARGS, NULL },
    { "DW_OP_lit14", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit14, METH_VARARGS, NULL },
    { "DW_OP_lit15", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit15, METH_VARARGS, NULL },
    { "DW_OP_lit16", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit16, METH_VARARGS, NULL },
    { "DW_OP_lit17", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit17, METH_VARARGS, NULL },
    { "DW_OP_lit18", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit18, METH_VARARGS, NULL },
    { "DW_OP_lit19", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit19, METH_VARARGS, NULL },
    { "DW_OP_lit20", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit20, METH_VARARGS, NULL },
    { "DW_OP_lit21", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit21, METH_VARARGS, NULL },
    { "DW_OP_lit22", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit22, METH_VARARGS, NULL },
    { "DW_OP_lit23", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit23, METH_VARARGS, NULL },
    { "DW_OP_lit24", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit24, METH_VARARGS, NULL },
    { "DW_OP_lit25", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit25, METH_VARARGS, NULL },
    { "DW_OP_lit26", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit26, METH_VARARGS, NULL },
    { "DW_OP_lit27", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit27, METH_VARARGS, NULL },
    { "DW_OP_lit28", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit28, METH_VARARGS, NULL },
    { "DW_OP_lit29", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit29, METH_VARARGS, NULL },
    { "DW_OP_lit30", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit30, METH_VARARGS, NULL },
    { "DW_OP_lit31", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lit31, METH_VARARGS, NULL },
    { "DW_OP_reg0", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg0, METH_VARARGS, NULL },
    { "DW_OP_reg1", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg1, METH_VARARGS, NULL },
    { "DW_OP_reg2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg2, METH_VARARGS, NULL },
    { "DW_OP_reg3", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg3, METH_VARARGS, NULL },
    { "DW_OP_reg4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg4, METH_VARARGS, NULL },
    { "DW_OP_reg5", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg5, METH_VARARGS, NULL },
    { "DW_OP_reg6", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg6, METH_VARARGS, NULL },
    { "DW_OP_reg7", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg7, METH_VARARGS, NULL },
    { "DW_OP_reg8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg8, METH_VARARGS, NULL },
    { "DW_OP_reg9", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg9, METH_VARARGS, NULL },
    { "DW_OP_reg10", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg10, METH_VARARGS, NULL },
    { "DW_OP_reg11", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg11, METH_VARARGS, NULL },
    { "DW_OP_reg12", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg12, METH_VARARGS, NULL },
    { "DW_OP_reg13", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg13, METH_VARARGS, NULL },
    { "DW_OP_reg14", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg14, METH_VARARGS, NULL },
    { "DW_OP_reg15", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg15, METH_VARARGS, NULL },
    { "DW_OP_reg16", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg16, METH_VARARGS, NULL },
    { "DW_OP_reg17", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg17, METH_VARARGS, NULL },
    { "DW_OP_reg18", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg18, METH_VARARGS, NULL },
    { "DW_OP_reg19", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg19, METH_VARARGS, NULL },
    { "DW_OP_reg20", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg20, METH_VARARGS, NULL },
    { "DW_OP_reg21", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg21, METH_VARARGS, NULL },
    { "DW_OP_reg22", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg22, METH_VARARGS, NULL },
    { "DW_OP_reg23", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg23, METH_VARARGS, NULL },
    { "DW_OP_reg24", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg24, METH_VARARGS, NULL },
    { "DW_OP_reg25", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg25, METH_VARARGS, NULL },
    { "DW_OP_reg26", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg26, METH_VARARGS, NULL },
    { "DW_OP_reg27", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg27, METH_VARARGS, NULL },
    { "DW_OP_reg28", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg28, METH_VARARGS, NULL },
    { "DW_OP_reg29", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg29, METH_VARARGS, NULL },
    { "DW_OP_reg30", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg30, METH_VARARGS, NULL },
    { "DW_OP_reg31", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__reg31, METH_VARARGS, NULL },
    { "DW_OP_breg0", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg0, METH_VARARGS, NULL },
    { "DW_OP_breg1", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg1, METH_VARARGS, NULL },
    { "DW_OP_breg2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg2, METH_VARARGS, NULL },
    { "DW_OP_breg3", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg3, METH_VARARGS, NULL },
    { "DW_OP_breg4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg4, METH_VARARGS, NULL },
    { "DW_OP_breg5", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg5, METH_VARARGS, NULL },
    { "DW_OP_breg6", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg6, METH_VARARGS, NULL },
    { "DW_OP_breg7", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg7, METH_VARARGS, NULL },
    { "DW_OP_breg8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg8, METH_VARARGS, NULL },
    { "DW_OP_breg9", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg9, METH_VARARGS, NULL },
    { "DW_OP_breg10", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg10, METH_VARARGS, NULL },
    { "DW_OP_breg11", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg11, METH_VARARGS, NULL },
    { "DW_OP_breg12", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg12, METH_VARARGS, NULL },
    { "DW_OP_breg13", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg13, METH_VARARGS, NULL },
    { "DW_OP_breg14", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg14, METH_VARARGS, NULL },
    { "DW_OP_breg15", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg15, METH_VARARGS, NULL },
    { "DW_OP_breg16", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg16, METH_VARARGS, NULL },
    { "DW_OP_breg17", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg17, METH_VARARGS, NULL },
    { "DW_OP_breg18", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg18, METH_VARARGS, NULL },
    { "DW_OP_breg19", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg19, METH_VARARGS, NULL },
    { "DW_OP_breg20", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg20, METH_VARARGS, NULL },
    { "DW_OP_breg21", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg21, METH_VARARGS, NULL },
    { "DW_OP_breg22", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg22, METH_VARARGS, NULL },
    { "DW_OP_breg23", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg23, METH_VARARGS, NULL },
    { "DW_OP_breg24", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg24, METH_VARARGS, NULL },
    { "DW_OP_breg25", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg25, METH_VARARGS, NULL },
    { "DW_OP_breg26", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg26, METH_VARARGS, NULL },
    { "DW_OP_breg27", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg27, METH_VARARGS, NULL },
    { "DW_OP_breg28", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg28, METH_VARARGS, NULL },
    { "DW_OP_breg29", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg29, METH_VARARGS, NULL },
    { "DW_OP_breg30", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg30, METH_VARARGS, NULL },
    { "DW_OP_breg31", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__breg31, METH_VARARGS, NULL },
    { "DW_OP_regx", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__regx, METH_VARARGS, NULL },
    { "DW_OP_fbreg", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__fbreg, METH_VARARGS, NULL },
    { "DW_OP_bregx", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__bregx, METH_VARARGS, NULL },
    { "DW_OP_piece", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__piece, METH_VARARGS, NULL },
    { "DW_OP_deref_size", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__deref__size, METH_VARARGS, NULL },
    { "DW_OP_xderef_size", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__xderef__size, METH_VARARGS, NULL },
    { "DW_OP_nop", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__nop, METH_VARARGS, NULL },
    { "DW_OP_push_object_address", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__push__object__address, METH_VARARGS, NULL },
    { "DW_OP_call2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__call2, METH_VARARGS, NULL },
    { "DW_OP_call4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__call4, METH_VARARGS, NULL },
    { "DW_OP_call_ref", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__call__ref, METH_VARARGS, NULL },
    { "DW_OP_form_tls_address", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__form__tls__address, METH_VARARGS, NULL },
    { "DW_OP_call_frame_cfa", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__call__frame__cfa, METH_VARARGS, NULL },
    { "DW_OP_bit_piece", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__bit__piece, METH_VARARGS, NULL },
    { "DW_OP_implicit_value", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__implicit__value, METH_VARARGS, NULL },
    { "DW_OP_stack_value", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__stack__value, METH_VARARGS, NULL },
    { "DW_OP_lo_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__lo__user, METH_VARARGS, NULL },
    { "DW_OP_hi_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__OP__hi__user, METH_VARARGS, NULL },
    { "DW_ATE_address", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__address, METH_VARARGS, NULL },
    { "DW_ATE_boolean", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__boolean, METH_VARARGS, NULL },
    { "DW_ATE_complex_float", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__complex__float, METH_VARARGS, NULL },
    { "DW_ATE_float", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__float, METH_VARARGS, NULL },
    { "DW_ATE_signed", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__signed, METH_VARARGS, NULL },
    { "DW_ATE_signed_char", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__signed__char, METH_VARARGS, NULL },
    { "DW_ATE_unsigned", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__unsigned, METH_VARARGS, NULL },
    { "DW_ATE_unsigned_char", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__unsigned__char, METH_VARARGS, NULL },
    { "DW_ATE_imaginary_float", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__imaginary__float, METH_VARARGS, NULL },
    { "DW_ATE_packed_decimal", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__packed__decimal, METH_VARARGS, NULL },
    { "DW_ATE_numeric_string", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__numeric__string, METH_VARARGS, NULL },
    { "DW_ATE_edited", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__edited, METH_VARARGS, NULL },
    { "DW_ATE_signed_fixed", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__signed__fixed, METH_VARARGS, NULL },
    { "DW_ATE_unsigned_fixed", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__unsigned__fixed, METH_VARARGS, NULL },
    { "DW_ATE_decimal_float", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__decimal__float, METH_VARARGS, NULL },
    { "DW_ATE_UTF", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__UTF, METH_VARARGS, NULL },
    { "DW_ATE_lo_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__lo__user, METH_VARARGS, NULL },
    { "DW_ATE_hi_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ATE__hi__user, METH_VARARGS, NULL },
    { "DW_DS_unsigned", (PyCFunction)llvm_dwarf__dwarf__constants__DW__DS__unsigned, METH_VARARGS, NULL },
    { "DW_DS_leading_overpunch", (PyCFunction)llvm_dwarf__dwarf__constants__DW__DS__leading__overpunch, METH_VARARGS, NULL },
    { "DW_DS_trailing_overpunch", (PyCFunction)llvm_dwarf__dwarf__constants__DW__DS__trailing__overpunch, METH_VARARGS, NULL },
    { "DW_DS_leading_separate", (PyCFunction)llvm_dwarf__dwarf__constants__DW__DS__leading__separate, METH_VARARGS, NULL },
    { "DW_DS_trailing_separate", (PyCFunction)llvm_dwarf__dwarf__constants__DW__DS__trailing__separate, METH_VARARGS, NULL },
    { "DW_END_default", (PyCFunction)llvm_dwarf__dwarf__constants__DW__END__default, METH_VARARGS, NULL },
    { "DW_END_big", (PyCFunction)llvm_dwarf__dwarf__constants__DW__END__big, METH_VARARGS, NULL },
    { "DW_END_little", (PyCFunction)llvm_dwarf__dwarf__constants__DW__END__little, METH_VARARGS, NULL },
    { "DW_END_lo_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__END__lo__user, METH_VARARGS, NULL },
    { "DW_END_hi_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__END__hi__user, METH_VARARGS, NULL },
    { "DW_ACCESS_public", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ACCESS__public, METH_VARARGS, NULL },
    { "DW_ACCESS_protected", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ACCESS__protected, METH_VARARGS, NULL },
    { "DW_ACCESS_private", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ACCESS__private, METH_VARARGS, NULL },
    { "DW_VIS_local", (PyCFunction)llvm_dwarf__dwarf__constants__DW__VIS__local, METH_VARARGS, NULL },
    { "DW_VIS_exported", (PyCFunction)llvm_dwarf__dwarf__constants__DW__VIS__exported, METH_VARARGS, NULL },
    { "DW_VIS_qualified", (PyCFunction)llvm_dwarf__dwarf__constants__DW__VIS__qualified, METH_VARARGS, NULL },
    { "DW_VIRTUALITY_none", (PyCFunction)llvm_dwarf__dwarf__constants__DW__VIRTUALITY__none, METH_VARARGS, NULL },
    { "DW_VIRTUALITY_virtual", (PyCFunction)llvm_dwarf__dwarf__constants__DW__VIRTUALITY__virtual, METH_VARARGS, NULL },
    { "DW_VIRTUALITY_pure_virtual", (PyCFunction)llvm_dwarf__dwarf__constants__DW__VIRTUALITY__pure__virtual, METH_VARARGS, NULL },
    { "DW_LANG_C89", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__C89, METH_VARARGS, NULL },
    { "DW_LANG_C", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__C, METH_VARARGS, NULL },
    { "DW_LANG_Ada83", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Ada83, METH_VARARGS, NULL },
    { "DW_LANG_C_plus_plus", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__C__plus__plus, METH_VARARGS, NULL },
    { "DW_LANG_Cobol74", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Cobol74, METH_VARARGS, NULL },
    { "DW_LANG_Cobol85", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Cobol85, METH_VARARGS, NULL },
    { "DW_LANG_Fortran77", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Fortran77, METH_VARARGS, NULL },
    { "DW_LANG_Fortran90", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Fortran90, METH_VARARGS, NULL },
    { "DW_LANG_Pascal83", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Pascal83, METH_VARARGS, NULL },
    { "DW_LANG_Modula2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Modula2, METH_VARARGS, NULL },
    { "DW_LANG_Java", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Java, METH_VARARGS, NULL },
    { "DW_LANG_C99", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__C99, METH_VARARGS, NULL },
    { "DW_LANG_Ada95", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Ada95, METH_VARARGS, NULL },
    { "DW_LANG_Fortran95", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Fortran95, METH_VARARGS, NULL },
    { "DW_LANG_PLI", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__PLI, METH_VARARGS, NULL },
    { "DW_LANG_ObjC", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__ObjC, METH_VARARGS, NULL },
    { "DW_LANG_ObjC_plus_plus", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__ObjC__plus__plus, METH_VARARGS, NULL },
    { "DW_LANG_UPC", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__UPC, METH_VARARGS, NULL },
    { "DW_LANG_D", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__D, METH_VARARGS, NULL },
    { "DW_LANG_Python", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Python, METH_VARARGS, NULL },
    { "DW_LANG_lo_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__lo__user, METH_VARARGS, NULL },
    { "DW_LANG_Mips_Assembler", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__Mips__Assembler, METH_VARARGS, NULL },
    { "DW_LANG_hi_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LANG__hi__user, METH_VARARGS, NULL },
    { "DW_ID_case_sensitive", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ID__case__sensitive, METH_VARARGS, NULL },
    { "DW_ID_up_case", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ID__up__case, METH_VARARGS, NULL },
    { "DW_ID_down_case", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ID__down__case, METH_VARARGS, NULL },
    { "DW_ID_case_insensitive", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ID__case__insensitive, METH_VARARGS, NULL },
    { "DW_CC_normal", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CC__normal, METH_VARARGS, NULL },
    { "DW_CC_program", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CC__program, METH_VARARGS, NULL },
    { "DW_CC_nocall", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CC__nocall, METH_VARARGS, NULL },
    { "DW_CC_lo_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CC__lo__user, METH_VARARGS, NULL },
    { "DW_CC_hi_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CC__hi__user, METH_VARARGS, NULL },
    { "DW_INL_not_inlined", (PyCFunction)llvm_dwarf__dwarf__constants__DW__INL__not__inlined, METH_VARARGS, NULL },
    { "DW_INL_inlined", (PyCFunction)llvm_dwarf__dwarf__constants__DW__INL__inlined, METH_VARARGS, NULL },
    { "DW_INL_declared_not_inlined", (PyCFunction)llvm_dwarf__dwarf__constants__DW__INL__declared__not__inlined, METH_VARARGS, NULL },
    { "DW_INL_declared_inlined", (PyCFunction)llvm_dwarf__dwarf__constants__DW__INL__declared__inlined, METH_VARARGS, NULL },
    { "DW_ORD_row_major", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ORD__row__major, METH_VARARGS, NULL },
    { "DW_ORD_col_major", (PyCFunction)llvm_dwarf__dwarf__constants__DW__ORD__col__major, METH_VARARGS, NULL },
    { "DW_DSC_label", (PyCFunction)llvm_dwarf__dwarf__constants__DW__DSC__label, METH_VARARGS, NULL },
    { "DW_DSC_range", (PyCFunction)llvm_dwarf__dwarf__constants__DW__DSC__range, METH_VARARGS, NULL },
    { "DW_LNS_extended_op", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__extended__op, METH_VARARGS, NULL },
    { "DW_LNS_copy", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__copy, METH_VARARGS, NULL },
    { "DW_LNS_advance_pc", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__advance__pc, METH_VARARGS, NULL },
    { "DW_LNS_advance_line", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__advance__line, METH_VARARGS, NULL },
    { "DW_LNS_set_file", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__set__file, METH_VARARGS, NULL },
    { "DW_LNS_set_column", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__set__column, METH_VARARGS, NULL },
    { "DW_LNS_negate_stmt", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__negate__stmt, METH_VARARGS, NULL },
    { "DW_LNS_set_basic_block", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__set__basic__block, METH_VARARGS, NULL },
    { "DW_LNS_const_add_pc", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__const__add__pc, METH_VARARGS, NULL },
    { "DW_LNS_fixed_advance_pc", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__fixed__advance__pc, METH_VARARGS, NULL },
    { "DW_LNS_set_prologue_end", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__set__prologue__end, METH_VARARGS, NULL },
    { "DW_LNS_set_epilogue_begin", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__set__epilogue__begin, METH_VARARGS, NULL },
    { "DW_LNS_set_isa", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNS__set__isa, METH_VARARGS, NULL },
    { "DW_LNE_end_sequence", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNE__end__sequence, METH_VARARGS, NULL },
    { "DW_LNE_set_address", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNE__set__address, METH_VARARGS, NULL },
    { "DW_LNE_define_file", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNE__define__file, METH_VARARGS, NULL },
    { "DW_LNE_set_discriminator", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNE__set__discriminator, METH_VARARGS, NULL },
    { "DW_LNE_lo_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNE__lo__user, METH_VARARGS, NULL },
    { "DW_LNE_hi_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__LNE__hi__user, METH_VARARGS, NULL },
    { "DW_MACINFO_define", (PyCFunction)llvm_dwarf__dwarf__constants__DW__MACINFO__define, METH_VARARGS, NULL },
    { "DW_MACINFO_undef", (PyCFunction)llvm_dwarf__dwarf__constants__DW__MACINFO__undef, METH_VARARGS, NULL },
    { "DW_MACINFO_start_file", (PyCFunction)llvm_dwarf__dwarf__constants__DW__MACINFO__start__file, METH_VARARGS, NULL },
    { "DW_MACINFO_end_file", (PyCFunction)llvm_dwarf__dwarf__constants__DW__MACINFO__end__file, METH_VARARGS, NULL },
    { "DW_MACINFO_vendor_ext", (PyCFunction)llvm_dwarf__dwarf__constants__DW__MACINFO__vendor__ext, METH_VARARGS, NULL },
    { "DW_CFA_extended", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__extended, METH_VARARGS, NULL },
    { "DW_CFA_nop", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__nop, METH_VARARGS, NULL },
    { "DW_CFA_advance_loc", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__advance__loc, METH_VARARGS, NULL },
    { "DW_CFA_offset", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__offset, METH_VARARGS, NULL },
    { "DW_CFA_restore", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__restore, METH_VARARGS, NULL },
    { "DW_CFA_set_loc", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__set__loc, METH_VARARGS, NULL },
    { "DW_CFA_advance_loc1", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__advance__loc1, METH_VARARGS, NULL },
    { "DW_CFA_advance_loc2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__advance__loc2, METH_VARARGS, NULL },
    { "DW_CFA_advance_loc4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__advance__loc4, METH_VARARGS, NULL },
    { "DW_CFA_offset_extended", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__offset__extended, METH_VARARGS, NULL },
    { "DW_CFA_restore_extended", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__restore__extended, METH_VARARGS, NULL },
    { "DW_CFA_undefined", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__undefined, METH_VARARGS, NULL },
    { "DW_CFA_same_value", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__same__value, METH_VARARGS, NULL },
    { "DW_CFA_register", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__register, METH_VARARGS, NULL },
    { "DW_CFA_remember_state", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__remember__state, METH_VARARGS, NULL },
    { "DW_CFA_restore_state", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__restore__state, METH_VARARGS, NULL },
    { "DW_CFA_def_cfa", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__def__cfa, METH_VARARGS, NULL },
    { "DW_CFA_def_cfa_register", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__register, METH_VARARGS, NULL },
    { "DW_CFA_def_cfa_offset", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__offset, METH_VARARGS, NULL },
    { "DW_CFA_def_cfa_expression", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__expression, METH_VARARGS, NULL },
    { "DW_CFA_expression", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__expression, METH_VARARGS, NULL },
    { "DW_CFA_offset_extended_sf", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__offset__extended__sf, METH_VARARGS, NULL },
    { "DW_CFA_def_cfa_sf", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__sf, METH_VARARGS, NULL },
    { "DW_CFA_def_cfa_offset_sf", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__def__cfa__offset__sf, METH_VARARGS, NULL },
    { "DW_CFA_val_offset", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__val__offset, METH_VARARGS, NULL },
    { "DW_CFA_val_offset_sf", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__val__offset__sf, METH_VARARGS, NULL },
    { "DW_CFA_val_expression", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__val__expression, METH_VARARGS, NULL },
    { "DW_CFA_MIPS_advance_loc8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__MIPS__advance__loc8, METH_VARARGS, NULL },
    { "DW_CFA_GNU_window_save", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__GNU__window__save, METH_VARARGS, NULL },
    { "DW_CFA_GNU_args_size", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__GNU__args__size, METH_VARARGS, NULL },
    { "DW_CFA_lo_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__lo__user, METH_VARARGS, NULL },
    { "DW_CFA_hi_user", (PyCFunction)llvm_dwarf__dwarf__constants__DW__CFA__hi__user, METH_VARARGS, NULL },
    { "DW_EH_PE_absptr", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__absptr, METH_VARARGS, NULL },
    { "DW_EH_PE_omit", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__omit, METH_VARARGS, NULL },
    { "DW_EH_PE_uleb128", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__uleb128, METH_VARARGS, NULL },
    { "DW_EH_PE_udata2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__udata2, METH_VARARGS, NULL },
    { "DW_EH_PE_udata4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__udata4, METH_VARARGS, NULL },
    { "DW_EH_PE_udata8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__udata8, METH_VARARGS, NULL },
    { "DW_EH_PE_sleb128", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__sleb128, METH_VARARGS, NULL },
    { "DW_EH_PE_sdata2", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__sdata2, METH_VARARGS, NULL },
    { "DW_EH_PE_sdata4", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__sdata4, METH_VARARGS, NULL },
    { "DW_EH_PE_sdata8", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__sdata8, METH_VARARGS, NULL },
    { "DW_EH_PE_signed", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__signed, METH_VARARGS, NULL },
    { "DW_EH_PE_pcrel", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__pcrel, METH_VARARGS, NULL },
    { "DW_EH_PE_textrel", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__textrel, METH_VARARGS, NULL },
    { "DW_EH_PE_datarel", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__datarel, METH_VARARGS, NULL },
    { "DW_EH_PE_funcrel", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__funcrel, METH_VARARGS, NULL },
    { "DW_EH_PE_aligned", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__aligned, METH_VARARGS, NULL },
    { "DW_EH_PE_indirect", (PyCFunction)llvm_dwarf__dwarf__constants__DW__EH__PE__indirect, METH_VARARGS, NULL },
    { "DW_APPLE_PROPERTY_readonly", (PyCFunction)llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__readonly, METH_VARARGS, NULL },
    { "DW_APPLE_PROPERTY_readwrite", (PyCFunction)llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__readwrite, METH_VARARGS, NULL },
    { "DW_APPLE_PROPERTY_assign", (PyCFunction)llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__assign, METH_VARARGS, NULL },
    { "DW_APPLE_PROPERTY_retain", (PyCFunction)llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__retain, METH_VARARGS, NULL },
    { "DW_APPLE_PROPERTY_copy", (PyCFunction)llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__copy, METH_VARARGS, NULL },
    { "DW_APPLE_PROPERTY_nonatomic", (PyCFunction)llvm_dwarf__dwarf__constants__DW__APPLE__PROPERTY__nonatomic, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_dwarf[] = {
    { NULL }
};

static
PyObject*
llvm_LibFunc__Func__ZdaPv(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::LibFunc::ZdaPv);
    return var_PyObject;
}

static
PyObject*
llvm_LibFunc__Func__ZdlPv(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::LibFunc::ZdlPv);
    return var_PyObject1;
}

static
PyObject*
llvm_LibFunc__Func__Znaj(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::LibFunc::Znaj);
    return var_PyObject2;
}

static
PyObject*
llvm_LibFunc__Func__ZnajRKSt9nothrow__t(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::LibFunc::ZnajRKSt9nothrow_t);
    return var_PyObject3;
}

static
PyObject*
llvm_LibFunc__Func__Znam(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::LibFunc::Znam);
    return var_PyObject4;
}

static
PyObject*
llvm_LibFunc__Func__ZnamRKSt9nothrow__t(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::LibFunc::ZnamRKSt9nothrow_t);
    return var_PyObject5;
}

static
PyObject*
llvm_LibFunc__Func__Znwj(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::LibFunc::Znwj);
    return var_PyObject6;
}

static
PyObject*
llvm_LibFunc__Func__ZnwjRKSt9nothrow__t(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject7 = PyInt_FromLong(llvm::LibFunc::ZnwjRKSt9nothrow_t);
    return var_PyObject7;
}

static
PyObject*
llvm_LibFunc__Func__Znwm(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject8 = PyInt_FromLong(llvm::LibFunc::Znwm);
    return var_PyObject8;
}

static
PyObject*
llvm_LibFunc__Func__ZnwmRKSt9nothrow__t(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject9 = PyInt_FromLong(llvm::LibFunc::ZnwmRKSt9nothrow_t);
    return var_PyObject9;
}

static
PyObject*
llvm_LibFunc__Func__cxa__atexit(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject10 = PyInt_FromLong(llvm::LibFunc::cxa_atexit);
    return var_PyObject10;
}

static
PyObject*
llvm_LibFunc__Func__cxa__guard__abort(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject11 = PyInt_FromLong(llvm::LibFunc::cxa_guard_abort);
    return var_PyObject11;
}

static
PyObject*
llvm_LibFunc__Func__cxa__guard__acquire(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject12 = PyInt_FromLong(llvm::LibFunc::cxa_guard_acquire);
    return var_PyObject12;
}

static
PyObject*
llvm_LibFunc__Func__cxa__guard__release(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject13 = PyInt_FromLong(llvm::LibFunc::cxa_guard_release);
    return var_PyObject13;
}

static
PyObject*
llvm_LibFunc__Func__memcpy__chk(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject14 = PyInt_FromLong(llvm::LibFunc::memcpy_chk);
    return var_PyObject14;
}

static
PyObject*
llvm_LibFunc__Func__acos(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject15 = PyInt_FromLong(llvm::LibFunc::acos);
    return var_PyObject15;
}

static
PyObject*
llvm_LibFunc__Func__acosf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject16 = PyInt_FromLong(llvm::LibFunc::acosf);
    return var_PyObject16;
}

static
PyObject*
llvm_LibFunc__Func__acosh(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject17 = PyInt_FromLong(llvm::LibFunc::acosh);
    return var_PyObject17;
}

static
PyObject*
llvm_LibFunc__Func__acoshf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject18 = PyInt_FromLong(llvm::LibFunc::acoshf);
    return var_PyObject18;
}

static
PyObject*
llvm_LibFunc__Func__acoshl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject19 = PyInt_FromLong(llvm::LibFunc::acoshl);
    return var_PyObject19;
}

static
PyObject*
llvm_LibFunc__Func__acosl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject20 = PyInt_FromLong(llvm::LibFunc::acosl);
    return var_PyObject20;
}

static
PyObject*
llvm_LibFunc__Func__asin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject21 = PyInt_FromLong(llvm::LibFunc::asin);
    return var_PyObject21;
}

static
PyObject*
llvm_LibFunc__Func__asinf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject22 = PyInt_FromLong(llvm::LibFunc::asinf);
    return var_PyObject22;
}

static
PyObject*
llvm_LibFunc__Func__asinh(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject23 = PyInt_FromLong(llvm::LibFunc::asinh);
    return var_PyObject23;
}

static
PyObject*
llvm_LibFunc__Func__asinhf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject24 = PyInt_FromLong(llvm::LibFunc::asinhf);
    return var_PyObject24;
}

static
PyObject*
llvm_LibFunc__Func__asinhl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject25 = PyInt_FromLong(llvm::LibFunc::asinhl);
    return var_PyObject25;
}

static
PyObject*
llvm_LibFunc__Func__asinl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject26 = PyInt_FromLong(llvm::LibFunc::asinl);
    return var_PyObject26;
}

static
PyObject*
llvm_LibFunc__Func__atan(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject27 = PyInt_FromLong(llvm::LibFunc::atan);
    return var_PyObject27;
}

static
PyObject*
llvm_LibFunc__Func__atan2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject28 = PyInt_FromLong(llvm::LibFunc::atan2);
    return var_PyObject28;
}

static
PyObject*
llvm_LibFunc__Func__atan2f(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject29 = PyInt_FromLong(llvm::LibFunc::atan2f);
    return var_PyObject29;
}

static
PyObject*
llvm_LibFunc__Func__atan2l(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject30 = PyInt_FromLong(llvm::LibFunc::atan2l);
    return var_PyObject30;
}

static
PyObject*
llvm_LibFunc__Func__atanf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject31 = PyInt_FromLong(llvm::LibFunc::atanf);
    return var_PyObject31;
}

static
PyObject*
llvm_LibFunc__Func__atanh(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject32 = PyInt_FromLong(llvm::LibFunc::atanh);
    return var_PyObject32;
}

static
PyObject*
llvm_LibFunc__Func__atanhf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject33 = PyInt_FromLong(llvm::LibFunc::atanhf);
    return var_PyObject33;
}

static
PyObject*
llvm_LibFunc__Func__atanhl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject34 = PyInt_FromLong(llvm::LibFunc::atanhl);
    return var_PyObject34;
}

static
PyObject*
llvm_LibFunc__Func__atanl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject35 = PyInt_FromLong(llvm::LibFunc::atanl);
    return var_PyObject35;
}

static
PyObject*
llvm_LibFunc__Func__calloc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject36 = PyInt_FromLong(llvm::LibFunc::calloc);
    return var_PyObject36;
}

static
PyObject*
llvm_LibFunc__Func__cbrt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject37 = PyInt_FromLong(llvm::LibFunc::cbrt);
    return var_PyObject37;
}

static
PyObject*
llvm_LibFunc__Func__cbrtf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject38 = PyInt_FromLong(llvm::LibFunc::cbrtf);
    return var_PyObject38;
}

static
PyObject*
llvm_LibFunc__Func__cbrtl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject39 = PyInt_FromLong(llvm::LibFunc::cbrtl);
    return var_PyObject39;
}

static
PyObject*
llvm_LibFunc__Func__ceil(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject40 = PyInt_FromLong(llvm::LibFunc::ceil);
    return var_PyObject40;
}

static
PyObject*
llvm_LibFunc__Func__ceilf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject41 = PyInt_FromLong(llvm::LibFunc::ceilf);
    return var_PyObject41;
}

static
PyObject*
llvm_LibFunc__Func__ceill(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject42 = PyInt_FromLong(llvm::LibFunc::ceill);
    return var_PyObject42;
}

static
PyObject*
llvm_LibFunc__Func__copysign(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject43 = PyInt_FromLong(llvm::LibFunc::copysign);
    return var_PyObject43;
}

static
PyObject*
llvm_LibFunc__Func__copysignf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject44 = PyInt_FromLong(llvm::LibFunc::copysignf);
    return var_PyObject44;
}

static
PyObject*
llvm_LibFunc__Func__copysignl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject45 = PyInt_FromLong(llvm::LibFunc::copysignl);
    return var_PyObject45;
}

static
PyObject*
llvm_LibFunc__Func__cos(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject46 = PyInt_FromLong(llvm::LibFunc::cos);
    return var_PyObject46;
}

static
PyObject*
llvm_LibFunc__Func__cosf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject47 = PyInt_FromLong(llvm::LibFunc::cosf);
    return var_PyObject47;
}

static
PyObject*
llvm_LibFunc__Func__cosh(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject48 = PyInt_FromLong(llvm::LibFunc::cosh);
    return var_PyObject48;
}

static
PyObject*
llvm_LibFunc__Func__coshf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject49 = PyInt_FromLong(llvm::LibFunc::coshf);
    return var_PyObject49;
}

static
PyObject*
llvm_LibFunc__Func__coshl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject50 = PyInt_FromLong(llvm::LibFunc::coshl);
    return var_PyObject50;
}

static
PyObject*
llvm_LibFunc__Func__cosl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject51 = PyInt_FromLong(llvm::LibFunc::cosl);
    return var_PyObject51;
}

static
PyObject*
llvm_LibFunc__Func__exp(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject52 = PyInt_FromLong(llvm::LibFunc::exp);
    return var_PyObject52;
}

static
PyObject*
llvm_LibFunc__Func__exp10(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject53 = PyInt_FromLong(llvm::LibFunc::exp10);
    return var_PyObject53;
}

static
PyObject*
llvm_LibFunc__Func__exp10f(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject54 = PyInt_FromLong(llvm::LibFunc::exp10f);
    return var_PyObject54;
}

static
PyObject*
llvm_LibFunc__Func__exp10l(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject55 = PyInt_FromLong(llvm::LibFunc::exp10l);
    return var_PyObject55;
}

static
PyObject*
llvm_LibFunc__Func__exp2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject56 = PyInt_FromLong(llvm::LibFunc::exp2);
    return var_PyObject56;
}

static
PyObject*
llvm_LibFunc__Func__exp2f(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject57 = PyInt_FromLong(llvm::LibFunc::exp2f);
    return var_PyObject57;
}

static
PyObject*
llvm_LibFunc__Func__exp2l(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject58 = PyInt_FromLong(llvm::LibFunc::exp2l);
    return var_PyObject58;
}

static
PyObject*
llvm_LibFunc__Func__expf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject59 = PyInt_FromLong(llvm::LibFunc::expf);
    return var_PyObject59;
}

static
PyObject*
llvm_LibFunc__Func__expl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject60 = PyInt_FromLong(llvm::LibFunc::expl);
    return var_PyObject60;
}

static
PyObject*
llvm_LibFunc__Func__expm1(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject61 = PyInt_FromLong(llvm::LibFunc::expm1);
    return var_PyObject61;
}

static
PyObject*
llvm_LibFunc__Func__expm1f(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject62 = PyInt_FromLong(llvm::LibFunc::expm1f);
    return var_PyObject62;
}

static
PyObject*
llvm_LibFunc__Func__expm1l(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject63 = PyInt_FromLong(llvm::LibFunc::expm1l);
    return var_PyObject63;
}

static
PyObject*
llvm_LibFunc__Func__fabs(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject64 = PyInt_FromLong(llvm::LibFunc::fabs);
    return var_PyObject64;
}

static
PyObject*
llvm_LibFunc__Func__fabsf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject65 = PyInt_FromLong(llvm::LibFunc::fabsf);
    return var_PyObject65;
}

static
PyObject*
llvm_LibFunc__Func__fabsl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject66 = PyInt_FromLong(llvm::LibFunc::fabsl);
    return var_PyObject66;
}

static
PyObject*
llvm_LibFunc__Func__fiprintf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject67 = PyInt_FromLong(llvm::LibFunc::fiprintf);
    return var_PyObject67;
}

static
PyObject*
llvm_LibFunc__Func__floor(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject68 = PyInt_FromLong(llvm::LibFunc::floor);
    return var_PyObject68;
}

static
PyObject*
llvm_LibFunc__Func__floorf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject69 = PyInt_FromLong(llvm::LibFunc::floorf);
    return var_PyObject69;
}

static
PyObject*
llvm_LibFunc__Func__floorl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject70 = PyInt_FromLong(llvm::LibFunc::floorl);
    return var_PyObject70;
}

static
PyObject*
llvm_LibFunc__Func__fmod(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject71 = PyInt_FromLong(llvm::LibFunc::fmod);
    return var_PyObject71;
}

static
PyObject*
llvm_LibFunc__Func__fmodf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject72 = PyInt_FromLong(llvm::LibFunc::fmodf);
    return var_PyObject72;
}

static
PyObject*
llvm_LibFunc__Func__fmodl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject73 = PyInt_FromLong(llvm::LibFunc::fmodl);
    return var_PyObject73;
}

static
PyObject*
llvm_LibFunc__Func__fputc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject74 = PyInt_FromLong(llvm::LibFunc::fputc);
    return var_PyObject74;
}

static
PyObject*
llvm_LibFunc__Func__fputs(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject75 = PyInt_FromLong(llvm::LibFunc::fputs);
    return var_PyObject75;
}

static
PyObject*
llvm_LibFunc__Func__free(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject76 = PyInt_FromLong(llvm::LibFunc::free);
    return var_PyObject76;
}

static
PyObject*
llvm_LibFunc__Func__fwrite(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject77 = PyInt_FromLong(llvm::LibFunc::fwrite);
    return var_PyObject77;
}

static
PyObject*
llvm_LibFunc__Func__iprintf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject78 = PyInt_FromLong(llvm::LibFunc::iprintf);
    return var_PyObject78;
}

static
PyObject*
llvm_LibFunc__Func__log(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject79 = PyInt_FromLong(llvm::LibFunc::log);
    return var_PyObject79;
}

static
PyObject*
llvm_LibFunc__Func__log10(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject80 = PyInt_FromLong(llvm::LibFunc::log10);
    return var_PyObject80;
}

static
PyObject*
llvm_LibFunc__Func__log10f(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject81 = PyInt_FromLong(llvm::LibFunc::log10f);
    return var_PyObject81;
}

static
PyObject*
llvm_LibFunc__Func__log10l(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject82 = PyInt_FromLong(llvm::LibFunc::log10l);
    return var_PyObject82;
}

static
PyObject*
llvm_LibFunc__Func__log1p(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject83 = PyInt_FromLong(llvm::LibFunc::log1p);
    return var_PyObject83;
}

static
PyObject*
llvm_LibFunc__Func__log1pf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject84 = PyInt_FromLong(llvm::LibFunc::log1pf);
    return var_PyObject84;
}

static
PyObject*
llvm_LibFunc__Func__log1pl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject85 = PyInt_FromLong(llvm::LibFunc::log1pl);
    return var_PyObject85;
}

static
PyObject*
llvm_LibFunc__Func__log2(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject86 = PyInt_FromLong(llvm::LibFunc::log2);
    return var_PyObject86;
}

static
PyObject*
llvm_LibFunc__Func__log2f(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject87 = PyInt_FromLong(llvm::LibFunc::log2f);
    return var_PyObject87;
}

static
PyObject*
llvm_LibFunc__Func__log2l(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject88 = PyInt_FromLong(llvm::LibFunc::log2l);
    return var_PyObject88;
}

static
PyObject*
llvm_LibFunc__Func__logb(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject89 = PyInt_FromLong(llvm::LibFunc::logb);
    return var_PyObject89;
}

static
PyObject*
llvm_LibFunc__Func__logbf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject90 = PyInt_FromLong(llvm::LibFunc::logbf);
    return var_PyObject90;
}

static
PyObject*
llvm_LibFunc__Func__logbl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject91 = PyInt_FromLong(llvm::LibFunc::logbl);
    return var_PyObject91;
}

static
PyObject*
llvm_LibFunc__Func__logf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject92 = PyInt_FromLong(llvm::LibFunc::logf);
    return var_PyObject92;
}

static
PyObject*
llvm_LibFunc__Func__logl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject93 = PyInt_FromLong(llvm::LibFunc::logl);
    return var_PyObject93;
}

static
PyObject*
llvm_LibFunc__Func__malloc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject94 = PyInt_FromLong(llvm::LibFunc::malloc);
    return var_PyObject94;
}

static
PyObject*
llvm_LibFunc__Func__memchr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject95 = PyInt_FromLong(llvm::LibFunc::memchr);
    return var_PyObject95;
}

static
PyObject*
llvm_LibFunc__Func__memcmp(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject96 = PyInt_FromLong(llvm::LibFunc::memcmp);
    return var_PyObject96;
}

static
PyObject*
llvm_LibFunc__Func__memcpy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject97 = PyInt_FromLong(llvm::LibFunc::memcpy);
    return var_PyObject97;
}

static
PyObject*
llvm_LibFunc__Func__memmove(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject98 = PyInt_FromLong(llvm::LibFunc::memmove);
    return var_PyObject98;
}

static
PyObject*
llvm_LibFunc__Func__memset(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject99 = PyInt_FromLong(llvm::LibFunc::memset);
    return var_PyObject99;
}

static
PyObject*
llvm_LibFunc__Func__memset__pattern16(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject100 = PyInt_FromLong(llvm::LibFunc::memset_pattern16);
    return var_PyObject100;
}

static
PyObject*
llvm_LibFunc__Func__nearbyint(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject101 = PyInt_FromLong(llvm::LibFunc::nearbyint);
    return var_PyObject101;
}

static
PyObject*
llvm_LibFunc__Func__nearbyintf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject102 = PyInt_FromLong(llvm::LibFunc::nearbyintf);
    return var_PyObject102;
}

static
PyObject*
llvm_LibFunc__Func__nearbyintl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject103 = PyInt_FromLong(llvm::LibFunc::nearbyintl);
    return var_PyObject103;
}

static
PyObject*
llvm_LibFunc__Func__posix__memalign(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject104 = PyInt_FromLong(llvm::LibFunc::posix_memalign);
    return var_PyObject104;
}

static
PyObject*
llvm_LibFunc__Func__pow(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject105 = PyInt_FromLong(llvm::LibFunc::pow);
    return var_PyObject105;
}

static
PyObject*
llvm_LibFunc__Func__powf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject106 = PyInt_FromLong(llvm::LibFunc::powf);
    return var_PyObject106;
}

static
PyObject*
llvm_LibFunc__Func__powl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject107 = PyInt_FromLong(llvm::LibFunc::powl);
    return var_PyObject107;
}

static
PyObject*
llvm_LibFunc__Func__putchar(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject108 = PyInt_FromLong(llvm::LibFunc::putchar);
    return var_PyObject108;
}

static
PyObject*
llvm_LibFunc__Func__puts(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject109 = PyInt_FromLong(llvm::LibFunc::puts);
    return var_PyObject109;
}

static
PyObject*
llvm_LibFunc__Func__realloc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject110 = PyInt_FromLong(llvm::LibFunc::realloc);
    return var_PyObject110;
}

static
PyObject*
llvm_LibFunc__Func__reallocf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject111 = PyInt_FromLong(llvm::LibFunc::reallocf);
    return var_PyObject111;
}

static
PyObject*
llvm_LibFunc__Func__rint(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject112 = PyInt_FromLong(llvm::LibFunc::rint);
    return var_PyObject112;
}

static
PyObject*
llvm_LibFunc__Func__rintf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject113 = PyInt_FromLong(llvm::LibFunc::rintf);
    return var_PyObject113;
}

static
PyObject*
llvm_LibFunc__Func__rintl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject114 = PyInt_FromLong(llvm::LibFunc::rintl);
    return var_PyObject114;
}

static
PyObject*
llvm_LibFunc__Func__round(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject115 = PyInt_FromLong(llvm::LibFunc::round);
    return var_PyObject115;
}

static
PyObject*
llvm_LibFunc__Func__roundf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject116 = PyInt_FromLong(llvm::LibFunc::roundf);
    return var_PyObject116;
}

static
PyObject*
llvm_LibFunc__Func__roundl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject117 = PyInt_FromLong(llvm::LibFunc::roundl);
    return var_PyObject117;
}

static
PyObject*
llvm_LibFunc__Func__sin(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject118 = PyInt_FromLong(llvm::LibFunc::sin);
    return var_PyObject118;
}

static
PyObject*
llvm_LibFunc__Func__sinf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject119 = PyInt_FromLong(llvm::LibFunc::sinf);
    return var_PyObject119;
}

static
PyObject*
llvm_LibFunc__Func__sinh(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject120 = PyInt_FromLong(llvm::LibFunc::sinh);
    return var_PyObject120;
}

static
PyObject*
llvm_LibFunc__Func__sinhf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject121 = PyInt_FromLong(llvm::LibFunc::sinhf);
    return var_PyObject121;
}

static
PyObject*
llvm_LibFunc__Func__sinhl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject122 = PyInt_FromLong(llvm::LibFunc::sinhl);
    return var_PyObject122;
}

static
PyObject*
llvm_LibFunc__Func__sinl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject123 = PyInt_FromLong(llvm::LibFunc::sinl);
    return var_PyObject123;
}

static
PyObject*
llvm_LibFunc__Func__siprintf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject124 = PyInt_FromLong(llvm::LibFunc::siprintf);
    return var_PyObject124;
}

static
PyObject*
llvm_LibFunc__Func__sqrt(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject125 = PyInt_FromLong(llvm::LibFunc::sqrt);
    return var_PyObject125;
}

static
PyObject*
llvm_LibFunc__Func__sqrtf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject126 = PyInt_FromLong(llvm::LibFunc::sqrtf);
    return var_PyObject126;
}

static
PyObject*
llvm_LibFunc__Func__sqrtl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject127 = PyInt_FromLong(llvm::LibFunc::sqrtl);
    return var_PyObject127;
}

static
PyObject*
llvm_LibFunc__Func__stpcpy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject128 = PyInt_FromLong(llvm::LibFunc::stpcpy);
    return var_PyObject128;
}

static
PyObject*
llvm_LibFunc__Func__strcat(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject129 = PyInt_FromLong(llvm::LibFunc::strcat);
    return var_PyObject129;
}

static
PyObject*
llvm_LibFunc__Func__strchr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject130 = PyInt_FromLong(llvm::LibFunc::strchr);
    return var_PyObject130;
}

static
PyObject*
llvm_LibFunc__Func__strcmp(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject131 = PyInt_FromLong(llvm::LibFunc::strcmp);
    return var_PyObject131;
}

static
PyObject*
llvm_LibFunc__Func__strcpy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject132 = PyInt_FromLong(llvm::LibFunc::strcpy);
    return var_PyObject132;
}

static
PyObject*
llvm_LibFunc__Func__strcspn(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject133 = PyInt_FromLong(llvm::LibFunc::strcspn);
    return var_PyObject133;
}

static
PyObject*
llvm_LibFunc__Func__strdup(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject134 = PyInt_FromLong(llvm::LibFunc::strdup);
    return var_PyObject134;
}

static
PyObject*
llvm_LibFunc__Func__strlen(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject135 = PyInt_FromLong(llvm::LibFunc::strlen);
    return var_PyObject135;
}

static
PyObject*
llvm_LibFunc__Func__strncat(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject136 = PyInt_FromLong(llvm::LibFunc::strncat);
    return var_PyObject136;
}

static
PyObject*
llvm_LibFunc__Func__strncmp(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject137 = PyInt_FromLong(llvm::LibFunc::strncmp);
    return var_PyObject137;
}

static
PyObject*
llvm_LibFunc__Func__strncpy(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject138 = PyInt_FromLong(llvm::LibFunc::strncpy);
    return var_PyObject138;
}

static
PyObject*
llvm_LibFunc__Func__strndup(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject139 = PyInt_FromLong(llvm::LibFunc::strndup);
    return var_PyObject139;
}

static
PyObject*
llvm_LibFunc__Func__strnlen(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject140 = PyInt_FromLong(llvm::LibFunc::strnlen);
    return var_PyObject140;
}

static
PyObject*
llvm_LibFunc__Func__strpbrk(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject141 = PyInt_FromLong(llvm::LibFunc::strpbrk);
    return var_PyObject141;
}

static
PyObject*
llvm_LibFunc__Func__strrchr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject142 = PyInt_FromLong(llvm::LibFunc::strrchr);
    return var_PyObject142;
}

static
PyObject*
llvm_LibFunc__Func__strspn(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject143 = PyInt_FromLong(llvm::LibFunc::strspn);
    return var_PyObject143;
}

static
PyObject*
llvm_LibFunc__Func__strstr(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject144 = PyInt_FromLong(llvm::LibFunc::strstr);
    return var_PyObject144;
}

static
PyObject*
llvm_LibFunc__Func__strtod(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject145 = PyInt_FromLong(llvm::LibFunc::strtod);
    return var_PyObject145;
}

static
PyObject*
llvm_LibFunc__Func__strtof(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject146 = PyInt_FromLong(llvm::LibFunc::strtof);
    return var_PyObject146;
}

static
PyObject*
llvm_LibFunc__Func__strtol(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject147 = PyInt_FromLong(llvm::LibFunc::strtol);
    return var_PyObject147;
}

static
PyObject*
llvm_LibFunc__Func__strtold(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject148 = PyInt_FromLong(llvm::LibFunc::strtold);
    return var_PyObject148;
}

static
PyObject*
llvm_LibFunc__Func__strtoll(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject149 = PyInt_FromLong(llvm::LibFunc::strtoll);
    return var_PyObject149;
}

static
PyObject*
llvm_LibFunc__Func__strtoul(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject150 = PyInt_FromLong(llvm::LibFunc::strtoul);
    return var_PyObject150;
}

static
PyObject*
llvm_LibFunc__Func__strtoull(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject151 = PyInt_FromLong(llvm::LibFunc::strtoull);
    return var_PyObject151;
}

static
PyObject*
llvm_LibFunc__Func__tan(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject152 = PyInt_FromLong(llvm::LibFunc::tan);
    return var_PyObject152;
}

static
PyObject*
llvm_LibFunc__Func__tanf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject153 = PyInt_FromLong(llvm::LibFunc::tanf);
    return var_PyObject153;
}

static
PyObject*
llvm_LibFunc__Func__tanh(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject154 = PyInt_FromLong(llvm::LibFunc::tanh);
    return var_PyObject154;
}

static
PyObject*
llvm_LibFunc__Func__tanhf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject155 = PyInt_FromLong(llvm::LibFunc::tanhf);
    return var_PyObject155;
}

static
PyObject*
llvm_LibFunc__Func__tanhl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject156 = PyInt_FromLong(llvm::LibFunc::tanhl);
    return var_PyObject156;
}

static
PyObject*
llvm_LibFunc__Func__tanl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject157 = PyInt_FromLong(llvm::LibFunc::tanl);
    return var_PyObject157;
}

static
PyObject*
llvm_LibFunc__Func__trunc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject158 = PyInt_FromLong(llvm::LibFunc::trunc);
    return var_PyObject158;
}

static
PyObject*
llvm_LibFunc__Func__truncf(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject159 = PyInt_FromLong(llvm::LibFunc::truncf);
    return var_PyObject159;
}

static
PyObject*
llvm_LibFunc__Func__truncl(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject160 = PyInt_FromLong(llvm::LibFunc::truncl);
    return var_PyObject160;
}

static
PyObject*
llvm_LibFunc__Func__valloc(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject161 = PyInt_FromLong(llvm::LibFunc::valloc);
    return var_PyObject161;
}

static
PyObject*
llvm_LibFunc__Func__NumLibFuncs(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject162 = PyInt_FromLong(llvm::LibFunc::NumLibFuncs);
    return var_PyObject162;
}

static
PyMethodDef meth_llvm_LibFunc[] = {
    { "ZdaPv", (PyCFunction)llvm_LibFunc__Func__ZdaPv, METH_VARARGS, NULL },
    { "ZdlPv", (PyCFunction)llvm_LibFunc__Func__ZdlPv, METH_VARARGS, NULL },
    { "Znaj", (PyCFunction)llvm_LibFunc__Func__Znaj, METH_VARARGS, NULL },
    { "ZnajRKSt9nothrow_t", (PyCFunction)llvm_LibFunc__Func__ZnajRKSt9nothrow__t, METH_VARARGS, NULL },
    { "Znam", (PyCFunction)llvm_LibFunc__Func__Znam, METH_VARARGS, NULL },
    { "ZnamRKSt9nothrow_t", (PyCFunction)llvm_LibFunc__Func__ZnamRKSt9nothrow__t, METH_VARARGS, NULL },
    { "Znwj", (PyCFunction)llvm_LibFunc__Func__Znwj, METH_VARARGS, NULL },
    { "ZnwjRKSt9nothrow_t", (PyCFunction)llvm_LibFunc__Func__ZnwjRKSt9nothrow__t, METH_VARARGS, NULL },
    { "Znwm", (PyCFunction)llvm_LibFunc__Func__Znwm, METH_VARARGS, NULL },
    { "ZnwmRKSt9nothrow_t", (PyCFunction)llvm_LibFunc__Func__ZnwmRKSt9nothrow__t, METH_VARARGS, NULL },
    { "cxa_atexit", (PyCFunction)llvm_LibFunc__Func__cxa__atexit, METH_VARARGS, NULL },
    { "cxa_guard_abort", (PyCFunction)llvm_LibFunc__Func__cxa__guard__abort, METH_VARARGS, NULL },
    { "cxa_guard_acquire", (PyCFunction)llvm_LibFunc__Func__cxa__guard__acquire, METH_VARARGS, NULL },
    { "cxa_guard_release", (PyCFunction)llvm_LibFunc__Func__cxa__guard__release, METH_VARARGS, NULL },
    { "memcpy_chk", (PyCFunction)llvm_LibFunc__Func__memcpy__chk, METH_VARARGS, NULL },
    { "acos", (PyCFunction)llvm_LibFunc__Func__acos, METH_VARARGS, NULL },
    { "acosf", (PyCFunction)llvm_LibFunc__Func__acosf, METH_VARARGS, NULL },
    { "acosh", (PyCFunction)llvm_LibFunc__Func__acosh, METH_VARARGS, NULL },
    { "acoshf", (PyCFunction)llvm_LibFunc__Func__acoshf, METH_VARARGS, NULL },
    { "acoshl", (PyCFunction)llvm_LibFunc__Func__acoshl, METH_VARARGS, NULL },
    { "acosl", (PyCFunction)llvm_LibFunc__Func__acosl, METH_VARARGS, NULL },
    { "asin", (PyCFunction)llvm_LibFunc__Func__asin, METH_VARARGS, NULL },
    { "asinf", (PyCFunction)llvm_LibFunc__Func__asinf, METH_VARARGS, NULL },
    { "asinh", (PyCFunction)llvm_LibFunc__Func__asinh, METH_VARARGS, NULL },
    { "asinhf", (PyCFunction)llvm_LibFunc__Func__asinhf, METH_VARARGS, NULL },
    { "asinhl", (PyCFunction)llvm_LibFunc__Func__asinhl, METH_VARARGS, NULL },
    { "asinl", (PyCFunction)llvm_LibFunc__Func__asinl, METH_VARARGS, NULL },
    { "atan", (PyCFunction)llvm_LibFunc__Func__atan, METH_VARARGS, NULL },
    { "atan2", (PyCFunction)llvm_LibFunc__Func__atan2, METH_VARARGS, NULL },
    { "atan2f", (PyCFunction)llvm_LibFunc__Func__atan2f, METH_VARARGS, NULL },
    { "atan2l", (PyCFunction)llvm_LibFunc__Func__atan2l, METH_VARARGS, NULL },
    { "atanf", (PyCFunction)llvm_LibFunc__Func__atanf, METH_VARARGS, NULL },
    { "atanh", (PyCFunction)llvm_LibFunc__Func__atanh, METH_VARARGS, NULL },
    { "atanhf", (PyCFunction)llvm_LibFunc__Func__atanhf, METH_VARARGS, NULL },
    { "atanhl", (PyCFunction)llvm_LibFunc__Func__atanhl, METH_VARARGS, NULL },
    { "atanl", (PyCFunction)llvm_LibFunc__Func__atanl, METH_VARARGS, NULL },
    { "calloc", (PyCFunction)llvm_LibFunc__Func__calloc, METH_VARARGS, NULL },
    { "cbrt", (PyCFunction)llvm_LibFunc__Func__cbrt, METH_VARARGS, NULL },
    { "cbrtf", (PyCFunction)llvm_LibFunc__Func__cbrtf, METH_VARARGS, NULL },
    { "cbrtl", (PyCFunction)llvm_LibFunc__Func__cbrtl, METH_VARARGS, NULL },
    { "ceil", (PyCFunction)llvm_LibFunc__Func__ceil, METH_VARARGS, NULL },
    { "ceilf", (PyCFunction)llvm_LibFunc__Func__ceilf, METH_VARARGS, NULL },
    { "ceill", (PyCFunction)llvm_LibFunc__Func__ceill, METH_VARARGS, NULL },
    { "copysign", (PyCFunction)llvm_LibFunc__Func__copysign, METH_VARARGS, NULL },
    { "copysignf", (PyCFunction)llvm_LibFunc__Func__copysignf, METH_VARARGS, NULL },
    { "copysignl", (PyCFunction)llvm_LibFunc__Func__copysignl, METH_VARARGS, NULL },
    { "cos", (PyCFunction)llvm_LibFunc__Func__cos, METH_VARARGS, NULL },
    { "cosf", (PyCFunction)llvm_LibFunc__Func__cosf, METH_VARARGS, NULL },
    { "cosh", (PyCFunction)llvm_LibFunc__Func__cosh, METH_VARARGS, NULL },
    { "coshf", (PyCFunction)llvm_LibFunc__Func__coshf, METH_VARARGS, NULL },
    { "coshl", (PyCFunction)llvm_LibFunc__Func__coshl, METH_VARARGS, NULL },
    { "cosl", (PyCFunction)llvm_LibFunc__Func__cosl, METH_VARARGS, NULL },
    { "exp", (PyCFunction)llvm_LibFunc__Func__exp, METH_VARARGS, NULL },
    { "exp10", (PyCFunction)llvm_LibFunc__Func__exp10, METH_VARARGS, NULL },
    { "exp10f", (PyCFunction)llvm_LibFunc__Func__exp10f, METH_VARARGS, NULL },
    { "exp10l", (PyCFunction)llvm_LibFunc__Func__exp10l, METH_VARARGS, NULL },
    { "exp2", (PyCFunction)llvm_LibFunc__Func__exp2, METH_VARARGS, NULL },
    { "exp2f", (PyCFunction)llvm_LibFunc__Func__exp2f, METH_VARARGS, NULL },
    { "exp2l", (PyCFunction)llvm_LibFunc__Func__exp2l, METH_VARARGS, NULL },
    { "expf", (PyCFunction)llvm_LibFunc__Func__expf, METH_VARARGS, NULL },
    { "expl", (PyCFunction)llvm_LibFunc__Func__expl, METH_VARARGS, NULL },
    { "expm1", (PyCFunction)llvm_LibFunc__Func__expm1, METH_VARARGS, NULL },
    { "expm1f", (PyCFunction)llvm_LibFunc__Func__expm1f, METH_VARARGS, NULL },
    { "expm1l", (PyCFunction)llvm_LibFunc__Func__expm1l, METH_VARARGS, NULL },
    { "fabs", (PyCFunction)llvm_LibFunc__Func__fabs, METH_VARARGS, NULL },
    { "fabsf", (PyCFunction)llvm_LibFunc__Func__fabsf, METH_VARARGS, NULL },
    { "fabsl", (PyCFunction)llvm_LibFunc__Func__fabsl, METH_VARARGS, NULL },
    { "fiprintf", (PyCFunction)llvm_LibFunc__Func__fiprintf, METH_VARARGS, NULL },
    { "floor", (PyCFunction)llvm_LibFunc__Func__floor, METH_VARARGS, NULL },
    { "floorf", (PyCFunction)llvm_LibFunc__Func__floorf, METH_VARARGS, NULL },
    { "floorl", (PyCFunction)llvm_LibFunc__Func__floorl, METH_VARARGS, NULL },
    { "fmod", (PyCFunction)llvm_LibFunc__Func__fmod, METH_VARARGS, NULL },
    { "fmodf", (PyCFunction)llvm_LibFunc__Func__fmodf, METH_VARARGS, NULL },
    { "fmodl", (PyCFunction)llvm_LibFunc__Func__fmodl, METH_VARARGS, NULL },
    { "fputc", (PyCFunction)llvm_LibFunc__Func__fputc, METH_VARARGS, NULL },
    { "fputs", (PyCFunction)llvm_LibFunc__Func__fputs, METH_VARARGS, NULL },
    { "free", (PyCFunction)llvm_LibFunc__Func__free, METH_VARARGS, NULL },
    { "fwrite", (PyCFunction)llvm_LibFunc__Func__fwrite, METH_VARARGS, NULL },
    { "iprintf", (PyCFunction)llvm_LibFunc__Func__iprintf, METH_VARARGS, NULL },
    { "log", (PyCFunction)llvm_LibFunc__Func__log, METH_VARARGS, NULL },
    { "log10", (PyCFunction)llvm_LibFunc__Func__log10, METH_VARARGS, NULL },
    { "log10f", (PyCFunction)llvm_LibFunc__Func__log10f, METH_VARARGS, NULL },
    { "log10l", (PyCFunction)llvm_LibFunc__Func__log10l, METH_VARARGS, NULL },
    { "log1p", (PyCFunction)llvm_LibFunc__Func__log1p, METH_VARARGS, NULL },
    { "log1pf", (PyCFunction)llvm_LibFunc__Func__log1pf, METH_VARARGS, NULL },
    { "log1pl", (PyCFunction)llvm_LibFunc__Func__log1pl, METH_VARARGS, NULL },
    { "log2", (PyCFunction)llvm_LibFunc__Func__log2, METH_VARARGS, NULL },
    { "log2f", (PyCFunction)llvm_LibFunc__Func__log2f, METH_VARARGS, NULL },
    { "log2l", (PyCFunction)llvm_LibFunc__Func__log2l, METH_VARARGS, NULL },
    { "logb", (PyCFunction)llvm_LibFunc__Func__logb, METH_VARARGS, NULL },
    { "logbf", (PyCFunction)llvm_LibFunc__Func__logbf, METH_VARARGS, NULL },
    { "logbl", (PyCFunction)llvm_LibFunc__Func__logbl, METH_VARARGS, NULL },
    { "logf", (PyCFunction)llvm_LibFunc__Func__logf, METH_VARARGS, NULL },
    { "logl", (PyCFunction)llvm_LibFunc__Func__logl, METH_VARARGS, NULL },
    { "malloc", (PyCFunction)llvm_LibFunc__Func__malloc, METH_VARARGS, NULL },
    { "memchr", (PyCFunction)llvm_LibFunc__Func__memchr, METH_VARARGS, NULL },
    { "memcmp", (PyCFunction)llvm_LibFunc__Func__memcmp, METH_VARARGS, NULL },
    { "memcpy", (PyCFunction)llvm_LibFunc__Func__memcpy, METH_VARARGS, NULL },
    { "memmove", (PyCFunction)llvm_LibFunc__Func__memmove, METH_VARARGS, NULL },
    { "memset", (PyCFunction)llvm_LibFunc__Func__memset, METH_VARARGS, NULL },
    { "memset_pattern16", (PyCFunction)llvm_LibFunc__Func__memset__pattern16, METH_VARARGS, NULL },
    { "nearbyint", (PyCFunction)llvm_LibFunc__Func__nearbyint, METH_VARARGS, NULL },
    { "nearbyintf", (PyCFunction)llvm_LibFunc__Func__nearbyintf, METH_VARARGS, NULL },
    { "nearbyintl", (PyCFunction)llvm_LibFunc__Func__nearbyintl, METH_VARARGS, NULL },
    { "posix_memalign", (PyCFunction)llvm_LibFunc__Func__posix__memalign, METH_VARARGS, NULL },
    { "pow", (PyCFunction)llvm_LibFunc__Func__pow, METH_VARARGS, NULL },
    { "powf", (PyCFunction)llvm_LibFunc__Func__powf, METH_VARARGS, NULL },
    { "powl", (PyCFunction)llvm_LibFunc__Func__powl, METH_VARARGS, NULL },
    { "putchar", (PyCFunction)llvm_LibFunc__Func__putchar, METH_VARARGS, NULL },
    { "puts", (PyCFunction)llvm_LibFunc__Func__puts, METH_VARARGS, NULL },
    { "realloc", (PyCFunction)llvm_LibFunc__Func__realloc, METH_VARARGS, NULL },
    { "reallocf", (PyCFunction)llvm_LibFunc__Func__reallocf, METH_VARARGS, NULL },
    { "rint", (PyCFunction)llvm_LibFunc__Func__rint, METH_VARARGS, NULL },
    { "rintf", (PyCFunction)llvm_LibFunc__Func__rintf, METH_VARARGS, NULL },
    { "rintl", (PyCFunction)llvm_LibFunc__Func__rintl, METH_VARARGS, NULL },
    { "round", (PyCFunction)llvm_LibFunc__Func__round, METH_VARARGS, NULL },
    { "roundf", (PyCFunction)llvm_LibFunc__Func__roundf, METH_VARARGS, NULL },
    { "roundl", (PyCFunction)llvm_LibFunc__Func__roundl, METH_VARARGS, NULL },
    { "sin", (PyCFunction)llvm_LibFunc__Func__sin, METH_VARARGS, NULL },
    { "sinf", (PyCFunction)llvm_LibFunc__Func__sinf, METH_VARARGS, NULL },
    { "sinh", (PyCFunction)llvm_LibFunc__Func__sinh, METH_VARARGS, NULL },
    { "sinhf", (PyCFunction)llvm_LibFunc__Func__sinhf, METH_VARARGS, NULL },
    { "sinhl", (PyCFunction)llvm_LibFunc__Func__sinhl, METH_VARARGS, NULL },
    { "sinl", (PyCFunction)llvm_LibFunc__Func__sinl, METH_VARARGS, NULL },
    { "siprintf", (PyCFunction)llvm_LibFunc__Func__siprintf, METH_VARARGS, NULL },
    { "sqrt", (PyCFunction)llvm_LibFunc__Func__sqrt, METH_VARARGS, NULL },
    { "sqrtf", (PyCFunction)llvm_LibFunc__Func__sqrtf, METH_VARARGS, NULL },
    { "sqrtl", (PyCFunction)llvm_LibFunc__Func__sqrtl, METH_VARARGS, NULL },
    { "stpcpy", (PyCFunction)llvm_LibFunc__Func__stpcpy, METH_VARARGS, NULL },
    { "strcat", (PyCFunction)llvm_LibFunc__Func__strcat, METH_VARARGS, NULL },
    { "strchr", (PyCFunction)llvm_LibFunc__Func__strchr, METH_VARARGS, NULL },
    { "strcmp", (PyCFunction)llvm_LibFunc__Func__strcmp, METH_VARARGS, NULL },
    { "strcpy", (PyCFunction)llvm_LibFunc__Func__strcpy, METH_VARARGS, NULL },
    { "strcspn", (PyCFunction)llvm_LibFunc__Func__strcspn, METH_VARARGS, NULL },
    { "strdup", (PyCFunction)llvm_LibFunc__Func__strdup, METH_VARARGS, NULL },
    { "strlen", (PyCFunction)llvm_LibFunc__Func__strlen, METH_VARARGS, NULL },
    { "strncat", (PyCFunction)llvm_LibFunc__Func__strncat, METH_VARARGS, NULL },
    { "strncmp", (PyCFunction)llvm_LibFunc__Func__strncmp, METH_VARARGS, NULL },
    { "strncpy", (PyCFunction)llvm_LibFunc__Func__strncpy, METH_VARARGS, NULL },
    { "strndup", (PyCFunction)llvm_LibFunc__Func__strndup, METH_VARARGS, NULL },
    { "strnlen", (PyCFunction)llvm_LibFunc__Func__strnlen, METH_VARARGS, NULL },
    { "strpbrk", (PyCFunction)llvm_LibFunc__Func__strpbrk, METH_VARARGS, NULL },
    { "strrchr", (PyCFunction)llvm_LibFunc__Func__strrchr, METH_VARARGS, NULL },
    { "strspn", (PyCFunction)llvm_LibFunc__Func__strspn, METH_VARARGS, NULL },
    { "strstr", (PyCFunction)llvm_LibFunc__Func__strstr, METH_VARARGS, NULL },
    { "strtod", (PyCFunction)llvm_LibFunc__Func__strtod, METH_VARARGS, NULL },
    { "strtof", (PyCFunction)llvm_LibFunc__Func__strtof, METH_VARARGS, NULL },
    { "strtol", (PyCFunction)llvm_LibFunc__Func__strtol, METH_VARARGS, NULL },
    { "strtold", (PyCFunction)llvm_LibFunc__Func__strtold, METH_VARARGS, NULL },
    { "strtoll", (PyCFunction)llvm_LibFunc__Func__strtoll, METH_VARARGS, NULL },
    { "strtoul", (PyCFunction)llvm_LibFunc__Func__strtoul, METH_VARARGS, NULL },
    { "strtoull", (PyCFunction)llvm_LibFunc__Func__strtoull, METH_VARARGS, NULL },
    { "tan", (PyCFunction)llvm_LibFunc__Func__tan, METH_VARARGS, NULL },
    { "tanf", (PyCFunction)llvm_LibFunc__Func__tanf, METH_VARARGS, NULL },
    { "tanh", (PyCFunction)llvm_LibFunc__Func__tanh, METH_VARARGS, NULL },
    { "tanhf", (PyCFunction)llvm_LibFunc__Func__tanhf, METH_VARARGS, NULL },
    { "tanhl", (PyCFunction)llvm_LibFunc__Func__tanhl, METH_VARARGS, NULL },
    { "tanl", (PyCFunction)llvm_LibFunc__Func__tanl, METH_VARARGS, NULL },
    { "trunc", (PyCFunction)llvm_LibFunc__Func__trunc, METH_VARARGS, NULL },
    { "truncf", (PyCFunction)llvm_LibFunc__Func__truncf, METH_VARARGS, NULL },
    { "truncl", (PyCFunction)llvm_LibFunc__Func__truncl, METH_VARARGS, NULL },
    { "valloc", (PyCFunction)llvm_LibFunc__Func__valloc, METH_VARARGS, NULL },
    { "NumLibFuncs", (PyCFunction)llvm_LibFunc__Func__NumLibFuncs, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_LibFunc[] = {
    { NULL }
};

static
PyObject*
llvm_CallingConv__ID__C(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::CallingConv::C);
    return var_PyObject;
}

static
PyObject*
llvm_CallingConv__ID__Fast(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::CallingConv::Fast);
    return var_PyObject1;
}

static
PyObject*
llvm_CallingConv__ID__Cold(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject2 = PyInt_FromLong(llvm::CallingConv::Cold);
    return var_PyObject2;
}

static
PyObject*
llvm_CallingConv__ID__GHC(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject3 = PyInt_FromLong(llvm::CallingConv::GHC);
    return var_PyObject3;
}

static
PyObject*
llvm_CallingConv__ID__FirstTargetCC(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject4 = PyInt_FromLong(llvm::CallingConv::FirstTargetCC);
    return var_PyObject4;
}

static
PyObject*
llvm_CallingConv__ID__X86__StdCall(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject5 = PyInt_FromLong(llvm::CallingConv::X86_StdCall);
    return var_PyObject5;
}

static
PyObject*
llvm_CallingConv__ID__X86__FastCall(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject6 = PyInt_FromLong(llvm::CallingConv::X86_FastCall);
    return var_PyObject6;
}

static
PyObject*
llvm_CallingConv__ID__ARM__APCS(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject7 = PyInt_FromLong(llvm::CallingConv::ARM_APCS);
    return var_PyObject7;
}

static
PyObject*
llvm_CallingConv__ID__ARM__AAPCS(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject8 = PyInt_FromLong(llvm::CallingConv::ARM_AAPCS);
    return var_PyObject8;
}

static
PyObject*
llvm_CallingConv__ID__ARM__AAPCS__VFP(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject9 = PyInt_FromLong(llvm::CallingConv::ARM_AAPCS_VFP);
    return var_PyObject9;
}

static
PyObject*
llvm_CallingConv__ID__MSP430__INTR(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject10 = PyInt_FromLong(llvm::CallingConv::MSP430_INTR);
    return var_PyObject10;
}

static
PyObject*
llvm_CallingConv__ID__X86__ThisCall(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject11 = PyInt_FromLong(llvm::CallingConv::X86_ThisCall);
    return var_PyObject11;
}

static
PyObject*
llvm_CallingConv__ID__PTX__Kernel(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject12 = PyInt_FromLong(llvm::CallingConv::PTX_Kernel);
    return var_PyObject12;
}

static
PyObject*
llvm_CallingConv__ID__PTX__Device(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject13 = PyInt_FromLong(llvm::CallingConv::PTX_Device);
    return var_PyObject13;
}

static
PyObject*
llvm_CallingConv__ID__MBLAZE__INTR(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject14 = PyInt_FromLong(llvm::CallingConv::MBLAZE_INTR);
    return var_PyObject14;
}

static
PyObject*
llvm_CallingConv__ID__MBLAZE__SVOL(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject15 = PyInt_FromLong(llvm::CallingConv::MBLAZE_SVOL);
    return var_PyObject15;
}

static
PyObject*
llvm_CallingConv__ID__SPIR__FUNC(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject16 = PyInt_FromLong(llvm::CallingConv::SPIR_FUNC);
    return var_PyObject16;
}

static
PyObject*
llvm_CallingConv__ID__SPIR__KERNEL(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject17 = PyInt_FromLong(llvm::CallingConv::SPIR_KERNEL);
    return var_PyObject17;
}

static
PyObject*
llvm_CallingConv__ID__Intel__OCL__BI(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject18 = PyInt_FromLong(llvm::CallingConv::Intel_OCL_BI);
    return var_PyObject18;
}

static
PyMethodDef meth_llvm_CallingConv[] = {
    { "C", (PyCFunction)llvm_CallingConv__ID__C, METH_VARARGS, NULL },
    { "Fast", (PyCFunction)llvm_CallingConv__ID__Fast, METH_VARARGS, NULL },
    { "Cold", (PyCFunction)llvm_CallingConv__ID__Cold, METH_VARARGS, NULL },
    { "GHC", (PyCFunction)llvm_CallingConv__ID__GHC, METH_VARARGS, NULL },
    { "FirstTargetCC", (PyCFunction)llvm_CallingConv__ID__FirstTargetCC, METH_VARARGS, NULL },
    { "X86_StdCall", (PyCFunction)llvm_CallingConv__ID__X86__StdCall, METH_VARARGS, NULL },
    { "X86_FastCall", (PyCFunction)llvm_CallingConv__ID__X86__FastCall, METH_VARARGS, NULL },
    { "ARM_APCS", (PyCFunction)llvm_CallingConv__ID__ARM__APCS, METH_VARARGS, NULL },
    { "ARM_AAPCS", (PyCFunction)llvm_CallingConv__ID__ARM__AAPCS, METH_VARARGS, NULL },
    { "ARM_AAPCS_VFP", (PyCFunction)llvm_CallingConv__ID__ARM__AAPCS__VFP, METH_VARARGS, NULL },
    { "MSP430_INTR", (PyCFunction)llvm_CallingConv__ID__MSP430__INTR, METH_VARARGS, NULL },
    { "X86_ThisCall", (PyCFunction)llvm_CallingConv__ID__X86__ThisCall, METH_VARARGS, NULL },
    { "PTX_Kernel", (PyCFunction)llvm_CallingConv__ID__PTX__Kernel, METH_VARARGS, NULL },
    { "PTX_Device", (PyCFunction)llvm_CallingConv__ID__PTX__Device, METH_VARARGS, NULL },
    { "MBLAZE_INTR", (PyCFunction)llvm_CallingConv__ID__MBLAZE__INTR, METH_VARARGS, NULL },
    { "MBLAZE_SVOL", (PyCFunction)llvm_CallingConv__ID__MBLAZE__SVOL, METH_VARARGS, NULL },
    { "SPIR_FUNC", (PyCFunction)llvm_CallingConv__ID__SPIR__FUNC, METH_VARARGS, NULL },
    { "SPIR_KERNEL", (PyCFunction)llvm_CallingConv__ID__SPIR__KERNEL, METH_VARARGS, NULL },
    { "Intel_OCL_BI", (PyCFunction)llvm_CallingConv__ID__Intel__OCL__BI, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_CallingConv[] = {
    { NULL }
};

static
PyObject*
llvm_EngineKind__Kind__JIT(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject = PyInt_FromLong(llvm::EngineKind::JIT);
    return var_PyObject;
}

static
PyObject*
llvm_EngineKind__Kind__Interpreter(PyObject* self, PyObject* args)
{
    PyObject* var_PyObject1 = PyInt_FromLong(llvm::EngineKind::Interpreter);
    return var_PyObject1;
}

static
PyMethodDef meth_llvm_EngineKind[] = {
    { "JIT", (PyCFunction)llvm_EngineKind__Kind__JIT, METH_VARARGS, NULL },
    { "Interpreter", (PyCFunction)llvm_EngineKind__Kind__Interpreter, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_EngineKind[] = {
    { NULL }
};

static
PyObject*
llvm_Intrinsic__getDeclaration(PyObject* self, PyObject* args)
{
    Py_ssize_t var_Py__ssize__t = PyTuple_Size(args);
    if (3 == var_Py__ssize__t)
    {
        PyObject* var_PyObject;
        PyObject* var_PyObject1;
        PyObject* var_PyObject2;
        if(!PyArg_ParseTuple(args, "OOO", &var_PyObject, &var_PyObject1, &var_PyObject2))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module = NULL;
        if (var_PyObject != Py_None)
        {
            void* var_void = PyCapsule_GetPointer(var_PyObject, "llvm::Module");
            if(!var_void)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module1 = unwrap_as<llvm::Module, llvm::Module >::from(var_void);
            if(!var_llvm_Module1)
            {
                return NULL;
            }
            var_llvm_Module = var_llvm_Module1;
        }
        unsigned var_unsigned;
        int var_int = py_int_to(var_PyObject1, var_unsigned);
        if(!var_int)
        {
            return NULL;
        }
        PyObject* var_PyObject3 = Intrinsic_getDeclaration(var_llvm_Module, var_unsigned, var_PyObject2);
        return var_PyObject3;
    }
    if (2 == var_Py__ssize__t)
    {
        PyObject* var_PyObject4;
        PyObject* var_PyObject5;
        if(!PyArg_ParseTuple(args, "OO", &var_PyObject4, &var_PyObject5))
        {
            return NULL;
        }
        llvm::Module* var_llvm_Module2 = NULL;
        if (var_PyObject4 != Py_None)
        {
            void* var_void1 = PyCapsule_GetPointer(var_PyObject4, "llvm::Module");
            if(!var_void1)
            {
                puts("Error: llvm::Module");
                return NULL;
            }
            llvm::Module* var_llvm_Module3 = unwrap_as<llvm::Module, llvm::Module >::from(var_void1);
            if(!var_llvm_Module3)
            {
                return NULL;
            }
            var_llvm_Module2 = var_llvm_Module3;
        }
        unsigned var_unsigned1;
        int var_int1 = py_int_to(var_PyObject5, var_unsigned1);
        if(!var_int1)
        {
            return NULL;
        }
        PyObject* var_PyObject6 = Intrinsic_getDeclaration(var_llvm_Module2, var_unsigned1);
        return var_PyObject6;
    }
    PyErr_SetString(PyExc_TypeError, "Invalid number of args");
    return NULL;
}

static
PyMethodDef meth_llvm_Intrinsic[] = {
    { "getDeclaration", (PyCFunction)llvm_Intrinsic__getDeclaration, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm_Intrinsic[] = {
    { NULL }
};

static
PyMethodDef meth_llvm[] = {
    { "getGlobalContext", (PyCFunction)llvm__getGlobalContext, METH_VARARGS, NULL },
    { "InitializeNativeTarget", (PyCFunction)llvm__InitializeNativeTarget, METH_VARARGS, NULL },
    { "InitializeNativeTargetAsmPrinter", (PyCFunction)llvm__InitializeNativeTargetAsmPrinter, METH_VARARGS, NULL },
    { "InitializeNativeTargetAsmParser", (PyCFunction)llvm__InitializeNativeTargetAsmParser, METH_VARARGS, NULL },
    { "InitializeNativeTargetDisassembler", (PyCFunction)llvm__InitializeNativeTargetDisassembler, METH_VARARGS, NULL },
    { "InitializeAllTargets", (PyCFunction)llvm__InitializeAllTargets, METH_VARARGS, NULL },
    { "InitializeAllTargetInfos", (PyCFunction)llvm__InitializeAllTargetInfos, METH_VARARGS, NULL },
    { "InitializeAllTargetMCs", (PyCFunction)llvm__InitializeAllTargetMCs, METH_VARARGS, NULL },
    { "InitializeAllAsmPrinters", (PyCFunction)llvm__InitializeAllAsmPrinters, METH_VARARGS, NULL },
    { "InitializeAllDisassemblers", (PyCFunction)llvm__InitializeAllDisassemblers, METH_VARARGS, NULL },
    { "InitializeAllAsmParsers", (PyCFunction)llvm__InitializeAllAsmParsers, METH_VARARGS, NULL },
    { "ParseAssemblyString", (PyCFunction)llvm__ParseAssemblyString, METH_VARARGS, NULL },
    { "verifyModule", (PyCFunction)llvm__verifyModule, METH_VARARGS, NULL },
    { "verifyFunction", (PyCFunction)llvm__verifyFunction, METH_VARARGS, NULL },
    { "ParseBitCodeFile", (PyCFunction)llvm__ParseBitCodeFile, METH_VARARGS, NULL },
    { "WriteBitcodeToFile", (PyCFunction)llvm__WriteBitcodeToFile, METH_VARARGS, NULL },
    { "getBitcodeTargetTriple", (PyCFunction)llvm__getBitcodeTargetTriple, METH_VARARGS, NULL },
    { "initializeCore", (PyCFunction)llvm__initializeCore, METH_VARARGS, NULL },
    { "initializeScalarOpts", (PyCFunction)llvm__initializeScalarOpts, METH_VARARGS, NULL },
    { "initializeVectorization", (PyCFunction)llvm__initializeVectorization, METH_VARARGS, NULL },
    { "initializeIPO", (PyCFunction)llvm__initializeIPO, METH_VARARGS, NULL },
    { "initializeAnalysis", (PyCFunction)llvm__initializeAnalysis, METH_VARARGS, NULL },
    { "initializeIPA", (PyCFunction)llvm__initializeIPA, METH_VARARGS, NULL },
    { "initializeTransformUtils", (PyCFunction)llvm__initializeTransformUtils, METH_VARARGS, NULL },
    { "initializeInstCombine", (PyCFunction)llvm__initializeInstCombine, METH_VARARGS, NULL },
    { "initializeInstrumentation", (PyCFunction)llvm__initializeInstrumentation, METH_VARARGS, NULL },
    { "initializeTarget", (PyCFunction)llvm__initializeTarget, METH_VARARGS, NULL },
    { "createFunctionInliningPass", (PyCFunction)llvm__createFunctionInliningPass, METH_VARARGS, NULL },
    { "SplitBlockAndInsertIfThen", (PyCFunction)llvm__SplitBlockAndInsertIfThen, METH_VARARGS, NULL },
    { "ReplaceInstWithInst", (PyCFunction)llvm__ReplaceInstWithInst, METH_VARARGS, NULL },
    { "CloneModule", (PyCFunction)llvm__CloneModule, METH_VARARGS, NULL },
    { "InlineFunction", (PyCFunction)llvm__InlineFunction, METH_VARARGS, NULL },
    { "NotAtomic", (PyCFunction)llvm__AtomicOrdering__NotAtomic, METH_VARARGS, NULL },
    { "Unordered", (PyCFunction)llvm__AtomicOrdering__Unordered, METH_VARARGS, NULL },
    { "Monotonic", (PyCFunction)llvm__AtomicOrdering__Monotonic, METH_VARARGS, NULL },
    { "Acquire", (PyCFunction)llvm__AtomicOrdering__Acquire, METH_VARARGS, NULL },
    { "Release", (PyCFunction)llvm__AtomicOrdering__Release, METH_VARARGS, NULL },
    { "AcquireRelease", (PyCFunction)llvm__AtomicOrdering__AcquireRelease, METH_VARARGS, NULL },
    { "SequentiallyConsistent", (PyCFunction)llvm__AtomicOrdering__SequentiallyConsistent, METH_VARARGS, NULL },
    { "SingleThread", (PyCFunction)llvm__SynchronizationScope__SingleThread, METH_VARARGS, NULL },
    { "CrossThread", (PyCFunction)llvm__SynchronizationScope__CrossThread, METH_VARARGS, NULL },
    { "AbortProcessAction", (PyCFunction)llvm__VerifierFailureAction__AbortProcessAction, METH_VARARGS, NULL },
    { "PrintMessageAction", (PyCFunction)llvm__VerifierFailureAction__PrintMessageAction, METH_VARARGS, NULL },
    { "ReturnStatusAction", (PyCFunction)llvm__VerifierFailureAction__ReturnStatusAction, METH_VARARGS, NULL },
    { NULL },
};

static
SubModuleEntry submodule_llvm[] = {
    { "SmallVector_Type", meth_llvm_SmallVectorllvm_Type_8, NULL },
    { "SmallVector_Value", meth_llvm_SmallVectorllvm_Value_8, NULL },
    { "SmallVector_Unsigned", meth_llvm_SmallVectorunsigned_8, NULL },
    { "StringRef", meth_llvm_StringRef, NULL },
    { "Triple", meth_llvm_Triple, NULL },
    { "Module", meth_llvm_Module, NULL },
    { "LLVMContext", meth_llvm_LLVMContext, NULL },
    { "Value", meth_llvm_Value, NULL },
    { "Argument", meth_llvm_Argument, NULL },
    { "MDNode", meth_llvm_MDNode, NULL },
    { "MDString", meth_llvm_MDString, NULL },
    { "User", meth_llvm_User, NULL },
    { "BasicBlock", meth_llvm_BasicBlock, NULL },
    { "ValueSymbolTable", meth_llvm_ValueSymbolTable, NULL },
    { "Constant", meth_llvm_Constant, NULL },
    { "GlobalValue", meth_llvm_GlobalValue, NULL },
    { "Function", meth_llvm_Function, NULL },
    { "UndefValue", meth_llvm_UndefValue, NULL },
    { "ConstantInt", meth_llvm_ConstantInt, NULL },
    { "ConstantFP", meth_llvm_ConstantFP, NULL },
    { "ConstantArray", meth_llvm_ConstantArray, NULL },
    { "ConstantStruct", meth_llvm_ConstantStruct, NULL },
    { "ConstantVector", meth_llvm_ConstantVector, NULL },
    { "ConstantDataSequential", meth_llvm_ConstantDataSequential, NULL },
    { "ConstantDataArray", meth_llvm_ConstantDataArray, NULL },
    { "ConstantExpr", meth_llvm_ConstantExpr, NULL },
    { "raw_ostream", meth_llvm_raw__ostream, NULL },
    { "raw_svector_ostream", meth_llvm_raw__svector__ostream, NULL },
    { "formatted_raw_ostream", meth_llvm_formatted__raw__ostream, NULL },
    { "SMDiagnostic", meth_llvm_SMDiagnostic, NULL },
    { "Target", meth_llvm_Target, NULL },
    { "TargetRegistry", meth_llvm_TargetRegistry, NULL },
    { "Pass", meth_llvm_Pass, NULL },
    { "ModulePass", meth_llvm_ModulePass, NULL },
    { "FunctionPass", meth_llvm_FunctionPass, NULL },
    { "ImmutablePass", meth_llvm_ImmutablePass, NULL },
    { "TargetLibraryInfo", meth_llvm_TargetLibraryInfo, NULL },
    { "TargetMachine", meth_llvm_TargetMachine, NULL },
    { "DataLayout", meth_llvm_DataLayout, NULL },
    { "StructLayout", meth_llvm_StructLayout, NULL },
    { "Type", meth_llvm_Type, NULL },
    { "IntegerType", meth_llvm_IntegerType, NULL },
    { "CompositeType", meth_llvm_CompositeType, NULL },
    { "StructType", meth_llvm_StructType, NULL },
    { "SequentialType", meth_llvm_SequentialType, NULL },
    { "ArrayType", meth_llvm_ArrayType, NULL },
    { "PointerType", meth_llvm_PointerType, NULL },
    { "VectorType", meth_llvm_VectorType, NULL },
    { "GlobalVariable", meth_llvm_GlobalVariable, NULL },
    { "PassManagerBase", meth_llvm_PassManagerBase, NULL },
    { "PassManager", meth_llvm_PassManager, NULL },
    { "FunctionPassManager", meth_llvm_FunctionPassManager, NULL },
    { "TargetOptions", meth_llvm_TargetOptions, NULL },
    { "AssemblyAnnotationWriter", meth_llvm_AssemblyAnnotationWriter, NULL },
    { "Instruction", meth_llvm_Instruction, NULL },
    { "AtomicCmpXchgInst", meth_llvm_AtomicCmpXchgInst, NULL },
    { "AtomicRMWInst", meth_llvm_AtomicRMWInst, NULL },
    { "BinaryOperator", meth_llvm_BinaryOperator, NULL },
    { "CallInst", meth_llvm_CallInst, NULL },
    { "CmpInst", meth_llvm_CmpInst, NULL },
    { "ExtractElementInst", meth_llvm_ExtractElementInst, NULL },
    { "FenceInst", meth_llvm_FenceInst, NULL },
    { "GetElementPtrInst", meth_llvm_GetElementPtrInst, NULL },
    { "InsertElementInst", meth_llvm_InsertElementInst, NULL },
    { "InsertValueInst", meth_llvm_InsertValueInst, NULL },
    { "LandingPadInst", meth_llvm_LandingPadInst, NULL },
    { "PHINode", meth_llvm_PHINode, NULL },
    { "SelectInst", meth_llvm_SelectInst, NULL },
    { "ShuffleVectorInst", meth_llvm_ShuffleVectorInst, NULL },
    { "StoreInst", meth_llvm_StoreInst, NULL },
    { "TerminatorInst", meth_llvm_TerminatorInst, NULL },
    { "UnaryInstruction", meth_llvm_UnaryInstruction, NULL },
    { "IntrinsicInst", meth_llvm_IntrinsicInst, NULL },
    { "FCmpInst", meth_llvm_FCmpInst, NULL },
    { "ICmpInst", meth_llvm_ICmpInst, NULL },
    { "BranchInst", meth_llvm_BranchInst, NULL },
    { "IndirectBrInst", meth_llvm_IndirectBrInst, NULL },
    { "InvokeInst", meth_llvm_InvokeInst, NULL },
    { "ResumeInst", meth_llvm_ResumeInst, NULL },
    { "ReturnInst", meth_llvm_ReturnInst, NULL },
    { "SwitchInst", meth_llvm_SwitchInst, NULL },
    { "UnreachableInst", meth_llvm_UnreachableInst, NULL },
    { "AllocaInst", meth_llvm_AllocaInst, NULL },
    { "CastInst", meth_llvm_CastInst, NULL },
    { "ExtractValueInst", meth_llvm_ExtractValueInst, NULL },
    { "LoadInst", meth_llvm_LoadInst, NULL },
    { "VAArgInst", meth_llvm_VAArgInst, NULL },
    { "DbgInfoIntrinsic", meth_llvm_DbgInfoIntrinsic, NULL },
    { "MemIntrinsic", meth_llvm_MemIntrinsic, NULL },
    { "VACopyInst", meth_llvm_VACopyInst, NULL },
    { "VAEndInst", meth_llvm_VAEndInst, NULL },
    { "VAStartInst", meth_llvm_VAStartInst, NULL },
    { "BitCastInst", meth_llvm_BitCastInst, NULL },
    { "FPExtInst", meth_llvm_FPExtInst, NULL },
    { "FPToSIInst", meth_llvm_FPToSIInst, NULL },
    { "FPToUIInst", meth_llvm_FPToUIInst, NULL },
    { "FPTruncInst", meth_llvm_FPTruncInst, NULL },
    { "AttrBuilder", meth_llvm_AttrBuilder, NULL },
    { "Attribute", meth_llvm_Attribute, NULL },
    { "AttributeSet", meth_llvm_AttributeSet, NULL },
    { "FunctionType", meth_llvm_FunctionType, NULL },
    { "NamedMDNode", meth_llvm_NamedMDNode, NULL },
    { "MachineCodeInfo", meth_llvm_MachineCodeInfo, NULL },
    { "DIBuilder", meth_llvm_DIBuilder, NULL },
    { "DIDescriptor", meth_llvm_DIDescriptor, NULL },
    { "DIEnumerator", meth_llvm_DIEnumerator, NULL },
    { "DIScope", meth_llvm_DIScope, NULL },
    { "DIType", meth_llvm_DIType, NULL },
    { "DIBasicType", meth_llvm_DIBasicType, NULL },
    { "DIDerivedType", meth_llvm_DIDerivedType, NULL },
    { "DICompositeType", meth_llvm_DICompositeType, NULL },
    { "DIFile", meth_llvm_DIFile, NULL },
    { "DIArray", meth_llvm_DIArray, NULL },
    { "DISubrange", meth_llvm_DISubrange, NULL },
    { "DIGlobalVariable", meth_llvm_DIGlobalVariable, NULL },
    { "DIVariable", meth_llvm_DIVariable, NULL },
    { "DISubprogram", meth_llvm_DISubprogram, NULL },
    { "DINameSpace", meth_llvm_DINameSpace, NULL },
    { "DILexicalBlockFile", meth_llvm_DILexicalBlockFile, NULL },
    { "DILexicalBlock", meth_llvm_DILexicalBlock, NULL },
    { "JITMemoryManager", meth_llvm_JITMemoryManager, NULL },
    { "GenericValue", meth_llvm_GenericValue, NULL },
    { "ExecutionEngine", meth_llvm_ExecutionEngine, NULL },
    { "EngineBuilder", meth_llvm_EngineBuilder, NULL },
    { "IRBuilder", meth_llvm_IRBuilder, NULL },
    { "InlineAsm", meth_llvm_InlineAsm, NULL },
    { "Linker", meth_llvm_Linker, NULL },
    { "PassRegistry", meth_llvm_PassRegistry, NULL },
    { "PassInfo", meth_llvm_PassInfo, NULL },
    { "TargetTransformInfo", meth_llvm_TargetTransformInfo, NULL },
    { "ScalarTargetTransformInfo", meth_llvm_ScalarTargetTransformInfo, NULL },
    { "VectorTargetTransformInfo", meth_llvm_VectorTargetTransformInfo, NULL },
    { "PassManagerBuilder", meth_llvm_PassManagerBuilder, NULL },
    { "InlineFunctionInfo", meth_llvm_InlineFunctionInfo, NULL },
    { "sys", meth_llvm_sys, submodule_llvm_sys },
    { "cl", meth_llvm_cl, submodule_llvm_cl },
    { "Reloc", meth_llvm_Reloc, submodule_llvm_Reloc },
    { "CodeModel", meth_llvm_CodeModel, submodule_llvm_CodeModel },
    { "TLSModel", meth_llvm_TLSModel, submodule_llvm_TLSModel },
    { "CodeGenOpt", meth_llvm_CodeGenOpt, submodule_llvm_CodeGenOpt },
    { "dwarf", meth_llvm_dwarf, submodule_llvm_dwarf },
    { "LibFunc", meth_llvm_LibFunc, submodule_llvm_LibFunc },
    { "CallingConv", meth_llvm_CallingConv, submodule_llvm_CallingConv },
    { "EngineKind", meth_llvm_EngineKind, submodule_llvm_EngineKind },
    { "Intrinsic", meth_llvm_Intrinsic, submodule_llvm_Intrinsic },
    { NULL }
};

static
PyMethodDef meth_[] = {
    { NULL },
};

static
SubModuleEntry submodule_[] = {
    { "llvm", meth_llvm, submodule_llvm },
    { "extra", extra_methodtable, NULL },
    { "downcast", downcast_methodtable, NULL },
    { NULL }
};



extern "C" {

#if (PY_MAJOR_VERSION >= 3)

PyMODINIT_FUNC
PyInit__api(void)
{
PyObject *module = create_python_module("_api", meth_);
if (module) {
if (populate_submodules(module, submodule_))
return module;
}
return NULL;
}

#else

PyMODINIT_FUNC
init_api(void)
{
PyObject *module = create_python_module("_api", meth_);
if (module) {
populate_submodules(module, submodule_);
}
}
#endif

} // end extern C


