Module rustc_codegen_llvm::llvm[−][src]

Re-exports

pub use self::AtomicRmwBinOp::*;
pub use self::CallConv::*;
pub use self::CodeGenOptSize::*;
pub use self::IntPredicate::*;
pub use self::Linkage::*;
pub use self::MetadataType::*;
pub use self::RealPredicate::*;

Modules

archive_ro

A wrapper around LLVM’s archive (.a) code

coverageinfo
debuginfo
diagnostic

LLVM diagnostic reports.

Structs

ArchiveChild
ArchiveIterator
Builder
LLVMRustCOFFShortExport
Linker
OperandBundleDef
OperandBundleDef
PassManager
RustArchiveMember
SanitizerOptions

LLVMRustSanitizerOptions

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)

AttributePlace
CallConv

LLVM CallingConv::ID. Should we wrap this?

ChecksumKind

LLVMRustChecksumKind

CodeGenOptLevel

LLVMRustCodeGenOptLevel

CodeGenOptSize
CodeModel

LLVMRustCodeModel

DLLStorageClass

LLVMDLLStorageClass

DiagnosticKind

LLVMRustDiagnosticKind

DiagnosticLevel

LLVMRustDiagnosticLevel

FileType

LLVMRustFileType

IntPredicate

LLVMIntPredicate

LLVMMachineType

Translation of LLVM’s MachineTypes enum, defined in llvm\include\llvm\BinaryFormat\COFF.h.

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

AddCallSiteAttrString
AddFunctionAttrString
AddFunctionAttrStringValue
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

LLVMCreatePassManager⚠

Creates a pass manager.

LLVMDeleteGlobal⚠
LLVMDisposeBuilder⚠
LLVMDisposeMessage⚠
LLVMDisposePassManager⚠

Disposes a pass manager.

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

Data layout. See Module::getDataLayout.

LLVMGetElementType⚠
LLVMGetFirstBasicBlock⚠
LLVMGetFirstGlobal⚠
LLVMGetHostCPUFeatures⚠
LLVMGetInitializer⚠
LLVMGetInsertBlock⚠
LLVMGetIntTypeWidth⚠
LLVMGetMDKindIDInContext⚠
LLVMGetModuleContext⚠
LLVMGetNamedGlobal⚠
LLVMGetNextGlobal⚠
LLVMGetParam⚠
LLVMGetParamTypes⚠
LLVMGetUndef⚠
LLVMGetValueName2⚠
LLVMGetVectorSize⚠
LLVMInitializePasses⚠
LLVMInt1TypeInContext⚠
LLVMInt8TypeInContext⚠
LLVMInt16TypeInContext⚠
LLVMInt32TypeInContext⚠
LLVMInt64TypeInContext⚠
LLVMIntTypeInContext⚠
LLVMIsAArgument⚠
LLVMIsAConstantInt⚠
LLVMIsAGlobalVariable⚠
LLVMIsAInstruction⚠
LLVMIsDeclaration⚠
LLVMIsGlobalConstant⚠
LLVMIsThreadLocal⚠
LLVMMDNodeInContext⚠
LLVMMDStringInContext⚠
LLVMModuleCreateWithNameInContext⚠
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⚠
LLVMRustAddCallSiteAttrString⚠
LLVMRustAddCallSiteAttribute⚠
LLVMRustAddDereferenceableAttr⚠
LLVMRustAddDereferenceableCallSiteAttr⚠
LLVMRustAddDereferenceableOrNullAttr⚠
LLVMRustAddDereferenceableOrNullCallSiteAttr⚠
LLVMRustAddFunctionAttrStringValue⚠
LLVMRustAddFunctionAttribute⚠
LLVMRustAddHandler⚠
LLVMRustAddLastExtensionPasses⚠
LLVMRustAddLibraryInfo⚠
LLVMRustAddModuleFlag⚠
LLVMRustAddPass⚠
LLVMRustAddStructRetAttr⚠
LLVMRustAddStructRetCallSiteAttr⚠
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⚠
LLVMRustCoverageCreatePGOFuncNameVar⚠
LLVMRustCoverageHashByteArray⚠
LLVMRustCoverageHashCString⚠
LLVMRustCoverageMappingVersion⚠
LLVMRustCoverageWriteFilenamesSectionToBuffer⚠
LLVMRustCoverageWriteFuncSectionNameToString⚠
LLVMRustCoverageWriteMapSectionNameToString⚠
LLVMRustCoverageWriteMappingToBuffer⚠
LLVMRustCoverageWriteMappingVarNameToString⚠
LLVMRustCreateAddressSanitizerFunctionPass⚠
LLVMRustCreateHWAddressSanitizerPass⚠
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⚠
LLVMRustGetTargetFeature⚠
LLVMRustGetTargetFeaturesCount⚠
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⚠
LLVMRustRemoveFunctionAttributes⚠
LLVMRustRunFunctionPassManager⚠
LLVMRustRunRestrictionPass⚠
LLVMRustSetComdat⚠
LLVMRustSetDSOLocal⚠
LLVMRustSetDataLayoutFromTargetMachine⚠
LLVMRustSetFastMath⚠
LLVMRustSetInlineAsmDiagnosticHandler⚠
LLVMRustSetLLVMOptions⚠
LLVMRustSetLinkage⚠
LLVMRustSetModuleCodeModel⚠
LLVMRustSetModulePICLevel⚠
LLVMRustSetModulePIELevel⚠
LLVMRustSetNormalizedTarget⚠
LLVMRustSetVisibility⚠
LLVMRustThinLTOBufferCreate⚠
LLVMRustThinLTOBufferFree⚠
LLVMRustThinLTOBufferLen⚠
LLVMRustThinLTOBufferPtr⚠
LLVMRustThinLTOGetDICompileUnit⚠
LLVMRustThinLTOPatchDICompileUnit⚠
LLVMRustUnpackInlineAsmDiagnostic⚠
LLVMRustUnpackOptimizationDiagnostic⚠
LLVMRustUnpackSMDiagnostic⚠
LLVMRustUnsetComdat⚠
LLVMRustVersionMajor⚠
LLVMRustVersionMinor⚠
LLVMRustVersionPatch⚠
LLVMRustWriteArchive⚠
LLVMRustWriteDiagnosticInfoToString⚠
LLVMRustWriteImportLibrary⚠
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.

SetFunctionCallConv
SetInstructionCallConv
SetUniqueComdat
SetUnnamedAddress
UnsetComdat
add_global
build_byte_buffer
build_string
get_param

Safe wrapper around LLVMGetParam, because segfaults are no fun.

get_value_name

Safe wrapper for LLVMGetValueName2 into a byte slice

last_error
set_alignment
set_comdat
set_global_constant
set_initializer
set_linkage
set_section
set_thread_local_mode
set_value_name

Safe wrapper for LLVMSetValueName2 from a byte slice

set_visibility
twine_to_string

Type Definitions

Bool
DiagnosticHandler
InlineAsmDiagHandler
SelfProfileAfterPassCallback
SelfProfileBeforePassCallback
ThinLTOModuleNameCallback

Foreign Types

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