LIBRARY backend EXPORTS ;BitReader.h ;/* Builds a module from the bitcode in the specified memory buffer, returning a ; reference to the module via the OutModule parameter. Returns 0 on success. ; Optionally returns a human-readable error message via OutMessage. */ LLVMParseBitcode ;/* Reads a module from the specified path, returning via the OutMP parameter ; a module provider which performs lazy deserialization. Returns 0 on success. ; Optionally returns a human-readable error message via OutMessage. */ LLVMGetBitcodeModuleProvider ;BitWriter.h LLVMWriteBitcodeToFileHandle LLVMWriteBitcodeToFile ;Core.h ;/*===-- Error handling ----------------------------------------------------===*/ LLVMDisposeMessage ;/** See llvm::Module::Module. */ LLVMModuleCreateWithName ;/** See llvm::Module::~Module. */ LLVMDisposeModule ;/** Data layout. See Module::getDataLayout. */ LLVMGetDataLayout LLVMSetDataLayout ;/** Target triple. See Module::getTargetTriple. */ LLVMGetTarget LLVMSetTarget ;/** See Module::addTypeName. */ LLVMAddTypeName LLVMDeleteTypeName ;/** See Module::dump. */ LLVMDumpModule ;/** See llvm::LLVMTypeKind::getTypeID. */ LLVMGetTypeKind ;/* Operations on integer types */ LLVMInt1Type LLVMInt8Type LLVMInt16Type LLVMInt32Type LLVMInt64Type LLVMIntType LLVMGetIntTypeWidth ;/* Operations on real types */ LLVMFloatType LLVMDoubleType LLVMX86FP80Type LLVMFP128Type LLVMPPCFP128Type ;/* Operations on function types */ LLVMFunctionType LLVMIsFunctionVarArg LLVMGetReturnType LLVMCountParamTypes LLVMGetParamTypes ;/* Operations on struct types */ LLVMStructType LLVMCountStructElementTypes LLVMGetStructElementTypes LLVMIsPackedStruct ;/* Operations on array, pointer, and vector types (sequence types) */ LLVMArrayType LLVMPointerType LLVMVectorType LLVMGetElementType LLVMGetArrayLength LLVMGetPointerAddressSpace LLVMGetVectorSize ;/* Operations on other types */ LLVMVoidType LLVMLabelType LLVMOpaqueType ;/* Operations on type handles */ LLVMCreateTypeHandle LLVMRefineType LLVMResolveTypeHandle LLVMDisposeTypeHandle ;/*===-- Values ------------------------------------------------------------===*/ ;/* The bulk of LLVM's object model consists of values, which comprise a very ; * rich type hierarchy. ; * ; * values: ; * constants: ; * scalar constants ; * composite contants ; * globals: ; * global variable ; * function ; * alias ; * basic blocks ; */ ;/* Operations on all values */ LLVMTypeOf LLVMGetValueName LLVMSetValueName LLVMDumpValue ;/* Operations on constants of any type */ ;/* all zeroes */ LLVMConstNull ;/* only for int/vector */ LLVMConstAllOnes LLVMGetUndef LLVMIsConstant LLVMIsNull LLVMIsUndef ;/* Operations on scalar constants */ LLVMConstInt LLVMConstReal LLVMConstRealOfString ;/* Operations on composite constants */ LLVMConstString LLVMConstArray LLVMConstStruct LLVMConstVector ;/* Constant expressions */ LLVMSizeOf LLVMConstNeg LLVMConstNot LLVMConstAdd LLVMConstSub LLVMConstMul LLVMConstUDiv LLVMConstSDiv LLVMConstFDiv LLVMConstURem LLVMConstSRem LLVMConstFRem LLVMConstAnd LLVMConstOr LLVMConstXor LLVMConstICmp LLVMConstFCmp LLVMConstShl LLVMConstLShr LLVMConstAShr LLVMConstGEP LLVMConstTrunc LLVMConstSExt LLVMConstZExt LLVMConstFPTrunc LLVMConstFPExt LLVMConstUIToFP LLVMConstSIToFP LLVMConstFPToUI LLVMConstFPToSI LLVMConstPtrToInt LLVMConstIntToPtr LLVMConstBitCast LLVMConstSelect LLVMConstExtractElement LLVMConstInsertElement LLVMConstShuffleVector ;/* Operations on global variables, functions, and aliases (globals) */ LLVMGetGlobalParent LLVMIsDeclaration LLVMGetLinkage LLVMSetLinkage LLVMGetSection LLVMSetSection LLVMGetVisibility LLVMSetVisibility LLVMGetAlignment LLVMSetAlignment ;/* Operations on global variables */ LLVMAddGlobal LLVMGetNamedGlobal LLVMGetFirstGlobal LLVMGetLastGlobal LLVMGetNextGlobal LLVMGetPreviousGlobal LLVMDeleteGlobal LLVMHasInitializer LLVMGetInitializer LLVMSetInitializer LLVMIsThreadLocal LLVMSetThreadLocal LLVMIsGlobalConstant LLVMSetGlobalConstant ;/* Operations on functions */ LLVMAddFunction LLVMGetNamedFunction LLVMGetFirstFunction LLVMGetLastFunction LLVMGetNextFunction LLVMGetPreviousFunction LLVMDeleteFunction LLVMGetIntrinsicID LLVMGetFunctionCallConv LLVMSetFunctionCallConv LLVMGetCollector LLVMSetCollector ;/* Operations on parameters */ LLVMCountParams LLVMGetParams LLVMGetParam LLVMGetParamParent LLVMGetFirstParam LLVMGetLastParam LLVMGetNextParam LLVMGetPreviousParam LLVMAddParamAttr LLVMRemoveParamAttr LLVMSetParamAlignment ;/* Operations on basic blocks */ LLVMBasicBlockAsValue LLVMValueIsBasicBlock LLVMValueAsBasicBlock LLVMGetBasicBlockParent LLVMCountBasicBlocks LLVMGetBasicBlocks LLVMGetFirstBasicBlock LLVMGetLastBasicBlock LLVMGetNextBasicBlock LLVMGetPreviousBasicBlock LLVMGetEntryBasicBlock LLVMAppendBasicBlock LLVMInsertBasicBlock LLVMDeleteBasicBlock ;/* Operations on instructions */ LLVMGetInstructionParent LLVMGetFirstInstruction LLVMGetLastInstruction LLVMGetNextInstruction LLVMGetPreviousInstruction ;/* Operations on call sites */ LLVMSetInstructionCallConv LLVMGetInstructionCallConv LLVMAddInstrParamAttr LLVMRemoveInstrParamAttr LLVMSetInstrParamAlignment ;/* Operations on phi nodes */ LLVMAddIncoming LLVMCountIncoming LLVMGetIncomingValue LLVMGetIncomingBlock ;/*===-- Instruction builders ----------------------------------------------===*/ ;/* An instruction builder represents a point within a basic block, and is the ; * exclusive means of building instructions using the C interface. ; */ LLVMCreateBuilder LLVMPositionBuilder LLVMPositionBuilderBefore LLVMPositionBuilderAtEnd LLVMGetInsertBlock LLVMDisposeBuilder ;/* Terminators */ LLVMBuildRetVoid LLVMBuildRet LLVMBuildBr LLVMBuildCondBr LLVMBuildSwitch LLVMBuildInvoke LLVMBuildUnwind LLVMBuildUnreachable ;/* Add a case to the switch instruction */ LLVMAddCase ;/* Arithmetic */ LLVMBuildAdd LLVMBuildSub LLVMBuildMul LLVMBuildUDiv LLVMBuildSDiv LLVMBuildFDiv LLVMBuildURem LLVMBuildSRem LLVMBuildFRem LLVMBuildShl LLVMBuildLShr LLVMBuildAShr LLVMBuildAnd LLVMBuildOr LLVMBuildXor LLVMBuildNeg LLVMBuildNot ;/* Memory */ LLVMBuildMalloc LLVMBuildArrayMalloc LLVMBuildAlloca LLVMBuildArrayAlloca LLVMBuildFree LLVMBuildLoad LLVMBuildStore LLVMBuildGEP ;/* Casts */ LLVMBuildTrunc LLVMBuildZExt LLVMBuildSExt LLVMBuildFPToUI LLVMBuildFPToSI LLVMBuildUIToFP LLVMBuildSIToFP LLVMBuildFPTrunc LLVMBuildFPExt LLVMBuildPtrToInt LLVMBuildIntToPtr LLVMBuildBitCast ;/* Comparisons */ LLVMBuildICmp LLVMBuildFCmp ;/* Miscellaneous instructions */ LLVMBuildPhi LLVMBuildCall LLVMBuildSelect LLVMBuildVAArg LLVMBuildExtractElement LLVMBuildInsertElement LLVMBuildShuffleVector ;/*===-- Module providers --------------------------------------------------===*/ ;/* Encapsulates the module M in a module provider, taking ownership of the ; * module. ; * See the constructor llvm::ExistingModuleProvider::ExistingModuleProvider. ; */ LLVMCreateModuleProviderForExistingModule ;/* Destroys the module provider MP as well as the contained module. ; * See the destructor llvm::ModuleProvider::~ModuleProvider. ; */ LLVMDisposeModuleProvider ;/*===-- Memory buffers ----------------------------------------------------===*/ LLVMCreateMemoryBufferWithContentsOfFile LLVMCreateMemoryBufferWithSTDIN LLVMDisposeMemoryBuffer ;/*===-- Pass Managers -----------------------------------------------------===*/ ;/** Constructs a new whole-module pass pipeline. This type of pipeline is ; suitable for link-time optimization and whole-module transformations. ; See llvm::PassManager::PassManager. */ LLVMCreatePassManager ;/** Constructs a new function-by-function pass pipeline over the module ; provider. It does not take ownership of the module provider. This type of ; pipeline is suitable for code generation and JIT compilation tasks. ; See llvm::FunctionPassManager::FunctionPassManager. */ LLVMCreateFunctionPassManager ;/** Initializes, executes on the provided module, and finalizes all of the ; passes scheduled in the pass manager. Returns 1 if any of the passes ; modified the module, 0 otherwise. See llvm::PassManager::run(Module&). */ LLVMRunPassManager ;/** Initializes all of the function passes scheduled in the function pass ; manager. Returns 1 if any of the passes modified the module, 0 otherwise. ; See llvm::FunctionPassManager::doInitialization. */ LLVMInitializeFunctionPassManager ;/** Executes all of the function passes scheduled in the function pass manager ; on the provided function. Returns 1 if any of the passes modified the ; function, false otherwise. ; See llvm::FunctionPassManager::run(Function&). */ LLVMRunFunctionPassManager ;/** Finalizes all of the function passes scheduled in in the function pass ; manager. Returns 1 if any of the passes modified the module, 0 otherwise. ; See llvm::FunctionPassManager::doFinalization. */ LLVMFinalizeFunctionPassManager ;/** Frees the memory of a pass pipeline. For function pipelines, does not free ; the module provider. ; See llvm::PassManagerBase::~PassManagerBase. */ LLVMDisposePassManager ;Analysis.h LLVMVerifyModule LLVMVerifyFunction LLVMViewFunctionCFG LLVMViewFunctionCFGOnly ;Target.h LLVMCreateTargetData LLVMAddTargetData LLVMCopyStringRepOfTargetData LLVMByteOrder LLVMPointerSize LLVMIntPtrType LLVMSizeOfTypeInBits LLVMStoreSizeOfType LLVMABISizeOfType LLVMABIAlignmentOfType LLVMCallFrameAlignmentOfType LLVMPreferredAlignmentOfType LLVMPreferredAlignmentOfGlobal LLVMElementAtOffset LLVMOffsetOfElement LLVMInvalidateStructLayout LLVMDisposeTargetData ;possible C++ enhancement? ;llvm-ext.cpp LLVMEraseFromParent LLVMIsTerminated LLVMHasPredecessors LLVMIsBasicBlockEmpty LLVMReplaceAllUsesWith LLVMDumpType LLVMGetOrInsertFunction LLVMGetValueKind LLVMValueToString LLVMTypeToString LLVMGetTypeByName LLVMIsTypeAbstract ;llvm-opt.cpp LLVMOptimizeModule ;llvm-typemonitor.cpp LLVMRegisterAbstractTypeCallback ;EOF