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@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 ... Greetings Mathias
mklinkerscript.sh
Description: application/shellscript
/* 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)
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev