[#llvm-AsmPrinter] = xref:llvm.adoc[llvm]::AsmPrinter :relfileprefix: ../ :mrdocs: This class is intended to be used as a driving class for all asm writers. == Synopsis Declared in `<llvm/CodeGen/AsmPrinter.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class AsmPrinter : public xref:llvm/MachineFunctionPass.adoc[MachineFunctionPass] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:llvm/MachineFunctionPass.adoc[MachineFunctionPass]` | FunctionPass adapter for passes that operate on a MachineFunction. |=== == Types [cols="1,4"] |=== | Name| Description | xref:llvm/AsmPrinter/MBBSectionRange.adoc[`MBBSectionRange`] | Map a basic block section ID to the begin and end symbols of that section which determine the section's range. | xref:llvm/AsmPrinter/Structor.adoc[`Structor`] | One entry in an `llvm.global_ctors` or `llvm.global_dtors` array. | xref:llvm/AsmPrinter/XRayFunctionEntry.adoc[`XRayFunctionEntry`] | Describes one XRay sled and the function that contains it. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:llvm/AsmPrinter/AliasMapTy.adoc[`AliasMapTy`] | Map from offset within a global to aliases that refer to that offset. | xref:llvm/AsmPrinter/GOTEquivUsePair.adoc[`GOTEquivUsePair`] | Map global GOT equivalent MCSymbols to GlobalVariables and keep track of its number of uses by other globals. |=== == Enums [cols="1,4"] |=== | Name| Description | xref:llvm/AsmPrinter/CFISection.adoc[`CFISection`] | Which CFI section is required for a function or module. | xref:llvm/AsmPrinter/SledKind.adoc[`SledKind`] | Kind of XRay instrumentation sled recorded in the XRay table. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/AsmPrinter/2destructor.adoc[`~AsmPrinter`] [.small]#[destructor]# [.small]#[virtual]# | Virtual destructor. | xref:llvm/Pass/operator_assign.adoc[`operator=`] [.small]#[deleted]# | Passes are not assignable. | xref:llvm/AsmPrinter/EmitToStreamer.adoc[`EmitToStreamer`] | Emit machine instruction `Inst` to streamer `S.` | xref:llvm/AsmPrinter/GetBlockAddressSymbol-04.adoc[`GetBlockAddressSymbol`] | `GetBlockAddressSymbol` overloads | xref:llvm/AsmPrinter/GetCPISymbol.adoc[`GetCPISymbol`] [.small]#[virtual]# | Return the symbol for constant‐pool entry `CPID.` | xref:llvm/AsmPrinter/GetExternalSymbolSymbol.adoc[`GetExternalSymbolSymbol`] | Return the MCSymbol for external symbol name `Sym.` | xref:llvm/AsmPrinter/GetJTISymbol.adoc[`GetJTISymbol`] | Return the symbol for jump‐table entry `JTID.` | xref:llvm/AsmPrinter/GetJTSetSymbol.adoc[`GetJTSetSymbol`] | Return the symbol for the specified jump‐table `.set` directive. | xref:llvm/AsmPrinter/GetSizeOfEncodedValue.adoc[`GetSizeOfEncodedValue`] | Return the size in bytes of DWARF encoding `Encoding.` | xref:llvm/AsmPrinter/PrintAsmMemoryOperand.adoc[`PrintAsmMemoryOperand`] [.small]#[virtual]# | Print INLINEASM memory operand `OpNo` of `MI` to `OS.` | xref:llvm/AsmPrinter/PrintAsmOperand.adoc[`PrintAsmOperand`] [.small]#[virtual]# | Print INLINEASM operand `OpNo` of `MI` to `OS.` | xref:llvm/AsmPrinter/PrintSpecial.adoc[`PrintSpecial`] [.small]#[virtual]# | Print special inline‐asm code `Code` for instruction `MI.` | xref:llvm/AsmPrinter/PrintSymbolOperand.adoc[`PrintSymbolOperand`] [.small]#[virtual]# | Print machine operand `MO` as a symbol to `OS.` | xref:llvm/AsmPrinter/SetupMachineFunction.adoc[`SetupMachineFunction`] [.small]#[virtual]# | Prepare the AsmPrinter for MachineFunction `MF.` | xref:llvm/AsmPrinter/addAsmPrinterHandler.adoc[`addAsmPrinterHandler`] | Register an additional AsmPrinter handler. | xref:llvm/FunctionPass/assignPassManager.adoc[`assignPassManager`] [.small]#[virtual]# | Find or create a `FunctionPassManager` on `PMS` and register this pass. | xref:llvm/AsmPrinter/computeGlobalGOTEquivs.adoc[`computeGlobalGOTEquivs`] | Find GOT‐equivalent globals in module `M` and record them. | xref:llvm/AsmPrinter/createCallsiteEndSymbol.adoc[`createCallsiteEndSymbol`] | Create a symbol marking the end of a callsite in `MBB.` | xref:llvm/FunctionPass/createPrinterPass.adoc[`createPrinterPass`] [.small]#[virtual]# | createPrinterPass ‐ Get a function printer pass. | xref:llvm/AsmPrinter/createTempSymbol.adoc[`createTempSymbol`] | Create a temporary MCSymbol with name `Name.` | xref:llvm/AsmPrinter/doFinalization.adoc[`doFinalization`] [.small]#[virtual]# | Shut down the AsmPrinter after finishing a module. | xref:llvm/AsmPrinter/doInitialization.adoc[`doInitialization`] [.small]#[virtual]# | Set up the AsmPrinter when working on a new module. | xref:llvm/AsmPrinter/doesDwarfUseRelocationsAcrossSections.adoc[`doesDwarfUseRelocationsAcrossSections`] | Return true if DWARF emission uses cross‐section relocations. | xref:llvm/Pass/dump.adoc[`dump`] | Print this pass's state to stderr for debugging. | xref:llvm/Pass/dumpPassStructure.adoc[`dumpPassStructure`] [.small]#[virtual]# | Print the pass nesting structure for ‐debug‐passes=PassStructure. | xref:llvm/AsmPrinter/emitAlignment.adoc[`emitAlignment`] | Emit an alignment directive to a power‐of‐two boundary. | xref:llvm/AsmPrinter/emitBBAddrMapSection.adoc[`emitBBAddrMapSection`] | Emit the basic‐block address map section for function `MF.` | xref:llvm/AsmPrinter/emitBasicBlockEnd.adoc[`emitBasicBlockEnd`] [.small]#[virtual]# | Emit content at the end of basic block `MBB.` | xref:llvm/AsmPrinter/emitBasicBlockStart.adoc[`emitBasicBlockStart`] [.small]#[virtual]# | Emit content at the start of basic block `MBB.` | xref:llvm/AsmPrinter/emitCFIInstruction-08.adoc[`emitCFIInstruction`] | `emitCFIInstruction` overloads | xref:llvm/AsmPrinter/emitCOFFFeatureSymbol.adoc[`emitCOFFFeatureSymbol`] | Emit the COFF feat.00 symbol for features enabled in `M.` | xref:llvm/AsmPrinter/emitCOFFReplaceableFunctionData.adoc[`emitCOFFReplaceableFunctionData`] | Emit COFF symbols/data for loader‐replaceable functions in `M.` | xref:llvm/AsmPrinter/emitCallGraphSection.adoc[`emitCallGraphSection`] | Emit the call‐graph section for function `MF.` | xref:llvm/AsmPrinter/emitCallSiteOffset.adoc[`emitCallSiteOffset`] | Emit a call‐site offset between `Hi` and `Lo` with `Encoding.` | xref:llvm/AsmPrinter/emitCallSiteValue.adoc[`emitCallSiteValue`] | Emit call‐site integer `Value` with encoding `Encoding.` | xref:llvm/AsmPrinter/emitConstantPool.adoc[`emitConstantPool`] [.small]#[virtual]# | Emit assembly for constants in the current function's constant pool. | xref:llvm/AsmPrinter/emitDanglingPrefetchTargets.adoc[`emitDanglingPrefetchTargets`] | Emit prefetch targets that were not mapped to any basic block. These targets are emitted at the beginning of the function body. | xref:llvm/AsmPrinter/emitDebugValue.adoc[`emitDebugValue`] [.small]#[virtual]# | Emit a debug value expression of `Size` bytes. | xref:llvm/AsmPrinter/emitDwarfAbbrev.adoc[`emitDwarfAbbrev`] | Emit one DWARF abbreviation entry to the output stream. | xref:llvm/AsmPrinter/emitDwarfAbbrevs.adoc[`emitDwarfAbbrevs`] | Emit the DWARF abbreviation table in `Abbrevs.` | xref:llvm/AsmPrinter/emitDwarfDIE.adoc[`emitDwarfDIE`] | Recursively emit the DWARF DIE tree rooted at `Die.` | xref:llvm/AsmPrinter/emitDwarfLengthOrOffset.adoc[`emitDwarfLengthOrOffset`] | Emit a 32‐ or 64‐bit DWARF length/offset value. | xref:llvm/AsmPrinter/emitDwarfOffset.adoc[`emitDwarfOffset`] | Emit DWARF offset `Label` + `Offset.` | xref:llvm/AsmPrinter/emitDwarfStringOffset-0c.adoc[`emitDwarfStringOffset`] | Emit the section‐relative offset of string‐pool entry `S.` | xref:llvm/AsmPrinter/emitDwarfSymbolReference.adoc[`emitDwarfSymbolReference`] | Emit a DWARF reference to symbol `Label.` | xref:llvm/AsmPrinter/emitDwarfUnitLength-0e.adoc[`emitDwarfUnitLength`] | `emitDwarfUnitLength` overloads | xref:llvm/AsmPrinter/emitEncodingByte.adoc[`emitEncodingByte`] | Emit a `.byte` directive for encoding value `Val.` | xref:llvm/AsmPrinter/emitEndOfAsmFile.adoc[`emitEndOfAsmFile`] [.small]#[virtual]# | Emit target‐specific content at the end of the assembly file. | xref:llvm/AsmPrinter/emitFrameAlloc.adoc[`emitFrameAlloc`] | Emit a frame allocation label for instruction `MI.` | xref:llvm/AsmPrinter/emitFunctionBody.adoc[`emitFunctionBody`] | This method emits the body and trailer for a function. | xref:llvm/AsmPrinter/emitFunctionBodyEnd.adoc[`emitFunctionBodyEnd`] [.small]#[virtual]# | Targets can override this to emit stuff after the last basic block in the function. | xref:llvm/AsmPrinter/emitFunctionBodyStart.adoc[`emitFunctionBodyStart`] [.small]#[virtual]# | Targets can override this to emit stuff before the first basic block in the function. | xref:llvm/AsmPrinter/emitFunctionDescriptor.adoc[`emitFunctionDescriptor`] [.small]#[virtual]# | Emit the function descriptor for the current function. | xref:llvm/AsmPrinter/emitFunctionEntryLabel.adoc[`emitFunctionEntryLabel`] [.small]#[virtual]# | Emit the entry label for the current function. | xref:llvm/AsmPrinter/emitGlobalConstant.adoc[`emitGlobalConstant`] | Print LLVM constant `CV` to the assembly output. | xref:llvm/AsmPrinter/emitGlobalGOTEquivs.adoc[`emitGlobalGOTEquivs`] | Emit GOT‐equivalent proxies that could not be optimized away. | xref:llvm/AsmPrinter/emitGlobalVariable-05.adoc[`emitGlobalVariable`] | `emitGlobalVariable` overloads | xref:llvm/AsmPrinter/emitImplicitDef.adoc[`emitImplicitDef`] [.small]#[virtual]# | Emit an IMPLICIT_DEF instruction in verbose assembly mode. | xref:llvm/AsmPrinter/emitInlineAsmEnd.adoc[`emitInlineAsmEnd`] [.small]#[virtual]# | Let the target restore state after emitting inline assembly. | xref:llvm/AsmPrinter/emitInlineAsmStart.adoc[`emitInlineAsmStart`] [.small]#[virtual]# | Let the target prepare state before emitting inline assembly. | xref:llvm/AsmPrinter/emitInstruction.adoc[`emitInstruction`] [.small]#[virtual]# | Emit machine instruction `MI.` | xref:llvm/AsmPrinter/emitInt16.adoc[`emitInt16`] | Emit a short directive with value `Value.` | xref:llvm/AsmPrinter/emitInt32.adoc[`emitInt32`] | Emit a long directive with value `Value.` | xref:llvm/AsmPrinter/emitInt64.adoc[`emitInt64`] | Emit a long‐long directive with value `Value.` | xref:llvm/AsmPrinter/emitInt8.adoc[`emitInt8`] | Emit a byte directive with value `Value.` | xref:llvm/AsmPrinter/emitJumpTableInfo.adoc[`emitJumpTableInfo`] [.small]#[virtual]# | Print assembly representations of the jump tables used by the current function to the current output stream. | xref:llvm/AsmPrinter/emitKCFITrapEntry.adoc[`emitKCFITrapEntry`] | Emit a KCFI trap entry for `Symbol` in function `MF.` | xref:llvm/AsmPrinter/emitKCFITypeId.adoc[`emitKCFITypeId`] [.small]#[virtual]# | Emit the KCFI type identifier for function `MF.` | xref:llvm/AsmPrinter/emitLabelDifference.adoc[`emitLabelDifference`] | Emit a sized difference between labels `Hi` and `Lo.` | xref:llvm/AsmPrinter/emitLabelDifferenceAsULEB128.adoc[`emitLabelDifferenceAsULEB128`] | Emit a ULEB128 difference between labels `Hi` and `Lo.` | xref:llvm/AsmPrinter/emitLabelPlusOffset.adoc[`emitLabelPlusOffset`] | Emit a sized reference to `Label` plus `Offset.` | xref:llvm/AsmPrinter/emitLabelReference.adoc[`emitLabelReference`] | Emit a sized reference to `Label.` | xref:llvm/AsmPrinter/emitLinkage.adoc[`emitLinkage`] [.small]#[virtual]# | Emit linkage information for `GVSym` based on `GV` when supported. | xref:llvm/AsmPrinter/emitMachOIFuncStubBody.adoc[`emitMachOIFuncStubBody`] [.small]#[virtual]# | Emit the Mach‐O IFunc stub body for `GI.` | xref:llvm/AsmPrinter/emitMachOIFuncStubHelperBody.adoc[`emitMachOIFuncStubHelperBody`] [.small]#[virtual]# | Emit the Mach‐O IFunc stub helper body for `GI.` | xref:llvm/AsmPrinter/emitMachineConstantPoolValue.adoc[`emitMachineConstantPoolValue`] [.small]#[virtual]# | Emit a target‐specific machine constant pool value. | xref:llvm/AsmPrinter/emitNops.adoc[`emitNops`] | Emit `N` NOP instructions. | xref:llvm/AsmPrinter/emitPCSections.adoc[`emitPCSections`] | Emit the PC sections collected from instructions in `MF.` | xref:llvm/AsmPrinter/emitPCSectionsLabel.adoc[`emitPCSectionsLabel`] | Emit a label used as a PC‐sections reference. | xref:llvm/AsmPrinter/emitPatchableFunctionEntries.adoc[`emitPatchableFunctionEntries`] | Emit entries for functions marked as patchable. | xref:llvm/AsmPrinter/emitPrefetchTargetSymbol.adoc[`emitPrefetchTargetSymbol`] | Emit a prefetch‐target symbol for `BBID` and `CallsiteIndex.` | xref:llvm/AsmPrinter/emitPseudoProbe.adoc[`emitPseudoProbe`] | Emit the pseudo‐probe described by instruction `MI.` | xref:llvm/AsmPrinter/emitRemarksSection.adoc[`emitRemarksSection`] | Emit the remarks section using remark streamer `RS.` | xref:llvm/AsmPrinter/emitSLEB128.adoc[`emitSLEB128`] | Emit signed LEB128 value `Value.` | xref:llvm/AsmPrinter/emitSpecialLLVMGlobal.adoc[`emitSpecialLLVMGlobal`] | Emit `GV` if it is a special LLVM global, otherwise do nothing. | xref:llvm/AsmPrinter/emitStackSizeSection.adoc[`emitStackSizeSection`] | Emit the stack‐size section entry for function `MF.` | xref:llvm/AsmPrinter/emitStackUsage.adoc[`emitStackUsage`] | Emit stack usage information for function `MF.` | xref:llvm/AsmPrinter/emitStartOfAsmFile.adoc[`emitStartOfAsmFile`] [.small]#[virtual]# | Emit target‐specific content at the start of the assembly file. | xref:llvm/AsmPrinter/emitTTypeReference.adoc[`emitTTypeReference`] [.small]#[virtual]# | Emit a ttype reference to global `GV` with encoding `Encoding.` | xref:llvm/AsmPrinter/emitTargetFeaturePop.adoc[`emitTargetFeaturePop`] [.small]#[virtual]# | Pop target‐feature directives previously pushed for `STI.` | xref:llvm/AsmPrinter/emitTargetFeaturePush.adoc[`emitTargetFeaturePush`] [.small]#[virtual]# | Push directives enabling instructions allowed by `STI.` | xref:llvm/AsmPrinter/emitULEB128.adoc[`emitULEB128`] | Emit unsigned LEB128 value `Value.` | xref:llvm/AsmPrinter/emitVisibility.adoc[`emitVisibility`] | Emit visibility information for symbol `Sym` when supported. | xref:llvm/AsmPrinter/emitXRayTable.adoc[`emitXRayTable`] | Emit a table with all XRay instrumentation points. | xref:llvm/AsmPrinter/emitXXStructor.adoc[`emitXXStructor`] [.small]#[virtual]# | Emit a global constant that participates in a ctor/dtor list. | xref:llvm/AsmPrinter/emitXXStructorList.adoc[`emitXXStructorList`] [.small]#[virtual]# | Emit an `llvm.global_ctors` or `llvm.global_dtors` list. | xref:llvm/AsmPrinter/getAddrLabelSymbol.adoc[`getAddrLabelSymbol`] | Return the address‐taken symbol for basic block `BB.` | xref:llvm/AsmPrinter/getAddrLabelSymbolToEmit.adoc[`getAddrLabelSymbolToEmit`] | Return all address‐taken symbols that must be emitted for `BB.` | xref:llvm/Pass/getAnalysis-034.adoc[`getAnalysis`] | `getAnalysis` overloads | xref:llvm/Pass/getAnalysisID-08.adoc[`getAnalysisID`] | `getAnalysisID` overloads | xref:llvm/Pass/getAnalysisIfAvailable.adoc[`getAnalysisIfAvailable`] | Get an optional analysis result that may already be available. | xref:llvm/AsmPrinter/getAnalysisUsage.adoc[`getAnalysisUsage`] [.small]#[virtual]# | Record analysis usage. | xref:llvm/Pass/getAsImmutablePass.adoc[`getAsImmutablePass`] [.small]#[virtual]# | Return this pass as an ImmutablePass, or null if it is not one. | xref:llvm/Pass/getAsPMDataManager.adoc[`getAsPMDataManager`] [.small]#[virtual]# | Return this pass as a PMDataManager when it is a nested pass manager. | xref:llvm/AsmPrinter/getCodeViewJumpTableInfo.adoc[`getCodeViewJumpTableInfo`] [.small]#[virtual]# | Get CodeView jump‐table debug info for jump table `JTI.` | xref:llvm/AsmPrinter/getConstantSectionSuffix.adoc[`getConstantSectionSuffix`] | Return a section suffix (hot or unlikely) for `C` when profiles exist. | xref:llvm/AsmPrinter/getCurrentSection.adoc[`getCurrentSection`] | Return the current section we are emitting to. | xref:llvm/AsmPrinter/getDataLayout.adoc[`getDataLayout`] | Return information about data layout. | xref:llvm/AsmPrinter/getDwarfDebug-0f.adoc[`getDwarfDebug`] | Return the DwarfDebug handler, or null if DWARF debug info is disabled. | xref:llvm/AsmPrinter/getDwarfFormParams.adoc[`getDwarfFormParams`] | Returns information about the byte size of DW_FORM values. | xref:llvm/AsmPrinter/getDwarfOffsetByteSize.adoc[`getDwarfOffsetByteSize`] | Returns 4 for DWARF32 and 8 for DWARF64. | xref:llvm/AsmPrinter/getDwarfVersion.adoc[`getDwarfVersion`] | Return the DWARF version used for debug info emission. | xref:llvm/AsmPrinter/getFunctionBegin.adoc[`getFunctionBegin`] | Return the symbol marking the beginning of the current function. | xref:llvm/AsmPrinter/getFunctionCFISectionType-09.adoc[`getFunctionCFISectionType`] | `getFunctionCFISectionType` overloads | xref:llvm/AsmPrinter/getFunctionEnd.adoc[`getFunctionEnd`] | Return the symbol marking the end of the current function. | xref:llvm/AsmPrinter/getFunctionFrameSymbol.adoc[`getFunctionFrameSymbol`] [.small]#[virtual]# | Return symbol for the function pseudo stack if the stack frame is not a register based. | xref:llvm/AsmPrinter/getFunctionNumber.adoc[`getFunctionNumber`] | Return a unique ID for the current function. | xref:llvm/AsmPrinter/getIFuncMCSubtargetInfo.adoc[`getIFuncMCSubtargetInfo`] [.small]#[virtual]# | Return subtarget info for Mach‐O IFunc lowering. | xref:llvm/AsmPrinter/getISAEncoding.adoc[`getISAEncoding`] [.small]#[virtual]# | Get the value for DW_AT_APPLE_isa. Zero if no isa encoding specified. | xref:llvm/AsmPrinter/getMBBExceptionSym.adoc[`getMBBExceptionSym`] | Return the exception symbol for the MBB section containing `MBB.` | xref:llvm/AsmPrinter/getModuleCFISectionType.adoc[`getModuleCFISectionType`] | Get the CFISection type for the module. | xref:llvm/AsmPrinter/getNameWithPrefix.adoc[`getNameWithPrefix`] | Fill `Name` with the mangled name of `GV,` including any target prefix. | xref:llvm/AsmPrinter/getObjFileLowering.adoc[`getObjFileLowering`] | Return information about object file lowering. | xref:llvm/Pass/getPassArgument.adoc[`getPassArgument`] | Return a nice clean name for a pass corresponding to that used to enable the pass in opt. | xref:llvm/Pass/getPassID.adoc[`getPassID`] | getPassID ‐ Return the PassID number that corresponds to this pass. | xref:llvm/Pass/getPassKind.adoc[`getPassKind`] | Return the kind of pass (module, function, loop, etc.). | xref:llvm/Pass/getPassName.adoc[`getPassName`] [.small]#[virtual]# | Return a human‐readable name for this pass. | xref:llvm/AsmPrinter/getPointerSize.adoc[`getPointerSize`] | Return the pointer size from the TargetMachine | xref:llvm/FunctionPass/getPotentialPassManagerType.adoc[`getPotentialPassManagerType`] [.small]#[virtual]# | Return what kind of Pass Manager can manage this pass. | xref:llvm/Pass/getResolver.adoc[`getResolver`] | Return the analysis resolver installed for this pass. | xref:llvm/AsmPrinter/getSubtargetInfo.adoc[`getSubtargetInfo`] | Return information about subtarget. | xref:llvm/AsmPrinter/getSymbol.adoc[`getSymbol`] | Return the MCSymbol for global value `GV.` | xref:llvm/AsmPrinter/getSymbolPreferLocal.adoc[`getSymbolPreferLocal`] | Return a symbol preferred for references to `GV.` | xref:llvm/AsmPrinter/getSymbolWithGlobalValueBase.adoc[`getSymbolWithGlobalValueBase`] | Return a private MCSymbol based on `GV` with suffix `Suffix.` | xref:llvm/AsmPrinter/getUnitLengthFieldByteSize.adoc[`getUnitLengthFieldByteSize`] | Returns 4 for DWARF32 and 12 for DWARF64. | xref:llvm/AsmPrinter/handleCallsiteForCallgraph.adoc[`handleCallsiteForCallgraph`] | Record call‐graph section info for call instruction `MI.` | xref:llvm/AsmPrinter/hasDebugInfo.adoc[`hasDebugInfo`] | Returns true if valid debug info is present. | xref:llvm/AsmPrinter/isBlockOnlyReachableByFallthrough.adoc[`isBlockOnlyReachableByFallthrough`] [.small]#[virtual]# | Return true if `MBB` is reachable only by fall‐through from one pred. | xref:llvm/AsmPrinter/isDwarf64.adoc[`isDwarf64`] | Return true if DWARF64 format is in use. | xref:llvm/AsmPrinter/isPositionIndependent.adoc[`isPositionIndependent`] | Return true if the output is being generated for a position‐independent image. | xref:llvm/AsmPrinter/isVerbose.adoc[`isVerbose`] | Return true if assembly output should contain comments. | xref:llvm/AsmPrinter/lowerBlockAddressConstant.adoc[`lowerBlockAddressConstant`] [.small]#[virtual]# | Lower block‐address constant `BA` to an MCExpr. | xref:llvm/AsmPrinter/lowerConstant.adoc[`lowerConstant`] [.small]#[virtual]# | Lower LLVM constant `CV` to an MCExpr. | xref:llvm/AsmPrinter/lowerConstantPtrAuth.adoc[`lowerConstantPtrAuth`] [.small]#[virtual]# | Lower pointer‐authentication constant `CPA` to an MCExpr. | xref:llvm/Pass/mustPreserveAnalysisID.adoc[`mustPreserveAnalysisID`] | Report whether the analysis identified by `AID` must be preserved. | xref:llvm/AsmPrinter/needsSEHMoves.adoc[`needsSEHMoves`] | Return true if Windows SEH move information must be emitted for the current function. | xref:llvm/Pass/preparePassManager.adoc[`preparePassManager`] [.small]#[virtual]# | Check whether available pass managers are suitable for this pass. | xref:llvm/AsmPrinter/preprocessXXStructorList.adoc[`preprocessXXStructorList`] | Gather structors from `List` and sort them by priority. | xref:llvm/Pass/print.adoc[`print`] [.small]#[virtual]# | Print the internal state of this pass for analysis dumping. | xref:llvm/FunctionPass/printIRUnit.adoc[`printIRUnit`] [.small]#[virtual]# | Serialize the IR unit this pass operates on for ‐‐print‐changed. | xref:llvm/AsmPrinter/printOffset.adoc[`printOffset`] | Print `Offset` to stream `OS.` | xref:llvm/AsmPrinter/recordSled.adoc[`recordSled`] | Record XRay sled `Sled` associated with instruction `MI.` | xref:llvm/Pass/releaseMemory.adoc[`releaseMemory`] [.small]#[virtual]# | Release memory held by this pass when it is no longer needed. | xref:llvm/FunctionPass/runOnFunction.adoc[`runOnFunction`] [.small]#[virtual]# | runOnFunction ‐ Virtual method overriden by subclasses to do the per‐function processing of the pass. | xref:llvm/AsmPrinter/runOnMachineFunction.adoc[`runOnMachineFunction`] [.small]#[virtual]# | Emit function `MF` to the OutStreamer. | xref:llvm/AsmPrinter/setDwarfUsesRelocationsAcrossSections.adoc[`setDwarfUsesRelocationsAcrossSections`] | Set whether DWARF emission uses cross‐section relocations. | xref:llvm/AsmPrinter/setDwarfVersion.adoc[`setDwarfVersion`] | Set the DWARF version used for debug info emission. | xref:llvm/Pass/setResolver.adoc[`setResolver`] | Install the analysis resolver used to satisfy this pass's dependencies. | xref:llvm/AsmPrinter/takeDeletedSymbolsForFunction.adoc[`takeDeletedSymbolsForFunction`] | Collect symbols for deleted address‐taken blocks in `F.` | xref:llvm/AsmPrinter/usesCFIWithoutEH.adoc[`usesCFIWithoutEH`] | Return true if CFI is used even when exception handling is disabled. | xref:llvm/Pass/verifyAnalysis.adoc[`verifyAnalysis`] [.small]#[virtual]# | verifyAnalysis() ‐ This member can be implemented by a analysis pass to check state of analysis information. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/Pass/createPass.adoc[`createPass`] | Construct a new instance of the pass identified by `ID.` | xref:llvm/AsmPrinter/getGVAlignment.adoc[`getGVAlignment`] | Return the alignment to use for global object `GV.` | xref:llvm/Pass/lookupPassInfo-0e.adoc[`lookupPassInfo`] | `lookupPassInfo` overloads |=== == Data Members [cols="1,4"] |=== | Name| Description | xref:llvm/AsmPrinter/AssertDebugEHFinalized.adoc[`AssertDebugEHFinalized`] | Callback that asserts debug and EH handlers have been finalized. | xref:llvm/AsmPrinter/BeginGCAssembly.adoc[`BeginGCAssembly`] | Callback invoked before emitting GC assembly for a module. | xref:llvm/AsmPrinter/CurrentFnCallsiteEndSymbols.adoc[`CurrentFnCallsiteEndSymbols`] | End‐of‐callsite symbols for the current function, keyed by basic block. | xref:llvm/AsmPrinter/CurrentFnDescSym.adoc[`CurrentFnDescSym`] | The symbol for the current function descriptor on AIX. This is created at the beginning of each call to SetupMachineFunction(). | xref:llvm/AsmPrinter/CurrentFnSym.adoc[`CurrentFnSym`] | The symbol for the current function. This is recalculated at the beginning of each call to runOnMachineFunction(). | xref:llvm/AsmPrinter/CurrentFnSymForSize.adoc[`CurrentFnSymForSize`] | Start symbol used when calculating the current function's size. | xref:llvm/AsmPrinter/CurrentPatchableFunctionEntrySym.adoc[`CurrentPatchableFunctionEntrySym`] | The symbol for the entry in __patchable_function_entires. | xref:llvm/AsmPrinter/EmitStackMaps.adoc[`EmitStackMaps`] | Callback invoked after function emission to write stack map records. | xref:llvm/AsmPrinter/FinishGCAssembly.adoc[`FinishGCAssembly`] | Callback invoked after emitting GC assembly for a module. | xref:llvm/AsmPrinter/GetMDT.adoc[`GetMDT`] | Callback to obtain the MachineDominatorTree for a MachineFunction. | xref:llvm/AsmPrinter/GetMLI.adoc[`GetMLI`] | Callback that returns MachineLoopInfo for a MachineFunction. | xref:llvm/AsmPrinter/GetMMI.adoc[`GetMMI`] | Callback that returns the current MachineModuleInfo. | xref:llvm/AsmPrinter/GetORE.adoc[`GetORE`] | Callback that returns the optimization remark emitter for a function. | xref:llvm/AsmPrinter/GlobalGOTEquivs.adoc[`GlobalGOTEquivs`] | Maps GOT‐equivalent MCSymbols to the GlobalVariable and how often other globals reference that equivalent. | xref:llvm/AsmPrinter/MAI.adoc[`MAI`] | Target Asm Printer information. | xref:llvm/AsmPrinter/MBBSectionRanges.adoc[`MBBSectionRanges`] | Begin and end symbols for each basic‐block section ID. | xref:llvm/AsmPrinter/MDT.adoc[`MDT`] | This is a pointer to the current MachineDominatorTree. | xref:llvm/AsmPrinter/MF.adoc[`MF`] | The current machine function. | xref:llvm/AsmPrinter/MLI.adoc[`MLI`] | This is a pointer to the current MachineLoopInfo. | xref:llvm/AsmPrinter/MMI.adoc[`MMI`] | This is a pointer to the current MachineModuleInfo. | xref:llvm/AsmPrinter/ORE.adoc[`ORE`] | Optimization remark emitter. | xref:llvm/AsmPrinter/OutContext.adoc[`OutContext`] | This is the context for the output file that we are streaming. This owns all of the global MC‐related objects for the generated translation unit. | xref:llvm/AsmPrinter/OutStreamer.adoc[`OutStreamer`] | MCStreamer for the assembly or object file being generated. | xref:llvm/AsmPrinter/PSI.adoc[`PSI`] | The profile summary information. | xref:llvm/AsmPrinter/SDPI.adoc[`SDPI`] | Provides the profile information for constants. | xref:llvm/AsmPrinter/Sleds.adoc[`Sleds`] | XRay sleds collected for the current module. | xref:llvm/AsmPrinter/TM.adoc[`TM`] | Target machine description. |=== == Protected Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/AsmPrinter/2constructor.adoc[`AsmPrinter`] [.small]#[constructor]# | Construct an AsmPrinter for `TM` that writes through `Streamer.` | xref:llvm/AsmPrinter/createDwarfDebug.adoc[`createDwarfDebug`] [.small]#[virtual]# | Create the DwarfDebug handler. Targets can override this to provide custom debug information handling. | xref:llvm/AsmPrinter/emitGlobalAlias.adoc[`emitGlobalAlias`] [.small]#[virtual]# | Emit global alias `GA` from module `M.` | xref:llvm/AsmPrinter/emitJumpTableEntry.adoc[`emitJumpTableEntry`] [.small]#[virtual]# | Emit one jump‐table entry for destination `MBB.` | xref:llvm/MachineFunctionPass/getAnalysisUsage.adoc[`getAnalysisUsage`] [.small]#[virtual]# | getAnalysisUsage ‐ Subclasses that override getAnalysisUsage must call this. | xref:llvm/MachineFunctionPass/getClearedProperties.adoc[`getClearedProperties`] [.small]#[virtual]# | Return the MachineFunctionProperties this pass clears when it runs. | xref:llvm/AsmPrinter/getRequiredGlobalAlignmentGranule.adoc[`getRequiredGlobalAlignmentGranule`] [.small]#[virtual]# | Return an optional minimum alignment granule for global `GV.` | xref:llvm/MachineFunctionPass/getRequiredProperties.adoc[`getRequiredProperties`] [.small]#[virtual]# | Return the MachineFunctionProperties this pass requires before running. | xref:llvm/MachineFunctionPass/getSetProperties.adoc[`getSetProperties`] [.small]#[virtual]# | Return the MachineFunctionProperties this pass sets after running. | xref:llvm/MachineFunctionPass/runOnMachineFunction.adoc[`runOnMachineFunction`] [.small]#[virtual]# | runOnMachineFunction ‐ This method must be overloaded to perform the desired machine code transformation or analysis. | xref:llvm/AsmPrinter/shouldEmitWeakSwiftAsyncExtendedFramePointerFlags.adoc[`shouldEmitWeakSwiftAsyncExtendedFramePointerFlags`] [.small]#[virtual]# | Return true if weak Swift async extended frame‐pointer flags are needed. | xref:llvm/FunctionPass/skipFunction.adoc[`skipFunction`] | Check whether this optional pass should be skipped for `F.` |=== == Protected Data Members [cols="1,4"] |=== | Name| Description | xref:llvm/AsmPrinter/CurrentFnBegin.adoc[`CurrentFnBegin`] | Symbol marking the beginning of the current function. | xref:llvm/AsmPrinter/CurrentFnBeginLocal.adoc[`CurrentFnBeginLocal`] | For dso_local functions, the current $local alias for the function. | xref:llvm/AsmPrinter/EHHandlers.adoc[`EHHandlers`] | A handle to the EH info emitter (if present). | xref:llvm/AsmPrinter/Handlers.adoc[`Handlers`] | Debug‐info and related AsmPrinter handlers owned by this printer. | xref:llvm/AsmPrinter/NumUserHandlers.adoc[`NumUserHandlers`] | Number of user‐registered handlers at the front of `Handlers.` | xref:llvm/AsmPrinter/SM.adoc[`SM`] | Stack map records collected while emitting the current module. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/emitAppleAccelTable.adoc[`emitAppleAccelTable`] | Emit an Apple Accelerator Table consisting of entries in the specified AccelTable. The DataT template parameter should be derived from AppleAccelTableData. | xref:llvm/emitAppleAccelTableImpl.adoc[`emitAppleAccelTableImpl`] | Emit an Apple accelerator table for `Contents` using atom list `Atoms.` | xref:llvm/emitDWARF5AccelTable-07.adoc[`emitDWARF5AccelTable`] | Emit a DWARF v5 accelerator table for the given CU list. | xref:llvm/emitDWARF5AccelTable-08.adoc[`emitDWARF5AccelTable`] | Emit a DWARF v5 accelerator table using compile units from `DD.` | xref:llvm/getBestSimplifyQuery-05.adoc[`getBestSimplifyQuery`] | Build a SimplifyQuery from analyses currently valid in a pass. | xref:llvm/getPassTimer.adoc[`getPassTimer`] | Request the timer for this legacy‐pass‐manager's pass instance. | xref:llvm/isBitcodeWriterPass.adoc[`isBitcodeWriterPass`] | Check whether a pass is a BitcodeWriterPass. | xref:llvm/isIRPrintingPass.adoc[`isIRPrintingPass`] | Return true if a pass is for IR printing. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#