[−][src]Module rustc_codegen_llvm::llvm_::ffi

Modules

coverageinfo
debuginfo

Structs

ArchiveChild
ArchiveIterator
Builder
InvariantOpaque
Linker
OperandBundleDef
PassManager
RustArchiveMember
SanitizerOptions

LLVMRustSanitizerOptions

SectionIterator
ThinLTOModule

LLVMRustThinLTOModule

Enums

ArchiveKind

LLVMRustArchiveKind

AsmDialect

LLVMRustAsmDialect

AtomicOrdering

LLVMAtomicOrdering

AtomicRmwBinOp

LLVMAtomicRmwBinOp

Attribute

Matches LLVMRustAttribute in LLVMWrapper.h Semantically a subset of the C++ enum llvm::Attribute::AttrKind, though it is not ABI compatible (since it's a C++ enum)

CallConv

LLVM CallingConv::ID. Should we wrap this?

ChecksumKind

LLVMRustChecksumKind

CodeGenOptLevel

LLVMRustCodeGenOptLevel

CodeModel

LLVMRustCodeModel

DLLStorageClass

LLVMDLLStorageClass

DiagnosticKind

LLVMRustDiagnosticKind

DiagnosticLevel

LLVMRustDiagnosticLevel

FileType

LLVMRustFileType

IntPredicate

LLVMIntPredicate

LLVMRustResult
Linkage

LLVMRustLinkage

MetadataType

LLVMMetadataType

OptStage

LLVMRustOptStage

PassBuilderOptLevel

LLVMRustPassBuilderOptLevel

PassKind

LLVMRustPassKind

RealPredicate

LLVMRealPredicate

RelocModel

LLVMRelocMode

SynchronizationScope

LLVMRustSynchronizationScope

ThreadLocalMode

LLVMThreadLocalMode

TypeKind

LLVMTypeKind

UnnamedAddr

LLVMUnnamedAddr

Visibility

Constants

False
True

Functions

LLVMAddAnalysisPasses⚠
LLVMAddCase⚠
LLVMAddClause⚠
LLVMAddGlobal⚠
LLVMAddIncoming⚠
LLVMAddNamedMetadataOperand⚠
LLVMAppendBasicBlockInContext⚠
LLVMBuildAShr⚠
LLVMBuildAdd⚠
LLVMBuildAlloca⚠
LLVMBuildAnd⚠
LLVMBuildArrayAlloca⚠
LLVMBuildAtomicRMW⚠
LLVMBuildBitCast⚠
LLVMBuildBr⚠
LLVMBuildCondBr⚠
LLVMBuildExactSDiv⚠
LLVMBuildExactUDiv⚠
LLVMBuildExtractElement⚠
LLVMBuildExtractValue⚠
LLVMBuildFAdd⚠
LLVMBuildFCmp⚠
LLVMBuildFDiv⚠
LLVMBuildFMul⚠
LLVMBuildFNeg⚠
LLVMBuildFPExt⚠
LLVMBuildFPToSI⚠
LLVMBuildFPToUI⚠
LLVMBuildFPTrunc⚠
LLVMBuildFRem⚠
LLVMBuildFSub⚠
LLVMBuildGEP⚠
LLVMBuildICmp⚠
LLVMBuildInBoundsGEP⚠
LLVMBuildInsertElement⚠
LLVMBuildInsertValue⚠
LLVMBuildIntToPtr⚠
LLVMBuildLShr⚠
LLVMBuildLandingPad⚠
LLVMBuildLoad⚠
LLVMBuildMul⚠
LLVMBuildNSWAdd⚠
LLVMBuildNSWMul⚠
LLVMBuildNSWSub⚠
LLVMBuildNUWAdd⚠
LLVMBuildNUWMul⚠
LLVMBuildNUWSub⚠
LLVMBuildNeg⚠
LLVMBuildNot⚠
LLVMBuildOr⚠
LLVMBuildPhi⚠
LLVMBuildPointerCast⚠
LLVMBuildPtrToInt⚠
LLVMBuildResume⚠
LLVMBuildRet⚠
LLVMBuildRetVoid⚠
LLVMBuildSDiv⚠
LLVMBuildSExt⚠
LLVMBuildSIToFP⚠
LLVMBuildSRem⚠
LLVMBuildSelect⚠
LLVMBuildShl⚠
LLVMBuildShuffleVector⚠
LLVMBuildStore⚠
LLVMBuildStructGEP⚠
LLVMBuildSub⚠
LLVMBuildSwitch⚠
LLVMBuildTrunc⚠
LLVMBuildUDiv⚠
LLVMBuildUIToFP⚠
LLVMBuildURem⚠
LLVMBuildUnreachable⚠
LLVMBuildVAArg⚠
LLVMBuildXor⚠
LLVMBuildZExt⚠
LLVMCloneModule⚠
LLVMConstArray⚠
LLVMConstBitCast⚠
LLVMConstExtractValue⚠
LLVMConstInBoundsGEP⚠
LLVMConstInt⚠
LLVMConstIntGetZExtValue⚠
LLVMConstIntOfArbitraryPrecision⚠
LLVMConstIntToPtr⚠
LLVMConstNull⚠
LLVMConstPointerCast⚠
LLVMConstPtrToInt⚠
LLVMConstReal⚠
LLVMConstStringInContext⚠
LLVMConstStructInContext⚠
LLVMConstVector⚠
LLVMConstZExt⚠
LLVMContextDispose⚠
LLVMContextSetDiagnosticHandler⚠
LLVMCountParamTypes⚠
LLVMCountParams⚠
LLVMCreateBuilderInContext⚠
LLVMCreateFunctionPassManagerForModule⚠

Creates a function-by-function pass manager

LLVMCreateObjectFile⚠

Opens an object file.

LLVMCreatePassManager⚠

Creates a pass manager.

LLVMDeleteBasicBlock⚠
LLVMDeleteGlobal⚠
LLVMDisposeBuilder⚠
LLVMDisposeObjectFile⚠

Closes an object file.

LLVMDisposePassManager⚠

Disposes a pass manager.

LLVMDisposeSectionIterator⚠

Destroys a section iterator.

LLVMDoubleTypeInContext⚠
LLVMFloatTypeInContext⚠
LLVMFunctionType⚠
LLVMGetAlignment⚠
LLVMGetBasicBlockParent⚠
LLVMGetDataLayoutStr⚠

Data layout. See Module::getDataLayout.

LLVMGetElementType⚠
LLVMGetFirstBasicBlock⚠
LLVMGetFirstGlobal⚠
LLVMGetInitializer⚠
LLVMGetInsertBlock⚠
LLVMGetIntTypeWidth⚠
LLVMGetMDKindIDInContext⚠
LLVMGetModuleContext⚠
LLVMGetNamedGlobal⚠
LLVMGetNextGlobal⚠
LLVMGetParam⚠
LLVMGetParamTypes⚠
LLVMGetSectionContents⚠

Returns the current section contents as a string buffer.

LLVMGetSectionSize⚠

Returns the current section size.

LLVMGetSections⚠

Enumerates the sections in an object file.

LLVMGetUndef⚠
LLVMGetValueName2⚠
LLVMGetVectorSize⚠
LLVMInitializePasses⚠
LLVMInt1TypeInContext⚠
LLVMInt8TypeInContext⚠
LLVMInt16TypeInContext⚠
LLVMInt32TypeInContext⚠
LLVMInt64TypeInContext⚠
LLVMIntTypeInContext⚠
LLVMIsAArgument⚠
LLVMIsAConstantInt⚠
LLVMIsAGlobalVariable⚠
LLVMIsAInstruction⚠
LLVMIsDeclaration⚠
LLVMIsGlobalConstant⚠
LLVMIsSectionIteratorAtEnd⚠

Returns true if the section iterator is at the end of the section list:

LLVMMDNodeInContext⚠
LLVMMDStringInContext⚠
LLVMModuleCreateWithNameInContext⚠
LLVMMoveToNextSection⚠

Moves the section iterator to point to the next section.

LLVMPassManagerBuilderCreate⚠
LLVMPassManagerBuilderDispose⚠
LLVMPassManagerBuilderPopulateFunctionPassManager⚠
LLVMPassManagerBuilderPopulateLTOPassManager⚠
LLVMPassManagerBuilderPopulateModulePassManager⚠
LLVMPassManagerBuilderSetDisableUnrollLoops⚠
LLVMPassManagerBuilderSetSizeLevel⚠
LLVMPassManagerBuilderUseInlinerWithThreshold⚠
LLVMPointerType⚠
LLVMPositionBuilderAtEnd⚠
LLVMReplaceAllUsesWith⚠
LLVMRunPassManager⚠

Runs a pass manager on a module.

LLVMRustAddAlignmentAttr⚠
LLVMRustAddAlignmentCallSiteAttr⚠
LLVMRustAddAlwaysInlinePass⚠
LLVMRustAddBuilderLibraryInfo⚠
LLVMRustAddByValAttr⚠
LLVMRustAddByValCallSiteAttr⚠
LLVMRustAddCallSiteAttribute⚠
LLVMRustAddDereferenceableAttr⚠
LLVMRustAddDereferenceableCallSiteAttr⚠
LLVMRustAddDereferenceableOrNullAttr⚠
LLVMRustAddDereferenceableOrNullCallSiteAttr⚠
LLVMRustAddFunctionAttrStringValue⚠
LLVMRustAddFunctionAttribute⚠
LLVMRustAddHandler⚠
LLVMRustAddLastExtensionPasses⚠
LLVMRustAddLibraryInfo⚠
LLVMRustAddModuleFlag⚠
LLVMRustAddPass⚠
LLVMRustAppendModuleInlineAsm⚠
LLVMRustArchiveChildData⚠
LLVMRustArchiveChildFree⚠
LLVMRustArchiveChildName⚠
LLVMRustArchiveIteratorFree⚠
LLVMRustArchiveIteratorNew⚠
LLVMRustArchiveIteratorNext⚠
LLVMRustArchiveMemberFree⚠
LLVMRustArchiveMemberNew⚠
LLVMRustArrayType⚠
LLVMRustBuildAtomicCmpXchg⚠
LLVMRustBuildAtomicFence⚠
LLVMRustBuildAtomicLoad⚠
LLVMRustBuildAtomicStore⚠
LLVMRustBuildCall⚠
LLVMRustBuildCatchPad⚠
LLVMRustBuildCatchRet⚠
LLVMRustBuildCatchSwitch⚠
LLVMRustBuildCleanupPad⚠
LLVMRustBuildCleanupRet⚠
LLVMRustBuildIntCast⚠
LLVMRustBuildInvoke⚠
LLVMRustBuildMaxNum⚠
LLVMRustBuildMemCpy⚠
LLVMRustBuildMemMove⚠
LLVMRustBuildMemSet⚠
LLVMRustBuildMinNum⚠
LLVMRustBuildOperandBundleDef⚠
LLVMRustBuildVectorReduceAdd⚠
LLVMRustBuildVectorReduceAnd⚠
LLVMRustBuildVectorReduceFAdd⚠
LLVMRustBuildVectorReduceFMax⚠
LLVMRustBuildVectorReduceFMin⚠
LLVMRustBuildVectorReduceFMul⚠
LLVMRustBuildVectorReduceMax⚠
LLVMRustBuildVectorReduceMin⚠
LLVMRustBuildVectorReduceMul⚠
LLVMRustBuildVectorReduceOr⚠
LLVMRustBuildVectorReduceXor⚠
LLVMRustComputeLTOCacheKey⚠
LLVMRustConfigurePassManagerBuilder⚠
LLVMRustConstInt128Get⚠
LLVMRustContextCreate⚠
LLVMRustCoverageComputeHash⚠
LLVMRustCoverageCreatePGOFuncNameVar⚠
LLVMRustCoverageMappingVersion⚠
LLVMRustCoverageWriteFilenamesSectionToBuffer⚠
LLVMRustCoverageWriteMappingToBuffer⚠
LLVMRustCoverageWriteMappingVarNameToString⚠
LLVMRustCoverageWriteSectionNameToString⚠
LLVMRustCreateAddressSanitizerFunctionPass⚠
LLVMRustCreateMemoryBufferWithContentsOfFile⚠

Reads the given file and returns it as a memory buffer. Use LLVMDisposeMemoryBuffer() to get rid of it.

LLVMRustCreateMemorySanitizerPass⚠
LLVMRustCreateModuleAddressSanitizerPass⚠
LLVMRustCreateTargetMachine⚠
LLVMRustCreateThinLTOData⚠
LLVMRustCreateThreadSanitizerPass⚠
LLVMRustDIBuilderCreate⚠
LLVMRustDIBuilderCreateArrayType⚠
LLVMRustDIBuilderCreateBasicType⚠
LLVMRustDIBuilderCreateCompileUnit⚠
LLVMRustDIBuilderCreateDebugLocation⚠
LLVMRustDIBuilderCreateEnumerationType⚠
LLVMRustDIBuilderCreateEnumerator⚠
LLVMRustDIBuilderCreateFile⚠
LLVMRustDIBuilderCreateFunction⚠
LLVMRustDIBuilderCreateLexicalBlock⚠
LLVMRustDIBuilderCreateLexicalBlockFile⚠
LLVMRustDIBuilderCreateMemberType⚠
LLVMRustDIBuilderCreateNameSpace⚠
LLVMRustDIBuilderCreateOpDeref⚠
LLVMRustDIBuilderCreateOpPlusUconst⚠
LLVMRustDIBuilderCreatePointerType⚠
LLVMRustDIBuilderCreateStaticVariable⚠
LLVMRustDIBuilderCreateStructType⚠
LLVMRustDIBuilderCreateSubroutineType⚠
LLVMRustDIBuilderCreateTemplateTypeParameter⚠
LLVMRustDIBuilderCreateTypedef⚠
LLVMRustDIBuilderCreateUnionType⚠
LLVMRustDIBuilderCreateVariable⚠
LLVMRustDIBuilderCreateVariantMemberType⚠
LLVMRustDIBuilderCreateVariantPart⚠
LLVMRustDIBuilderDispose⚠
LLVMRustDIBuilderFinalize⚠
LLVMRustDIBuilderGetOrCreateArray⚠
LLVMRustDIBuilderGetOrCreateSubrange⚠
LLVMRustDIBuilderInsertDeclareAtEnd⚠
LLVMRustDICompositeTypeReplaceArrays⚠
LLVMRustDebugMetadataVersion⚠
LLVMRustDestroyArchive⚠
LLVMRustDisposeTargetMachine⚠
LLVMRustFindAndCreatePass⚠
LLVMRustFreeOperandBundleDef⚠
LLVMRustFreeThinLTOData⚠
LLVMRustGetBitcodeSliceFromObjectData⚠
LLVMRustGetDiagInfoKind⚠
LLVMRustGetHostCPUName⚠
LLVMRustGetInstrProfIncrementIntrinsic⚠
LLVMRustGetInstructionCount⚠
LLVMRustGetLastError⚠

Returns a string describing the last error caused by an LLVMRust* call.

LLVMRustGetLinkage⚠
LLVMRustGetNamedValue⚠
LLVMRustGetOrInsertFunction⚠
LLVMRustGetOrInsertGlobal⚠
LLVMRustGetSectionName⚠
LLVMRustGetThinLTOModuleImports⚠
LLVMRustGetTypeKind⚠

See llvm::LLVMTypeKind::getTypeID.

LLVMRustGetVisibility⚠
LLVMRustHasFeature⚠
LLVMRustInlineAsm⚠

Prepares inline assembly.

LLVMRustInlineAsmVerify⚠
LLVMRustInsertPrivateGlobal⚠
LLVMRustInstallFatalErrorHandler⚠
LLVMRustLinkerAdd⚠
LLVMRustLinkerFree⚠
LLVMRustLinkerNew⚠
LLVMRustMarkAllFunctionsNounwind⚠
LLVMRustMetadataAsValue⚠
LLVMRustMetadataTypeInContext⚠
LLVMRustModuleBufferCreate⚠
LLVMRustModuleBufferFree⚠
LLVMRustModuleBufferLen⚠
LLVMRustModuleBufferPtr⚠
LLVMRustModuleCost⚠
LLVMRustOpenArchive⚠
LLVMRustOptimizeWithNewPassManager⚠
LLVMRustParseBitcodeForLTO⚠
LLVMRustPassKind⚠
LLVMRustPassManagerBuilderPopulateThinLTOPassManager⚠
LLVMRustPositionBuilderAtStart⚠
LLVMRustPrepareThinLTOImport⚠
LLVMRustPrepareThinLTOInternalize⚠
LLVMRustPrepareThinLTORename⚠
LLVMRustPrepareThinLTOResolveWeak⚠
LLVMRustPrintModule⚠
LLVMRustPrintPassTimings⚠

Print the pass timings since static dtors aren't picking them up.

LLVMRustPrintPasses⚠
LLVMRustPrintTargetCPUs⚠
LLVMRustPrintTargetFeatures⚠
LLVMRustRemoveFunctionAttributes⚠
LLVMRustRunFunctionPassManager⚠
LLVMRustRunRestrictionPass⚠
LLVMRustSetComdat⚠
LLVMRustSetDataLayoutFromTargetMachine⚠
LLVMRustSetHasUnsafeAlgebra⚠
LLVMRustSetInlineAsmDiagnosticHandler⚠
LLVMRustSetLLVMOptions⚠
LLVMRustSetLinkage⚠
LLVMRustSetModulePICLevel⚠
LLVMRustSetModulePIELevel⚠
LLVMRustSetNormalizedTarget⚠
LLVMRustSetVisibility⚠
LLVMRustThinLTOBufferCreate⚠
LLVMRustThinLTOBufferFree⚠
LLVMRustThinLTOBufferLen⚠
LLVMRustThinLTOBufferPtr⚠
LLVMRustThinLTOGetDICompileUnit⚠
LLVMRustThinLTOPatchDICompileUnit⚠
LLVMRustUnpackInlineAsmDiagnostic⚠
LLVMRustUnpackOptimizationDiagnostic⚠
LLVMRustUnpackSMDiagnostic⚠
LLVMRustUnsetComdat⚠
LLVMRustVersionMajor⚠
LLVMRustVersionMinor⚠
LLVMRustWriteArchive⚠
LLVMRustWriteDiagnosticInfoToString⚠
LLVMRustWriteOutputFile⚠
LLVMRustWriteTwineToString⚠
LLVMRustWriteTypeToString⚠
LLVMRustWriteValueToString⚠
LLVMSetAlignment⚠
LLVMSetCleanup⚠
LLVMSetCurrentDebugLocation⚠
LLVMSetDLLStorageClass⚠
LLVMSetDataLayout⚠
LLVMSetFunctionCallConv⚠
LLVMSetGlobalConstant⚠
LLVMSetInitializer⚠
LLVMSetInstructionCallConv⚠
LLVMSetMetadata⚠
LLVMSetModuleInlineAsm2⚠

See Module::setModuleInlineAsm.

LLVMSetPersonalityFn⚠
LLVMSetSection⚠
LLVMSetTailCall⚠
LLVMSetThreadLocal⚠
LLVMSetThreadLocalMode⚠
LLVMSetUnnamedAddress⚠
LLVMSetValueName2⚠
LLVMSetVolatile⚠
LLVMStartMultithreaded⚠
LLVMStructCreateNamed⚠
LLVMStructSetBody⚠
LLVMStructTypeInContext⚠
LLVMTimeTraceProfilerFinish⚠
LLVMTimeTraceProfilerInitialize⚠
LLVMTypeOf⚠
LLVMVectorType⚠
LLVMVoidTypeInContext⚠
LLVMWriteBitcodeToFile⚠

Writes a module to the specified path. Returns 0 on success.

Type Definitions

Bool
DiagnosticHandler
InlineAsmDiagHandler
SelfProfileAfterPassCallback
SelfProfileBeforePassCallback
ThinLTOModuleNameCallback

Foreign Types

Archive
BasicBlock
ConstantInt
Context
DiagnosticInfo
MemoryBuffer
Metadata
Module
ModuleBuffer
ObjectFile
Opaque
Pass
PassManagerBuilder
SMDiagnostic
TargetMachine
ThinLTOBuffer
ThinLTOData
Twine
Type
Value