[Mesa-dev] [PATCH] radeon/llvm: Use LLVM C API for compiling LLVM IR to ISA.

Tom Stellard tom at stellard.net
Tue Apr 30 16:56:56 PDT 2013


On Sat, Apr 27, 2013 at 10:33:29AM +0200, Mathias Fröhlich wrote:
> 
> Hi,
> 
> On Thursday, April 25, 2013 10:29:27 Jose Fonseca wrote:
> > - There are a bunch of options that need to be set via globals, (see
> > lp_set_target_options), so app/drivers could tamper with each other
> > options.
> >
> > - llvm::cl::ParseCommandLineOptions will complain if called multiple times
> > -- I think we no longer need to call it these days though
> >
> > In short, LLVM was not designed for multiple users in the same process.
> Yep.
> 
> Also llvm is still emerging too fast to assume a specific version to be 
> available. At least with r600 we do currently need a somewhat recent version 
> and kind of have this assumption.
> But due to the api not kept strictly backwards compatible and all the pitfalls 
> that happen while emerging fast its very likely that a potential application 
> that also tries to make use of the driver modules just brings its own probably 
> incompatible llvm version in some way. So shielding this in any way makes 
> sense ...
> 
> 
> For the Mesa wrappers:
> I have attached a shell script again as a rapid proof that is able to build a 
> linker script that builds up a wrapper shared library that contains a private 
> llvm copy. That's again non optimal - it contains just all static libs that I 
> have in my current test environment... It's just to sketch how this could 
> work.
> 
> The MesaLLVM-with-prefix.link script can by used with the command
> 
> g++ -shared -o libMesaLLVM.so MesaLLVM-with-prefix.link
> 
> to produce a libMesaLLVM.so that contains all C symbols starting with LLVM 
> from libLLVMCore.a. All of them get prefixed with Mesa and are the only 
> exported symbols then.
> That's close to Joses suggestion but with less work to be done in sources.
> 
> The MesaLLVM-with-version.link script can by used with the command
> 
> g++ -shared -o libMesaLLVM.so MesaLLVM-with-version.link
> 
> to produce a libMesaLLVM.so shared library that uses symbol versioning to 
> distinguish between the llvm versions. I got this idea yesterday and this 
> might simplify the problem a lot.
> By this variant we do not even need to prefix all the callers by Mesa. What 
> this does is to explicitly assign a symbol version to all these calls. At 
> static link symbol resolve time with this libMesaLLVM.so, this symbol version  
> (the 'A MesaLLVM_1.0' entry) is then pulled out of this shared object and all 
> users, in libllvmradeon.so for example, are linked against 
> LLVMCreateContext at MesaLLVM_1,0 instead of just LLVMCreateContext. So we should 
> get a private copy of llvm in libMesaLLVM.so with just the same call names 
> than usual source code wise.
> That's to be tested and verified, but if this works like I think it should, 
> this is the easiest way to get our own LLVM version on linux at least.
> 
> And sorry for just doing these crude proof of concept stuff ...
> 

Hi Mathias,

I took the linker script from your email and took at shot at creating
libMesaLLVM.so within Mesa.  I've pushed my initial code here:
http://cgit.freedesktop.org/~tstellar/mesa/log/?h=libmesallvm

I ran into a few minor issues:

I had to export all the LLVM symbols in libMesaLLVM.so, because gallivm
still uses some C++ functions, and I was unsure how to handle the name
mangling in the linker script.

Clover still has a number of undefined symbols.  I'm still not quite
sure what the problem is, but I think the problem has something
to do with the LLVM symbols in the clang libraries clover is using.

I didn't do much testing yet, but glxgears works for me with r600g and
llvmpipe.

Also, note that there are 4 new commits in that repo, the first three
are just variations from my previous C API patches for drivers/radeon.
The biggest change is that I moved the static initializer that calls
the llvm_multithreaded* functions into gallivm/lp_bld_misc.cpp

Let me know if you have any questions, concerns or other ideas.

Thanks,
Tom


> /* Mesa llvm linker script */
> EXTERN(
> LLVMAddAlias
> LLVMAddAttribute
> LLVMAddCase
> LLVMAddClause
> LLVMAddDestination
> LLVMAddFunction
> LLVMAddFunctionAttr
> LLVMAddGlobal
> LLVMAddGlobalInAddressSpace
> LLVMAddIncoming
> LLVMAddInstrAttribute
> LLVMAddNamedMetadataOperand
> LLVMAddTargetDependentFunctionAttr
> LLVMAlignOf
> LLVMAppendBasicBlock
> LLVMAppendBasicBlockInContext
> LLVMArrayType
> LLVMBasicBlockAsValue
> LLVMBlockAddress
> LLVMBuildAdd
> LLVMBuildAggregateRet
> LLVMBuildAlloca
> LLVMBuildAnd
> LLVMBuildArrayAlloca
> LLVMBuildArrayMalloc
> LLVMBuildAShr
> LLVMBuildAtomicRMW
> LLVMBuildBinOp
> LLVMBuildBitCast
> LLVMBuildBr
> LLVMBuildCall
> LLVMBuildCast
> LLVMBuildCondBr
> LLVMBuildExactSDiv
> LLVMBuildExtractElement
> LLVMBuildExtractValue
> LLVMBuildFAdd
> LLVMBuildFCmp
> LLVMBuildFDiv
> LLVMBuildFMul
> LLVMBuildFNeg
> LLVMBuildFPCast
> LLVMBuildFPExt
> LLVMBuildFPToSI
> LLVMBuildFPToUI
> LLVMBuildFPTrunc
> LLVMBuildFree
> LLVMBuildFRem
> LLVMBuildFSub
> LLVMBuildGEP
> LLVMBuildGlobalString
> LLVMBuildGlobalStringPtr
> LLVMBuildICmp
> LLVMBuildInBoundsGEP
> LLVMBuildIndirectBr
> LLVMBuildInsertElement
> LLVMBuildInsertValue
> LLVMBuildIntCast
> LLVMBuildIntToPtr
> LLVMBuildInvoke
> LLVMBuildIsNotNull
> LLVMBuildIsNull
> LLVMBuildLandingPad
> LLVMBuildLoad
> LLVMBuildLShr
> LLVMBuildMalloc
> LLVMBuildMul
> LLVMBuildNeg
> LLVMBuildNot
> LLVMBuildNSWAdd
> LLVMBuildNSWMul
> LLVMBuildNSWNeg
> LLVMBuildNSWSub
> LLVMBuildNUWAdd
> LLVMBuildNUWMul
> LLVMBuildNUWNeg
> LLVMBuildNUWSub
> LLVMBuildOr
> LLVMBuildPhi
> LLVMBuildPointerCast
> LLVMBuildPtrDiff
> LLVMBuildPtrToInt
> LLVMBuildResume
> LLVMBuildRet
> LLVMBuildRetVoid
> LLVMBuildSDiv
> LLVMBuildSelect
> LLVMBuildSExt
> LLVMBuildSExtOrBitCast
> LLVMBuildShl
> LLVMBuildShuffleVector
> LLVMBuildSIToFP
> LLVMBuildSRem
> LLVMBuildStore
> LLVMBuildStructGEP
> LLVMBuildSub
> LLVMBuildSwitch
> LLVMBuildTrunc
> LLVMBuildTruncOrBitCast
> LLVMBuildUDiv
> LLVMBuildUIToFP
> LLVMBuildUnreachable
> LLVMBuildURem
> LLVMBuildVAArg
> LLVMBuildXor
> LLVMBuildZExt
> LLVMBuildZExtOrBitCast
> LLVMClearInsertionPosition
> LLVMConstAdd
> LLVMConstAllOnes
> LLVMConstAnd
> LLVMConstArray
> LLVMConstAShr
> LLVMConstBitCast
> LLVMConstExactSDiv
> LLVMConstExtractElement
> LLVMConstExtractValue
> LLVMConstFAdd
> LLVMConstFCmp
> LLVMConstFDiv
> LLVMConstFMul
> LLVMConstFNeg
> LLVMConstFPCast
> LLVMConstFPExt
> LLVMConstFPToSI
> LLVMConstFPToUI
> LLVMConstFPTrunc
> LLVMConstFRem
> LLVMConstFSub
> LLVMConstGEP
> LLVMConstICmp
> LLVMConstInBoundsGEP
> LLVMConstInlineAsm
> LLVMConstInsertElement
> LLVMConstInsertValue
> LLVMConstInt
> LLVMConstIntCast
> LLVMConstIntGetSExtValue
> LLVMConstIntGetZExtValue
> LLVMConstIntOfArbitraryPrecision
> LLVMConstIntOfString
> LLVMConstIntOfStringAndSize
> LLVMConstIntToPtr
> LLVMConstLShr
> LLVMConstMul
> LLVMConstNamedStruct
> LLVMConstNeg
> LLVMConstNot
> LLVMConstNSWAdd
> LLVMConstNSWMul
> LLVMConstNSWNeg
> LLVMConstNSWSub
> LLVMConstNull
> LLVMConstNUWAdd
> LLVMConstNUWMul
> LLVMConstNUWNeg
> LLVMConstNUWSub
> LLVMConstOr
> LLVMConstPointerCast
> LLVMConstPointerNull
> LLVMConstPtrToInt
> LLVMConstReal
> LLVMConstRealOfString
> LLVMConstRealOfStringAndSize
> LLVMConstSDiv
> LLVMConstSelect
> LLVMConstSExt
> LLVMConstSExtOrBitCast
> LLVMConstShl
> LLVMConstShuffleVector
> LLVMConstSIToFP
> LLVMConstSRem
> LLVMConstString
> LLVMConstStringInContext
> LLVMConstStruct
> LLVMConstStructInContext
> LLVMConstSub
> LLVMConstTrunc
> LLVMConstTruncOrBitCast
> LLVMConstUDiv
> LLVMConstUIToFP
> LLVMConstURem
> LLVMConstVector
> LLVMConstXor
> LLVMConstZExt
> LLVMConstZExtOrBitCast
> LLVMContextCreate
> LLVMContextDispose
> LLVMCountBasicBlocks
> LLVMCountIncoming
> LLVMCountParams
> LLVMCountParamTypes
> LLVMCountStructElementTypes
> LLVMCreateBuilder
> LLVMCreateBuilderInContext
> LLVMCreateFunctionPassManager
> LLVMCreateFunctionPassManagerForModule
> LLVMCreateMemoryBufferWithContentsOfFile
> LLVMCreateMemoryBufferWithMemoryRange
> LLVMCreateMemoryBufferWithMemoryRangeCopy
> LLVMCreateMemoryBufferWithSTDIN
> LLVMCreateModuleProviderForExistingModule
> LLVMCreatePassManager
> LLVMDeleteBasicBlock
> LLVMDeleteFunction
> LLVMDeleteGlobal
> LLVMDisposeBuilder
> LLVMDisposeMemoryBuffer
> LLVMDisposeMessage
> LLVMDisposeModule
> LLVMDisposeModuleProvider
> LLVMDisposePassManager
> LLVMDoubleType
> LLVMDoubleTypeInContext
> LLVMDumpModule
> LLVMDumpValue
> LLVMFinalizeFunctionPassManager
> LLVMFloatType
> LLVMFloatTypeInContext
> LLVMFP128Type
> LLVMFP128TypeInContext
> LLVMFunctionType
> LLVMGetAlignment
> LLVMGetArrayLength
> LLVMGetAttribute
> LLVMGetBasicBlockParent
> LLVMGetBasicBlocks
> LLVMGetBasicBlockTerminator
> LLVMGetBufferSize
> LLVMGetBufferStart
> LLVMGetConstOpcode
> LLVMGetCurrentDebugLocation
> LLVMGetDataLayout
> LLVMGetElementType
> LLVMGetEntryBasicBlock
> LLVMGetFirstBasicBlock
> LLVMGetFirstFunction
> LLVMGetFirstGlobal
> LLVMGetFirstInstruction
> LLVMGetFirstParam
> LLVMGetFirstUse
> LLVMGetFunctionAttr
> LLVMGetFunctionCallConv
> LLVMGetGC
> LLVMGetGlobalContext
> LLVMGetGlobalParent
> LLVMGetGlobalPassRegistry
> LLVMGetICmpPredicate
> LLVMGetIncomingBlock
> LLVMGetIncomingValue
> LLVMGetInitializer
> LLVMGetInsertBlock
> LLVMGetInstructionCallConv
> LLVMGetInstructionOpcode
> LLVMGetInstructionParent
> LLVMGetIntrinsicID
> LLVMGetIntTypeWidth
> LLVMGetLastBasicBlock
> LLVMGetLastFunction
> LLVMGetLastGlobal
> LLVMGetLastInstruction
> LLVMGetLastParam
> LLVMGetLinkage
> LLVMGetMDKindID
> LLVMGetMDKindIDInContext
> LLVMGetMDNodeNumOperands
> LLVMGetMDNodeOperands
> LLVMGetMDString
> LLVMGetMetadata
> LLVMGetModuleContext
> LLVMGetNamedFunction
> LLVMGetNamedGlobal
> LLVMGetNamedMetadataNumOperands
> LLVMGetNamedMetadataOperands
> LLVMGetNextBasicBlock
> LLVMGetNextFunction
> LLVMGetNextGlobal
> LLVMGetNextInstruction
> LLVMGetNextParam
> LLVMGetNextUse
> LLVMGetNumOperands
> LLVMGetOperand
> LLVMGetParam
> LLVMGetParamParent
> LLVMGetParams
> LLVMGetParamTypes
> LLVMGetPointerAddressSpace
> LLVMGetPreviousBasicBlock
> LLVMGetPreviousFunction
> LLVMGetPreviousGlobal
> LLVMGetPreviousInstruction
> LLVMGetPreviousParam
> LLVMGetReturnType
> LLVMGetSection
> LLVMGetStructElementTypes
> LLVMGetStructName
> LLVMGetSwitchDefaultDest
> LLVMGetTarget
> LLVMGetThreadLocalMode
> LLVMGetTypeByName
> LLVMGetTypeContext
> LLVMGetTypeKind
> LLVMGetUndef
> LLVMGetUsedValue
> LLVMGetUser
> LLVMGetValueName
> LLVMGetVectorSize
> LLVMGetVisibility
> LLVMGetVolatile
> LLVMHalfType
> LLVMHalfTypeInContext
> LLVMHasMetadata
> LLVMInitializeCore
> LLVMInitializeFunctionPassManager
> LLVMInsertBasicBlock
> LLVMInsertBasicBlockInContext
> LLVMInsertIntoBuilder
> LLVMInsertIntoBuilderWithName
> LLVMInstructionEraseFromParent
> LLVMInt16Type
> LLVMInt16TypeInContext
> LLVMInt1Type
> LLVMInt1TypeInContext
> LLVMInt32Type
> LLVMInt32TypeInContext
> LLVMInt64Type
> LLVMInt64TypeInContext
> LLVMInt8Type
> LLVMInt8TypeInContext
> LLVMIntType
> LLVMIntTypeInContext
> LLVMIsAAllocaInst
> LLVMIsAArgument
> LLVMIsABasicBlock
> LLVMIsABinaryOperator
> LLVMIsABitCastInst
> LLVMIsABlockAddress
> LLVMIsABranchInst
> LLVMIsACallInst
> LLVMIsACastInst
> LLVMIsACmpInst
> LLVMIsAConstant
> LLVMIsAConstantAggregateZero
> LLVMIsAConstantArray
> LLVMIsAConstantExpr
> LLVMIsAConstantFP
> LLVMIsAConstantInt
> LLVMIsAConstantPointerNull
> LLVMIsAConstantStruct
> LLVMIsAConstantVector
> LLVMIsADbgDeclareInst
> LLVMIsADbgInfoIntrinsic
> LLVMIsAExtractElementInst
> LLVMIsAExtractValueInst
> LLVMIsAFCmpInst
> LLVMIsAFPExtInst
> LLVMIsAFPToSIInst
> LLVMIsAFPToUIInst
> LLVMIsAFPTruncInst
> LLVMIsAFunction
> LLVMIsAGetElementPtrInst
> LLVMIsAGlobalAlias
> LLVMIsAGlobalValue
> LLVMIsAGlobalVariable
> LLVMIsAICmpInst
> LLVMIsAIndirectBrInst
> LLVMIsAInlineAsm
> LLVMIsAInsertElementInst
> LLVMIsAInsertValueInst
> LLVMIsAInstruction
> LLVMIsAIntrinsicInst
> LLVMIsAIntToPtrInst
> LLVMIsAInvokeInst
> LLVMIsALandingPadInst
> LLVMIsALoadInst
> LLVMIsAMDNode
> LLVMIsAMDString
> LLVMIsAMemCpyInst
> LLVMIsAMemIntrinsic
> LLVMIsAMemMoveInst
> LLVMIsAMemSetInst
> LLVMIsAPHINode
> LLVMIsAPtrToIntInst
> LLVMIsAResumeInst
> LLVMIsAReturnInst
> LLVMIsASelectInst
> LLVMIsASExtInst
> LLVMIsAShuffleVectorInst
> LLVMIsASIToFPInst
> LLVMIsAStoreInst
> LLVMIsASwitchInst
> LLVMIsATerminatorInst
> LLVMIsATruncInst
> LLVMIsAUIToFPInst
> LLVMIsAUnaryInstruction
> LLVMIsAUndefValue
> LLVMIsAUnreachableInst
> LLVMIsAUser
> LLVMIsAVAArgInst
> LLVMIsAZExtInst
> LLVMIsConstant
> LLVMIsDeclaration
> LLVMIsExternallyInitialized
> LLVMIsFunctionVarArg
> LLVMIsGlobalConstant
> LLVMIsMultithreaded
> LLVMIsNull
> LLVMIsOpaqueStruct
> LLVMIsPackedStruct
> LLVMIsTailCall
> LLVMIsThreadLocal
> LLVMIsUndef
> LLVMLabelType
> LLVMLabelTypeInContext
> LLVMMDNode
> LLVMMDNodeInContext
> LLVMMDString
> LLVMMDStringInContext
> LLVMModuleCreateWithName
> LLVMModuleCreateWithNameInContext
> LLVMMoveBasicBlockAfter
> LLVMMoveBasicBlockBefore
> LLVMPointerType
> LLVMPositionBuilder
> LLVMPositionBuilderAtEnd
> LLVMPositionBuilderBefore
> LLVMPPCFP128Type
> LLVMPPCFP128TypeInContext
> LLVMPrintModuleToFile
> LLVMRemoveAttribute
> LLVMRemoveBasicBlockFromParent
> LLVMRemoveFunctionAttr
> LLVMRemoveInstrAttribute
> LLVMReplaceAllUsesWith
> LLVMRunFunctionPassManager
> LLVMRunPassManager
> LLVMSetAlignment
> LLVMSetCleanup
> LLVMSetCurrentDebugLocation
> LLVMSetDataLayout
> LLVMSetExternallyInitialized
> LLVMSetFunctionCallConv
> LLVMSetGC
> LLVMSetGlobalConstant
> LLVMSetInitializer
> LLVMSetInstDebugLocation
> LLVMSetInstrParamAlignment
> LLVMSetInstructionCallConv
> LLVMSetLinkage
> LLVMSetMetadata
> LLVMSetModuleInlineAsm
> LLVMSetOperand
> LLVMSetParamAlignment
> LLVMSetSection
> LLVMSetTailCall
> LLVMSetTarget
> LLVMSetThreadLocal
> LLVMSetThreadLocalMode
> LLVMSetValueName
> LLVMSetVisibility
> LLVMSetVolatile
> LLVMShutdown
> LLVMSizeOf
> LLVMStartMultithreaded
> LLVMStopMultithreaded
> LLVMStructCreateNamed
> LLVMStructSetBody
> LLVMStructType
> LLVMStructTypeInContext
> LLVMTypeIsSized
> LLVMTypeOf
> LLVMValueAsBasicBlock
> LLVMValueIsBasicBlock
> LLVMVectorType
> LLVMVoidType
> LLVMVoidTypeInContext
> LLVMX86FP80Type
> LLVMX86FP80TypeInContext
> LLVMX86MMXType
> LLVMX86MMXTypeInContext
> )
> MesaLLVMAddAlias = LLVMAddAlias;
> MesaLLVMAddAttribute = LLVMAddAttribute;
> MesaLLVMAddCase = LLVMAddCase;
> MesaLLVMAddClause = LLVMAddClause;
> MesaLLVMAddDestination = LLVMAddDestination;
> MesaLLVMAddFunction = LLVMAddFunction;
> MesaLLVMAddFunctionAttr = LLVMAddFunctionAttr;
> MesaLLVMAddGlobal = LLVMAddGlobal;
> MesaLLVMAddGlobalInAddressSpace = LLVMAddGlobalInAddressSpace;
> MesaLLVMAddIncoming = LLVMAddIncoming;
> MesaLLVMAddInstrAttribute = LLVMAddInstrAttribute;
> MesaLLVMAddNamedMetadataOperand = LLVMAddNamedMetadataOperand;
> MesaLLVMAddTargetDependentFunctionAttr = LLVMAddTargetDependentFunctionAttr;
> MesaLLVMAlignOf = LLVMAlignOf;
> MesaLLVMAppendBasicBlock = LLVMAppendBasicBlock;
> MesaLLVMAppendBasicBlockInContext = LLVMAppendBasicBlockInContext;
> MesaLLVMArrayType = LLVMArrayType;
> MesaLLVMBasicBlockAsValue = LLVMBasicBlockAsValue;
> MesaLLVMBlockAddress = LLVMBlockAddress;
> MesaLLVMBuildAdd = LLVMBuildAdd;
> MesaLLVMBuildAggregateRet = LLVMBuildAggregateRet;
> MesaLLVMBuildAlloca = LLVMBuildAlloca;
> MesaLLVMBuildAnd = LLVMBuildAnd;
> MesaLLVMBuildArrayAlloca = LLVMBuildArrayAlloca;
> MesaLLVMBuildArrayMalloc = LLVMBuildArrayMalloc;
> MesaLLVMBuildAShr = LLVMBuildAShr;
> MesaLLVMBuildAtomicRMW = LLVMBuildAtomicRMW;
> MesaLLVMBuildBinOp = LLVMBuildBinOp;
> MesaLLVMBuildBitCast = LLVMBuildBitCast;
> MesaLLVMBuildBr = LLVMBuildBr;
> MesaLLVMBuildCall = LLVMBuildCall;
> MesaLLVMBuildCast = LLVMBuildCast;
> MesaLLVMBuildCondBr = LLVMBuildCondBr;
> MesaLLVMBuildExactSDiv = LLVMBuildExactSDiv;
> MesaLLVMBuildExtractElement = LLVMBuildExtractElement;
> MesaLLVMBuildExtractValue = LLVMBuildExtractValue;
> MesaLLVMBuildFAdd = LLVMBuildFAdd;
> MesaLLVMBuildFCmp = LLVMBuildFCmp;
> MesaLLVMBuildFDiv = LLVMBuildFDiv;
> MesaLLVMBuildFMul = LLVMBuildFMul;
> MesaLLVMBuildFNeg = LLVMBuildFNeg;
> MesaLLVMBuildFPCast = LLVMBuildFPCast;
> MesaLLVMBuildFPExt = LLVMBuildFPExt;
> MesaLLVMBuildFPToSI = LLVMBuildFPToSI;
> MesaLLVMBuildFPToUI = LLVMBuildFPToUI;
> MesaLLVMBuildFPTrunc = LLVMBuildFPTrunc;
> MesaLLVMBuildFree = LLVMBuildFree;
> MesaLLVMBuildFRem = LLVMBuildFRem;
> MesaLLVMBuildFSub = LLVMBuildFSub;
> MesaLLVMBuildGEP = LLVMBuildGEP;
> MesaLLVMBuildGlobalString = LLVMBuildGlobalString;
> MesaLLVMBuildGlobalStringPtr = LLVMBuildGlobalStringPtr;
> MesaLLVMBuildICmp = LLVMBuildICmp;
> MesaLLVMBuildInBoundsGEP = LLVMBuildInBoundsGEP;
> MesaLLVMBuildIndirectBr = LLVMBuildIndirectBr;
> MesaLLVMBuildInsertElement = LLVMBuildInsertElement;
> MesaLLVMBuildInsertValue = LLVMBuildInsertValue;
> MesaLLVMBuildIntCast = LLVMBuildIntCast;
> MesaLLVMBuildIntToPtr = LLVMBuildIntToPtr;
> MesaLLVMBuildInvoke = LLVMBuildInvoke;
> MesaLLVMBuildIsNotNull = LLVMBuildIsNotNull;
> MesaLLVMBuildIsNull = LLVMBuildIsNull;
> MesaLLVMBuildLandingPad = LLVMBuildLandingPad;
> MesaLLVMBuildLoad = LLVMBuildLoad;
> MesaLLVMBuildLShr = LLVMBuildLShr;
> MesaLLVMBuildMalloc = LLVMBuildMalloc;
> MesaLLVMBuildMul = LLVMBuildMul;
> MesaLLVMBuildNeg = LLVMBuildNeg;
> MesaLLVMBuildNot = LLVMBuildNot;
> MesaLLVMBuildNSWAdd = LLVMBuildNSWAdd;
> MesaLLVMBuildNSWMul = LLVMBuildNSWMul;
> MesaLLVMBuildNSWNeg = LLVMBuildNSWNeg;
> MesaLLVMBuildNSWSub = LLVMBuildNSWSub;
> MesaLLVMBuildNUWAdd = LLVMBuildNUWAdd;
> MesaLLVMBuildNUWMul = LLVMBuildNUWMul;
> MesaLLVMBuildNUWNeg = LLVMBuildNUWNeg;
> MesaLLVMBuildNUWSub = LLVMBuildNUWSub;
> MesaLLVMBuildOr = LLVMBuildOr;
> MesaLLVMBuildPhi = LLVMBuildPhi;
> MesaLLVMBuildPointerCast = LLVMBuildPointerCast;
> MesaLLVMBuildPtrDiff = LLVMBuildPtrDiff;
> MesaLLVMBuildPtrToInt = LLVMBuildPtrToInt;
> MesaLLVMBuildResume = LLVMBuildResume;
> MesaLLVMBuildRet = LLVMBuildRet;
> MesaLLVMBuildRetVoid = LLVMBuildRetVoid;
> MesaLLVMBuildSDiv = LLVMBuildSDiv;
> MesaLLVMBuildSelect = LLVMBuildSelect;
> MesaLLVMBuildSExt = LLVMBuildSExt;
> MesaLLVMBuildSExtOrBitCast = LLVMBuildSExtOrBitCast;
> MesaLLVMBuildShl = LLVMBuildShl;
> MesaLLVMBuildShuffleVector = LLVMBuildShuffleVector;
> MesaLLVMBuildSIToFP = LLVMBuildSIToFP;
> MesaLLVMBuildSRem = LLVMBuildSRem;
> MesaLLVMBuildStore = LLVMBuildStore;
> MesaLLVMBuildStructGEP = LLVMBuildStructGEP;
> MesaLLVMBuildSub = LLVMBuildSub;
> MesaLLVMBuildSwitch = LLVMBuildSwitch;
> MesaLLVMBuildTrunc = LLVMBuildTrunc;
> MesaLLVMBuildTruncOrBitCast = LLVMBuildTruncOrBitCast;
> MesaLLVMBuildUDiv = LLVMBuildUDiv;
> MesaLLVMBuildUIToFP = LLVMBuildUIToFP;
> MesaLLVMBuildUnreachable = LLVMBuildUnreachable;
> MesaLLVMBuildURem = LLVMBuildURem;
> MesaLLVMBuildVAArg = LLVMBuildVAArg;
> MesaLLVMBuildXor = LLVMBuildXor;
> MesaLLVMBuildZExt = LLVMBuildZExt;
> MesaLLVMBuildZExtOrBitCast = LLVMBuildZExtOrBitCast;
> MesaLLVMClearInsertionPosition = LLVMClearInsertionPosition;
> MesaLLVMConstAdd = LLVMConstAdd;
> MesaLLVMConstAllOnes = LLVMConstAllOnes;
> MesaLLVMConstAnd = LLVMConstAnd;
> MesaLLVMConstArray = LLVMConstArray;
> MesaLLVMConstAShr = LLVMConstAShr;
> MesaLLVMConstBitCast = LLVMConstBitCast;
> MesaLLVMConstExactSDiv = LLVMConstExactSDiv;
> MesaLLVMConstExtractElement = LLVMConstExtractElement;
> MesaLLVMConstExtractValue = LLVMConstExtractValue;
> MesaLLVMConstFAdd = LLVMConstFAdd;
> MesaLLVMConstFCmp = LLVMConstFCmp;
> MesaLLVMConstFDiv = LLVMConstFDiv;
> MesaLLVMConstFMul = LLVMConstFMul;
> MesaLLVMConstFNeg = LLVMConstFNeg;
> MesaLLVMConstFPCast = LLVMConstFPCast;
> MesaLLVMConstFPExt = LLVMConstFPExt;
> MesaLLVMConstFPToSI = LLVMConstFPToSI;
> MesaLLVMConstFPToUI = LLVMConstFPToUI;
> MesaLLVMConstFPTrunc = LLVMConstFPTrunc;
> MesaLLVMConstFRem = LLVMConstFRem;
> MesaLLVMConstFSub = LLVMConstFSub;
> MesaLLVMConstGEP = LLVMConstGEP;
> MesaLLVMConstICmp = LLVMConstICmp;
> MesaLLVMConstInBoundsGEP = LLVMConstInBoundsGEP;
> MesaLLVMConstInlineAsm = LLVMConstInlineAsm;
> MesaLLVMConstInsertElement = LLVMConstInsertElement;
> MesaLLVMConstInsertValue = LLVMConstInsertValue;
> MesaLLVMConstInt = LLVMConstInt;
> MesaLLVMConstIntCast = LLVMConstIntCast;
> MesaLLVMConstIntGetSExtValue = LLVMConstIntGetSExtValue;
> MesaLLVMConstIntGetZExtValue = LLVMConstIntGetZExtValue;
> MesaLLVMConstIntOfArbitraryPrecision = LLVMConstIntOfArbitraryPrecision;
> MesaLLVMConstIntOfString = LLVMConstIntOfString;
> MesaLLVMConstIntOfStringAndSize = LLVMConstIntOfStringAndSize;
> MesaLLVMConstIntToPtr = LLVMConstIntToPtr;
> MesaLLVMConstLShr = LLVMConstLShr;
> MesaLLVMConstMul = LLVMConstMul;
> MesaLLVMConstNamedStruct = LLVMConstNamedStruct;
> MesaLLVMConstNeg = LLVMConstNeg;
> MesaLLVMConstNot = LLVMConstNot;
> MesaLLVMConstNSWAdd = LLVMConstNSWAdd;
> MesaLLVMConstNSWMul = LLVMConstNSWMul;
> MesaLLVMConstNSWNeg = LLVMConstNSWNeg;
> MesaLLVMConstNSWSub = LLVMConstNSWSub;
> MesaLLVMConstNull = LLVMConstNull;
> MesaLLVMConstNUWAdd = LLVMConstNUWAdd;
> MesaLLVMConstNUWMul = LLVMConstNUWMul;
> MesaLLVMConstNUWNeg = LLVMConstNUWNeg;
> MesaLLVMConstNUWSub = LLVMConstNUWSub;
> MesaLLVMConstOr = LLVMConstOr;
> MesaLLVMConstPointerCast = LLVMConstPointerCast;
> MesaLLVMConstPointerNull = LLVMConstPointerNull;
> MesaLLVMConstPtrToInt = LLVMConstPtrToInt;
> MesaLLVMConstReal = LLVMConstReal;
> MesaLLVMConstRealOfString = LLVMConstRealOfString;
> MesaLLVMConstRealOfStringAndSize = LLVMConstRealOfStringAndSize;
> MesaLLVMConstSDiv = LLVMConstSDiv;
> MesaLLVMConstSelect = LLVMConstSelect;
> MesaLLVMConstSExt = LLVMConstSExt;
> MesaLLVMConstSExtOrBitCast = LLVMConstSExtOrBitCast;
> MesaLLVMConstShl = LLVMConstShl;
> MesaLLVMConstShuffleVector = LLVMConstShuffleVector;
> MesaLLVMConstSIToFP = LLVMConstSIToFP;
> MesaLLVMConstSRem = LLVMConstSRem;
> MesaLLVMConstString = LLVMConstString;
> MesaLLVMConstStringInContext = LLVMConstStringInContext;
> MesaLLVMConstStruct = LLVMConstStruct;
> MesaLLVMConstStructInContext = LLVMConstStructInContext;
> MesaLLVMConstSub = LLVMConstSub;
> MesaLLVMConstTrunc = LLVMConstTrunc;
> MesaLLVMConstTruncOrBitCast = LLVMConstTruncOrBitCast;
> MesaLLVMConstUDiv = LLVMConstUDiv;
> MesaLLVMConstUIToFP = LLVMConstUIToFP;
> MesaLLVMConstURem = LLVMConstURem;
> MesaLLVMConstVector = LLVMConstVector;
> MesaLLVMConstXor = LLVMConstXor;
> MesaLLVMConstZExt = LLVMConstZExt;
> MesaLLVMConstZExtOrBitCast = LLVMConstZExtOrBitCast;
> MesaLLVMContextCreate = LLVMContextCreate;
> MesaLLVMContextDispose = LLVMContextDispose;
> MesaLLVMCountBasicBlocks = LLVMCountBasicBlocks;
> MesaLLVMCountIncoming = LLVMCountIncoming;
> MesaLLVMCountParams = LLVMCountParams;
> MesaLLVMCountParamTypes = LLVMCountParamTypes;
> MesaLLVMCountStructElementTypes = LLVMCountStructElementTypes;
> MesaLLVMCreateBuilder = LLVMCreateBuilder;
> MesaLLVMCreateBuilderInContext = LLVMCreateBuilderInContext;
> MesaLLVMCreateFunctionPassManager = LLVMCreateFunctionPassManager;
> MesaLLVMCreateFunctionPassManagerForModule = LLVMCreateFunctionPassManagerForModule;
> MesaLLVMCreateMemoryBufferWithContentsOfFile = LLVMCreateMemoryBufferWithContentsOfFile;
> MesaLLVMCreateMemoryBufferWithMemoryRange = LLVMCreateMemoryBufferWithMemoryRange;
> MesaLLVMCreateMemoryBufferWithMemoryRangeCopy = LLVMCreateMemoryBufferWithMemoryRangeCopy;
> MesaLLVMCreateMemoryBufferWithSTDIN = LLVMCreateMemoryBufferWithSTDIN;
> MesaLLVMCreateModuleProviderForExistingModule = LLVMCreateModuleProviderForExistingModule;
> MesaLLVMCreatePassManager = LLVMCreatePassManager;
> MesaLLVMDeleteBasicBlock = LLVMDeleteBasicBlock;
> MesaLLVMDeleteFunction = LLVMDeleteFunction;
> MesaLLVMDeleteGlobal = LLVMDeleteGlobal;
> MesaLLVMDisposeBuilder = LLVMDisposeBuilder;
> MesaLLVMDisposeMemoryBuffer = LLVMDisposeMemoryBuffer;
> MesaLLVMDisposeMessage = LLVMDisposeMessage;
> MesaLLVMDisposeModule = LLVMDisposeModule;
> MesaLLVMDisposeModuleProvider = LLVMDisposeModuleProvider;
> MesaLLVMDisposePassManager = LLVMDisposePassManager;
> MesaLLVMDoubleType = LLVMDoubleType;
> MesaLLVMDoubleTypeInContext = LLVMDoubleTypeInContext;
> MesaLLVMDumpModule = LLVMDumpModule;
> MesaLLVMDumpValue = LLVMDumpValue;
> MesaLLVMFinalizeFunctionPassManager = LLVMFinalizeFunctionPassManager;
> MesaLLVMFloatType = LLVMFloatType;
> MesaLLVMFloatTypeInContext = LLVMFloatTypeInContext;
> MesaLLVMFP128Type = LLVMFP128Type;
> MesaLLVMFP128TypeInContext = LLVMFP128TypeInContext;
> MesaLLVMFunctionType = LLVMFunctionType;
> MesaLLVMGetAlignment = LLVMGetAlignment;
> MesaLLVMGetArrayLength = LLVMGetArrayLength;
> MesaLLVMGetAttribute = LLVMGetAttribute;
> MesaLLVMGetBasicBlockParent = LLVMGetBasicBlockParent;
> MesaLLVMGetBasicBlocks = LLVMGetBasicBlocks;
> MesaLLVMGetBasicBlockTerminator = LLVMGetBasicBlockTerminator;
> MesaLLVMGetBufferSize = LLVMGetBufferSize;
> MesaLLVMGetBufferStart = LLVMGetBufferStart;
> MesaLLVMGetConstOpcode = LLVMGetConstOpcode;
> MesaLLVMGetCurrentDebugLocation = LLVMGetCurrentDebugLocation;
> MesaLLVMGetDataLayout = LLVMGetDataLayout;
> MesaLLVMGetElementType = LLVMGetElementType;
> MesaLLVMGetEntryBasicBlock = LLVMGetEntryBasicBlock;
> MesaLLVMGetFirstBasicBlock = LLVMGetFirstBasicBlock;
> MesaLLVMGetFirstFunction = LLVMGetFirstFunction;
> MesaLLVMGetFirstGlobal = LLVMGetFirstGlobal;
> MesaLLVMGetFirstInstruction = LLVMGetFirstInstruction;
> MesaLLVMGetFirstParam = LLVMGetFirstParam;
> MesaLLVMGetFirstUse = LLVMGetFirstUse;
> MesaLLVMGetFunctionAttr = LLVMGetFunctionAttr;
> MesaLLVMGetFunctionCallConv = LLVMGetFunctionCallConv;
> MesaLLVMGetGC = LLVMGetGC;
> MesaLLVMGetGlobalContext = LLVMGetGlobalContext;
> MesaLLVMGetGlobalParent = LLVMGetGlobalParent;
> MesaLLVMGetGlobalPassRegistry = LLVMGetGlobalPassRegistry;
> MesaLLVMGetICmpPredicate = LLVMGetICmpPredicate;
> MesaLLVMGetIncomingBlock = LLVMGetIncomingBlock;
> MesaLLVMGetIncomingValue = LLVMGetIncomingValue;
> MesaLLVMGetInitializer = LLVMGetInitializer;
> MesaLLVMGetInsertBlock = LLVMGetInsertBlock;
> MesaLLVMGetInstructionCallConv = LLVMGetInstructionCallConv;
> MesaLLVMGetInstructionOpcode = LLVMGetInstructionOpcode;
> MesaLLVMGetInstructionParent = LLVMGetInstructionParent;
> MesaLLVMGetIntrinsicID = LLVMGetIntrinsicID;
> MesaLLVMGetIntTypeWidth = LLVMGetIntTypeWidth;
> MesaLLVMGetLastBasicBlock = LLVMGetLastBasicBlock;
> MesaLLVMGetLastFunction = LLVMGetLastFunction;
> MesaLLVMGetLastGlobal = LLVMGetLastGlobal;
> MesaLLVMGetLastInstruction = LLVMGetLastInstruction;
> MesaLLVMGetLastParam = LLVMGetLastParam;
> MesaLLVMGetLinkage = LLVMGetLinkage;
> MesaLLVMGetMDKindID = LLVMGetMDKindID;
> MesaLLVMGetMDKindIDInContext = LLVMGetMDKindIDInContext;
> MesaLLVMGetMDNodeNumOperands = LLVMGetMDNodeNumOperands;
> MesaLLVMGetMDNodeOperands = LLVMGetMDNodeOperands;
> MesaLLVMGetMDString = LLVMGetMDString;
> MesaLLVMGetMetadata = LLVMGetMetadata;
> MesaLLVMGetModuleContext = LLVMGetModuleContext;
> MesaLLVMGetNamedFunction = LLVMGetNamedFunction;
> MesaLLVMGetNamedGlobal = LLVMGetNamedGlobal;
> MesaLLVMGetNamedMetadataNumOperands = LLVMGetNamedMetadataNumOperands;
> MesaLLVMGetNamedMetadataOperands = LLVMGetNamedMetadataOperands;
> MesaLLVMGetNextBasicBlock = LLVMGetNextBasicBlock;
> MesaLLVMGetNextFunction = LLVMGetNextFunction;
> MesaLLVMGetNextGlobal = LLVMGetNextGlobal;
> MesaLLVMGetNextInstruction = LLVMGetNextInstruction;
> MesaLLVMGetNextParam = LLVMGetNextParam;
> MesaLLVMGetNextUse = LLVMGetNextUse;
> MesaLLVMGetNumOperands = LLVMGetNumOperands;
> MesaLLVMGetOperand = LLVMGetOperand;
> MesaLLVMGetParam = LLVMGetParam;
> MesaLLVMGetParamParent = LLVMGetParamParent;
> MesaLLVMGetParams = LLVMGetParams;
> MesaLLVMGetParamTypes = LLVMGetParamTypes;
> MesaLLVMGetPointerAddressSpace = LLVMGetPointerAddressSpace;
> MesaLLVMGetPreviousBasicBlock = LLVMGetPreviousBasicBlock;
> MesaLLVMGetPreviousFunction = LLVMGetPreviousFunction;
> MesaLLVMGetPreviousGlobal = LLVMGetPreviousGlobal;
> MesaLLVMGetPreviousInstruction = LLVMGetPreviousInstruction;
> MesaLLVMGetPreviousParam = LLVMGetPreviousParam;
> MesaLLVMGetReturnType = LLVMGetReturnType;
> MesaLLVMGetSection = LLVMGetSection;
> MesaLLVMGetStructElementTypes = LLVMGetStructElementTypes;
> MesaLLVMGetStructName = LLVMGetStructName;
> MesaLLVMGetSwitchDefaultDest = LLVMGetSwitchDefaultDest;
> MesaLLVMGetTarget = LLVMGetTarget;
> MesaLLVMGetThreadLocalMode = LLVMGetThreadLocalMode;
> MesaLLVMGetTypeByName = LLVMGetTypeByName;
> MesaLLVMGetTypeContext = LLVMGetTypeContext;
> MesaLLVMGetTypeKind = LLVMGetTypeKind;
> MesaLLVMGetUndef = LLVMGetUndef;
> MesaLLVMGetUsedValue = LLVMGetUsedValue;
> MesaLLVMGetUser = LLVMGetUser;
> MesaLLVMGetValueName = LLVMGetValueName;
> MesaLLVMGetVectorSize = LLVMGetVectorSize;
> MesaLLVMGetVisibility = LLVMGetVisibility;
> MesaLLVMGetVolatile = LLVMGetVolatile;
> MesaLLVMHalfType = LLVMHalfType;
> MesaLLVMHalfTypeInContext = LLVMHalfTypeInContext;
> MesaLLVMHasMetadata = LLVMHasMetadata;
> MesaLLVMInitializeCore = LLVMInitializeCore;
> MesaLLVMInitializeFunctionPassManager = LLVMInitializeFunctionPassManager;
> MesaLLVMInsertBasicBlock = LLVMInsertBasicBlock;
> MesaLLVMInsertBasicBlockInContext = LLVMInsertBasicBlockInContext;
> MesaLLVMInsertIntoBuilder = LLVMInsertIntoBuilder;
> MesaLLVMInsertIntoBuilderWithName = LLVMInsertIntoBuilderWithName;
> MesaLLVMInstructionEraseFromParent = LLVMInstructionEraseFromParent;
> MesaLLVMInt16Type = LLVMInt16Type;
> MesaLLVMInt16TypeInContext = LLVMInt16TypeInContext;
> MesaLLVMInt1Type = LLVMInt1Type;
> MesaLLVMInt1TypeInContext = LLVMInt1TypeInContext;
> MesaLLVMInt32Type = LLVMInt32Type;
> MesaLLVMInt32TypeInContext = LLVMInt32TypeInContext;
> MesaLLVMInt64Type = LLVMInt64Type;
> MesaLLVMInt64TypeInContext = LLVMInt64TypeInContext;
> MesaLLVMInt8Type = LLVMInt8Type;
> MesaLLVMInt8TypeInContext = LLVMInt8TypeInContext;
> MesaLLVMIntType = LLVMIntType;
> MesaLLVMIntTypeInContext = LLVMIntTypeInContext;
> MesaLLVMIsAAllocaInst = LLVMIsAAllocaInst;
> MesaLLVMIsAArgument = LLVMIsAArgument;
> MesaLLVMIsABasicBlock = LLVMIsABasicBlock;
> MesaLLVMIsABinaryOperator = LLVMIsABinaryOperator;
> MesaLLVMIsABitCastInst = LLVMIsABitCastInst;
> MesaLLVMIsABlockAddress = LLVMIsABlockAddress;
> MesaLLVMIsABranchInst = LLVMIsABranchInst;
> MesaLLVMIsACallInst = LLVMIsACallInst;
> MesaLLVMIsACastInst = LLVMIsACastInst;
> MesaLLVMIsACmpInst = LLVMIsACmpInst;
> MesaLLVMIsAConstant = LLVMIsAConstant;
> MesaLLVMIsAConstantAggregateZero = LLVMIsAConstantAggregateZero;
> MesaLLVMIsAConstantArray = LLVMIsAConstantArray;
> MesaLLVMIsAConstantExpr = LLVMIsAConstantExpr;
> MesaLLVMIsAConstantFP = LLVMIsAConstantFP;
> MesaLLVMIsAConstantInt = LLVMIsAConstantInt;
> MesaLLVMIsAConstantPointerNull = LLVMIsAConstantPointerNull;
> MesaLLVMIsAConstantStruct = LLVMIsAConstantStruct;
> MesaLLVMIsAConstantVector = LLVMIsAConstantVector;
> MesaLLVMIsADbgDeclareInst = LLVMIsADbgDeclareInst;
> MesaLLVMIsADbgInfoIntrinsic = LLVMIsADbgInfoIntrinsic;
> MesaLLVMIsAExtractElementInst = LLVMIsAExtractElementInst;
> MesaLLVMIsAExtractValueInst = LLVMIsAExtractValueInst;
> MesaLLVMIsAFCmpInst = LLVMIsAFCmpInst;
> MesaLLVMIsAFPExtInst = LLVMIsAFPExtInst;
> MesaLLVMIsAFPToSIInst = LLVMIsAFPToSIInst;
> MesaLLVMIsAFPToUIInst = LLVMIsAFPToUIInst;
> MesaLLVMIsAFPTruncInst = LLVMIsAFPTruncInst;
> MesaLLVMIsAFunction = LLVMIsAFunction;
> MesaLLVMIsAGetElementPtrInst = LLVMIsAGetElementPtrInst;
> MesaLLVMIsAGlobalAlias = LLVMIsAGlobalAlias;
> MesaLLVMIsAGlobalValue = LLVMIsAGlobalValue;
> MesaLLVMIsAGlobalVariable = LLVMIsAGlobalVariable;
> MesaLLVMIsAICmpInst = LLVMIsAICmpInst;
> MesaLLVMIsAIndirectBrInst = LLVMIsAIndirectBrInst;
> MesaLLVMIsAInlineAsm = LLVMIsAInlineAsm;
> MesaLLVMIsAInsertElementInst = LLVMIsAInsertElementInst;
> MesaLLVMIsAInsertValueInst = LLVMIsAInsertValueInst;
> MesaLLVMIsAInstruction = LLVMIsAInstruction;
> MesaLLVMIsAIntrinsicInst = LLVMIsAIntrinsicInst;
> MesaLLVMIsAIntToPtrInst = LLVMIsAIntToPtrInst;
> MesaLLVMIsAInvokeInst = LLVMIsAInvokeInst;
> MesaLLVMIsALandingPadInst = LLVMIsALandingPadInst;
> MesaLLVMIsALoadInst = LLVMIsALoadInst;
> MesaLLVMIsAMDNode = LLVMIsAMDNode;
> MesaLLVMIsAMDString = LLVMIsAMDString;
> MesaLLVMIsAMemCpyInst = LLVMIsAMemCpyInst;
> MesaLLVMIsAMemIntrinsic = LLVMIsAMemIntrinsic;
> MesaLLVMIsAMemMoveInst = LLVMIsAMemMoveInst;
> MesaLLVMIsAMemSetInst = LLVMIsAMemSetInst;
> MesaLLVMIsAPHINode = LLVMIsAPHINode;
> MesaLLVMIsAPtrToIntInst = LLVMIsAPtrToIntInst;
> MesaLLVMIsAResumeInst = LLVMIsAResumeInst;
> MesaLLVMIsAReturnInst = LLVMIsAReturnInst;
> MesaLLVMIsASelectInst = LLVMIsASelectInst;
> MesaLLVMIsASExtInst = LLVMIsASExtInst;
> MesaLLVMIsAShuffleVectorInst = LLVMIsAShuffleVectorInst;
> MesaLLVMIsASIToFPInst = LLVMIsASIToFPInst;
> MesaLLVMIsAStoreInst = LLVMIsAStoreInst;
> MesaLLVMIsASwitchInst = LLVMIsASwitchInst;
> MesaLLVMIsATerminatorInst = LLVMIsATerminatorInst;
> MesaLLVMIsATruncInst = LLVMIsATruncInst;
> MesaLLVMIsAUIToFPInst = LLVMIsAUIToFPInst;
> MesaLLVMIsAUnaryInstruction = LLVMIsAUnaryInstruction;
> MesaLLVMIsAUndefValue = LLVMIsAUndefValue;
> MesaLLVMIsAUnreachableInst = LLVMIsAUnreachableInst;
> MesaLLVMIsAUser = LLVMIsAUser;
> MesaLLVMIsAVAArgInst = LLVMIsAVAArgInst;
> MesaLLVMIsAZExtInst = LLVMIsAZExtInst;
> MesaLLVMIsConstant = LLVMIsConstant;
> MesaLLVMIsDeclaration = LLVMIsDeclaration;
> MesaLLVMIsExternallyInitialized = LLVMIsExternallyInitialized;
> MesaLLVMIsFunctionVarArg = LLVMIsFunctionVarArg;
> MesaLLVMIsGlobalConstant = LLVMIsGlobalConstant;
> MesaLLVMIsMultithreaded = LLVMIsMultithreaded;
> MesaLLVMIsNull = LLVMIsNull;
> MesaLLVMIsOpaqueStruct = LLVMIsOpaqueStruct;
> MesaLLVMIsPackedStruct = LLVMIsPackedStruct;
> MesaLLVMIsTailCall = LLVMIsTailCall;
> MesaLLVMIsThreadLocal = LLVMIsThreadLocal;
> MesaLLVMIsUndef = LLVMIsUndef;
> MesaLLVMLabelType = LLVMLabelType;
> MesaLLVMLabelTypeInContext = LLVMLabelTypeInContext;
> MesaLLVMMDNode = LLVMMDNode;
> MesaLLVMMDNodeInContext = LLVMMDNodeInContext;
> MesaLLVMMDString = LLVMMDString;
> MesaLLVMMDStringInContext = LLVMMDStringInContext;
> MesaLLVMModuleCreateWithName = LLVMModuleCreateWithName;
> MesaLLVMModuleCreateWithNameInContext = LLVMModuleCreateWithNameInContext;
> MesaLLVMMoveBasicBlockAfter = LLVMMoveBasicBlockAfter;
> MesaLLVMMoveBasicBlockBefore = LLVMMoveBasicBlockBefore;
> MesaLLVMPointerType = LLVMPointerType;
> MesaLLVMPositionBuilder = LLVMPositionBuilder;
> MesaLLVMPositionBuilderAtEnd = LLVMPositionBuilderAtEnd;
> MesaLLVMPositionBuilderBefore = LLVMPositionBuilderBefore;
> MesaLLVMPPCFP128Type = LLVMPPCFP128Type;
> MesaLLVMPPCFP128TypeInContext = LLVMPPCFP128TypeInContext;
> MesaLLVMPrintModuleToFile = LLVMPrintModuleToFile;
> MesaLLVMRemoveAttribute = LLVMRemoveAttribute;
> MesaLLVMRemoveBasicBlockFromParent = LLVMRemoveBasicBlockFromParent;
> MesaLLVMRemoveFunctionAttr = LLVMRemoveFunctionAttr;
> MesaLLVMRemoveInstrAttribute = LLVMRemoveInstrAttribute;
> MesaLLVMReplaceAllUsesWith = LLVMReplaceAllUsesWith;
> MesaLLVMRunFunctionPassManager = LLVMRunFunctionPassManager;
> MesaLLVMRunPassManager = LLVMRunPassManager;
> MesaLLVMSetAlignment = LLVMSetAlignment;
> MesaLLVMSetCleanup = LLVMSetCleanup;
> MesaLLVMSetCurrentDebugLocation = LLVMSetCurrentDebugLocation;
> MesaLLVMSetDataLayout = LLVMSetDataLayout;
> MesaLLVMSetExternallyInitialized = LLVMSetExternallyInitialized;
> MesaLLVMSetFunctionCallConv = LLVMSetFunctionCallConv;
> MesaLLVMSetGC = LLVMSetGC;
> MesaLLVMSetGlobalConstant = LLVMSetGlobalConstant;
> MesaLLVMSetInitializer = LLVMSetInitializer;
> MesaLLVMSetInstDebugLocation = LLVMSetInstDebugLocation;
> MesaLLVMSetInstrParamAlignment = LLVMSetInstrParamAlignment;
> MesaLLVMSetInstructionCallConv = LLVMSetInstructionCallConv;
> MesaLLVMSetLinkage = LLVMSetLinkage;
> MesaLLVMSetMetadata = LLVMSetMetadata;
> MesaLLVMSetModuleInlineAsm = LLVMSetModuleInlineAsm;
> MesaLLVMSetOperand = LLVMSetOperand;
> MesaLLVMSetParamAlignment = LLVMSetParamAlignment;
> MesaLLVMSetSection = LLVMSetSection;
> MesaLLVMSetTailCall = LLVMSetTailCall;
> MesaLLVMSetTarget = LLVMSetTarget;
> MesaLLVMSetThreadLocal = LLVMSetThreadLocal;
> MesaLLVMSetThreadLocalMode = LLVMSetThreadLocalMode;
> MesaLLVMSetValueName = LLVMSetValueName;
> MesaLLVMSetVisibility = LLVMSetVisibility;
> MesaLLVMSetVolatile = LLVMSetVolatile;
> MesaLLVMShutdown = LLVMShutdown;
> MesaLLVMSizeOf = LLVMSizeOf;
> MesaLLVMStartMultithreaded = LLVMStartMultithreaded;
> MesaLLVMStopMultithreaded = LLVMStopMultithreaded;
> MesaLLVMStructCreateNamed = LLVMStructCreateNamed;
> MesaLLVMStructSetBody = LLVMStructSetBody;
> MesaLLVMStructType = LLVMStructType;
> MesaLLVMStructTypeInContext = LLVMStructTypeInContext;
> MesaLLVMTypeIsSized = LLVMTypeIsSized;
> MesaLLVMTypeOf = LLVMTypeOf;
> MesaLLVMValueAsBasicBlock = LLVMValueAsBasicBlock;
> MesaLLVMValueIsBasicBlock = LLVMValueIsBasicBlock;
> MesaLLVMVectorType = LLVMVectorType;
> MesaLLVMVoidType = LLVMVoidType;
> MesaLLVMVoidTypeInContext = LLVMVoidTypeInContext;
> MesaLLVMX86FP80Type = LLVMX86FP80Type;
> MesaLLVMX86FP80TypeInContext = LLVMX86FP80TypeInContext;
> MesaLLVMX86MMXType = LLVMX86MMXType;
> MesaLLVMX86MMXTypeInContext = LLVMX86MMXTypeInContext;
> VERSION {
> MesaLLVM_1.0 { global: MesaLLVM*; local: *; };
> };
> GROUP(libLLVMAArch64AsmParser.a libLLVMAArch64AsmPrinter.a libLLVMAArch64CodeGen.a libLLVMAArch64Desc.a libLLVMAArch64Disassembler.a libLLVMAArch64Info.a libLLVMAArch64Utils.a libLLVMAnalysis.a libLLVMArchive.a libLLVMARMAsmParser.a libLLVMARMAsmPrinter.a libLLVMARMCodeGen.a libLLVMARMDesc.a libLLVMARMDisassembler.a libLLVMARMInfo.a libLLVMAsmParser.a libLLVMAsmPrinter.a libLLVMBitReader.a libLLVMBitWriter.a libLLVMCodeGen.a libLLVMCore.a libLLVMCppBackendCodeGen.a libLLVMCppBackendInfo.a libLLVMDebugInfo.a libLLVMExecutionEngine.a libLLVMHexagonAsmPrinter.a libLLVMHexagonCodeGen.a libLLVMHexagonDesc.a libLLVMHexagonInfo.a libLLVMInstCombine.a libLLVMInstrumentation.a libLLVMInterpreter.a libLLVMipa.a libLLVMipo.a libLLVMIRReader.a libLLVMJIT.a libLLVMLinker.a libLLVMMBlazeAsmParser.a libLLVMMBlazeAsmPrinter.a libLLVMMBlazeCodeGen.a libLLVMMBlazeDesc.a libLLVMMBlazeDisassembler.a libLLVMMBlazeInfo.a libLLVMMC.a libLLVMMCDisassembler.a libLLVMMCJIT.a libLLVMMCParser.a libLLVMMipsAsmParser.a libLLVMMipsAsmPrinter.a libLLVMMipsCodeGen.a libLLVMMipsDesc.a libLLVMMipsDisassembler.a libLLVMMipsInfo.a libLLVMMSP430AsmPrinter.a libLLVMMSP430CodeGen.a libLLVMMSP430Desc.a libLLVMMSP430Info.a libLLVMNVPTXAsmPrinter.a libLLVMNVPTXCodeGen.a libLLVMNVPTXDesc.a libLLVMNVPTXInfo.a libLLVMObjCARCOpts.a libLLVMObject.a libLLVMOption.a libLLVMPowerPCAsmPrinter.a libLLVMPowerPCCodeGen.a libLLVMPowerPCDesc.a libLLVMPowerPCInfo.a libLLVMR600AsmPrinter.a libLLVMR600CodeGen.a libLLVMR600Desc.a libLLVMR600Info.a libLLVMRuntimeDyld.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSparcCodeGen.a libLLVMSparcDesc.a libLLVMSparcInfo.a libLLVMSupport.a libLLVMTableGen.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMVectorize.a libLLVMX86AsmParser.a libLLVMX86AsmPrinter.a libLLVMX86CodeGen.a libLLVMX86Desc.a libLLVMX86Disassembler.a libLLVMX86Info.a libLLVMX86Utils.a libLLVMXCoreAsmPrinter.a libLLVMXCoreCodeGen.a libLLVMXCoreDesc.a libLLVMXCoreDisassembler.a libLLVMXCoreInfo.a libLTO.a libprofile_rt.a)

> /* Mesa llvm linker script */
> EXTERN(
> LLVMAddAlias
> LLVMAddAttribute
> LLVMAddCase
> LLVMAddClause
> LLVMAddDestination
> LLVMAddFunction
> LLVMAddFunctionAttr
> LLVMAddGlobal
> LLVMAddGlobalInAddressSpace
> LLVMAddIncoming
> LLVMAddInstrAttribute
> LLVMAddNamedMetadataOperand
> LLVMAddTargetDependentFunctionAttr
> LLVMAlignOf
> LLVMAppendBasicBlock
> LLVMAppendBasicBlockInContext
> LLVMArrayType
> LLVMBasicBlockAsValue
> LLVMBlockAddress
> LLVMBuildAdd
> LLVMBuildAggregateRet
> LLVMBuildAlloca
> LLVMBuildAnd
> LLVMBuildArrayAlloca
> LLVMBuildArrayMalloc
> LLVMBuildAShr
> LLVMBuildAtomicRMW
> LLVMBuildBinOp
> LLVMBuildBitCast
> LLVMBuildBr
> LLVMBuildCall
> LLVMBuildCast
> LLVMBuildCondBr
> LLVMBuildExactSDiv
> LLVMBuildExtractElement
> LLVMBuildExtractValue
> LLVMBuildFAdd
> LLVMBuildFCmp
> LLVMBuildFDiv
> LLVMBuildFMul
> LLVMBuildFNeg
> LLVMBuildFPCast
> LLVMBuildFPExt
> LLVMBuildFPToSI
> LLVMBuildFPToUI
> LLVMBuildFPTrunc
> LLVMBuildFree
> LLVMBuildFRem
> LLVMBuildFSub
> LLVMBuildGEP
> LLVMBuildGlobalString
> LLVMBuildGlobalStringPtr
> LLVMBuildICmp
> LLVMBuildInBoundsGEP
> LLVMBuildIndirectBr
> LLVMBuildInsertElement
> LLVMBuildInsertValue
> LLVMBuildIntCast
> LLVMBuildIntToPtr
> LLVMBuildInvoke
> LLVMBuildIsNotNull
> LLVMBuildIsNull
> LLVMBuildLandingPad
> LLVMBuildLoad
> LLVMBuildLShr
> LLVMBuildMalloc
> LLVMBuildMul
> LLVMBuildNeg
> LLVMBuildNot
> LLVMBuildNSWAdd
> LLVMBuildNSWMul
> LLVMBuildNSWNeg
> LLVMBuildNSWSub
> LLVMBuildNUWAdd
> LLVMBuildNUWMul
> LLVMBuildNUWNeg
> LLVMBuildNUWSub
> LLVMBuildOr
> LLVMBuildPhi
> LLVMBuildPointerCast
> LLVMBuildPtrDiff
> LLVMBuildPtrToInt
> LLVMBuildResume
> LLVMBuildRet
> LLVMBuildRetVoid
> LLVMBuildSDiv
> LLVMBuildSelect
> LLVMBuildSExt
> LLVMBuildSExtOrBitCast
> LLVMBuildShl
> LLVMBuildShuffleVector
> LLVMBuildSIToFP
> LLVMBuildSRem
> LLVMBuildStore
> LLVMBuildStructGEP
> LLVMBuildSub
> LLVMBuildSwitch
> LLVMBuildTrunc
> LLVMBuildTruncOrBitCast
> LLVMBuildUDiv
> LLVMBuildUIToFP
> LLVMBuildUnreachable
> LLVMBuildURem
> LLVMBuildVAArg
> LLVMBuildXor
> LLVMBuildZExt
> LLVMBuildZExtOrBitCast
> LLVMClearInsertionPosition
> LLVMConstAdd
> LLVMConstAllOnes
> LLVMConstAnd
> LLVMConstArray
> LLVMConstAShr
> LLVMConstBitCast
> LLVMConstExactSDiv
> LLVMConstExtractElement
> LLVMConstExtractValue
> LLVMConstFAdd
> LLVMConstFCmp
> LLVMConstFDiv
> LLVMConstFMul
> LLVMConstFNeg
> LLVMConstFPCast
> LLVMConstFPExt
> LLVMConstFPToSI
> LLVMConstFPToUI
> LLVMConstFPTrunc
> LLVMConstFRem
> LLVMConstFSub
> LLVMConstGEP
> LLVMConstICmp
> LLVMConstInBoundsGEP
> LLVMConstInlineAsm
> LLVMConstInsertElement
> LLVMConstInsertValue
> LLVMConstInt
> LLVMConstIntCast
> LLVMConstIntGetSExtValue
> LLVMConstIntGetZExtValue
> LLVMConstIntOfArbitraryPrecision
> LLVMConstIntOfString
> LLVMConstIntOfStringAndSize
> LLVMConstIntToPtr
> LLVMConstLShr
> LLVMConstMul
> LLVMConstNamedStruct
> LLVMConstNeg
> LLVMConstNot
> LLVMConstNSWAdd
> LLVMConstNSWMul
> LLVMConstNSWNeg
> LLVMConstNSWSub
> LLVMConstNull
> LLVMConstNUWAdd
> LLVMConstNUWMul
> LLVMConstNUWNeg
> LLVMConstNUWSub
> LLVMConstOr
> LLVMConstPointerCast
> LLVMConstPointerNull
> LLVMConstPtrToInt
> LLVMConstReal
> LLVMConstRealOfString
> LLVMConstRealOfStringAndSize
> LLVMConstSDiv
> LLVMConstSelect
> LLVMConstSExt
> LLVMConstSExtOrBitCast
> LLVMConstShl
> LLVMConstShuffleVector
> LLVMConstSIToFP
> LLVMConstSRem
> LLVMConstString
> LLVMConstStringInContext
> LLVMConstStruct
> LLVMConstStructInContext
> LLVMConstSub
> LLVMConstTrunc
> LLVMConstTruncOrBitCast
> LLVMConstUDiv
> LLVMConstUIToFP
> LLVMConstURem
> LLVMConstVector
> LLVMConstXor
> LLVMConstZExt
> LLVMConstZExtOrBitCast
> LLVMContextCreate
> LLVMContextDispose
> LLVMCountBasicBlocks
> LLVMCountIncoming
> LLVMCountParams
> LLVMCountParamTypes
> LLVMCountStructElementTypes
> LLVMCreateBuilder
> LLVMCreateBuilderInContext
> LLVMCreateFunctionPassManager
> LLVMCreateFunctionPassManagerForModule
> LLVMCreateMemoryBufferWithContentsOfFile
> LLVMCreateMemoryBufferWithMemoryRange
> LLVMCreateMemoryBufferWithMemoryRangeCopy
> LLVMCreateMemoryBufferWithSTDIN
> LLVMCreateModuleProviderForExistingModule
> LLVMCreatePassManager
> LLVMDeleteBasicBlock
> LLVMDeleteFunction
> LLVMDeleteGlobal
> LLVMDisposeBuilder
> LLVMDisposeMemoryBuffer
> LLVMDisposeMessage
> LLVMDisposeModule
> LLVMDisposeModuleProvider
> LLVMDisposePassManager
> LLVMDoubleType
> LLVMDoubleTypeInContext
> LLVMDumpModule
> LLVMDumpValue
> LLVMFinalizeFunctionPassManager
> LLVMFloatType
> LLVMFloatTypeInContext
> LLVMFP128Type
> LLVMFP128TypeInContext
> LLVMFunctionType
> LLVMGetAlignment
> LLVMGetArrayLength
> LLVMGetAttribute
> LLVMGetBasicBlockParent
> LLVMGetBasicBlocks
> LLVMGetBasicBlockTerminator
> LLVMGetBufferSize
> LLVMGetBufferStart
> LLVMGetConstOpcode
> LLVMGetCurrentDebugLocation
> LLVMGetDataLayout
> LLVMGetElementType
> LLVMGetEntryBasicBlock
> LLVMGetFirstBasicBlock
> LLVMGetFirstFunction
> LLVMGetFirstGlobal
> LLVMGetFirstInstruction
> LLVMGetFirstParam
> LLVMGetFirstUse
> LLVMGetFunctionAttr
> LLVMGetFunctionCallConv
> LLVMGetGC
> LLVMGetGlobalContext
> LLVMGetGlobalParent
> LLVMGetGlobalPassRegistry
> LLVMGetICmpPredicate
> LLVMGetIncomingBlock
> LLVMGetIncomingValue
> LLVMGetInitializer
> LLVMGetInsertBlock
> LLVMGetInstructionCallConv
> LLVMGetInstructionOpcode
> LLVMGetInstructionParent
> LLVMGetIntrinsicID
> LLVMGetIntTypeWidth
> LLVMGetLastBasicBlock
> LLVMGetLastFunction
> LLVMGetLastGlobal
> LLVMGetLastInstruction
> LLVMGetLastParam
> LLVMGetLinkage
> LLVMGetMDKindID
> LLVMGetMDKindIDInContext
> LLVMGetMDNodeNumOperands
> LLVMGetMDNodeOperands
> LLVMGetMDString
> LLVMGetMetadata
> LLVMGetModuleContext
> LLVMGetNamedFunction
> LLVMGetNamedGlobal
> LLVMGetNamedMetadataNumOperands
> LLVMGetNamedMetadataOperands
> LLVMGetNextBasicBlock
> LLVMGetNextFunction
> LLVMGetNextGlobal
> LLVMGetNextInstruction
> LLVMGetNextParam
> LLVMGetNextUse
> LLVMGetNumOperands
> LLVMGetOperand
> LLVMGetParam
> LLVMGetParamParent
> LLVMGetParams
> LLVMGetParamTypes
> LLVMGetPointerAddressSpace
> LLVMGetPreviousBasicBlock
> LLVMGetPreviousFunction
> LLVMGetPreviousGlobal
> LLVMGetPreviousInstruction
> LLVMGetPreviousParam
> LLVMGetReturnType
> LLVMGetSection
> LLVMGetStructElementTypes
> LLVMGetStructName
> LLVMGetSwitchDefaultDest
> LLVMGetTarget
> LLVMGetThreadLocalMode
> LLVMGetTypeByName
> LLVMGetTypeContext
> LLVMGetTypeKind
> LLVMGetUndef
> LLVMGetUsedValue
> LLVMGetUser
> LLVMGetValueName
> LLVMGetVectorSize
> LLVMGetVisibility
> LLVMGetVolatile
> LLVMHalfType
> LLVMHalfTypeInContext
> LLVMHasMetadata
> LLVMInitializeCore
> LLVMInitializeFunctionPassManager
> LLVMInsertBasicBlock
> LLVMInsertBasicBlockInContext
> LLVMInsertIntoBuilder
> LLVMInsertIntoBuilderWithName
> LLVMInstructionEraseFromParent
> LLVMInt16Type
> LLVMInt16TypeInContext
> LLVMInt1Type
> LLVMInt1TypeInContext
> LLVMInt32Type
> LLVMInt32TypeInContext
> LLVMInt64Type
> LLVMInt64TypeInContext
> LLVMInt8Type
> LLVMInt8TypeInContext
> LLVMIntType
> LLVMIntTypeInContext
> LLVMIsAAllocaInst
> LLVMIsAArgument
> LLVMIsABasicBlock
> LLVMIsABinaryOperator
> LLVMIsABitCastInst
> LLVMIsABlockAddress
> LLVMIsABranchInst
> LLVMIsACallInst
> LLVMIsACastInst
> LLVMIsACmpInst
> LLVMIsAConstant
> LLVMIsAConstantAggregateZero
> LLVMIsAConstantArray
> LLVMIsAConstantExpr
> LLVMIsAConstantFP
> LLVMIsAConstantInt
> LLVMIsAConstantPointerNull
> LLVMIsAConstantStruct
> LLVMIsAConstantVector
> LLVMIsADbgDeclareInst
> LLVMIsADbgInfoIntrinsic
> LLVMIsAExtractElementInst
> LLVMIsAExtractValueInst
> LLVMIsAFCmpInst
> LLVMIsAFPExtInst
> LLVMIsAFPToSIInst
> LLVMIsAFPToUIInst
> LLVMIsAFPTruncInst
> LLVMIsAFunction
> LLVMIsAGetElementPtrInst
> LLVMIsAGlobalAlias
> LLVMIsAGlobalValue
> LLVMIsAGlobalVariable
> LLVMIsAICmpInst
> LLVMIsAIndirectBrInst
> LLVMIsAInlineAsm
> LLVMIsAInsertElementInst
> LLVMIsAInsertValueInst
> LLVMIsAInstruction
> LLVMIsAIntrinsicInst
> LLVMIsAIntToPtrInst
> LLVMIsAInvokeInst
> LLVMIsALandingPadInst
> LLVMIsALoadInst
> LLVMIsAMDNode
> LLVMIsAMDString
> LLVMIsAMemCpyInst
> LLVMIsAMemIntrinsic
> LLVMIsAMemMoveInst
> LLVMIsAMemSetInst
> LLVMIsAPHINode
> LLVMIsAPtrToIntInst
> LLVMIsAResumeInst
> LLVMIsAReturnInst
> LLVMIsASelectInst
> LLVMIsASExtInst
> LLVMIsAShuffleVectorInst
> LLVMIsASIToFPInst
> LLVMIsAStoreInst
> LLVMIsASwitchInst
> LLVMIsATerminatorInst
> LLVMIsATruncInst
> LLVMIsAUIToFPInst
> LLVMIsAUnaryInstruction
> LLVMIsAUndefValue
> LLVMIsAUnreachableInst
> LLVMIsAUser
> LLVMIsAVAArgInst
> LLVMIsAZExtInst
> LLVMIsConstant
> LLVMIsDeclaration
> LLVMIsExternallyInitialized
> LLVMIsFunctionVarArg
> LLVMIsGlobalConstant
> LLVMIsMultithreaded
> LLVMIsNull
> LLVMIsOpaqueStruct
> LLVMIsPackedStruct
> LLVMIsTailCall
> LLVMIsThreadLocal
> LLVMIsUndef
> LLVMLabelType
> LLVMLabelTypeInContext
> LLVMMDNode
> LLVMMDNodeInContext
> LLVMMDString
> LLVMMDStringInContext
> LLVMModuleCreateWithName
> LLVMModuleCreateWithNameInContext
> LLVMMoveBasicBlockAfter
> LLVMMoveBasicBlockBefore
> LLVMPointerType
> LLVMPositionBuilder
> LLVMPositionBuilderAtEnd
> LLVMPositionBuilderBefore
> LLVMPPCFP128Type
> LLVMPPCFP128TypeInContext
> LLVMPrintModuleToFile
> LLVMRemoveAttribute
> LLVMRemoveBasicBlockFromParent
> LLVMRemoveFunctionAttr
> LLVMRemoveInstrAttribute
> LLVMReplaceAllUsesWith
> LLVMRunFunctionPassManager
> LLVMRunPassManager
> LLVMSetAlignment
> LLVMSetCleanup
> LLVMSetCurrentDebugLocation
> LLVMSetDataLayout
> LLVMSetExternallyInitialized
> LLVMSetFunctionCallConv
> LLVMSetGC
> LLVMSetGlobalConstant
> LLVMSetInitializer
> LLVMSetInstDebugLocation
> LLVMSetInstrParamAlignment
> LLVMSetInstructionCallConv
> LLVMSetLinkage
> LLVMSetMetadata
> LLVMSetModuleInlineAsm
> LLVMSetOperand
> LLVMSetParamAlignment
> LLVMSetSection
> LLVMSetTailCall
> LLVMSetTarget
> LLVMSetThreadLocal
> LLVMSetThreadLocalMode
> LLVMSetValueName
> LLVMSetVisibility
> LLVMSetVolatile
> LLVMShutdown
> LLVMSizeOf
> LLVMStartMultithreaded
> LLVMStopMultithreaded
> LLVMStructCreateNamed
> LLVMStructSetBody
> LLVMStructType
> LLVMStructTypeInContext
> LLVMTypeIsSized
> LLVMTypeOf
> LLVMValueAsBasicBlock
> LLVMValueIsBasicBlock
> LLVMVectorType
> LLVMVoidType
> LLVMVoidTypeInContext
> LLVMX86FP80Type
> LLVMX86FP80TypeInContext
> LLVMX86MMXType
> LLVMX86MMXTypeInContext
> )
> VERSION {
> MesaLLVM_1.0 { global: LLVM*; local: *; };
> };
> GROUP(libLLVMAArch64AsmParser.a libLLVMAArch64AsmPrinter.a libLLVMAArch64CodeGen.a libLLVMAArch64Desc.a libLLVMAArch64Disassembler.a libLLVMAArch64Info.a libLLVMAArch64Utils.a libLLVMAnalysis.a libLLVMArchive.a libLLVMARMAsmParser.a libLLVMARMAsmPrinter.a libLLVMARMCodeGen.a libLLVMARMDesc.a libLLVMARMDisassembler.a libLLVMARMInfo.a libLLVMAsmParser.a libLLVMAsmPrinter.a libLLVMBitReader.a libLLVMBitWriter.a libLLVMCodeGen.a libLLVMCore.a libLLVMCppBackendCodeGen.a libLLVMCppBackendInfo.a libLLVMDebugInfo.a libLLVMExecutionEngine.a libLLVMHexagonAsmPrinter.a libLLVMHexagonCodeGen.a libLLVMHexagonDesc.a libLLVMHexagonInfo.a libLLVMInstCombine.a libLLVMInstrumentation.a libLLVMInterpreter.a libLLVMipa.a libLLVMipo.a libLLVMIRReader.a libLLVMJIT.a libLLVMLinker.a libLLVMMBlazeAsmParser.a libLLVMMBlazeAsmPrinter.a libLLVMMBlazeCodeGen.a libLLVMMBlazeDesc.a libLLVMMBlazeDisassembler.a libLLVMMBlazeInfo.a libLLVMMC.a libLLVMMCDisassembler.a libLLVMMCJIT.a libLLVMMCParser.a libLLVMMipsAsmParser.a libLLVMMipsAsmPrinter.a libLLVMMipsCodeGen.a libLLVMMipsDesc.a libLLVMMipsDisassembler.a libLLVMMipsInfo.a libLLVMMSP430AsmPrinter.a libLLVMMSP430CodeGen.a libLLVMMSP430Desc.a libLLVMMSP430Info.a libLLVMNVPTXAsmPrinter.a libLLVMNVPTXCodeGen.a libLLVMNVPTXDesc.a libLLVMNVPTXInfo.a libLLVMObjCARCOpts.a libLLVMObject.a libLLVMOption.a libLLVMPowerPCAsmPrinter.a libLLVMPowerPCCodeGen.a libLLVMPowerPCDesc.a libLLVMPowerPCInfo.a libLLVMR600AsmPrinter.a libLLVMR600CodeGen.a libLLVMR600Desc.a libLLVMR600Info.a libLLVMRuntimeDyld.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSparcCodeGen.a libLLVMSparcDesc.a libLLVMSparcInfo.a libLLVMSupport.a libLLVMTableGen.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMVectorize.a libLLVMX86AsmParser.a libLLVMX86AsmPrinter.a libLLVMX86CodeGen.a libLLVMX86Desc.a libLLVMX86Disassembler.a libLLVMX86Info.a libLLVMX86Utils.a libLLVMXCoreAsmPrinter.a libLLVMXCoreCodeGen.a libLLVMXCoreDesc.a libLLVMXCoreDisassembler.a libLLVMXCoreInfo.a libLTO.a libprofile_rt.a)



More information about the mesa-dev mailing list