[][src]Module rustc_codegen_llvm::llvm::ffi

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Modules

debuginfo [
Experimental
]

Structs

ArchiveChild [
Experimental
]
ArchiveIterator [
Experimental
]
Builder [
Experimental
]
InvariantOpaque [
Experimental
]
Linker [
Experimental
]
OperandBundleDef [
Experimental
]
PassManager [
Experimental
]
RustArchiveMember [
Experimental
]
SectionIterator [
Experimental
]
ThinLTOModule [
Experimental
]

LLVMRustThinLTOModule

Enums

ArchiveKind [
Experimental
]

LLVMRustArchiveKind

AsmDialect [
Experimental
]

LLVMRustAsmDialect

AtomicOrdering [
Experimental
]

LLVMAtomicOrdering

AtomicRmwBinOp [
Experimental
]

LLVMAtomicRmwBinOp

Attribute [
Experimental
]

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

CallConv [
Experimental
]

LLVM CallingConv::ID. Should we wrap this?

CodeGenOptLevel [
Experimental
]

LLVMRustCodeGenOptLevel

CodeModel [
Experimental
]

LLVMRustCodeModel

DLLStorageClass [
Experimental
]

LLVMDLLStorageClass

DiagnosticKind [
Experimental
]

LLVMRustDiagnosticKind

FileType [
Experimental
]

LLVMRustFileType

IntPredicate [
Experimental
]

LLVMIntPredicate

LLVMRustResult [
Experimental
]
Linkage [
Experimental
]

LLVMRustLinkage

MetadataType [
Experimental
]

LLVMMetadataType

PassKind [
Experimental
]

LLVMRustPassKind

RealPredicate [
Experimental
]

LLVMRealPredicate

RelocMode [
Experimental
]

LLVMRelocMode

SynchronizationScope [
Experimental
]

LLVMRustSynchronizationScope

ThreadLocalMode [
Experimental
]

LLVMThreadLocalMode

TypeKind [
Experimental
]

LLVMTypeKind

Visibility [
Experimental
]

Constants

False [
Experimental
]
True [
Experimental
]

Functions

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

Creates a function-by-function pass manager

LLVMCreateObjectFile [
Experimental
]

Opens an object file.

LLVMCreatePassManager [
Experimental
]

Creates a pass manager.

LLVMDeleteBasicBlock [
Experimental
]
LLVMDeleteGlobal [
Experimental
]
LLVMDisposeBuilder [
Experimental
]
LLVMDisposeObjectFile [
Experimental
]

Closes an object file.

LLVMDisposePassManager [
Experimental
]

Disposes a pass manager.

LLVMDisposeSectionIterator [
Experimental
]

Destroys a section iterator.

LLVMDoubleTypeInContext [
Experimental
]
LLVMFloatTypeInContext [
Experimental
]
LLVMFunctionType [
Experimental
]
LLVMGetAlignment [
Experimental
]
LLVMGetBasicBlockParent [
Experimental
]
LLVMGetCurrentDebugLocation [
Experimental
]
LLVMGetDataLayout [
Experimental
]

Data layout. See Module::getDataLayout.

LLVMGetElementType [
Experimental
]
LLVMGetFirstBasicBlock [
Experimental
]
LLVMGetFirstGlobal [
Experimental
]
LLVMGetInitializer [
Experimental
]
LLVMGetInsertBlock [
Experimental
]
LLVMGetIntTypeWidth [
Experimental
]
LLVMGetMDKindIDInContext [
Experimental
]
LLVMGetModuleContext [
Experimental
]
LLVMGetNamedGlobal [
Experimental
]
LLVMGetNextGlobal [
Experimental
]
LLVMGetParam [
Experimental
]
LLVMGetParamTypes [
Experimental
]
LLVMGetSectionContents [
Experimental
]

Returns the current section contents as a string buffer.

LLVMGetSectionSize [
Experimental
]

Returns the current section size.

LLVMGetSections [
Experimental
]

Enumerates the sections in an object file.

LLVMGetUndef [
Experimental
]
LLVMGetValueName [
Experimental
]
LLVMGetVectorSize [
Experimental
]
LLVMInitializePasses [
Experimental
]
LLVMInt1TypeInContext [
Experimental
]
LLVMInt8TypeInContext [
Experimental
]
LLVMInt16TypeInContext [
Experimental
]
LLVMInt32TypeInContext [
Experimental
]
LLVMInt64TypeInContext [
Experimental
]
LLVMIntTypeInContext [
Experimental
]
LLVMIsAConstantFP [
Experimental
]
LLVMIsAConstantInt [
Experimental
]
LLVMIsAGlobalVariable [
Experimental
]
LLVMIsDeclaration [
Experimental
]
LLVMIsGlobalConstant [
Experimental
]
LLVMIsSectionIteratorAtEnd [
Experimental
]

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

LLVMMDNodeInContext [
Experimental
]
LLVMMDStringInContext [
Experimental
]
LLVMModuleCreateWithNameInContext [
Experimental
]
LLVMMoveToNextSection [
Experimental
]

Moves the section iterator to point to the next section.

LLVMPassManagerBuilderCreate [
Experimental
]
LLVMPassManagerBuilderDispose [
Experimental
]
LLVMPassManagerBuilderPopulateFunctionPassManager [
Experimental
]
LLVMPassManagerBuilderPopulateLTOPassManager [
Experimental
]
LLVMPassManagerBuilderPopulateModulePassManager [
Experimental
]
LLVMPassManagerBuilderSetDisableUnrollLoops [
Experimental
]
LLVMPassManagerBuilderSetSizeLevel [
Experimental
]
LLVMPassManagerBuilderUseInlinerWithThreshold [
Experimental
]
LLVMPointerType [
Experimental
]
LLVMPositionBuilderAtEnd [
Experimental
]
LLVMReplaceAllUsesWith [
Experimental
]
LLVMRunPassManager [
Experimental
]

Runs a pass manager on a module.

LLVMRustAddAlignmentAttr [
Experimental
]
LLVMRustAddAlignmentCallSiteAttr [
Experimental
]
LLVMRustAddAlwaysInlinePass [
Experimental
]
LLVMRustAddAnalysisPasses [
Experimental
]
LLVMRustAddBuilderLibraryInfo [
Experimental
]
LLVMRustAddCallSiteAttribute [
Experimental
]
LLVMRustAddDereferenceableAttr [
Experimental
]
LLVMRustAddDereferenceableCallSiteAttr [
Experimental
]
LLVMRustAddDereferenceableOrNullAttr [
Experimental
]
LLVMRustAddDereferenceableOrNullCallSiteAttr [
Experimental
]
LLVMRustAddFunctionAttrStringValue [
Experimental
]
LLVMRustAddFunctionAttribute [
Experimental
]
LLVMRustAddHandler [
Experimental
]
LLVMRustAddLibraryInfo [
Experimental
]
LLVMRustAddModuleFlag [
Experimental
]
LLVMRustAddPass [
Experimental
]
LLVMRustAppendModuleInlineAsm [
Experimental
]
LLVMRustArchiveChildData [
Experimental
]
LLVMRustArchiveChildFree [
Experimental
]
LLVMRustArchiveChildName [
Experimental
]
LLVMRustArchiveIteratorFree [
Experimental
]
LLVMRustArchiveIteratorNew [
Experimental
]
LLVMRustArchiveIteratorNext [
Experimental
]
LLVMRustArchiveMemberFree [
Experimental
]
LLVMRustArchiveMemberNew [
Experimental
]
LLVMRustArrayType [
Experimental
]
LLVMRustBuildAtomicCmpXchg [
Experimental
]
LLVMRustBuildAtomicFence [
Experimental
]
LLVMRustBuildAtomicLoad [
Experimental
]
LLVMRustBuildAtomicStore [
Experimental
]
LLVMRustBuildCall [
Experimental
]
LLVMRustBuildCatchPad [
Experimental
]
LLVMRustBuildCatchRet [
Experimental
]
LLVMRustBuildCatchSwitch [
Experimental
]
LLVMRustBuildCleanupPad [
Experimental
]
LLVMRustBuildCleanupRet [
Experimental
]
LLVMRustBuildIntCast [
Experimental
]
LLVMRustBuildInvoke [
Experimental
]
LLVMRustBuildMaxNum [
Experimental
]
LLVMRustBuildMinNum [
Experimental
]
LLVMRustBuildOperandBundleDef [
Experimental
]
LLVMRustBuildVectorReduceAdd [
Experimental
]
LLVMRustBuildVectorReduceAnd [
Experimental
]
LLVMRustBuildVectorReduceFAdd [
Experimental
]
LLVMRustBuildVectorReduceFMax [
Experimental
]
LLVMRustBuildVectorReduceFMin [
Experimental
]
LLVMRustBuildVectorReduceFMul [
Experimental
]
LLVMRustBuildVectorReduceMax [
Experimental
]
LLVMRustBuildVectorReduceMin [
Experimental
]
LLVMRustBuildVectorReduceMul [
Experimental
]
LLVMRustBuildVectorReduceOr [
Experimental
]
LLVMRustBuildVectorReduceXor [
Experimental
]
LLVMRustConfigurePassManagerBuilder [
Experimental
]
LLVMRustConstInt128Get [
Experimental
]
LLVMRustContextCreate [
Experimental
]
LLVMRustCreateMemoryBufferWithContentsOfFile [
Experimental
]

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

LLVMRustCreateTargetMachine [
Experimental
]
LLVMRustCreateThinLTOData [
Experimental
]
LLVMRustDIBuilderCreate [
Experimental
]
LLVMRustDIBuilderCreateArrayType [
Experimental
]
LLVMRustDIBuilderCreateBasicType [
Experimental
]
LLVMRustDIBuilderCreateCompileUnit [
Experimental
]
LLVMRustDIBuilderCreateDebugLocation [
Experimental
]
LLVMRustDIBuilderCreateEnumerationType [
Experimental
]
LLVMRustDIBuilderCreateEnumerator [
Experimental
]
LLVMRustDIBuilderCreateFile [
Experimental
]
LLVMRustDIBuilderCreateFunction [
Experimental
]
LLVMRustDIBuilderCreateLexicalBlock [
Experimental
]
LLVMRustDIBuilderCreateLexicalBlockFile [
Experimental
]
LLVMRustDIBuilderCreateMemberType [
Experimental
]
LLVMRustDIBuilderCreateNameSpace [
Experimental
]
LLVMRustDIBuilderCreateOpDeref [
Experimental
]
LLVMRustDIBuilderCreateOpPlusUconst [
Experimental
]
LLVMRustDIBuilderCreatePointerType [
Experimental
]
LLVMRustDIBuilderCreateStaticVariable [
Experimental
]
LLVMRustDIBuilderCreateStructType [
Experimental
]
LLVMRustDIBuilderCreateSubroutineType [
Experimental
]
LLVMRustDIBuilderCreateTemplateTypeParameter [
Experimental
]
LLVMRustDIBuilderCreateUnionType [
Experimental
]
LLVMRustDIBuilderCreateVariable [
Experimental
]
LLVMRustDIBuilderDispose [
Experimental
]
LLVMRustDIBuilderFinalize [
Experimental
]
LLVMRustDIBuilderGetOrCreateArray [
Experimental
]
LLVMRustDIBuilderGetOrCreateSubrange [
Experimental
]
LLVMRustDIBuilderInsertDeclareAtEnd [
Experimental
]
LLVMRustDICompositeTypeSetTypeArray [
Experimental
]
LLVMRustDebugMetadataVersion [
Experimental
]
LLVMRustDestroyArchive [
Experimental
]
LLVMRustDisposeTargetMachine [
Experimental
]
LLVMRustFindAndCreatePass [
Experimental
]
LLVMRustFreeOperandBundleDef [
Experimental
]
LLVMRustFreeThinLTOData [
Experimental
]
LLVMRustGetDiagInfoKind [
Experimental
]
LLVMRustGetHostCPUName [
Experimental
]
LLVMRustGetLastError [
Experimental
]

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

LLVMRustGetLinkage [
Experimental
]
LLVMRustGetNamedValue [
Experimental
]
LLVMRustGetOrInsertFunction [
Experimental
]
LLVMRustGetOrInsertGlobal [
Experimental
]
LLVMRustGetSectionName [
Experimental
]
LLVMRustGetThinLTOModuleImports [
Experimental
]
LLVMRustGetTypeKind [
Experimental
]

See llvm::LLVMTypeKind::getTypeID.

LLVMRustGetVisibility [
Experimental
]
LLVMRustHasFeature [
Experimental
]
LLVMRustInlineAsm [
Experimental
]

Prepares inline assembly.

LLVMRustInsertPrivateGlobal [
Experimental
]
LLVMRustLinkerAdd [
Experimental
]
LLVMRustLinkerFree [
Experimental
]
LLVMRustLinkerNew [
Experimental
]
LLVMRustMarkAllFunctionsNounwind [
Experimental
]
LLVMRustMetadataAsValue [
Experimental
]
LLVMRustMetadataTypeInContext [
Experimental
]
LLVMRustModuleBufferCreate [
Experimental
]
LLVMRustModuleBufferFree [
Experimental
]
LLVMRustModuleBufferLen [
Experimental
]
LLVMRustModuleBufferPtr [
Experimental
]
LLVMRustModuleCost [
Experimental
]
LLVMRustOpenArchive [
Experimental
]
LLVMRustPGOAvailable [
Experimental
]
LLVMRustParseBitcodeForThinLTO [
Experimental
]
LLVMRustPassKind [
Experimental
]
LLVMRustPassManagerBuilderPopulateThinLTOPassManager [
Experimental
]
LLVMRustPositionBuilderAtStart [
Experimental
]
LLVMRustPrepareThinLTOImport [
Experimental
]
LLVMRustPrepareThinLTOInternalize [
Experimental
]
LLVMRustPrepareThinLTORename [
Experimental
]
LLVMRustPrepareThinLTOResolveWeak [
Experimental
]
LLVMRustPrintModule [
Experimental
]
LLVMRustPrintPassTimings [
Experimental
]

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

LLVMRustPrintPasses [
Experimental
]
LLVMRustPrintTargetCPUs [
Experimental
]
LLVMRustPrintTargetFeatures [
Experimental
]
LLVMRustRemoveFunctionAttributes [
Experimental
]
LLVMRustRunFunctionPassManager [
Experimental
]
LLVMRustRunRestrictionPass [
Experimental
]
LLVMRustSetComdat [
Experimental
]
LLVMRustSetDataLayoutFromTargetMachine [
Experimental
]
LLVMRustSetHasUnsafeAlgebra [
Experimental
]
LLVMRustSetInlineAsmDiagnosticHandler [
Experimental
]
LLVMRustSetLLVMOptions [
Experimental
]
LLVMRustSetLinkage [
Experimental
]
LLVMRustSetModulePIELevel [
Experimental
]
LLVMRustSetNormalizedTarget [
Experimental
]
LLVMRustSetVisibility [
Experimental
]
LLVMRustThinLTOAvailable [
Experimental
]
LLVMRustThinLTOBufferCreate [
Experimental
]
LLVMRustThinLTOBufferFree [
Experimental
]
LLVMRustThinLTOBufferLen [
Experimental
]
LLVMRustThinLTOBufferPtr [
Experimental
]
LLVMRustThinLTOGetDICompileUnit [
Experimental
]
LLVMRustThinLTOPatchDICompileUnit [
Experimental
]
LLVMRustUnpackInlineAsmDiagnostic [
Experimental
]
LLVMRustUnpackOptimizationDiagnostic [
Experimental
]
LLVMRustUnsetComdat [
Experimental
]
LLVMRustVersionMajor [
Experimental
]
LLVMRustVersionMinor [
Experimental
]
LLVMRustWriteArchive [
Experimental
]
LLVMRustWriteDiagnosticInfoToString [
Experimental
]
LLVMRustWriteOutputFile [
Experimental
]
LLVMRustWriteSMDiagnosticToString [
Experimental
]
LLVMRustWriteTwineToString [
Experimental
]
LLVMRustWriteTypeToString [
Experimental
]
LLVMRustWriteValueToString [
Experimental
]
LLVMSetAlignment [
Experimental
]
LLVMSetCleanup [
Experimental
]
LLVMSetCurrentDebugLocation [
Experimental
]
LLVMSetDLLStorageClass [
Experimental
]
LLVMSetDataLayout [
Experimental
]
LLVMSetFunctionCallConv [
Experimental
]
LLVMSetGlobalConstant [
Experimental
]
LLVMSetInitializer [
Experimental
]
LLVMSetInstDebugLocation [
Experimental
]
LLVMSetInstructionCallConv [
Experimental
]
LLVMSetMetadata [
Experimental
]
LLVMSetModuleInlineAsm [
Experimental
]

See Module::setModuleInlineAsm.

LLVMSetPersonalityFn [
Experimental
]
LLVMSetSection [
Experimental
]
LLVMSetTailCall [
Experimental
]
LLVMSetThreadLocal [
Experimental
]
LLVMSetThreadLocalMode [
Experimental
]
LLVMSetUnnamedAddr [
Experimental
]
LLVMSetValueName [
Experimental
]
LLVMSetVolatile [
Experimental
]
LLVMStartMultithreaded [
Experimental
]
LLVMStructCreateNamed [
Experimental
]
LLVMStructSetBody [
Experimental
]
LLVMStructTypeInContext [
Experimental
]
LLVMTypeOf [
Experimental
]
LLVMVectorType [
Experimental
]
LLVMVoidTypeInContext [
Experimental
]
LLVMWriteBitcodeToFile [
Experimental
]

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

LLVMX86MMXTypeInContext [
Experimental
]

Type Definitions

Bool [
Experimental
]
DiagnosticHandler [
Experimental
]
InlineAsmDiagHandler [
Experimental
]
ThinLTOModuleNameCallback [
Experimental
]

Foreign Types

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