rustc_codegen_llvm::llvm_

Module ffi

Source

ModulesΒ§

debuginfo

StructsΒ§

AllocKindFlags
ArchiveChild
ArchiveIterator
Builder
InvariantOpaque πŸ”’
Linker
OperandBundle πŸ”’
Opaque pointee of LLVMOperandBundleRef.
PassManager
RawEnum
Wrapper for a raw enum value returned from LLVM’s C APIs.
RustArchiveMember
SanitizerOptions
LLVMRustSanitizerOptions
ThinLTOModule
LLVMRustThinLTOModule

EnumsΒ§

ArchiveKind
LLVMRustArchiveKind
AsmDialect
LLVMRustAsmDialect
AtomicOrdering
LLVMAtomicOrdering
AtomicRmwBinOp
LLVMAtomicRmwBinOp
AttributeKind
Must match the layout of LLVMRustAttributeKind. 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
FloatAbi
LLVMRustFloatABI
IntPredicate
LLVMIntPredicate
LLVMMachineType
Translation of LLVM’s MachineTypes enum, defined in llvm\include\llvm\BinaryFormat\COFF.h.
LLVMRustResult
Linkage
Must match the layout of LLVMLinkage.
MemoryEffects
LLVMRustMemoryEffects
MetadataType
LLVMMetadataType
ModuleFlagMergeBehavior
Must match the layout of LLVMRustModuleFlagMergeBehavior.
OptStage
LLVMRustOptStage
PassBuilderOptLevel
LLVMRustPassBuilderOptLevel
RealPredicate
LLVMRealPredicate
RelocModel
LLVMRustRelocModel
TailCallKind
LLVMRustTailCallKind
ThreadLocalMode
LLVMThreadLocalMode
TypeKind
LLVMTypeKind
UnnamedAddr
LLVMUnnamedAddr
Visibility
Must match the layout of LLVMVisibility.

ConstantsΒ§

False
True

FunctionsΒ§

LLVMAddAnalysisPasses⚠
LLVMAddCase⚠
LLVMAddClause⚠
LLVMAddGlobal⚠
LLVMAddHandler⚠
LLVMAddIncoming⚠
LLVMAddNamedMetadataOperand⚠
LLVMAppendBasicBlockInContext⚠
LLVMAppendModuleInlineAsm⚠
See Module::setModuleInlineAsm.
LLVMArrayType2⚠
LLVMBuildAShr⚠
LLVMBuildAdd⚠
LLVMBuildAlloca⚠
LLVMBuildAnd⚠
LLVMBuildArrayAlloca⚠
LLVMBuildAtomicCmpXchg⚠
LLVMBuildAtomicRMW⚠
LLVMBuildBitCast⚠
LLVMBuildBr⚠
LLVMBuildCallBr πŸ”’ ⚠
LLVMBuildCallWithOperandBundles πŸ”’ ⚠
LLVMBuildCatchPad⚠
LLVMBuildCatchRet⚠
LLVMBuildCatchSwitch⚠
LLVMBuildCleanupPad⚠
LLVMBuildCleanupRet⚠
LLVMBuildCondBr⚠
LLVMBuildExactSDiv⚠
LLVMBuildExactUDiv⚠
LLVMBuildExtractElement⚠
LLVMBuildExtractValue⚠
LLVMBuildFAdd⚠
LLVMBuildFCmp⚠
LLVMBuildFDiv⚠
LLVMBuildFMul⚠
LLVMBuildFNeg⚠
LLVMBuildFPExt⚠
LLVMBuildFPToSI⚠
LLVMBuildFPToUI⚠
LLVMBuildFPTrunc⚠
LLVMBuildFRem⚠
LLVMBuildFSub⚠
LLVMBuildFence⚠
LLVMBuildGEP2⚠
LLVMBuildICmp⚠
LLVMBuildInBoundsGEP2⚠
LLVMBuildInsertElement⚠
LLVMBuildInsertValue⚠
LLVMBuildIntCast2⚠
LLVMBuildIntToPtr⚠
LLVMBuildInvokeWithOperandBundles πŸ”’ ⚠
LLVMBuildLShr⚠
LLVMBuildLandingPad⚠
LLVMBuildLoad2⚠
LLVMBuildMul⚠
LLVMBuildNSWAdd⚠
LLVMBuildNSWMul⚠
LLVMBuildNSWSub⚠
LLVMBuildNUWAdd⚠
LLVMBuildNUWMul⚠
LLVMBuildNUWSub⚠
LLVMBuildNeg⚠
LLVMBuildNot⚠
LLVMBuildOr⚠
LLVMBuildPhi⚠
LLVMBuildPointerCast⚠
LLVMBuildPtrToInt⚠
LLVMBuildResume⚠
LLVMBuildRet⚠
LLVMBuildRetVoid⚠
LLVMBuildSDiv⚠
LLVMBuildSExt⚠
LLVMBuildSIToFP⚠
LLVMBuildSRem⚠
LLVMBuildSelect⚠
LLVMBuildShl⚠
LLVMBuildShuffleVector⚠
LLVMBuildStore⚠
LLVMBuildSub⚠
LLVMBuildSwitch⚠
LLVMBuildTrunc⚠
LLVMBuildUDiv⚠
LLVMBuildUIToFP⚠
LLVMBuildURem⚠
LLVMBuildUnreachable⚠
LLVMBuildVAArg⚠
LLVMBuildXor⚠
LLVMBuildZExt⚠
LLVMCloneModule⚠
LLVMConstArray2⚠
LLVMConstBitCast⚠
LLVMConstInBoundsGEP2⚠
LLVMConstInt⚠
LLVMConstIntOfArbitraryPrecision⚠
LLVMConstIntToPtr⚠
LLVMConstNull⚠
LLVMConstPtrToInt⚠
LLVMConstReal⚠
LLVMConstStringInContext2⚠
LLVMConstStructInContext⚠
LLVMConstVector⚠
LLVMContextDispose⚠
LLVMCountParamTypes⚠
LLVMCountParams⚠
LLVMCreateBuilderInContext⚠
LLVMCreateOperandBundle πŸ”’ ⚠
LLVMCreatePassManager⚠
Creates a legacy pass manager – only used for final codegen.
LLVMCreateStringAttribute⚠
LLVMDeleteGlobal⚠
LLVMDisposeBuilder⚠
LLVMDisposeMessage⚠
LLVMDisposeOperandBundle πŸ”’ ⚠
LLVMDoubleTypeInContext⚠
LLVMFP128TypeInContext⚠
LLVMFloatTypeInContext⚠
LLVMFunctionType⚠
LLVMGetAggregateElement⚠
LLVMGetAlignment⚠
LLVMGetBasicBlockParent⚠
LLVMGetCurrentDebugLocation2⚠
LLVMGetDataLayoutStr⚠
Data layout. See Module::getDataLayout.
LLVMGetElementType⚠
LLVMGetFirstBasicBlock⚠
LLVMGetFirstGlobal⚠
LLVMGetHostCPUFeatures⚠
LLVMGetInitializer⚠
LLVMGetInsertBlock⚠
LLVMGetIntTypeWidth⚠
LLVMGetLinkage⚠
LLVMGetMDKindIDInContext⚠
LLVMGetModuleContext⚠
LLVMGetNamedGlobal⚠
LLVMGetNextGlobal⚠
LLVMGetOrInsertComdat⚠
LLVMGetParam⚠
LLVMGetParamTypes⚠
LLVMGetPoison⚠
LLVMGetUndef⚠
LLVMGetValueName2⚠
LLVMGetVectorSize⚠
LLVMGetVisibility⚠
LLVMGlobalGetValueType⚠
LLVMGlobalSetMetadata⚠
LLVMHalfTypeInContext⚠
LLVMInt1TypeInContext⚠
LLVMInt8TypeInContext⚠
LLVMInt16TypeInContext⚠
LLVMInt32TypeInContext⚠
LLVMInt64TypeInContext⚠
LLVMIntTypeInContext⚠
LLVMIsAArgument⚠
LLVMIsAConstantInt⚠
LLVMIsAGlobalVariable⚠
LLVMIsAInstruction⚠
LLVMIsDeclaration⚠
LLVMIsGlobalConstant⚠
LLVMIsMultithreaded⚠
LLVMIsThreadLocal⚠
LLVMMDNodeInContext2⚠
LLVMMDStringInContext2⚠
LLVMMetadataAsValue⚠
LLVMMetadataTypeInContext⚠
LLVMModuleCreateWithNameInContext⚠
LLVMPointerTypeInContext⚠
LLVMPositionBuilderAtEnd⚠
LLVMReplaceAllUsesWith⚠
LLVMRustAddCallSiteAttributes⚠
LLVMRustAddFunctionAttributes⚠
LLVMRustAddLibraryInfo⚠
LLVMRustAddModuleFlagString⚠
LLVMRustAddModuleFlagU32⚠
Add LLVM module flags.
LLVMRustArchiveChildFree⚠
LLVMRustArchiveChildName⚠
LLVMRustArchiveIteratorFree⚠
LLVMRustArchiveIteratorNew⚠
LLVMRustArchiveIteratorNext⚠
LLVMRustArchiveMemberFree⚠
LLVMRustArchiveMemberNew⚠
LLVMRustBuildAtomicLoad⚠
LLVMRustBuildAtomicStore⚠
LLVMRustBuildMaxNum⚠
LLVMRustBuildMemCpy⚠
LLVMRustBuildMemMove⚠
LLVMRustBuildMemSet⚠
LLVMRustBuildMinNum⚠
LLVMRustBuildVectorReduceAdd⚠
LLVMRustBuildVectorReduceAnd⚠
LLVMRustBuildVectorReduceFAdd⚠
LLVMRustBuildVectorReduceFMax⚠
LLVMRustBuildVectorReduceFMin⚠
LLVMRustBuildVectorReduceFMul⚠
LLVMRustBuildVectorReduceMax⚠
LLVMRustBuildVectorReduceMin⚠
LLVMRustBuildVectorReduceMul⚠
LLVMRustBuildVectorReduceOr⚠
LLVMRustBuildVectorReduceXor⚠
LLVMRustComputeLTOCacheKey⚠
LLVMRustConstInt128Get⚠
LLVMRustConstIntGetZExtValue⚠
LLVMRustContextConfigureDiagnosticHandler⚠
LLVMRustContextCreate⚠
LLVMRustContextGetDiagnosticHandler⚠
LLVMRustContextSetDiagnosticHandler⚠
LLVMRustCoverageCreatePGOFuncNameVar πŸ”’ ⚠
LLVMRustCoverageHashBytes πŸ”’ ⚠
LLVMRustCoverageMappingVersion πŸ”’ ⚠
LLVMRustCoverageWriteCovfunSectionNameToString πŸ”’ ⚠
LLVMRustCoverageWriteCovmapSectionNameToString πŸ”’ ⚠
LLVMRustCoverageWriteCovmapVarNameToString πŸ”’ ⚠
LLVMRustCoverageWriteFilenamesToBuffer πŸ”’ ⚠
LLVMRustCoverageWriteFunctionMappingsToBuffer πŸ”’ ⚠
LLVMRustCreateAlignmentAttr⚠
LLVMRustCreateAllocKindAttr⚠
LLVMRustCreateAllocSizeAttr⚠
LLVMRustCreateAttrNoValue⚠
LLVMRustCreateByValAttr⚠
LLVMRustCreateDereferenceableAttr⚠
LLVMRustCreateDereferenceableOrNullAttr⚠
LLVMRustCreateElementTypeAttr⚠
LLVMRustCreateMemoryEffectsAttr⚠
LLVMRustCreateRangeAttribute⚠
LLVMRustCreateStructRetAttr⚠
LLVMRustCreateTargetMachine⚠
LLVMRustCreateThinLTOData⚠
LLVMRustCreateUWTableAttr⚠
LLVMRustDIBuilderCreate⚠
LLVMRustDIBuilderCreateArrayType⚠
LLVMRustDIBuilderCreateBasicType⚠
LLVMRustDIBuilderCreateCompileUnit⚠
LLVMRustDIBuilderCreateDebugLocation⚠
LLVMRustDIBuilderCreateEnumerationType⚠
LLVMRustDIBuilderCreateEnumerator⚠
LLVMRustDIBuilderCreateFile⚠
LLVMRustDIBuilderCreateFunction⚠
LLVMRustDIBuilderCreateLexicalBlock⚠
LLVMRustDIBuilderCreateLexicalBlockFile⚠
LLVMRustDIBuilderCreateMemberType⚠
LLVMRustDIBuilderCreateMethod⚠
LLVMRustDIBuilderCreateNameSpace⚠
LLVMRustDIBuilderCreatePointerType⚠
LLVMRustDIBuilderCreateQualifiedType⚠
LLVMRustDIBuilderCreateStaticMemberType⚠
LLVMRustDIBuilderCreateStaticVariable⚠
LLVMRustDIBuilderCreateStructType⚠
LLVMRustDIBuilderCreateSubroutineType⚠
LLVMRustDIBuilderCreateTemplateTypeParameter⚠
LLVMRustDIBuilderCreateTypedef⚠
LLVMRustDIBuilderCreateUnionType⚠
LLVMRustDIBuilderCreateVariable⚠
LLVMRustDIBuilderCreateVariantMemberType⚠
LLVMRustDIBuilderCreateVariantPart⚠
LLVMRustDIBuilderDispose⚠
LLVMRustDIBuilderFinalize⚠
LLVMRustDIBuilderGetOrCreateArray⚠
LLVMRustDIBuilderGetOrCreateSubrange⚠
LLVMRustDIBuilderInsertDeclareAtEnd⚠
LLVMRustDICompositeTypeReplaceArrays⚠
LLVMRustDILocationCloneWithBaseDiscriminator⚠
LLVMRustDebugMetadataVersion⚠
LLVMRustDestroyArchive⚠
LLVMRustDisableSystemDialogsOnCrash⚠
LLVMRustDisposeTargetMachine⚠
LLVMRustFreeThinLTOData⚠
LLVMRustGetDiagInfoKind⚠
LLVMRustGetElementTypeArgIndex⚠
LLVMRustGetHostCPUName⚠
LLVMRustGetLastError⚠
Returns a string describing the last error caused by an LLVMRust* call.
LLVMRustGetMangledName⚠
LLVMRustGetNamedValue⚠
LLVMRustGetOrInsertFunction⚠
LLVMRustGetOrInsertGlobal⚠
LLVMRustGetSMDiagnostic⚠
LLVMRustGetSliceFromObjectDataByName⚠
LLVMRustGetSymbols⚠
LLVMRustGetTargetFeature⚠
LLVMRustGetTargetFeaturesCount⚠
LLVMRustGetTypeKind⚠
See llvm::LLVMTypeKind::getTypeID.
LLVMRustGlobalAddMetadata⚠
LLVMRustHasFeature⚠
LLVMRustInlineAsm⚠
Prepares inline assembly.
LLVMRustInlineAsmVerify⚠
LLVMRustInsertPrivateGlobal⚠
LLVMRustInstallErrorHandlers⚠
LLVMRustIs64BitSymbolicFile⚠
LLVMRustIsBitcode⚠
LLVMRustIsECObject⚠
LLVMRustIsNonGVFunctionPointerTy⚠
LLVMRustLLVMHasZlibCompressionForDebugSymbols⚠
LLVMRustLLVMHasZstdCompressionForDebugSymbols⚠
LLVMRustLinkerAdd⚠
LLVMRustLinkerFree⚠
LLVMRustLinkerNew⚠
LLVMRustModuleBufferCreate⚠
LLVMRustModuleBufferFree⚠
LLVMRustModuleBufferLen⚠
LLVMRustModuleBufferPtr⚠
LLVMRustModuleCost⚠
LLVMRustModuleInstructionStats⚠
LLVMRustOpenArchive⚠
LLVMRustOptimize⚠
LLVMRustParseBitcodeForLTO⚠
LLVMRustPositionBuilderAtStart⚠
LLVMRustPrepareThinLTOImport⚠
LLVMRustPrepareThinLTOInternalize⚠
LLVMRustPrepareThinLTORename⚠
LLVMRustPrepareThinLTOResolveWeak⚠
LLVMRustPrintModule⚠
LLVMRustPrintPassTimings πŸ”’ ⚠
Prints the timing information collected by -Ztime-llvm-passes.
LLVMRustPrintPasses⚠
LLVMRustPrintStatistics πŸ”’ ⚠
Prints the statistics collected by -Zprint-codegen-stats.
LLVMRustPrintTargetCPUs πŸ”’ ⚠
LLVMRustRunRestrictionPass⚠
LLVMRustSetAlgebraicMath⚠
LLVMRustSetAllowReassoc⚠
LLVMRustSetDSOLocal⚠
LLVMRustSetDataLayoutFromTargetMachine⚠
LLVMRustSetFastMath⚠
LLVMRustSetLLVMOptions⚠
LLVMRustSetModuleCodeModel⚠
LLVMRustSetModulePICLevel⚠
LLVMRustSetModulePIELevel⚠
LLVMRustSetNoSanitizeAddress⚠
LLVMRustSetNoSanitizeHWAddress⚠
LLVMRustSetNormalizedTarget⚠
LLVMRustSetTailCallKind⚠
LLVMRustThinLTOBufferCreate⚠
LLVMRustThinLTOBufferFree⚠
LLVMRustThinLTOBufferLen⚠
LLVMRustThinLTOBufferPtr⚠
LLVMRustThinLTOBufferThinLinkDataLen⚠
LLVMRustThinLTOBufferThinLinkDataPtr⚠
LLVMRustTimeTraceProfilerFinish⚠
LLVMRustTimeTraceProfilerFinishThread⚠
LLVMRustTimeTraceProfilerInitialize⚠
LLVMRustUnpackInlineAsmDiagnostic⚠
LLVMRustUnpackOptimizationDiagnostic⚠
LLVMRustUnpackSMDiagnostic⚠
LLVMRustVersionMajor⚠
LLVMRustVersionMinor⚠
LLVMRustVersionPatch⚠
LLVMRustWriteArchive⚠
LLVMRustWriteDiagnosticInfoToString⚠
LLVMRustWriteOutputFile⚠
LLVMRustWriteTwineToString⚠
LLVMRustWriteTypeToString⚠
LLVMRustWriteValueToString⚠
LLVMSetAlignment⚠
LLVMSetCleanup⚠
LLVMSetComdat⚠
LLVMSetCurrentDebugLocation2⚠
LLVMSetDLLStorageClass⚠
LLVMSetDataLayout⚠
LLVMSetFunctionCallConv⚠
LLVMSetGlobalConstant⚠
LLVMSetInitializer⚠
LLVMSetInstructionCallConv⚠
LLVMSetLinkage⚠
LLVMSetMetadata⚠
LLVMSetPersonalityFn⚠
LLVMSetSection⚠
LLVMSetTailCall⚠
LLVMSetThreadLocalMode⚠
LLVMSetUnnamedAddress⚠
LLVMSetValueName2⚠
LLVMSetVisibility⚠
LLVMSetVolatile⚠
LLVMSetWeak⚠
LLVMStructCreateNamed⚠
LLVMStructSetBody⚠
LLVMStructTypeInContext⚠
LLVMTokenTypeInContext⚠
LLVMTypeOf⚠
LLVMValueAsMetadata⚠
LLVMVectorType⚠
LLVMVoidTypeInContext⚠
LLVMWriteBitcodeToFile⚠
Writes a module to the specified path. Returns 0 on success.

Type AliasesΒ§

Bool
In the LLVM-C API, boolean values are passed as typedef int LLVMBool, which has a different ABI from Rust or C++ bool.
DiagnosticHandlerTy
GetSymbolsCallback
GetSymbolsErrorCallback
InlineAsmDiagHandlerTy
SelfProfileAfterPassCallback
SelfProfileBeforePassCallback

Foreign TypesΒ§

Archive
Attribute
BasicBlock
Comdat
ConstantInt
Context
DiagnosticHandler
DiagnosticInfo
Metadata
Module
ModuleBuffer
Opaque πŸ”’
Pass
SMDiagnostic
TargetMachine
ThinLTOBuffer
ThinLTOData
Twine
Type
Value