|
class | A57ChainingConstraint |
| Add the accumulator chaining constraint to a PBQP graph. More...
|
|
struct | AAAddressSpace |
| An abstract interface for address space information. More...
|
|
struct | AAAlign |
| An abstract interface for all align attributes. More...
|
|
struct | AAAllocationInfo |
|
struct | AAAssumptionInfo |
| An abstract attribute for getting assumption information. More...
|
|
struct | AACacheLoc |
| Cache key for BasicAA results. More...
|
|
class | AACallEdgeIterator |
| An Iterator for call edges, creates AACallEdges attributes in a lazy way. More...
|
|
struct | AACallEdges |
| An abstract state for querying live call edges. More...
|
|
struct | AACallGraphNode |
|
struct | AADenormalFPMath |
| An abstract Attribute for specializing "dynamic" components of "denormal-fp-math" and "denormal-fp-math-f32" to a known denormal mode. More...
|
|
struct | AADepGraph |
| The data structure for the dependency graph. More...
|
|
struct | AADepGraphNode |
| } More...
|
|
struct | AADereferenceable |
| An abstract interface for all dereferenceable attribute. More...
|
|
class | AAEvaluator |
|
struct | AAExecutionDomain |
|
struct | AAGlobalValueInfo |
| An abstract interface for llvm::GlobalValue information interference. More...
|
|
struct | AAHeapToStack |
|
struct | AAIndirectCallInfo |
| An abstract interface for indirect call information interference. More...
|
|
struct | AAInstanceInfo |
| An abstract interface to track if a value leaves it's defining function instance. More...
|
|
struct | AAInterFnReachability |
| An abstract Attribute for computing reachability between functions. More...
|
|
struct | AAIntraFnReachability |
| An abstract interface to determine reachability of point A to B. More...
|
|
struct | AAIsDead |
| An abstract interface for liveness abstract attribute. More...
|
|
class | AAManager |
| A manager for alias analyses. More...
|
|
struct | AAMDNodes |
| A collection of metadata nodes that might be associated with a memory access used by the alias-analysis infrastructure. More...
|
|
struct | AAMemoryBehavior |
| An abstract interface for memory access kind related attributes (readnone/readonly/writeonly). More...
|
|
struct | AAMemoryLocation |
| An abstract interface for all memory location attributes (readnone/argmemonly/inaccessiblememonly/inaccessibleorargmemonly). More...
|
|
struct | AAMustProgress |
| An abstract interface for all nonnull attributes. More...
|
|
struct | AANoAlias |
| An abstract interface for all noalias attributes. More...
|
|
struct | AANoCapture |
| An abstract interface for all nocapture attributes. More...
|
|
struct | AANoFPClass |
|
struct | AANoFree |
| An AbstractAttribute for nofree. More...
|
|
struct | AANonConvergent |
| An abstract Attribute for determining the necessity of the convergent attribute. More...
|
|
struct | AANonNull |
| An abstract interface for all nonnull attributes. More...
|
|
struct | AANoRecurse |
| An abstract attribute for norecurse. More...
|
|
struct | AANoReturn |
| An AbstractAttribute for noreturn. More...
|
|
struct | AANoSync |
|
struct | AANoUndef |
| An abstract interface for all noundef attributes. More...
|
|
struct | AANoUnwind |
|
struct | AAPointerInfo |
| An abstract interface for struct information. More...
|
|
struct | AAPotentialConstantValues |
| An abstract interface for potential values analysis. More...
|
|
struct | AAPotentialValues |
|
struct | AAPrivatizablePtr |
| An abstract interface for privatizability. More...
|
|
class | AAQueryInfo |
| This class stores info we want to provide to or retain within an alias query. More...
|
|
class | AArch64_COFFTargetObjectFile |
| This implementation is used for AArch64 COFF targets. More...
|
|
class | AArch64_ELFTargetObjectFile |
| This implementation is used for AArch64 ELF targets (Linux in particular). More...
|
|
class | AArch64_MachoTargetObjectFile |
| AArch64_MachoTargetObjectFile - This TLOF implementation is used for Darwin. More...
|
|
class | AArch64AppleInstPrinter |
|
class | AArch64AuthMCExpr |
|
class | AArch64beTargetMachine |
|
class | AArch64CallLowering |
|
class | AArch64Disassembler |
|
class | AArch64ExternalSymbolizer |
|
class | AArch64FrameLowering |
|
class | AArch64FunctionInfo |
| AArch64FunctionInfo - This class is derived from MachineFunctionInfo and contains private AArch64-specific information for each MachineFunction. More...
|
|
class | AArch64GenRegisterBankInfo |
|
class | AArch64InstPrinter |
|
class | AArch64InstrInfo |
|
class | AArch64LegalizerInfo |
|
class | AArch64leTargetMachine |
|
struct | AArch64MCAsmInfoDarwin |
|
struct | AArch64MCAsmInfoELF |
|
struct | AArch64MCAsmInfoGNUCOFF |
|
struct | AArch64MCAsmInfoMicrosoftCOFF |
|
class | AArch64MCExpr |
|
class | AArch64MCInstLower |
| AArch64MCInstLower - This class is used to lower an MachineInstr into an MCInst. More...
|
|
class | AArch64PostRASchedStrategy |
| A MachineSchedStrategy implementation for AArch64 post RA scheduling. More...
|
|
class | AArch64RegisterBankInfo |
| This class provides the information for the target register banks. More...
|
|
class | AArch64RegisterInfo |
|
class | AArch64SelectionDAGInfo |
|
class | AArch64Subtarget |
|
class | AArch64TargetELFStreamer |
|
class | AArch64TargetLowering |
|
class | AArch64TargetMachine |
|
class | AArch64TargetStreamer |
|
class | AArch64TargetWinCOFFStreamer |
|
class | AArch64TTIImpl |
|
class | AAResultBase |
| A base class to help implement the function alias analysis results concept. More...
|
|
class | AAResults |
|
class | AAResultsWrapperPass |
| A wrapper pass to provide the legacy pass manager access to a suitably prepared AAResults object. More...
|
|
struct | AAUndefinedBehavior |
| An abstract attribute for undefined behavior. More...
|
|
struct | AAUnderlyingObjects |
| An abstract attribute for getting all assumption underlying objects. More...
|
|
struct | AAValueConstantRange |
| An abstract interface for range value analysis. More...
|
|
struct | AAValueSimplify |
| An abstract interface for value simplify abstract attribute. More...
|
|
struct | AAWillReturn |
| An abstract attribute for willreturn. More...
|
|
struct | AbstractAttribute |
| Base struct for all "concrete attribute" deductions. More...
|
|
class | AbstractCallSite |
| AbstractCallSite. More...
|
|
class | AbstractDependenceGraphBuilder |
| This abstract builder class defines a set of high-level steps for creating DDG-like graphs. More...
|
|
class | AbstractLatticeFunction |
| AbstractLatticeFunction - This class is implemented by the dataflow instance to specify what the lattice values are and how they handle merges etc. More...
|
|
class | AbstractSlotTrackerStorage |
| Abstract interface of slot tracker storage. More...
|
|
struct | AbstractState |
| An interface to query the internal state of an abstract attribute. More...
|
|
class | AccelTable |
| This class holds an abstract representation of an Accelerator Table, consisting of a sequence of buckets, each bucket containint a sequence of HashData entries. More...
|
|
class | AccelTableBase |
| A base class holding non-template-dependant functionality of the AccelTable class. More...
|
|
class | AccelTableData |
| Interface which the different types of accelerator table data have to conform. More...
|
|
struct | AccessAsInstructionInfo |
| Helper for AA::PointerInfo::Access DenseMap/Set usage ignoring everythign but the instruction. More...
|
|
struct | ADCEPass |
| A DCE pass that assumes instructions are dead until proven otherwise. More...
|
|
struct | add_const_past_pointer |
| If T is a pointer to X, return a pointer to const X. More...
|
|
struct | add_const_past_pointer< T, std::enable_if_t< std::is_pointer_v< T > > > |
|
struct | add_lvalue_reference_if_not_pointer |
| If T is a pointer, just return it. If it is not, return T&. More...
|
|
struct | add_lvalue_reference_if_not_pointer< T, std::enable_if_t< std::is_pointer_v< T > > > |
|
class | AddDiscriminatorsPass |
|
class | AddOperator |
|
class | AddressPool |
|
class | AddressProbesMap |
|
class | AddressRange |
| A class that represents an address range. More...
|
|
class | AddressRanges |
| The AddressRanges class helps normalize address range collections. More...
|
|
class | AddressRangesBase |
| The AddressRangesBase class presents the base functionality for the normalized address ranges collection. More...
|
|
class | AddressRangesMap |
| AddressRangesMap class maps values to the address ranges. More...
|
|
class | AddressRangeValuePair |
|
struct | AddressSanitizerOptions |
|
class | AddressSanitizerPass |
| Public interface to the address sanitizer module pass for instrumenting code to check for various memory errors. More...
|
|
class | AddrLabelMap |
|
class | AddrSpaceCastInst |
| This class represents a conversion between pointers from one address space to another. More...
|
|
class | AddrSpaceCastOperator |
|
class | AddrSpaceCastSDNode |
|
class | AggressiveAntiDepBreaker |
|
class | AggressiveAntiDepState |
| Contains all the state necessary for anti-dep breaking. More...
|
|
class | AggressiveInstCombinePass |
|
class | AIXCCState |
|
class | AIXException |
|
struct | AliasMatchingData |
| Tablegenerated data structures needed to match alias patterns. More...
|
|
struct | AliasPattern |
| Data for each alias pattern. More...
|
|
struct | AliasPatternCond |
|
class | AliasResult |
| The possible results of an alias query. More...
|
|
class | AliasScopeNode |
| This is a simple wrapper around an MDNode which provides a higher-level interface by hiding the details of how alias analysis information is encoded in its operands. More...
|
|
class | AliasSet |
|
class | AliasSetsPrinterPass |
|
class | AliasSetTracker |
|
class | AliasSummary |
| Alias summary information. More...
|
|
struct | Align |
| This struct is a compact representation of a valid (non-zero power of two) alignment. More...
|
|
struct | AlignedCharArrayUnion |
| A suitably aligned and sized character array member which can hold elements of any type. More...
|
|
struct | AlignmentFromAssumptionsPass |
|
class | AllAnalysesOn |
| This templated class represents "all analyses that operate over \<a
particular IR unit\>" (e.g. More...
|
|
class | AllocaHolder |
|
class | AllocaInst |
| an instruction to allocate memory on the stack More...
|
|
struct | AllocaPackedValues |
|
class | AllocationOrder |
|
class | AllocatorBase |
| CRTP base class providing obvious overloads for the core Allocate() methods of LLVM-style allocators. More...
|
|
class | AllocatorList |
| A linked-list with a custom, local allocator. More...
|
|
struct | AllocInfo |
| Summary of memprof metadata on allocations. More...
|
|
class | AlwaysInlinerPass |
| Inlines functions marked as "always_inline". More...
|
|
class | AMDGPUAA |
| Analysis pass providing a never-invalidated alias analysis result. More...
|
|
class | AMDGPUAAResult |
| A simple AA result that uses TBAA metadata to answer queries. More...
|
|
class | AMDGPUAAWrapperPass |
| Legacy wrapper pass to provide the AMDGPUAAResult object. More...
|
|
struct | AMDGPUAlwaysInlinePass |
|
class | AMDGPUAnnotateUniformValuesPass |
|
class | AMDGPUArgumentUsageInfo |
|
class | AMDGPUAsmPrinter |
|
struct | AMDGPUAtomicOptimizerPass |
|
struct | AMDGPUAttributorOptions |
|
class | AMDGPUAttributorPass |
|
class | AMDGPUCallLowering |
|
class | AMDGPUCodeGenPassBuilder |
|
class | AMDGPUCodeGenPreparePass |
|
class | AMDGPUCombinerHelper |
|
class | AMDGPUCtorDtorLoweringPass |
| Lower llvm.global_ctors and llvm.global_dtors to special kernels. More...
|
|
class | AMDGPUDAGToDAGISel |
| AMDGPU specific code to select AMDGPU machine instructions for SelectionDAG operations. More...
|
|
class | AMDGPUDAGToDAGISelLegacy |
|
class | AMDGPUDisassembler |
|
class | AMDGPUExternalAAWrapper |
|
class | AMDGPUFrameLowering |
| Information about the stack frame layout on the AMDGPU targets. More...
|
|
struct | AMDGPUFunctionArgInfo |
|
class | AMDGPUGenRegisterBankInfo |
| This class provides the information for the target register banks. More...
|
|
class | AMDGPUGWSResourcePseudoSourceValue |
|
struct | AMDGPUImageIntrinsicOptimizerPass |
|
class | AMDGPUInstPrinter |
|
class | AMDGPUInstrInfo |
|
class | AMDGPUInstructionSelector |
|
class | AMDGPUISelDAGToDAGPass |
|
class | AMDGPULateCodeGenPreparePass |
|
class | AMDGPULegalizerInfo |
|
class | AMDGPULibCalls |
|
class | AMDGPULibFunc |
| Wrapper class for AMDGPULIbFuncImpl. More...
|
|
class | AMDGPULibFuncBase |
|
class | AMDGPULibFuncImpl |
|
struct | AMDGPULowerBufferFatPointersPass |
|
class | AMDGPULowerKernelArgumentsPass |
|
struct | AMDGPULowerKernelAttributesPass |
|
struct | AMDGPULowerModuleLDSPass |
|
class | AMDGPUMachineFunction |
|
class | AMDGPUMachineModuleInfo |
|
class | AMDGPUMangledLibFunc |
|
class | AMDGPUMCAsmInfo |
|
class | AMDGPUMCExpr |
| AMDGPU target specific MCExpr operations. More...
|
|
class | AMDGPUMIRFormatter |
|
class | AMDGPUOpenCLEnqueuedBlockLoweringPass |
|
class | AMDGPUPALMetadata |
|
class | AMDGPUPassConfig |
|
class | AMDGPUPerfHintAnalysis |
|
struct | AMDGPUPerfHintAnalysisPass |
|
class | AMDGPUPreloadKernArgPrologPass |
|
struct | AMDGPUPrintfRuntimeBindingPass |
|
struct | AMDGPUPromoteAllocaPass |
|
struct | AMDGPUPromoteAllocaToVectorPass |
|
struct | AMDGPUPromoteKernelArgumentsPass |
|
class | AMDGPUPseudoSourceValue |
|
class | AMDGPURegisterBankInfo |
|
class | AMDGPURemoveIncompatibleFunctionsPass |
|
struct | AMDGPUResourceUsageAnalysis |
|
class | AMDGPURewriteUndefForPHIPass |
|
class | AMDGPUSelectionDAGInfo |
|
struct | AMDGPUSimplifyLibCallsPass |
|
class | AMDGPUSplitModulePass |
| Splits the module M into N linkable partitions. More...
|
|
class | AMDGPUSubtarget |
|
struct | AMDGPUSwLowerLDSPass |
|
class | AMDGPUSymbolizer |
|
class | AMDGPUTargetAsmStreamer |
|
class | AMDGPUTargetELFStreamer |
|
class | AMDGPUTargetLowering |
|
class | AMDGPUTargetMachine |
|
class | AMDGPUTargetObjectFile |
|
class | AMDGPUTargetStreamer |
|
class | AMDGPUTTIImpl |
|
class | AMDGPUUnifyDivergentExitNodesPass |
|
struct | AMDGPUUnifyMetadataPass |
|
class | AMDGPUUnmangledLibFunc |
|
struct | AMDGPUUseNativeCallsPass |
|
struct | AnalysisGetter |
| Wrapper for FunctionAnalysisManager. More...
|
|
struct | AnalysisInfoMixin |
| A CRTP mix-in that provides informational APIs needed for analysis passes. More...
|
|
struct | AnalysisKey |
| A special type used by analysis passes to provide an address that identifies that particular analysis pass type. More...
|
|
class | AnalysisManager |
| A container for analyses that lazily runs them and caches their results. More...
|
|
class | AnalysisResolver |
| AnalysisResolver - Simple interface used by Pass objects to pull all analysis information out of pass manager that is responsible to manage the pass. More...
|
|
struct | AnalysisSetKey |
| A special type used to provide an address that identifies a set of related analyses. More...
|
|
class | AnalysisUsage |
| Represent the analysis usage information of a pass. More...
|
|
struct | Annotation2MetadataPass |
| Pass to convert @llvm.global.annotations to !annotation metadata. More...
|
|
struct | AnnotationRemarksPass |
|
class | Annotations |
| Annotations lets you mark points and ranges inside source code, for tests: More...
|
|
struct | AnonStructTypeKeyInfo |
|
class | AnonymousNameInit |
| "anonymous_n" - Represent an anonymous record name More...
|
|
class | AntiDepBreaker |
| This class works in conjunction with the post-RA scheduler to rename registers to break register anti-dependencies (WAR hazards). More...
|
|
class | Any |
|
class | AnyCoroEndInst |
|
class | AnyCoroIdInst |
| This represents a common base class for llvm.coro.id instructions. More...
|
|
class | AnyCoroIdRetconInst |
| This represents either the llvm.coro.id.retcon or llvm.coro.id.retcon.once instruction. More...
|
|
class | AnyCoroSuspendInst |
|
class | AnyMemCpyInst |
| This class represents any memcpy intrinsic i.e. More...
|
|
class | AnyMemIntrinsic |
|
class | AnyMemMoveInst |
| This class represents any memmove intrinsic i.e. More...
|
|
class | AnyMemSetInst |
| This class represents any memset intrinsic. More...
|
|
class | AnyMemTransferInst |
|
class | APByteStreamer |
|
class | APFixedPoint |
| The APFixedPoint class works similarly to APInt/APSInt in that it is a functional replacement for a scaled integer. More...
|
|
class | APFloat |
|
struct | APFloatBase |
| A self-contained host- and target-independent arbitrary-precision floating-point software implementation. More...
|
|
class | APInt |
| Class for arbitrary precision integers. More...
|
|
class | AppendingBinaryByteStream |
| An implementation of WritableBinaryStream which can write at its end causing the underlying data to grow. More...
|
|
class | AppleAcceleratorTable |
| This implements the Apple accelerator table format, a precursor of the DWARF 5 accelerator table format. More...
|
|
class | AppleAccelTableData |
| A base class for different implementations of Data classes for Apple Accelerator Tables. More...
|
|
class | AppleAccelTableOffsetData |
| Accelerator table data implementation for simple Apple accelerator tables with just a DIE reference. More...
|
|
class | AppleAccelTableStaticOffsetData |
| Accelerator table data implementation for simple Apple accelerator tables with a DIE offset but no actual DIE pointer. More...
|
|
class | AppleAccelTableStaticTypeData |
| Accelerator table data implementation for type accelerator tables with a DIE offset but no actual DIE pointer. More...
|
|
class | AppleAccelTableTypeData |
| Accelerator table data implementation for Apple type accelerator tables. More...
|
|
class | APSInt |
| An arbitrary precision integer that knows its signedness. More...
|
|
class | ARCFrameLowering |
|
class | ARCFunctionInfo |
| ARCFunctionInfo - This class is derived from MachineFunction private ARC target-specific information for each MachineFunction. More...
|
|
class | ARCInstPrinter |
|
class | ARCInstrInfo |
|
class | ARCMCAsmInfo |
|
class | ARCMCInstLower |
| This class is used to lower an MachineInstr into an MCInst. More...
|
|
struct | ARCRegisterInfo |
|
class | ARCSubtarget |
|
class | ARCTargetLowering |
|
class | ARCTargetMachine |
|
class | ARCTargetStreamer |
|
class | ARCTTIImpl |
|
struct | ArgDescriptor |
|
struct | ArgInfo |
| Helper struct shared between Function Specialization and SCCP Solver. More...
|
|
class | Argument |
| This class represents an incoming formal argument to a Function. More...
|
|
class | ArgumentInit |
|
class | ArgumentPromotionPass |
| Argument promotion pass. More...
|
|
class | ARMAsmBackend |
|
class | ARMAsmBackendDarwin |
|
class | ARMAsmBackendELF |
|
class | ARMAsmBackendWinCOFF |
|
class | ARMAsmPrinter |
|
class | ARMAttributeParser |
|
class | ARMBankConflictHazardRecognizer |
|
class | ARMBaseInstrInfo |
|
class | ARMBaseRegisterInfo |
|
class | ARMBaseTargetMachine |
|
class | ARMBasicBlockUtils |
|
class | ARMBETargetMachine |
| ARM/Thumb big endian target machine. More...
|
|
class | ARMBlockPlacement |
|
class | ARMCallLowering |
|
class | ARMCOFFMCAsmInfoGNU |
|
class | ARMCOFFMCAsmInfoMicrosoft |
|
class | ARMConstantPoolConstant |
| ARMConstantPoolConstant - ARM-specific constant pool values for Constants, Functions, and BlockAddresses. More...
|
|
class | ARMConstantPoolMBB |
| ARMConstantPoolMBB - ARM-specific constantpool value of a machine basic block. More...
|
|
class | ARMConstantPoolSymbol |
| ARMConstantPoolSymbol - ARM-specific constantpool values for external symbols. More...
|
|
class | ARMConstantPoolValue |
| ARMConstantPoolValue - ARM specific constantpool value. More...
|
|
class | ARMELFMCAsmInfo |
|
class | ARMElfTargetObjectFile |
|
class | ARMException |
|
class | ARMFrameLowering |
|
class | ARMFunctionInfo |
| ARMFunctionInfo - This class is derived from MachineFunctionInfo and contains private ARM-specific information for each MachineFunction. More...
|
|
class | ARMGenRegisterBankInfo |
|
class | ARMHazardRecognizerFPMLx |
|
class | ARMInstPrinter |
|
class | ARMInstrInfo |
|
class | ARMJITSymbolFlags |
| ARM-specific JIT symbol flags. More...
|
|
class | ARMLegalizerInfo |
|
class | ARMLETargetMachine |
| ARM/Thumb little endian target machine. More...
|
|
class | ARMMCAsmInfoDarwin |
|
class | ARMMCExpr |
|
class | ARMOverrideBypasses |
| Post-process the DAG to create cluster edges between instrs that may be fused by the processor into a single operation. More...
|
|
class | ARMRegisterBankInfo |
| This class provides the information for the target register banks. More...
|
|
struct | ARMRegisterInfo |
|
class | ARMSelectionDAGInfo |
|
class | ARMSubtarget |
|
class | ARMTargetLowering |
|
class | ARMTargetStreamer |
|
class | ARMTTIImpl |
|
class | ArrayRecycler |
| Recycle small arrays allocated from a BumpPtrAllocator. More...
|
|
class | ArrayRef |
| ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. More...
|
|
class | ArrayType |
| Class to represent array types. More...
|
|
struct | ASanAccessInfo |
|
struct | ASanStackFrameLayout |
|
struct | ASanStackVariableDescription |
|
class | AShrOperator |
|
class | AsmCommentConsumer |
| A callback class which is notified of each comment in an assembly file as it is lexed. More...
|
|
class | AsmCond |
| AsmCond - Class to support conditional assembly. More...
|
|
struct | AsmFieldInfo |
|
class | AsmLexer |
| AsmLexer - Lexer class for assembly files. More...
|
|
class | AsmPrinter |
| This class is intended to be used as a driving class for all asm writers. More...
|
|
class | AsmPrinterHandler |
| Collects and handles AsmPrinter objects required to build debug or EH information. More...
|
|
struct | AsmRewrite |
|
class | AsmToken |
| Target independent representation for an assembler token. More...
|
|
struct | AsmTypeInfo |
|
class | AssemblerConstantPools |
|
class | AssemblyAnnotationWriter |
|
class | AssertAlignSDNode |
| An SDNode that records if a register contains a value that is guaranteed to be aligned accordingly. More...
|
|
class | AssertingVH |
| Value handle that asserts if the Value is deleted. More...
|
|
class | AssignGUIDPass |
| Assign a GUID to functions as metadata. More...
|
|
class | AssignmentTrackingAnalysis |
|
class | AssignmentTrackingPass |
| Convert @llvm.dbg.declare intrinsics into sets of @llvm.dbg.assign intrinsics by treating stores to the dbg.declare'd address as assignments to the variable. More...
|
|
struct | AssumeBuilderPass |
| This pass will try to build an llvm.assume for every instruction in the function. More...
|
|
class | AssumeInst |
| This represents the llvm.assume intrinsic. More...
|
|
struct | AssumeSimplifyPass |
| This pass attempts to minimize the number of assume without loosing any information. More...
|
|
class | AssumptionAnalysis |
| A function analysis which provides an AssumptionCache . More...
|
|
class | AssumptionCache |
| A cache of @llvm.assume calls within a function. More...
|
|
class | AssumptionCacheTracker |
| An immutable pass that tracks lazily created AssumptionCache objects. More...
|
|
class | AssumptionPrinterPass |
| Printer pass for the AssumptionAnalysis results. More...
|
|
class | AtomicCmpXchgInst |
| An instruction that atomically checks whether a specified value is in a memory location, and, if it is, stores a new value there. More...
|
|
class | AtomicExpandPass |
|
class | AtomicInfo |
|
class | AtomicMemCpyInst |
| This class represents the atomic memcpy intrinsic i.e. More...
|
|
class | AtomicMemIntrinsic |
|
class | AtomicMemMoveInst |
| This class represents the atomic memmove intrinsic i.e. More...
|
|
class | AtomicMemSetInst |
| This class represents atomic memset intrinsic. More...
|
|
class | AtomicMemTransferInst |
|
class | AtomicRMWInst |
| an instruction that atomically reads a memory location, combines it with another value, and then stores the result back. More...
|
|
class | AtomicSDNode |
| This is an SDNode representing atomic operations. More...
|
|
class | AttrBuilder |
|
class | Attribute |
|
class | AttributeBitSet |
|
class | AttributeImpl |
|
struct | AttributeLinkedOffsetFixup |
|
class | AttributeList |
|
class | AttributeListImpl |
|
class | AttributeMask |
|
class | AttributeSet |
|
class | AttributeSetNode |
|
struct | Attributor |
| The fixpoint analysis framework that orchestrates the attribute deduction. More...
|
|
struct | AttributorCallGraph |
|
struct | AttributorCGSCCPass |
|
struct | AttributorConfig |
| Configuration for the Attributor. More...
|
|
struct | AttributorLightCGSCCPass |
| A more lightweight version of the Attributor which only runs attribute inference but no simplifications. More...
|
|
struct | AttributorLightPass |
| A more lightweight version of the Attributor which only runs attribute inference but no simplifications. More...
|
|
struct | AttributorPass |
| } More...
|
|
struct | AutoInitRemark |
| Special case for -ftrivial-auto-var-init remarks. More...
|
|
class | Automaton |
| A deterministic finite-state automaton. More...
|
|
class | AVRAsmBackend |
| Utilities for manipulating generated AVR machine code. More...
|
|
class | AVRAsmPrinter |
| An AVR assembly code printer. More...
|
|
class | AVRELFObjectWriter |
| Writes AVR machine code into an ELF32 object file. More...
|
|
class | AVRELFStreamer |
| A target streamer for an AVR ELF object file. More...
|
|
struct | AVRFrameAnalyzer |
| The frame analyzer pass. More...
|
|
class | AVRFrameLowering |
| Utilities for creating function call frames. More...
|
|
class | AVRInstPrinter |
| Prints AVR instructions to a textual stream. More...
|
|
class | AVRInstrInfo |
| Utilities related to the AVR instruction set. More...
|
|
class | AVRMachineFunctionInfo |
| Contains AVR-specific information for each MachineFunction. More...
|
|
class | AVRMCAsmInfo |
| Specifies the format of AVR assembly files. More...
|
|
class | AVRMCCodeEmitter |
| Writes AVR machine code to a stream. More...
|
|
class | AVRMCELFStreamer |
|
class | AVRMCExpr |
| A expression in AVR machine code. More...
|
|
class | AVRMCInstLower |
| Lowers MachineInstr objects into MCInst objects. More...
|
|
class | AVRRegisterInfo |
| Utilities relating to AVR registers. More...
|
|
class | AVRSelectionDAGInfo |
| Holds information about the AVR instruction selection DAG. More...
|
|
class | AVRSubtarget |
| A specific AVR target MCU. More...
|
|
class | AVRTargetAsmStreamer |
| A target streamer for textual AVR assembly code. More...
|
|
class | AVRTargetLowering |
| Performs target lowering for the AVR. More...
|
|
class | AVRTargetMachine |
| A generic AVR implementation. More...
|
|
class | AVRTargetObjectFile |
| Lowering for an AVR ELF32 object file. More...
|
|
class | AVRTargetStreamer |
| A generic AVR target output stream. More...
|
|
class | BalancedPartitioning |
|
struct | BalancedPartitioningConfig |
| Algorithm parameters; default values are tuned on real-world binaries. More...
|
|
class | BaseIndexOffset |
| Helper struct to parse and store a memory address as base + index + offset. More...
|
|
class | BaseRecord |
|
class | BasicAA |
| Analysis pass providing a never-invalidated alias analysis result. More...
|
|
class | BasicAAResult |
| This is the AA result object for the basic, local, and stateless alias analysis. More...
|
|
class | BasicAAWrapperPass |
| Legacy wrapper pass to provide the BasicAAResult object. More...
|
|
class | BasicBlock |
| LLVM Basic Block Representation. More...
|
|
class | BasicBlockEdge |
|
struct | BasicBlockInfo |
| BasicBlockInfo - Information about the offset and size of a single basic block. More...
|
|
class | BasicBlockPathCloning |
|
class | BasicBlockSDNode |
|
class | BasicBlockSectionsProfileReader |
|
class | BasicBlockSectionsProfileReaderAnalysis |
| Analysis pass providing the BasicBlockSectionsProfileReader . More...
|
|
class | BasicBlockSectionsProfileReaderWrapperPass |
|
struct | BasicDIEUnit |
|
class | BasicTTIImpl |
| Concrete BasicTTIImpl that can be used if no further customization is needed. More...
|
|
class | BasicTTIImplBase |
| Base class which can be used to help build a TTI implementation. More...
|
|
class | BatchAAResults |
| This class is a wrapper over an AAResults, and it is intended to be used only when there are no IR changes inbetween queries. More...
|
|
struct | BBClusterInfo |
|
class | BCArray |
| Represents an array of some other type. More...
|
|
class | BCBlob |
| Represents an untyped blob of bytes. More...
|
|
class | BCBlockRAII |
| RAII object to pair entering and exiting a sub-block. More...
|
|
class | BCChar6 |
| Represents a character encoded in LLVM's Char6 encoding. More...
|
|
struct | BCDumpOptions |
|
class | BCFixed |
| Represents a fixed-width value in a bitcode record. More...
|
|
class | BCGenericRecordLayout |
| Represents a single bitcode record type. More...
|
|
class | BCLiteral |
| Represents a literal operand in a bitcode record. More...
|
|
class | BCRecordLayout |
| A record with a fixed record code. More...
|
|
class | BCVBR |
| Represents a variable-width value in a bitcode record. More...
|
|
struct | BDCEPass |
|
class | bf_iterator |
|
class | bf_iterator_storage |
|
struct | BFIDOTGraphTraitsBase |
|
class | BinaryByteStream |
| An implementation of BinaryStream which holds its entire data set in a single contiguous buffer. More...
|
|
class | BinaryConstantExpr |
| BinaryConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement binary constant exprs. More...
|
|
class | BinaryInstrProfCorrelator |
| BinaryInstrProfCorrelator - A child of InstrProfCorrelatorImpl that takes an object file as input to correlate profiles. More...
|
|
class | BinaryItemStream |
| BinaryItemStream represents a sequence of objects stored in some kind of external container but for which it is useful to view as a stream of contiguous bytes. More...
|
|
struct | BinaryItemTraits |
|
struct | BinaryItemTraits< codeview::CVSymbol > |
|
struct | BinaryItemTraits< codeview::CVType > |
|
struct | BinaryItemTraits< llvm::codeview::CVType > |
|
class | BinaryOperation |
| Class representing a single binary operation in the AST of an expression. More...
|
|
class | BinaryOperator |
|
class | BinaryOpIntrinsic |
| This class represents an intrinsic that is based on a binary operation. More...
|
|
class | BinaryStream |
| An interface for accessing data in a stream-like format, but which discourages copying. More...
|
|
class | BinaryStreamError |
| Base class for errors originating when parsing raw PDB files. More...
|
|
class | BinaryStreamReader |
| Provides read only access to a subclass of BinaryStream . More...
|
|
class | BinaryStreamRef |
| BinaryStreamRef is to BinaryStream what ArrayRef is to an Array. More...
|
|
class | BinaryStreamRefBase |
| Common stuff for mutable and immutable StreamRefs. More...
|
|
class | BinaryStreamWriter |
| Provides write only access to a subclass of WritableBinaryStream . More...
|
|
struct | BinarySubstreamRef |
|
class | BinOpInit |
| !op (X, Y) - Combine two inits. More...
|
|
class | BitCastInst |
| This class represents a no-op cast from one type to another. More...
|
|
class | BitCastOperator |
|
class | BitCodeAbbrev |
| BitCodeAbbrev - This class represents an abbreviation record. More...
|
|
class | BitCodeAbbrevOp |
| BitCodeAbbrevOp - This describes one or more operands in an abbreviation. More...
|
|
class | BitcodeAnalyzer |
|
struct | BitcodeFileContents |
|
struct | BitcodeLTOInfo |
| Basic information extracted from a bitcode module to be used for LTO. More...
|
|
class | BitcodeModule |
| Represents a module in a bitcode file. More...
|
|
class | BitcodeReaderValueList |
|
class | BitcodeWriter |
|
class | BitcodeWriterPass |
| Pass for writing a module of IR out to a bitcode file. More...
|
|
struct | Bitfield |
| Holds functions to get, set or test bitfields. More...
|
|
class | BitInit |
| 'true'/'false' - Represent a concrete initializer for a bit. More...
|
|
struct | BitIntegerState |
| Specialization of the integer state for a bit-wise encoding. More...
|
|
class | BitMaskClassIterator |
| This class encapuslates the logic to iterate over bitmask returned by the various RegClass related APIs. More...
|
|
class | BitRecTy |
| 'bit' - Represent a single bit More...
|
|
class | Bitset |
| This is a constexpr reimplementation of a subset of std::bitset. More...
|
|
class | BitsInit |
| '{ a, b, c }' - Represents an initializer for a BitsRecTy value. More...
|
|
class | BitsRecTy |
| 'bits<n>' - Represent a fixed number of bits More...
|
|
class | BitstreamBlockInfo |
| This class maintains the abbreviations read from a block info block. More...
|
|
class | BitstreamCursor |
| This represents a position within a bitcode file, implemented on top of a SimpleBitstreamCursor. More...
|
|
struct | BitstreamEntry |
| When advancing through a bitstream cursor, each advance can discover a few different kinds of entries: More...
|
|
class | BitstreamWriter |
|
struct | BitTracker |
|
class | BitVector |
|
class | BLAKE3 |
| A class that wraps the BLAKE3 algorithm. More...
|
|
class | BlockAddress |
| The address of a basic block. More...
|
|
class | BlockAddressSDNode |
|
class | BlockCoverageInference |
|
class | BlockDataT |
|
struct | BlockExtractorPass |
|
class | BlockFrequency |
|
class | BlockFrequencyAnalysis |
| Analysis pass which computes BlockFrequencyInfo . More...
|
|
class | BlockFrequencyInfo |
| BlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate IR basic block frequencies. More...
|
|
class | BlockFrequencyInfoImpl |
| Shared implementation for block frequency analysis. More...
|
|
class | BlockFrequencyInfoImplBase |
| Base class for BlockFrequencyInfoImpl. More...
|
|
class | BlockFrequencyInfoWrapperPass |
| Legacy analysis pass which computes BlockFrequencyInfo . More...
|
|
class | BlockFrequencyPrinterPass |
| Printer pass for the BlockFrequencyInfo results. More...
|
|
class | BlockToIndexMapping |
|
class | BlotMapVector |
| An associative container with fast insertion-order (deterministic) iteration over its elements. More...
|
|
struct | BooleanState |
| Simple wrapper for a single bit (boolean) state. More...
|
|
class | BoundsCheckingPass |
| A pass to instrument code and perform run-time bounds checking on loads, stores, and other memory intrinsics. More...
|
|
class | BPFAbstractMemberAccessPass |
|
class | BPFAdjustOptPass |
|
class | BPFASpaceCastSimplifyPass |
|
class | BPFCallLowering |
|
class | BPFCoreSharedInfo |
|
class | BPFFrameLowering |
|
class | BPFGenRegisterBankInfo |
|
class | BPFInstPrinter |
|
class | BPFInstrInfo |
|
class | BPFIRPeepholePass |
|
class | BPFLegalizerInfo |
| This class provides the information for the BPF target legalizer for GlobalISel. More...
|
|
class | BPFMCAsmInfo |
|
class | BPFMCInstLower |
|
class | BPFPreserveDITypePass |
|
class | BPFPreserveStaticOffsetPass |
|
class | BPFRegisterBankInfo |
|
struct | BPFRegisterInfo |
|
class | BPFSelectionDAGInfo |
|
class | BPFSubtarget |
|
class | BPFTargetLowering |
|
class | BPFTargetMachine |
|
class | BPFTTIImpl |
|
class | BPFunctionNode |
| A function with a set of utility nodes where it is beneficial to order two functions close together if they have similar utility nodes. More...
|
|
struct | BPIPassTrait |
| Simple trait class that provides a mapping between BPI passes and the corresponding BPInfo. More...
|
|
struct | BPIPassTrait< LazyBranchProbabilityInfoPass > |
|
class | BranchFolder |
|
class | BranchInst |
| Conditional or Unconditional Branch instruction. More...
|
|
class | BranchProbability |
|
class | BranchProbabilityAnalysis |
| Analysis pass which computes BranchProbabilityInfo . More...
|
|
class | BranchProbabilityInfo |
| Analysis providing branch probability information. More...
|
|
class | BranchProbabilityInfoWrapperPass |
| Legacy analysis pass which computes BranchProbabilityInfo . More...
|
|
class | BranchProbabilityPrinterPass |
| Printer pass for the BranchProbabilityAnalysis results. More...
|
|
struct | BreakCriticalEdgesPass |
|
class | BreakFalseDeps |
|
struct | BrokenLink |
| A broken link in the keep chain. More...
|
|
class | BTFContext |
|
class | BTFDebug |
| Collect and emit BTF information. More...
|
|
struct | BTFFieldReloc |
| Represent one field relocation. More...
|
|
struct | BTFFuncInfo |
| Represent one func and its type id. More...
|
|
class | BTFKindDataSec |
| Handle data sections. More...
|
|
class | BTFKindVar |
| Handle variable instances. More...
|
|
struct | BTFLineInfo |
| Represent one line info. More...
|
|
class | BTFParser |
|
class | BTFStringTable |
| String table. More...
|
|
class | BTFTypeArray |
| Handle array type. More...
|
|
class | BTFTypeBase |
| The base class for BTF type generation. More...
|
|
class | BTFTypeDeclTag |
| Handle decl tags. More...
|
|
class | BTFTypeDerived |
| Handle several derived types include pointer, const, volatile, typedef and restrict. More...
|
|
class | BTFTypeEnum |
| Handle enumerate type. More...
|
|
class | BTFTypeEnum64 |
| Handle 64-bit enumerate type. More...
|
|
class | BTFTypeFloat |
| Handle binary floating point type. More...
|
|
class | BTFTypeFunc |
| Handle subprogram. More...
|
|
class | BTFTypeFuncProto |
| Handle function pointer. More...
|
|
class | BTFTypeFwd |
| Handle struct or union forward declaration. More...
|
|
class | BTFTypeInt |
| Handle int type. More...
|
|
class | BTFTypeStruct |
| Handle struct/union type. More...
|
|
class | BTFTypeTypeTag |
|
class | buffer_ostream |
|
class | buffer_unique_ostream |
|
class | BufferByteStreamer |
|
class | BuildVectorSDNode |
| A "pseudo-class" with methods for operating on BUILD_VECTORs. More...
|
|
class | BumpPtrAllocatorImpl |
| Allocate memory in an ever growing pool, as if by bump-pointer. More...
|
|
class | ByteProvider |
| Represents known origin of an individual byte in combine pattern. More...
|
|
class | ByteStreamer |
|
class | CacheCost |
| CacheCost represents the estimated cost of a inner loop as the number of cache lines used by the memory references it contains. More...
|
|
class | CachedFileStream |
| This class wraps an output stream for a file. More...
|
|
class | CachedHashString |
| A container which contains a string, which it owns, plus a precomputed hash. More...
|
|
class | CachedHashStringRef |
| A container which contains a StringRef plus a precomputed hash. More...
|
|
struct | CachePruningPolicy |
| Policy for the pruneCache() function. More...
|
|
struct | CalculateSmallVectorDefaultInlinedElements |
| Helper class for calculating the default number of inline elements for SmallVector<T> . More...
|
|
class | CallbackVH |
| Value handle with callbacks on RAUW and destruction. More...
|
|
class | CallBase |
| Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to calling a function. More...
|
|
class | CallBrInst |
| CallBr instruction, tracking function calls that may not return control but instead transfer it to a third location. More...
|
|
class | CallBrPreparePass |
|
class | CalledValuePropagationPass |
|
struct | CalleeInfo |
| Class to accumulate and hold information about a callee. More...
|
|
class | CalleeSavedInfo |
| The CalleeSavedInfo class tracks the information need to locate where a callee saved register is in the current frame. More...
|
|
class | CallEntryPseudoSourceValue |
|
class | CallGraph |
| The basic data container for the call graph of a Module of IR. More...
|
|
class | CallGraphAnalysis |
| An analysis pass to compute the CallGraph for a Module . More...
|
|
class | CallGraphDOTInfo |
|
class | CallGraphDOTPrinterPass |
| Pass for printing the call graph to a dot file. More...
|
|
class | CallGraphNode |
| A node in the call graph for a module. More...
|
|
class | CallGraphPrinterPass |
| Printer pass for the CallGraphAnalysis results. More...
|
|
class | CallGraphSCC |
| CallGraphSCC - This is a single SCC that a CallGraphSCCPass is run on. More...
|
|
class | CallGraphSCCPass |
|
class | CallGraphSCCsPrinterPass |
| Printer pass for the summarized CallGraphAnalysis results. More...
|
|
class | CallGraphUpdater |
| Wrapper to unify "old style" CallGraph and "new style" LazyCallGraph. More...
|
|
class | CallGraphViewerPass |
| Pass for viewing the call graph. More...
|
|
class | CallGraphWrapperPass |
| The ModulePass which wraps up a CallGraph and the logic to build it. More...
|
|
class | CallInfo |
|
class | CallInst |
| This class represents a function call, abstracting a target machine's calling convention. More...
|
|
class | CallLowering |
|
struct | CallSiteFormat |
|
struct | CallsiteInfo |
| Summary of memprof callsite metadata. More...
|
|
struct | CallSiteSplittingPass |
|
class | CanonicalizeAliasesPass |
| Simple pass that canonicalizes aliases. More...
|
|
class | CanonicalizeFreezeInLoopsPass |
| A pass that canonicalizes freeze instructions in a loop. More...
|
|
class | CanonicalLoopInfo |
| Class to represented the control flow structure of an OpenMP canonical loop. More...
|
|
struct | CaptureAnalysis |
| Virtual base class for providers of capture analysis. More...
|
|
class | CaptureInfo |
| Represents which components of the pointer may be captured in which location. More...
|
|
struct | CaptureTracker |
| This callback is used in conjunction with PointerMayBeCaptured. More...
|
|
struct | cast_convert_val |
|
struct | cast_convert_val< To, FromTy *, FromTy * > |
|
struct | cast_convert_val< To, FromTy, FromTy > |
|
struct | cast_retty |
|
struct | cast_retty_impl |
|
struct | cast_retty_impl< To, const From * > |
|
struct | cast_retty_impl< To, const From *const > |
|
struct | cast_retty_impl< To, const From > |
|
struct | cast_retty_impl< To, From * > |
|
struct | cast_retty_impl< To, std::unique_ptr< From > > |
|
struct | cast_retty_wrap |
|
struct | cast_retty_wrap< To, FromTy, FromTy > |
|
class | CastConstantExpr |
| CastConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement cast constant exprs. More...
|
|
struct | CastInfo |
| This struct provides a method for customizing the way a cast is performed. More...
|
|
struct | CastInfo< To, const PointerUnion< PTs... > > |
|
struct | CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > > |
| This struct provides an overload for CastInfo where From has simplify_type defined. More...
|
|
struct | CastInfo< To, PointerUnion< PTs... > > |
|
struct | CastInfo< To, std::optional< From > > |
| Provide a CastInfo specialized for std::optional<From>. More...
|
|
struct | CastInfo< To, std::unique_ptr< From > > |
| Provide a CastInfo specialized for std::unique_ptr. More...
|
|
struct | CastInfoPointerUnionImpl |
| We can't (at least, at this moment with C++14) declare CastInfo as a friend of PointerUnion like this: More...
|
|
class | CastInst |
| This is the base class for all instructions that perform data casts. More...
|
|
struct | CastIsPossible |
| This struct provides a way to check if a given cast is possible. More...
|
|
struct | CastIsPossible< To, From, std::enable_if_t< std::is_base_of_v< To, From > > > |
| Upcasting (from derived to base) and casting from a type to itself should always be possible. More...
|
|
struct | CastIsPossible< To, std::optional< From > > |
|
class | CatchPadInst |
|
class | CatchReturnInst |
|
class | CatchSwitchInst |
|
class | CCState |
| CCState - This class holds information needed while lowering arguments and return values. More...
|
|
class | CCValAssign |
| CCValAssign - Represent assignment of one arg/retval to a location. More...
|
|
class | CFGAnalyses |
| Represents analyses that only rely on functions' control flow. More...
|
|
class | CFGMST |
| An union-find based Minimum Spanning Tree for CFG. More...
|
|
class | CFGOnlyPrinterPass |
|
class | CFGOnlyViewerPass |
|
class | CFGPrinterPass |
|
class | CFGSCCPrinterPass |
|
class | CFGuardPass |
|
class | CFGViewerPass |
|
class | CFIFixup |
|
class | CGDataError |
|
class | CGDataOStream |
| A wrapper class to abstract writer stream with support of bytes back patching. More...
|
|
struct | CGDataPatchItem |
| A struct to define how the data stream should be patched. More...
|
|
struct | CGPassBuilderOption |
|
class | CGProfilePass |
|
class | CGSCCToFunctionPassAdaptor |
| Adaptor that maps from a SCC to its functions. More...
|
|
struct | CGSCCUpdateResult |
| Support structure for SCC passes to communicate updates the call graph back to the CGSCC pass manager infrastructure. More...
|
|
class | ChangeReporter |
|
struct | CHIArg |
|
class | circular_raw_ostream |
| circular_raw_ostream - A raw_ostream which can save its data to a circular buffer, or can pass it through directly to an underlying stream if specified with a buffer of zero. More...
|
|
struct | ClassInfo |
|
class | Clause |
|
class | ClauseVal |
|
class | CleanupInstaller |
|
class | CleanupPadInst |
|
class | CleanupReturnInst |
|
struct | ClonedCodeInfo |
| This struct can be used to capture information about code being cloned, while it is being cloned. More...
|
|
struct | ClrEHUnwindMapEntry |
|
class | ClusteredLowOccStage |
|
class | CmpInst |
| This class is the base class for the comparison instructions. More...
|
|
class | CmpIntrinsic |
| This class represents a ucmp/scmp intrinsic. More...
|
|
class | CmpPredicate |
| An abstraction over a floating-point predicate, and a pack of an integer predicate with samesign information. More...
|
|
class | CoalescerPair |
| A helper class for register coalescers. More...
|
|
class | CoalescingBitVector |
| A bitvector that, under the hood, relies on an IntervalMap to coalesce elements into intervals. More...
|
|
class | CodeExtractor |
| Utility class for extracting code into a new function. More...
|
|
class | CodeExtractorAnalysisCache |
| A cache for the CodeExtractor analysis. More...
|
|
class | CodeGenCoverage |
|
class | CodeGenData |
|
class | CodeGenDataReader |
|
class | CodeGenDataWriter |
|
class | CodeGenPassBuilder |
| This class provides access to building LLVM's passes. More...
|
|
class | CodeGenPreparePass |
|
class | CodeGenTargetMachineImpl |
| implements a set of functionality in the TargetMachine class for targets that make use of the independent code generator (CodeGen) library. More...
|
|
struct | CodeMetrics |
| Utility to calculate the size and a few similar metrics for a set of basic blocks. More...
|
|
class | CodeViewContext |
| Holds state from .cv_file and .cv_loc directives for later emission. More...
|
|
class | CodeViewDebug |
| Collects and handles line tables information in a CodeView format. More...
|
|
class | CollectorMetadataAnalysis |
| An analysis pass which caches information about the entire Module. More...
|
|
class | CombinationGenerator |
|
class | Combiner |
| Combiner implementation. More...
|
|
class | CombinerHelper |
|
struct | CombinerInfo |
|
class | Comdat |
|
struct | CommonHandleTraits |
|
struct | CompileUnitIdentifiers |
|
struct | ComplexDeinterleavingPass |
|
class | concat_iterator |
| Iterator wrapper that concatenates sequences together. More...
|
|
class | ConcreteOperator |
| A helper template for defining operators for individual opcodes. More...
|
|
class | ConcurrentHashTableByPtr |
|
class | ConcurrentHashTableInfoByPtr |
| ConcurrentHashTable - is a resizeable concurrent hashtable. More...
|
|
class | CondCodeSDNode |
|
struct | CondContext |
| Evaluate query assuming this condition holds. More...
|
|
class | CondOpInit |
| !cond(condition_1: value1, ... , condition_n: value) Selects the first value for which condition is true. More...
|
|
class | ConnectedVNInfoEqClasses |
| ConnectedVNInfoEqClasses - Helper class that can divide VNInfos in a LiveInterval into equivalence clases of connected components. More...
|
|
struct | const_pointer_or_const_ref |
|
struct | const_pointer_or_const_ref< T, std::enable_if_t< std::is_pointer_v< T > > > |
|
class | const_set_bits_iterator_impl |
| ForwardIterator for the bits that are set. More...
|
|
class | Constant |
| This is an important base class in LLVM. More...
|
|
class | ConstantAggregate |
| Base class for aggregate constants (with operands). More...
|
|
class | ConstantAggregateZero |
| All zero aggregate value. More...
|
|
struct | ConstantAggrKeyType |
|
class | ConstantArray |
| ConstantArray - Constant Array Declarations. More...
|
|
class | ConstantAsMetadata |
|
class | ConstantData |
| Base class for constants with no operands. More...
|
|
class | ConstantDataArray |
| An array constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. More...
|
|
struct | ConstantDataArraySlice |
| Represents offset+length into a ConstantDataArray. More...
|
|
class | ConstantDataSequential |
| ConstantDataSequential - A vector or array constant whose element type is a simple 1/2/4/8-byte integer or half/bfloat/float/double, and whose elements are just simple data values (i.e. More...
|
|
class | ConstantDataVector |
| A vector constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. More...
|
|
class | ConstantExpr |
| A constant value that is initialized with an expression using other constant values. More...
|
|
struct | ConstantExprKeyType |
|
class | ConstantFolder |
| ConstantFolder - Create constants with minimum, target independent, folding. More...
|
|
class | ConstantFP |
| ConstantFP - Floating Point Values [float, double]. More...
|
|
class | ConstantFPRange |
| This class represents a range of floating-point values. More...
|
|
class | ConstantFPSDNode |
|
class | ConstantHoistingPass |
|
struct | ConstantInfo |
|
struct | ConstantInfo< ConstantArray > |
|
struct | ConstantInfo< ConstantExpr > |
|
struct | ConstantInfo< ConstantPtrAuth > |
|
struct | ConstantInfo< ConstantStruct > |
|
struct | ConstantInfo< ConstantVector > |
|
struct | ConstantInfo< InlineAsm > |
|
class | ConstantInt |
| This is the shared class of boolean and integer constants. More...
|
|
class | ConstantMergePass |
| A pass that merges duplicate global constants into a single constant. More...
|
|
class | ConstantPointerNull |
| A constant pointer value that points to null. More...
|
|
class | ConstantPool |
|
struct | ConstantPoolEntry |
|
class | ConstantPoolSDNode |
|
class | ConstantPtrAuth |
| A signed pointer, in the ptrauth sense. More...
|
|
struct | ConstantPtrAuthKeyType |
|
class | ConstantRange |
| This class represents a range of values. More...
|
|
class | ConstantRangeAttributeImpl |
|
class | ConstantRangeList |
| This class represents a list of constant ranges. More...
|
|
class | ConstantRangeListAttributeImpl |
|
class | ConstantSDNode |
|
class | ConstantStruct |
|
class | ConstantTargetNone |
| A constant target extension type default initializer. More...
|
|
class | ConstantTokenNone |
| A constant token which is empty. More...
|
|
class | ConstantUniqueMap |
|
class | ConstantVector |
| Constant Vector Declarations. More...
|
|
class | ConstMIBundleOperands |
| ConstMIBundleOperands - Iterate over all operands in a const bundle of machine instructions. More...
|
|
class | ConstrainedFPCmpIntrinsic |
| Constrained floating point compare intrinsics. More...
|
|
class | ConstrainedFPIntrinsic |
| This is the common base class for constrained floating point intrinsics. More...
|
|
class | ConstraintEliminationPass |
|
class | ConstraintSystem |
|
struct | ConstStrippingForwardingCast |
| Provides a cast trait that strips const from types to make it easier to implement a const-version of a non-const cast. More...
|
|
class | ContextAndReplaceableUses |
| Pointer to the context, with optional RAUW support. More...
|
|
struct | ContextTotalSize |
|
class | ContextTrieNode |
|
class | ContextualFoldingSet |
| ContextualFoldingSet - This template class is a further refinement of FoldingSet which provides a context argument when calling Profile on its nodes. More...
|
|
struct | ContextualFoldingSetTrait |
| ContextualFoldingSetTrait - Like FoldingSetTrait, but for ContextualFoldingSets. More...
|
|
struct | ContextWorklistItem |
| This class represents an item in the work list. More...
|
|
struct | ControlFlowHub |
| Given a set of branch descriptors [BB, Succ0, Succ1], create a "hub" such that the control flow from each BB to a successor is now split into two edges, one from BB to the hub and another from the hub to the successor. More...
|
|
class | ControlHeightReductionPass |
|
class | ConvergenceControlInst |
| Represents calls to the llvm.experimintal.convergence.* intrinsics. More...
|
|
class | ConvergingVLIWScheduler |
|
class | CoroAlignInst |
| This represents the llvm.coro.align instruction. More...
|
|
class | CoroAllocaAllocInst |
| This represents the llvm.coro.alloca.alloc instruction. More...
|
|
class | CoroAllocaFreeInst |
| This represents the llvm.coro.alloca.free instruction. More...
|
|
class | CoroAllocaGetInst |
| This represents the llvm.coro.alloca.get instruction. More...
|
|
class | CoroAllocInst |
| This represents the llvm.coro.alloc instruction. More...
|
|
struct | CoroAnnotationElidePass |
|
class | CoroAsyncContextAllocInst |
| This represents the llvm.coro.context.alloc instruction. More...
|
|
class | CoroAsyncContextDeallocInst |
| This represents the llvm.coro.context.dealloc instruction. More...
|
|
class | CoroAsyncEndInst |
| This represents the llvm.coro.end instruction. More...
|
|
class | CoroAsyncResumeInst |
| This represents the llvm.coro.async.resume instruction. More...
|
|
class | CoroAsyncSizeReplace |
| This represents the llvm.coro.async.size.replace instruction. More...
|
|
class | CoroAwaitSuspendInst |
| This represents the llvm.coro.await.suspend.{void,bool,handle} instructions. More...
|
|
class | CoroBeginInst |
| This class represents the llvm.coro.begin or llvm.coro.begin.custom.abi instructions. More...
|
|
struct | CoroCleanupPass |
|
struct | CoroConditionalWrapper |
|
struct | CoroEarlyPass |
|
struct | CoroElidePass |
|
class | CoroEndInst |
| This represents the llvm.coro.end instruction. More...
|
|
class | CoroEndResults |
| This represents the llvm.end.results instruction. More...
|
|
class | CoroFrameInst |
| This represents the llvm.coro.frame instruction. More...
|
|
class | CoroFreeInst |
| This represents the llvm.coro.free instruction. More...
|
|
class | CoroIdAsyncInst |
| This represents the llvm.coro.id.async instruction. More...
|
|
class | CoroIdInst |
| This represents the llvm.coro.id instruction. More...
|
|
class | CoroIdRetconInst |
| This represents the llvm.coro.id.retcon instruction. More...
|
|
class | CoroIdRetconOnceInst |
| This represents the llvm.coro.id.retcon.once instruction. More...
|
|
class | CoroPromiseInst |
| This represents the llvm.coro.promise instruction. More...
|
|
class | CoroSaveInst |
| This represents the llvm.coro.save instruction. More...
|
|
class | CoroSizeInst |
| This represents the llvm.coro.size instruction. More...
|
|
struct | CoroSplitPass |
|
class | CoroSubFnInst |
| This class represents the llvm.coro.subfn.addr instruction. More...
|
|
class | CoroSuspendAsyncInst |
| This represents the llvm.coro.suspend.async instruction. More...
|
|
class | CoroSuspendInst |
| This represents the llvm.coro.suspend instruction. More...
|
|
class | CoroSuspendRetconInst |
| This represents the llvm.coro.suspend.retcon instruction. More...
|
|
struct | CorrelatedValuePropagationPass |
|
class | CostBenefitPair |
|
class | CostModelPrinterPass |
| Printer pass for cost modeling results. More...
|
|
struct | CostTblEntryT |
| Cost Table Entry. More...
|
|
struct | CountSumOrPercent |
|
struct | CountVisitsPass |
|
class | CrashRecoveryContext |
| Crash recovery helper object. More...
|
|
class | CrashRecoveryContextCleanup |
| Abstract base class of cleanup handlers. More...
|
|
class | CrashRecoveryContextCleanupBase |
| Base class of cleanup handler that controls recovery of resources of the given type. More...
|
|
class | CrashRecoveryContextCleanupRegistrar |
| Helper class for managing resource cleanups. More...
|
|
class | CrashRecoveryContextDeleteCleanup |
| Cleanup handler that reclaims resource by calling 'delete' on it. More...
|
|
class | CrashRecoveryContextDestructorCleanup |
| Cleanup handler that reclaims resource by calling destructor on it. More...
|
|
class | CrashRecoveryContextReleaseRefCleanup |
| Cleanup handler that reclaims resource by calling its method 'Release'. More...
|
|
class | CriticalAntiDepBreaker |
|
struct | CriticalEdgeSplittingOptions |
| Option class for critical edge splitting. More...
|
|
class | CrossDSOCFIPass |
|
struct | CryptContextTraits |
|
class | CSEConfigBase |
|
class | CSEConfigConstantOnly |
|
class | CSEConfigFull |
|
class | CSEMIRBuilder |
| Defines a builder that does CSE of MachineInstructions using GISelCSEInfo. More...
|
|
class | CSKYAsmBackend |
|
class | CSKYAsmPrinter |
|
class | CSKYAttributeParser |
|
class | CSKYConstantPool |
|
class | CSKYConstantPoolConstant |
| CSKY-specific constant pool values for Constants, Functions, and BlockAddresses. More...
|
|
class | CSKYConstantPoolJT |
| CSKY-specific constantpool value of a jump table. More...
|
|
class | CSKYConstantPoolMBB |
| CSKYConstantPoolMBB - CSKY-specific constantpool value of a machine basic block. More...
|
|
class | CSKYConstantPoolSymbol |
| CSKYConstantPoolSymbol - CSKY-specific constantpool values for external symbols. More...
|
|
class | CSKYConstantPoolValue |
| CSKYConstantPoolValue - CSKY specific constantpool value. More...
|
|
class | CSKYELFStreamer |
|
class | CSKYELFTargetObjectFile |
|
class | CSKYFrameLowering |
|
class | CSKYInstPrinter |
|
class | CSKYInstrInfo |
|
class | CSKYMachineFunctionInfo |
|
class | CSKYMCAsmInfo |
|
class | CSKYMCCodeEmitter |
|
class | CSKYMCExpr |
|
class | CSKYMCInstLower |
|
class | CSKYRegisterInfo |
|
class | CSKYSubtarget |
|
class | CSKYTargetAsmStreamer |
|
class | CSKYTargetELFStreamer |
|
class | CSKYTargetLowering |
|
class | CSKYTargetMachine |
|
class | CSKYTargetStreamer |
|
class | CtxProfAnalysis |
|
class | CtxProfAnalysisPrinterPass |
|
struct | CxxUnwindMapEntry |
|
class | CycleAnalysis |
| Analysis pass which computes a CycleInfo. More...
|
|
struct | CycleGraphTraits |
| GraphTraits for iterating over a sub-tree of the CycleT tree. More...
|
|
class | CycleInfoPrinterPass |
|
struct | CycleInfoVerifierPass |
|
class | CycleInfoWrapperPass |
| Legacy analysis pass which computes a CycleInfo. More...
|
|
class | DAGDeltaAlgorithm |
| DAGDeltaAlgorithm - Implements a "delta debugging" algorithm for minimizing directed acyclic graphs using a predicate function. More...
|
|
class | DagInit |
| (v a, b) - Represent a DAG tree value. More...
|
|
class | DagRecTy |
| 'dag' - Represent a dag fragment More...
|
|
class | DAGTypeLegalizer |
| This takes an arbitrary SelectionDAG as input and hacks on it until only value types the target machine can handle are left. More...
|
|
class | DataDependenceGraph |
| Data Dependency Graph. More...
|
|
class | DataExtractor |
|
class | DataFlowSanitizerPass |
|
class | DataLayout |
| A parsed version of the target data layout string in and methods for querying it. More...
|
|
class | DbgAssignIntrinsic |
| This represents the llvm.dbg.assign instruction. More...
|
|
class | DbgCallSiteParam |
| Used for tracking debug info about call site parameters. More...
|
|
class | DbgDeclareInst |
| This represents the llvm.dbg.declare instruction. More...
|
|
class | DbgEntity |
| This class is defined as the common parent of DbgVariable and DbgLabel such that it could levarage polymorphism to extract common code for DbgVariable and DbgLabel. More...
|
|
class | DbgInfoIntrinsic |
| This is the common base class for debug info intrinsics. More...
|
|
class | DbgLabel |
| This class is used to track label information. More...
|
|
class | DbgLabelInst |
| This represents the llvm.dbg.label instruction. More...
|
|
class | DbgLabelInstrMap |
| For each inlined instance of a source-level label, keep the corresponding DBG_LABEL instruction. More...
|
|
class | DbgLabelRecord |
| Records a position in IR for a source label (DILabel). More...
|
|
class | DbgMarker |
| Per-instruction record of debug-info. More...
|
|
class | DbgRecord |
| Base class for non-instruction debug metadata records that have positions within IR. More...
|
|
class | DbgRecordParamRef |
| A typed tracking MDNode reference that does not require a definition for its parameter type. More...
|
|
class | DbgValueHistoryMap |
| For each user variable, keep a list of instruction ranges where this variable is accessible. More...
|
|
class | DbgValueInst |
| This represents the llvm.dbg.value instruction. More...
|
|
class | DbgValueLoc |
| The location of a single variable, composed of an expression and 0 or more DbgValueLocEntries. More...
|
|
class | DbgValueLocEntry |
| A single location or constant within a variable location description, with either a single entry (with an optional DIExpression) used for a DBG_VALUE, or a list of entries used for a DBG_VALUE_LIST. More...
|
|
class | DbgVariable |
| This class is used to track local variable information. More...
|
|
struct | DbgVariableFragmentInfo |
|
class | DbgVariableIntrinsic |
| This is the common base class for debug info intrinsics for variables. More...
|
|
struct | DbgVariableLocation |
| Represents the location at which a variable is stored. More...
|
|
class | DbgVariableRecord |
| Record of a variable value-assignment, aka a non instruction representation of the dbg.value intrinsic. More...
|
|
class | DCData |
|
class | DCEPass |
| Basic Dead Code Elimination pass. More...
|
|
class | DDGAnalysis |
| Analysis pass that builds the DDG for a loop. More...
|
|
class | DDGAnalysisPrinterPass |
| Textual printer pass for the DDG of a loop. More...
|
|
class | DDGBuilder |
| Concrete implementation of a pure data dependence graph builder. More...
|
|
class | DDGDotPrinterPass |
|
class | DDGEdge |
| Data Dependency Graph Edge. More...
|
|
class | DDGNode |
| Data Dependence Graph Node The graph can represent the following types of nodes: More...
|
|
class | DeadArgumentEliminationPass |
| Eliminate dead arguments (and return values) from functions. More...
|
|
class | DeadLaneDetector |
|
class | DeadMachineInstructionElimPass |
|
class | DebugAssignmentTrackingAnalysis |
|
class | DebugAssignmentTrackingPrinterPass |
|
class | DebugCounter |
|
class | DebugEpochBase |
|
class | DebugHandlerBase |
| Base class for debug information backends. More...
|
|
class | DebugifyCustomPassManager |
| DebugifyCustomPassManager wraps each pass with the debugify passes if needed. More...
|
|
class | DebugifyEachInstrumentation |
|
class | DebuginfodCollection |
| Tracks a collection of debuginfod artifacts on the local filesystem. More...
|
|
class | DebuginfodFetcher |
|
class | DebuginfodLog |
|
struct | DebuginfodLogEntry |
|
struct | DebuginfodServer |
|
class | DebugInfoFinder |
| Utility to find all debug info in a module. More...
|
|
struct | DebugInfoSize |
| Hold the input and output of the debug info size in bytes. More...
|
|
class | DebugLoc |
| A debug info location. More...
|
|
class | DebugLocDwarfExpression |
| DwarfExpression implementation for .debug_loc entries. More...
|
|
class | DebugLocEntry |
| This struct describes location entries emitted in the .debug_loc section. More...
|
|
class | DebugLocStream |
| Byte stream of .debug_loc entries. More...
|
|
class | DebugNamesAbbrev |
|
class | DebugValueUser |
| Base class for tracking ValueAsMetadata/DIArgLists with user lookups and Owner callbacks outside of ValueAsMetadata. More...
|
|
class | DebugVariable |
| Identifies a unique instance of a variable. More...
|
|
class | DebugVariableAggregate |
| Identifies a unique instance of a whole variable (discards/ignores fragment information). More...
|
|
struct | decimalInfo |
|
struct | DecIntegerState |
| Specialization of the integer state for a decreasing value, hence 0 is the best state and ~0u the worst. More...
|
|
class | DecoderUInt128 |
|
struct | DecomposedBitTest |
| Represents the operation icmp (X & Mask) pred C, where pred can only be eq or ne. More...
|
|
struct | def_chain_iterator |
| Walks the defining accesses of MemoryDefs. More...
|
|
struct | DefaultAnalysisGraphTraits |
| Default traits class for extracting a graph from an analysis pass. More...
|
|
struct | DefaultContextualFoldingSetTrait |
| DefaultContextualFoldingSetTrait - Like DefaultFoldingSetTrait, but for ContextualFoldingSets. More...
|
|
struct | DefaultDoCastIfPossible |
| This cast trait just provides the default implementation of doCastIfPossible to make CastInfo specializations more declarative. More...
|
|
struct | DefaultDOTGraphTraits |
| DefaultDOTGraphTraits - This class provides the default implementations of all of the DOTGraphTraits methods. More...
|
|
class | DefaultEvictionAdvisor |
|
struct | DefaultFoldingSetTrait |
| DefaultFoldingSetTrait - This class provides default implementations for FoldingSetTrait implementations. More...
|
|
class | DefaultInlineAdvice |
|
class | DefaultInlineAdvisor |
| The default (manual heuristics) implementation of the InlineAdvisor. More...
|
|
class | DefaultPriorityAdvisor |
|
class | DefaultVLIWScheduler |
|
class | DefInit |
| AL - Represent a reference to a 'def' in the description. More...
|
|
struct | DefinitionAndSourceRegister |
| Simple struct used to hold a Register value and the instruction which defines it. More...
|
|
struct | DefsetRecord |
|
class | DelayedMCExprs |
|
struct | DelimitedScope |
|
struct | DelinearizationPrinterPass |
|
class | DeltaAlgorithm |
| DeltaAlgorithm - Implements the delta debugging algorithm (A. More...
|
|
class | DeltaTree |
| DeltaTree - a multiway search tree (BTree) structure with some fancy features. More...
|
|
class | DemandedBits |
|
class | DemandedBitsAnalysis |
| An analysis that produces DemandedBits for a function. More...
|
|
class | DemandedBitsPrinterPass |
| Printer pass for DemandedBits. More...
|
|
struct | DenormalFPMathState |
|
struct | DenormalMode |
| Represent subnormal handling kind for floating point instruction inputs and outputs. More...
|
|
class | DenseMap |
|
class | DenseMapBase |
|
struct | DenseMapInfo |
| An information struct used to provide DenseMap with the various necessary components for a given value type T . More...
|
|
struct | DenseMapInfo< AA::RangeTy > |
| Helper that allows RangeTy as a key in a DenseMap. More...
|
|
struct | DenseMapInfo< AA::ValueAndContext > |
|
struct | DenseMapInfo< AA::ValueScope > |
|
struct | DenseMapInfo< AACacheLoc > |
|
struct | DenseMapInfo< AAMDNodes > |
|
struct | DenseMapInfo< AAPointerInfo::Access > |
| Helper for AA::PointerInfo::Access DenseMap/Set usage. More...
|
|
struct | DenseMapInfo< APFixedPoint > |
|
struct | DenseMapInfo< APFloat > |
|
struct | DenseMapInfo< APInt, void > |
| Provide DenseMapInfo for APInt. More...
|
|
struct | DenseMapInfo< APSInt, void > |
| Provide DenseMapInfo for APSInt, using the DenseMapInfo for APInt. More...
|
|
struct | DenseMapInfo< ArrayRef< T >, void > |
|
struct | DenseMapInfo< AssertingVH< T > > |
|
struct | DenseMapInfo< at::VarRecord > |
|
struct | DenseMapInfo< Attribute::AttrKind > |
|
struct | DenseMapInfo< AttributeList, void > |
|
struct | DenseMapInfo< AttributeSet, void > |
|
struct | DenseMapInfo< BasicBlock::iterator > |
|
struct | DenseMapInfo< BasicBlockEdge > |
|
struct | DenseMapInfo< BitVector > |
|
struct | DenseMapInfo< CachedHashString > |
|
struct | DenseMapInfo< CachedHashStringRef > |
|
struct | DenseMapInfo< CallValue > |
|
struct | DenseMapInfo< char > |
|
struct | DenseMapInfo< codeview::GloballyHashedType > |
|
struct | DenseMapInfo< codeview::LocallyHashedType > |
|
struct | DenseMapInfo< codeview::TypeIndex > |
|
struct | DenseMapInfo< CodeViewDebug::LocalVarDef > |
|
struct | DenseMapInfo< const AA::InstExclusionSetTy * > |
|
struct | DenseMapInfo< const Expression * > |
|
struct | DenseMapInfo< const SwitchSuccWrapper * > |
|
struct | DenseMapInfo< coverage::CounterExpression > |
| Provide DenseMapInfo for CounterExpression. More...
|
|
struct | DenseMapInfo< CSKYTargetStreamer::SymbolIndex > |
|
struct | DenseMapInfo< DebugVariable > |
|
struct | DenseMapInfo< DebugVariableAggregate > |
|
struct | DenseMapInfo< DIExpression::FragmentInfo > |
|
struct | DenseMapInfo< DivRemMapKey > |
|
struct | DenseMapInfo< ElementCount, void > |
|
struct | DenseMapInfo< Enum, std::enable_if_t< std::is_enum_v< Enum > > > |
|
struct | DenseMapInfo< FixedPointSemantics > |
|
struct | DenseMapInfo< FrozenIndPHIInfo > |
|
struct | DenseMapInfo< FunctionSummary::ConstVCall > |
|
struct | DenseMapInfo< FunctionSummary::VFuncId > |
|
struct | DenseMapInfo< GEPValue > |
|
struct | DenseMapInfo< gsym::FileEntry > |
|
struct | DenseMapInfo< GVNPass::Expression > |
|
struct | DenseMapInfo< hash_code, void > |
|
struct | DenseMapInfo< ImmutableList< T >, void > |
|
struct | DenseMapInfo< IndexCall > |
|
struct | DenseMapInfo< int > |
|
struct | DenseMapInfo< IRPosition > |
| Helper that allows IRPosition as a key in a DenseMap. More...
|
|
struct | DenseMapInfo< LLT > |
|
struct | DenseMapInfo< llvm::sys::fs::UniqueID > |
|
struct | DenseMapInfo< LocationSize > |
|
struct | DenseMapInfo< LocIdx > |
|
struct | DenseMapInfo< long > |
|
struct | DenseMapInfo< long long > |
|
struct | DenseMapInfo< LoweredPHIRecord > |
|
struct | DenseMapInfo< MachineOperand > |
|
struct | DenseMapInfo< MBBSectionID > |
|
struct | DenseMapInfo< MCRegister > |
|
struct | DenseMapInfo< MemOpKey > |
| Provide DenseMapInfo for MemOpKey. More...
|
|
struct | DenseMapInfo< MemoryLocation > |
|
struct | DenseMapInfo< MemoryLocOrCall > |
|
struct | DenseMapInfo< minidump::StreamType > |
|
struct | DenseMapInfo< object::SectionRef > |
|
struct | DenseMapInfo< OffsetAndUnitID > |
|
struct | DenseMapInfo< omp::TraitProperty > |
|
struct | DenseMapInfo< orc::AllocGroup > |
|
struct | DenseMapInfo< orc::ExecutorAddr > |
|
struct | DenseMapInfo< orc::MemProt > |
|
struct | DenseMapInfo< orc::NonOwningSymbolStringPtr > |
|
struct | DenseMapInfo< orc::SymbolStringPtr > |
|
struct | DenseMapInfo< PointerEmbeddedInt< IntT, Bits > > |
|
struct | DenseMapInfo< PointerIntPair< PointerTy, IntBits, IntType >, void > |
|
struct | DenseMapInfo< PointerSumType< TagT, MemberTs... > > |
|
struct | DenseMapInfo< PointerUnion< PTs... > > |
|
struct | DenseMapInfo< PoisoningVH< T > > |
|
struct | DenseMapInfo< ReachabilityQueryInfo< ToTy > * > |
|
struct | DenseMapInfo< Register > |
|
struct | DenseMapInfo< SampleContext > |
|
struct | DenseMapInfo< sampleprof::FunctionId, void > |
| Template specialization for FunctionId so that it can be used in LLVM map containers. More...
|
|
struct | DenseMapInfo< sandboxir::Context::CallbackID > |
|
struct | DenseMapInfo< ScalarEvolution::FoldID > |
|
struct | DenseMapInfo< SDValue > |
|
struct | DenseMapInfo< short > |
|
struct | DenseMapInfo< SimpleValue > |
|
struct | DenseMapInfo< SlotWithTag > |
|
struct | DenseMapInfo< SmallBitVector > |
|
struct | DenseMapInfo< SpecSig > |
|
struct | DenseMapInfo< std::pair< const MCSymbol *, MCSymbolRefExpr::VariantKind > > |
|
struct | DenseMapInfo< std::pair< T, U > > |
|
struct | DenseMapInfo< std::tuple< Ts... > > |
|
struct | DenseMapInfo< std::variant< Ts... > > |
|
struct | DenseMapInfo< StringRef, void > |
|
struct | DenseMapInfo< SymbolsMapKey > |
|
struct | DenseMapInfo< T * > |
|
struct | DenseMapInfo< TargetInstrInfo::RegSubRegPair > |
| Provide DenseMapInfo for TargetInstrInfo::RegSubRegPair. More...
|
|
struct | DenseMapInfo< typename CallsiteContextGraph< IndexCallsiteContextGraph, FunctionSummary, IndexCall >::CallInfo > |
|
struct | DenseMapInfo< typename CallsiteContextGraph< ModuleCallsiteContextGraph, Function, Instruction * >::CallInfo > |
|
struct | DenseMapInfo< UniqueBBID > |
|
struct | DenseMapInfo< unsigned > |
|
struct | DenseMapInfo< unsigned char > |
|
struct | DenseMapInfo< unsigned long > |
|
struct | DenseMapInfo< unsigned long long > |
|
struct | DenseMapInfo< unsigned short > |
|
struct | DenseMapInfo< ValueIDNum > |
|
struct | DenseMapInfo< ValueInfo > |
|
struct | DenseMapInfo< ValueMapCallbackVH< KeyT, ValueT, Config > > |
|
struct | DenseMapInfo< VariableID > |
|
struct | DenseMapInfo< VersionTuple > |
|
struct | DenseMapInfo< VTableSlot > |
|
struct | DenseMapInfo< VTableSlotSummary > |
|
struct | DenseMapInfo< wasm::WasmGlobalType, void > |
|
struct | DenseMapInfo< wasm::WasmLimits, void > |
|
struct | DenseMapInfo< wasm::WasmSignature, void > |
|
struct | DenseMapInfo< wasm::WasmTableType, void > |
|
struct | DenseMapInfo< WeakVH > |
|
class | DenseMapIterator |
|
class | DenseSet |
| Implements a dense probed hash-table based set. More...
|
|
class | Dependence |
| Dependence - This class represents a dependence between two memory memory references in a function. More...
|
|
class | DependenceAnalysis |
| AnalysisPass to compute dependence information in a function. More...
|
|
struct | DependenceAnalysisPrinterPass |
| Printer pass to dump DA results. More...
|
|
class | DependenceAnalysisWrapperPass |
| Legacy pass manager pass to access dependence information. More...
|
|
class | DependenceGraphInfo |
| Encapsulate some common data and functionality needed for different variations of data dependence graphs. More...
|
|
class | DependenceInfo |
| DependenceInfo - This class is the main dependence-analysis driver. More...
|
|
struct | deref |
| Binary functor that adapts to any other binary functor after dereferencing operands. More...
|
|
struct | DerefState |
| State for dereferenceable attribute. More...
|
|
class | DerivedUser |
| Extension point for the Value hierarchy. More...
|
|
struct | DescriptorInfo |
|
struct | DestSourcePair |
|
class | DetectRoundChange |
|
struct | DevirtCallSite |
| A call site that could be devirtualized. More...
|
|
class | DevirtSCCRepeatedPass |
| A helper that repeats an SCC pass each time an indirect call is refined to a direct call by that pass. More...
|
|
struct | df_ext_iterator |
|
class | df_iterator |
|
struct | df_iterator_default_set |
|
class | df_iterator_storage |
|
class | df_iterator_storage< SetType, true > |
|
struct | DFAJumpThreadingPass |
|
class | DFAPacketizer |
|
class | DFCalculateWorkObject |
|
class | DGEdge |
| Represent an edge in the directed graph. More...
|
|
class | DGNode |
| Represent a node in the directed graph. More...
|
|
struct | DiagnosticHandler |
| This is the base class for diagnostic handling in LLVM. More...
|
|
class | DiagnosticInfo |
| This is the base abstract class for diagnostic reporting in the backend. More...
|
|
class | DiagnosticInfoDebugMetadataVersion |
| Diagnostic information for debug metadata version reporting. More...
|
|
class | DiagnosticInfoDontCall |
|
class | DiagnosticInfoGeneric |
|
class | DiagnosticInfoGenericWithLoc |
|
class | DiagnosticInfoIgnoringInvalidDebugMetadata |
| Diagnostic information for stripping invalid debug metadata. More...
|
|
class | DiagnosticInfoInlineAsm |
| Diagnostic information for inline asm reporting. More...
|
|
class | DiagnosticInfoInstrumentation |
| Diagnostic information for IR instrumentation reporting. More...
|
|
class | DiagnosticInfoIROptimization |
| Common features for diagnostics dealing with optimization remarks that are used by IR passes. More...
|
|
class | DiagnosticInfoISelFallback |
| Diagnostic information for ISel fallback path. More...
|
|
class | DiagnosticInfoMIROptimization |
| Common features for diagnostics dealing with optimization remarks that are used by machine passes. More...
|
|
class | DiagnosticInfoMIRParser |
| Diagnostic information for machine IR parser. More...
|
|
class | DiagnosticInfoMisExpect |
| Diagnostic information for MisExpect analysis. More...
|
|
class | DiagnosticInfoOptimizationBase |
| Common features for diagnostics dealing with optimization remarks that are used by both IR and MIR passes. More...
|
|
class | DiagnosticInfoOptimizationFailure |
| Diagnostic information for optimization failures. More...
|
|
class | DiagnosticInfoPGOProfile |
| Diagnostic information for the PGO profiler. More...
|
|
class | DiagnosticInfoRegAllocFailure |
|
class | DiagnosticInfoResourceLimit |
| Diagnostic information for stack size etc. More...
|
|
class | DiagnosticInfoSampleProfile |
| Diagnostic information for the sample profiler. More...
|
|
class | DiagnosticInfoSrcMgr |
| Diagnostic information for SMDiagnostic reporting. More...
|
|
class | DiagnosticInfoStackSize |
|
class | DiagnosticInfoUnsupported |
| Diagnostic information for unsupported feature in backend. More...
|
|
class | DiagnosticInfoWithLocationBase |
| Common features for diagnostics with an associated location. More...
|
|
class | DiagnosticLocation |
|
struct | DiagnosticPredicate |
|
class | DiagnosticPrinter |
| Interface for custom diagnostic printing. More...
|
|
class | DiagnosticPrinterRawOStream |
| Basic diagnostic printer that uses an underlying raw_ostream. More...
|
|
class | DIArgList |
| List of ValueAsMetadata, to be used as an argument to a dbg.value intrinsic. More...
|
|
struct | DIArgListInfo |
| DenseMapInfo for DIArgList. More...
|
|
struct | DIArgListKeyInfo |
|
class | DIAssignID |
| Assignment ID. More...
|
|
class | DIBasicType |
| Basic type, like 'int' or 'float'. More...
|
|
class | DIBuilder |
|
class | DICommonBlock |
| Debug common block. More...
|
|
class | DICompileUnit |
| Compile unit. More...
|
|
class | DICompositeType |
| Composite types. More...
|
|
class | DIContext |
|
struct | DictScope |
|
class | DIDerivedType |
| Derived types. More...
|
|
struct | DIDumpOptions |
| Container for dump options that control which debug information will be dumped. More...
|
|
class | DIE |
| A structured debug information entry. More...
|
|
class | DIEAbbrev |
| Dwarf abbreviation, describes the organization of a debug information object. More...
|
|
class | DIEAbbrevData |
| Dwarf abbreviation data, describes one attribute of a Dwarf abbreviation. More...
|
|
class | DIEAbbrevSet |
| Helps unique DIEAbbrev objects and assigns abbreviation numbers. More...
|
|
class | DIEAddrOffset |
| A BaseTypeRef DIE. More...
|
|
class | DIEBaseTypeRef |
| A BaseTypeRef DIE. More...
|
|
class | DIEBlock |
| DIEBlock - Represents a block of values. More...
|
|
class | DIEDelta |
| A simple label difference DIE. More...
|
|
class | DIEDwarfExpression |
| DwarfExpression implementation for singular DW_AT_location. More...
|
|
class | DIEEntry |
| A pointer to another debug information entry. More...
|
|
class | DIEExpr |
| An expression DIE. More...
|
|
class | DIEHash |
| An object containing the capability of hashing and adding hash attributes onto a DIE. More...
|
|
class | DIEInlineString |
| A container for inline string values. More...
|
|
class | DIEInteger |
| An integer value DIE. More...
|
|
class | DIELabel |
| A label DIE. More...
|
|
class | DIELoc |
| DIELoc - Represents an expression location. More...
|
|
class | DIELocList |
| Represents a pointer to a location list in the debug_loc section. More...
|
|
class | DIEnumerator |
| Enumeration value. More...
|
|
class | DIEString |
| A container for string pool string values. More...
|
|
class | DIEUnit |
| Represents a compile or type unit. More...
|
|
class | DIEValue |
|
class | DIEValueList |
| A list of DIE values. More...
|
|
class | DIExpression |
| DWARF expression. More...
|
|
class | DIExpressionCursor |
| Holds a DIExpression and keeps track of how many operands have been consumed so far. More...
|
|
class | DIFile |
| File. More...
|
|
class | DIGenericSubrange |
|
struct | DIGlobal |
| Container for description of a global variable. More...
|
|
class | DIGlobalVariable |
| Global variables. More...
|
|
class | DIGlobalVariableExpression |
| A pair of DIGlobalVariable and DIExpression. More...
|
|
class | DIImportedEntity |
| An imported module (C++ using directive or similar). More...
|
|
class | DIInliningInfo |
| A format-neutral container for inlined code description. More...
|
|
class | DILabel |
| Label. More...
|
|
class | DILexicalBlock |
| Debug lexical block. More...
|
|
class | DILexicalBlockBase |
|
class | DILexicalBlockFile |
|
struct | DILineInfo |
| A format-neutral container for source line information. More...
|
|
struct | DILineInfoSpecifier |
| Controls which fields of DILineInfo container should be filled with data. More...
|
|
struct | DILocal |
|
class | DILocalScope |
| A scope for locals. More...
|
|
class | DILocalVariable |
| Local variable. More...
|
|
class | DILocation |
| Debug location. More...
|
|
class | DIMacro |
| Macro. More...
|
|
class | DIMacroFile |
| Macro file. More...
|
|
class | DIMacroNode |
| Macro Info DWARF-like metadata node. More...
|
|
class | DIModule |
| Represents a module in the programming language, for example, a Clang module, or a Fortran module. More...
|
|
class | DINamespace |
| Debug lexical block. More...
|
|
class | DINode |
| Tagged DWARF-like metadata node. More...
|
|
class | DIObjCProperty |
|
class | DirectedGraph |
| Directed graph. More...
|
|
class | Directive |
|
class | DirectiveLanguage |
|
class | DirectXFrameLowering |
|
struct | DirectXInstrInfo |
|
struct | DirectXRegisterInfo |
|
class | DirectXSubtarget |
|
class | DirectXTargetLowering |
|
class | DirectXTargetMachine |
|
class | DirectXTTIImpl |
|
struct | DisableLIRP |
| Options to disable Loop Idiom Recognize, which can be shared with other passes. More...
|
|
class | DIScope |
| Base class for scope-like contexts. More...
|
|
class | DistinctMDOperandPlaceholder |
| Placeholder metadata for operands of distinct MDNodes. More...
|
|
class | DIStringType |
| String type, Fortran CHARACTER(n) More...
|
|
class | DISubprogram |
| Subprogram description. More...
|
|
class | DISubrange |
| Array subrange. More...
|
|
class | DISubroutineType |
| Type array for a subprogram. More...
|
|
class | DITemplateParameter |
| Base class for template parameters. More...
|
|
class | DITemplateTypeParameter |
|
class | DITemplateValueParameter |
|
class | DIType |
| Base class for types. More...
|
|
class | DITypeRefArray |
|
class | DIVariable |
| Base class for variables. More...
|
|
class | DivergencePropagator |
| Compute divergence starting with a divergent branch. More...
|
|
struct | DivRemMapKey |
|
struct | DivRemPairsPass |
| Hoist/decompose integer division and remainder instructions to enable CFG improvements and better codegen. More...
|
|
struct | DomainValue |
| A DomainValue is a bit like LiveIntervals' ValNo, but it also keeps track of execution domains. More...
|
|
class | DomConditionCache |
|
class | DominanceFrontier |
|
class | DominanceFrontierAnalysis |
| Analysis pass which computes a DominanceFrontier . More...
|
|
class | DominanceFrontierBase |
| DominanceFrontierBase - Common base class for computing forward and inverse dominance frontiers for a function. More...
|
|
class | DominanceFrontierPrinterPass |
| Printer pass for the DominanceFrontier . More...
|
|
class | DominanceFrontierWrapperPass |
|
class | DominatorTree |
| Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree. More...
|
|
class | DominatorTreeAnalysis |
| Analysis pass which computes a DominatorTree . More...
|
|
class | DominatorTreeBase |
| Core dominator tree base class. More...
|
|
class | DominatorTreePrinterPass |
| Printer pass for the DominatorTree . More...
|
|
struct | DominatorTreeVerifierPass |
| Verifier pass for the DominatorTree . More...
|
|
class | DominatorTreeWrapperPass |
| Legacy analysis pass which computes a DominatorTree . More...
|
|
struct | DomOnlyPrinter |
|
struct | DomOnlyViewer |
|
struct | DomPrinter |
|
struct | DomTreeGraphTraitsBase |
|
class | DomTreeNodeBase |
| Base class for the actual dominator tree node. More...
|
|
struct | DomTreeNodeTraits |
| Default DomTreeNode traits for NodeT. More...
|
|
struct | DomTreeNodeTraits< VPBlockBase > |
|
class | DomTreeUpdater |
|
struct | DomViewer |
|
class | DoNothingMemorySSAWalker |
| A MemorySSAWalker that does no alias queries, or anything else. More...
|
|
class | DotCfgChangeReporter |
|
class | DotFuncBCIInfo |
|
class | DOTFuncInfo |
|
struct | DOTGraphTraits |
| DOTGraphTraits - Template class that can be specialized to customize how graphs are converted to 'dot' graphs. More...
|
|
struct | DOTGraphTraits< AADepGraph * > |
|
struct | DOTGraphTraits< AttributorCallGraph * > |
|
struct | DOTGraphTraits< BlockFrequencyInfo * > |
|
struct | DOTGraphTraits< BoUpSLP * > |
|
struct | DOTGraphTraits< CallGraphDOTInfo * > |
|
struct | DOTGraphTraits< const DataDependenceGraph * > |
|
struct | DOTGraphTraits< const MachineFunction * > |
|
struct | DOTGraphTraits< DominatorTree * > |
|
struct | DOTGraphTraits< DomTreeNode * > |
|
struct | DOTGraphTraits< DotCfgDiffDisplayGraph * > |
|
struct | DOTGraphTraits< DotFuncBCIInfo * > |
|
struct | DOTGraphTraits< DOTFuncInfo * > |
|
struct | DOTGraphTraits< DOTFuncMSSAInfo * > |
|
struct | DOTGraphTraits< DOTMachineFuncInfo * > |
|
struct | DOTGraphTraits< MachineBlockFrequencyInfo * > |
|
struct | DOTGraphTraits< MachineGadgetGraph * > |
|
struct | DOTGraphTraits< PGOUseFunc * > |
|
struct | DOTGraphTraits< PostDominatorTree * > |
|
struct | DOTGraphTraits< RegionInfo * > |
|
struct | DOTGraphTraits< RegionNode * > |
|
struct | DOTGraphTraits< ScheduleDAG * > |
|
struct | DOTGraphTraits< ScheduleDAGMI * > |
|
struct | DOTGraphTraits< SelectionDAG * > |
|
struct | DOTGraphTraits< SplitGraph > |
|
class | DOTGraphTraitsModulePrinterWrapperPass |
|
class | DOTGraphTraitsModuleViewerWrapperPass |
|
struct | DOTGraphTraitsPrinter |
|
class | DOTGraphTraitsPrinterWrapperPass |
|
struct | DOTGraphTraitsViewer |
|
class | DOTGraphTraitsViewerWrapperPass |
|
class | DOTMachineFuncInfo |
|
class | DroppedVariableStats |
| A base class to collect and print dropped debug information variable statistics. More...
|
|
class | DroppedVariableStatsIR |
| A class to collect and print dropped debug information due to LLVM IR optimization passes. More...
|
|
class | DSEPass |
| This class implements a trivial dead store elimination. More...
|
|
class | DSOLocalEquivalent |
| Wrapper for a function that represents a value that functionally represents the original function. More...
|
|
class | DstOp |
|
class | DummyCGSCCPass |
| This pass is required by interprocedural register allocation. More...
|
|
class | DummyPriorityAdvisor |
| Stupid priority advisor which just enqueues in virtual register number order, for debug purposes only. More...
|
|
class | DuplexCandidate |
|
class | Duration |
|
class | DWARF5AccelTable |
|
class | DWARF5AccelTableData |
| The Data class implementation for DWARF v5 accelerator table. More...
|
|
class | DWARFAbbreviationDeclaration |
|
class | DWARFAbbreviationDeclarationSet |
|
class | DWARFAcceleratorTable |
| The accelerator tables are designed to allow efficient random access (using a symbol name as a key) into debug info by providing an index of the debug info DIEs. More...
|
|
struct | DWARFAddressRange |
|
struct | DWARFAttribute |
| Encapsulates a DWARF attribute value and all of the data required to describe the attribute value. More...
|
|
class | DwarfCFIException |
|
class | DwarfCompileUnit |
|
class | DWARFCompileUnit |
|
class | DWARFContext |
| DWARFContext This data structure is the top level entity that deals with dwarf debug information parsing. More...
|
|
class | DWARFDataExtractor |
| A DataExtractor (typically for an in-memory copy of an object-file section) plus a relocation map for that section, if there is one. More...
|
|
class | DwarfDebug |
| Collects and handles dwarf debug information. More...
|
|
class | DWARFDebugAbbrev |
|
class | DWARFDebugAddrTable |
| A class representing an address table as specified in DWARF v5. More...
|
|
class | DWARFDebugAranges |
|
class | DWARFDebugArangeSet |
|
class | DWARFDebugFrame |
| A parsed .debug_frame or .eh_frame section. More...
|
|
class | DWARFDebugInfoEntry |
| DWARFDebugInfoEntry - A DIE with only the minimum required data. More...
|
|
class | DWARFDebugLine |
|
class | DWARFDebugLoc |
|
class | DWARFDebugLoclists |
|
class | DWARFDebugMacro |
|
class | DWARFDebugNames |
| .debug_names section consists of one or more units. More...
|
|
class | DWARFDebugPubTable |
| Represents structure for holding and parsing .debug_pub* tables. More...
|
|
class | DWARFDebugRangeList |
|
class | DWARFDebugRnglist |
| A class representing a single rangelist. More...
|
|
class | DWARFDebugRnglistTable |
|
class | DWARFDie |
| Utility class that carries the DWARF compile/type unit and the debug info entry in an object. More...
|
|
class | DwarfEHPreparePass |
|
class | DwarfExpression |
| Base class containing the logic for constructing DWARF expressions independently of whether they are emitted into a DIE or into a .debug_loc entry. More...
|
|
class | DWARFExpression |
|
class | DwarfFile |
|
class | DWARFFormValue |
|
class | DWARFGdbIndex |
|
class | DwarfInstrProfCorrelator |
| DwarfInstrProfCorrelator - A child of InstrProfCorrelatorImpl that takes DWARF debug info as input to correlate profiles. More...
|
|
struct | DWARFListEntryBase |
| A base class for DWARF list entries, such as range or location list entries. More...
|
|
class | DWARFListTableBase |
| A class representing a table of lists as specified in the DWARF v5 standard for location lists and range lists. More...
|
|
class | DWARFListTableHeader |
| A class representing the header of a list table such as the range list table in the .debug_rnglists section. More...
|
|
class | DWARFListType |
| A base class for lists of entries that are extracted from a particular section, such as range lists or location lists. More...
|
|
struct | DWARFLocationEntry |
| A single location within a location list. More...
|
|
struct | DWARFLocationExpression |
| Represents a single DWARF expression, whose value is location-dependent. More...
|
|
class | DWARFLocationTable |
| An abstract base class for various kinds of location tables (.debug_loc, .debug_loclists, and their dwo variants). More...
|
|
class | DWARFObject |
|
struct | DWARFSection |
|
class | DwarfStringPool |
|
struct | DwarfStringPoolEntry |
| Data for a string pool entry. More...
|
|
class | DwarfStringPoolEntryRef |
| DwarfStringPoolEntryRef: Dwarf string pool entry reference. More...
|
|
struct | DwarfStringPoolEntryWithExtString |
| DwarfStringPoolEntry with string keeping externally. More...
|
|
struct | DWARFTypePrinter |
|
class | DWARFTypeUnit |
|
class | DwarfTypeUnit |
|
class | DWARFUnit |
|
class | DwarfUnit |
| This dwarf writer support class manages information associated with a source file. More...
|
|
class | DWARFUnitHeader |
| Base class describing the header of any kind of "unit." Some information is specific to certain unit types. More...
|
|
class | DWARFUnitIndex |
|
class | DWARFUnitVector |
| Describe a collection of units. More...
|
|
class | DWARFVerifier |
| A class that verifies DWARF debug information given a DWARF Context. More...
|
|
class | DWPError |
|
class | DWPStringPool |
|
class | DXContainerObjectWriter |
|
class | DXILBindingMap |
|
class | DXILDataScalarization |
| A pass that transforms Vectors to Arrays. More...
|
|
class | DXILFinalizeLinkage |
|
class | DXILFinalizeLinkageLegacy |
|
class | DXILFlattenArrays |
| A pass that transforms multidimensional arrays into one-dimensional arrays. More...
|
|
class | DXILIntrinsicExpansion |
| A pass that transforms DXIL Intrinsics that don't have DXIL opCodes. More...
|
|
class | DXILMetadataAnalysis |
|
class | DXILMetadataAnalysisPrinterPass |
| Printer pass for the DXILMetadataAnalysis results. More...
|
|
class | DXILMetadataAnalysisWrapperPass |
| Legacy pass. More...
|
|
class | DXILOpLowering |
|
class | DXILPrettyPrinterPass |
| A pass that prints resources in a format suitable for textual DXIL. More...
|
|
class | DXILResourceAccess |
|
class | DXILResourceBindingAnalysis |
|
class | DXILResourceBindingPrinterPass |
| Printer pass for the DXILResourceBindingAnalysis results. More...
|
|
class | DXILResourceBindingWrapperPass |
|
class | DXILResourceMDAnalysis |
| Analysis pass that exposes the DXILResource for a module. More...
|
|
class | DXILResourceMDWrapper |
| The legacy pass manager's analysis pass to compute DXIL resource information. More...
|
|
class | DXILResourceTypeAnalysis |
|
class | DXILResourceTypeMap |
|
class | DXILResourceTypeWrapperPass |
|
class | DXILTranslateMetadata |
| A pass that transforms DXIL Intrinsics that don't have DXIL opCodes. More...
|
|
class | DXILUpgradePass |
| Upgrade DXIL-style metadata into their LLVM representations. More...
|
|
class | DynamicAPInt |
| This class provides support for dynamic arbitrary-precision arithmetic. More...
|
|
class | EarliestEscapeAnalysis |
| Context-sensitive CaptureAnalysis provider, which computes and caches the earliest common dominator closure of all captures. More...
|
|
class | early_inc_iterator_impl |
| A pseudo-iterator adaptor that is designed to implement "early increment" style loops. More...
|
|
struct | EarlyCSEPass |
| A simple and fast domtree-based CSE pass. More...
|
|
class | EarlyIfConverterPass |
|
class | EarlyMachineLICMPass |
|
class | EarlyTailDuplicatePass |
|
class | ECError |
| This class wraps a std::error_code in a Error. More...
|
|
class | EdgeBundles |
|
class | EdgeBundlesAnalysis |
|
class | EdgeBundlesWrapperLegacy |
|
class | EHStreamer |
| Emits exception handling directives. More...
|
|
class | ElementCount |
|
class | ELFAttributeParser |
|
class | ELFObjectWriter |
|
struct | ELFRelocationEntry |
|
class | EliminateAvailableExternallyPass |
| A pass that transforms external global definitions into declarations. More...
|
|
struct | EmbedBitcodeOptions |
|
class | EmbedBitcodePass |
| Pass embeds a copy of the module optimized with the provided pass pipeline into a global variable. More...
|
|
struct | EmbeddedModelRunnerOptions |
| ReleaseModeModelRunner - production mode implementation of the MLModelRunner. More...
|
|
class | EmptyData |
|
class | EmptyMatchContext |
|
class | EngineBuilder |
| Builder class for ExecutionEngines. More...
|
|
struct | EntryExitInstrumenterPass |
|
struct | EntryValueInfo |
| Represents an entry-value location, or a fragment of one. More...
|
|
struct | enum_iteration_traits |
|
struct | enum_iteration_traits< InstCounterType > |
|
class | EnumAttributeImpl |
|
struct | EnumEntry |
|
class | EnumeratedArray |
|
struct | EpilogueLoopVectorizationInfo |
| Encapsulate information regarding vectorization of a loop and its epilogue. More...
|
|
class | EpilogueVectorizerEpilogueLoop |
|
class | EpilogueVectorizerMainLoop |
| A specialized derived class of inner loop vectorizer that performs vectorization of main loops in the process of vectorizing loops and their epilogues. More...
|
|
class | EquivalenceClasses |
| EquivalenceClasses - This represents a collection of equivalence classes and supports three efficient operations: insert an element into a class of its own, union two classes, and find the class for a given element. More...
|
|
class | ErrataWorkaround |
|
class | Error |
| Lightweight error class with error context and mandatory checking. More...
|
|
class | ErrorAsOutParameter |
| Helper for Errors used as out-parameters. More...
|
|
class | ErrorDiagnostic |
| Class to represent an error holding a diagnostic with location information used when printing it. More...
|
|
class | ErrorHandlerTraits |
| Helper for testing applicability of, and applying, handlers for ErrorInfo types. More...
|
|
class | ErrorHandlerTraits< Error(&)(ErrT &)> |
|
class | ErrorHandlerTraits< Error(&)(std::unique_ptr< ErrT >)> |
| Specialization for functions of the form 'Error (std::unique_ptr<ErrT>)'. More...
|
|
class | ErrorHandlerTraits< RetT(C::*)(const ErrT &) const > |
|
class | ErrorHandlerTraits< RetT(C::*)(const ErrT &)> |
|
class | ErrorHandlerTraits< RetT(C::*)(ErrT &) const > |
|
class | ErrorHandlerTraits< RetT(C::*)(ErrT &)> |
|
class | ErrorHandlerTraits< RetT(C::*)(std::unique_ptr< ErrT >) const > |
| Specialization for member functions of the form 'RetT (std::unique_ptr<ErrT>) const'. More...
|
|
class | ErrorHandlerTraits< RetT(C::*)(std::unique_ptr< ErrT >)> |
| Specialization for member functions of the form 'RetT (std::unique_ptr<ErrT>)'. More...
|
|
class | ErrorHandlerTraits< void(&)(ErrT &)> |
|
class | ErrorHandlerTraits< void(&)(std::unique_ptr< ErrT >)> |
| Specialization for functions of the form 'void (std::unique_ptr<ErrT>)'. More...
|
|
class | ErrorInfo |
| Base class for user error types. More...
|
|
class | ErrorInfoBase |
| Base class for error info classes. More...
|
|
class | ErrorList |
| Special ErrorInfo subclass representing a list of ErrorInfos. More...
|
|
class | ErrorOr |
| Represents either an error or a value T. More...
|
|
class | ErrorReported |
| An error that has already been reported. More...
|
|
class | ErrorSuccess |
| Subclass of Error for the sole purpose of identifying the success path in the type system. More...
|
|
class | EscapeEnumerator |
| EscapeEnumerator - This is a little algorithm to find all escape points from a function so that "finally"-style code can be inserted. More...
|
|
class | Evaluator |
| This class evaluates LLVM IR, producing the Constant representing each SSA instruction. More...
|
|
struct | EvictionCost |
| Cost of evicting interference - used by default advisor, and the eviction chain heuristic in RegAllocGreedy. More...
|
|
struct | EVT |
| Extended Value Type. More...
|
|
struct | ExactEqualsExpression |
|
struct | ExecutionContext |
|
class | ExecutionDomainFix |
|
class | ExecutionEngine |
| Abstract interface for implementation execution of LLVM modules, designed to support both interpreter and just-in-time (JIT) compiler implementations. More...
|
|
class | ExecutionEngineState |
| Helper class for helping synchronize access to the global address map table. More...
|
|
class | ExistsOpInit |
| !exists<type>(expr) - Dynamically determine if a record of type named expr exists. More...
|
|
class | ExitOnError |
| Helper for check-and-exit error handling. More...
|
|
class | ExpandLargeDivRemPass |
|
class | ExpandLargeFpConvertPass |
|
class | ExpandMemCmpPass |
|
class | ExpandReductionsPass |
|
class | ExpandVariadicsPass |
|
class | Expected |
| Tagged union holding either a T or a Error. More...
|
|
class | ExpectedAsOutParameter |
| Helper for Expected<T>s used as out-parameters. More...
|
|
struct | explicitly_convertible |
|
struct | explicitly_convertible< From, To, std::void_t< decltype(static_cast< To >(std::declval< std::add_rvalue_reference_t< From > >()))> > |
|
class | ExponentialBackoff |
| A class to help implement exponential backoff. More...
|
|
class | Expression |
| Class representing an expression and its matching format. More...
|
|
class | ExpressionAST |
| Base class representing the AST of a given expression. More...
|
|
struct | ExpressionFormat |
| Type representing the format an expression value should be textualized into for matching. More...
|
|
class | ExpressionLiteral |
| Class representing an unsigned literal in the AST of an expression. More...
|
|
struct | ExtAddrMode |
| Used to describe addressing mode similar to ExtAddrMode in CodeGenPrepare. More...
|
|
struct | ExternalAAWrapperPass |
| A wrapper pass for external alias analyses. More...
|
|
class | ExternalSymbolPseudoSourceValue |
| A specialized pseudo source value for holding external symbol values. More...
|
|
class | ExternalSymbolSDNode |
|
class | ExtractElementConstantExpr |
| ExtractElementConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement extractelement constant exprs. More...
|
|
class | ExtractElementInst |
| This instruction extracts a single (scalar) element from a VectorType value. More...
|
|
class | ExtractGVPass |
|
class | ExtractValueInst |
| This instruction extracts a struct member or array element value from an aggregate value. More...
|
|
class | ExtraFunctionPassManager |
| A pass manager to run a set of extra function passes if the ShouldRunExtraPasses marker analysis is present. More...
|
|
class | ExtraLoopPassManager |
| A pass manager to run a set of extra loop passes if the MarkerTy analysis is present. More...
|
|
class | FailureOr |
| This class provides support for representing a failure result, or a valid value of type T . More...
|
|
class | fallible_iterator |
| A wrapper class for fallible iterators. More...
|
|
class | FastFoldingSetNode |
| FastFoldingSetNode - This is a subclass of FoldingSetNode which stores a FoldingSetNodeID value rather than requiring the node to recompute it each time it is needed. More...
|
|
class | FastISel |
| This is a fast-path instruction selection class that generates poor code and doesn't support illegal types or non-trivial lowering, but runs quickly. More...
|
|
class | FastMathFlags |
| Convenience struct for specifying and reasoning about fast-math flags. More...
|
|
class | FaultMapParser |
| A parser for the __llvm_faultmaps section generated by the FaultMaps class declared in llvm/CodeGen/FaultMaps.h. More...
|
|
class | FaultMaps |
|
class | FCmpInst |
| This instruction compares its operands according to the predicate given to the constructor. More...
|
|
class | FeatureBitArray |
| Class used to store the subtarget bits in the tables created by tablegen. More...
|
|
class | FeatureBitset |
| Container class for subtarget features. More...
|
|
class | FenceInst |
| An instruction for ordering other memory operations. More...
|
|
class | FieldInit |
| X.Y - Represent a reference to a subfield of a variable. More...
|
|
struct | file_magic |
| file_magic - An "enum class" enumeration of file types based on magic (the first N bytes of the file). More...
|
|
class | FileBufferByteStream |
| An implementation of WritableBinaryStream backed by an llvm FileOutputBuffer. More...
|
|
struct | FileCache |
| This type represents a file cache system that manages caching of files. More...
|
|
class | FileCheck |
| FileCheck class takes the request and exposes various methods that use information from the request. More...
|
|
struct | FileCheckDiag |
| Summary of a FileCheck diagnostic. More...
|
|
class | FileCheckPatternContext |
| Class holding the Pattern global state, shared by all patterns: tables holding values of variables and whether they are defined or not at any given time in the matching process. More...
|
|
struct | FileCheckRequest |
| Contains info about various FileCheck options. More...
|
|
struct | FileCheckString |
| A check that we found in the input file. More...
|
|
class | FileCollector |
| Captures file system interaction and generates data to be later replayed with the RedirectingFileSystem. More...
|
|
class | FileCollectorBase |
|
class | FileCollectorFileSystem |
|
class | FileError |
| This class wraps a filename and another Error. More...
|
|
struct | FileHandleTraits |
|
class | FileOutputBuffer |
| FileOutputBuffer - This interface provides simple way to create an in-memory buffer which will be written to a file. More...
|
|
class | FilePermissionsApplier |
| FilePermssionsApplier helps to copy permissions from an input file to an output one. More...
|
|
class | FileRemover |
| FileRemover - This class is a simple object meant to be stack allocated. More...
|
|
class | filter_iterator_base |
| An iterator adaptor that filters the elements of given inner iterators. More...
|
|
class | filter_iterator_impl |
| Specialization of filter_iterator_base for forward iteration only. More...
|
|
class | filter_iterator_impl< WrappedIteratorT, PredicateT, std::bidirectional_iterator_tag > |
| Specialization of filter_iterator_base for bidirectional iteration. More...
|
|
class | FinalizeISelPass |
|
struct | FindHandleTraits |
|
struct | FirstIndexOfType |
| Find the first index where a type appears in a list of types. More...
|
|
struct | FirstIndexOfType< T, T, Us... > |
|
struct | FirstIndexOfType< T, U, Us... > |
|
class | FixAllFDIVSQRT |
|
struct | FixedNumOperandTraits |
| FixedNumOperandTraits - determine the allocation regime of the Use array when it is a prefix to the User object, and the number of Use objects is known at compile time. More...
|
|
class | FixedPointBuilder |
|
class | FixedPointSemantics |
| The fixed point semantics work similarly to fltSemantics. More...
|
|
struct | FixedScalableVFPair |
| A class that represents two vectorization factors (initialized with 0 by default). More...
|
|
class | FixedStackPseudoSourceValue |
| A specialized PseudoSourceValue for holding FixedStack values, which must include a frame index. More...
|
|
class | FixedStreamArray |
| FixedStreamArray is similar to VarStreamArray, except with each record having a fixed-length. More...
|
|
class | FixedStreamArrayIterator |
|
class | FixedVectorType |
| Class to represent fixed width SIMD vectors. More...
|
|
struct | FixIrreduciblePass |
|
struct | FlagEntry |
|
class | FlatIt |
| Marker class to iterate over the elements of a Region in flat mode. More...
|
|
struct | FlattenCFGPass |
|
class | Float2IntPass |
|
struct | FlowBlock |
| A wrapper of a binary basic block. More...
|
|
struct | FlowFunction |
| A wrapper of binary function with basic blocks and jumps. More...
|
|
struct | FlowJump |
| A wrapper of a jump between two basic blocks. More...
|
|
struct | fltSemantics |
|
class | FMFSource |
| This provides a helper for copying FMF from an instruction or setting specified flags. More...
|
|
struct | FmtAlign |
| Helper class to format to a Width wide field, with alignment Where within that field. More...
|
|
class | FoldingSet |
| FoldingSet - This template class is used to instantiate a specialized implementation of the folding set to the node class T. More...
|
|
class | FoldingSetBase |
| FoldingSetBase - Implements the folding set functionality. More...
|
|
class | FoldingSetBucketIterator |
|
class | FoldingSetBucketIteratorImpl |
| FoldingSetBucketIteratorImpl - This is the common bucket iterator support shared by all folding sets, which knows how to walk a particular bucket of a folding set hash table. More...
|
|
class | FoldingSetImpl |
| FoldingSetImpl - An implementation detail that lets us share code between FoldingSet and ContextualFoldingSet. More...
|
|
class | FoldingSetIterator |
|
class | FoldingSetIteratorImpl |
| FoldingSetIteratorImpl - This is the common iterator support shared by all folding sets, which knows how to walk the folding set hash table. More...
|
|
class | FoldingSetNodeID |
| FoldingSetNodeID - This class is used to gather all the unique data bits of a node. More...
|
|
class | FoldingSetNodeIDRef |
| FoldingSetNodeIDRef - This class describes a reference to an interned FoldingSetNodeID, which can be a useful to store node id data rather than using plain FoldingSetNodeIDs, since the 32-element SmallVector is often much larger than necessary, and the possibility of heap allocation means it requires a non-trivial destructor call. More...
|
|
class | FoldingSetNodeWrapper |
| FoldingSetNodeWrapper - This template class is used to "wrap" arbitrary types in an enclosing object so that they can be inserted into FoldingSets. More...
|
|
struct | FoldingSetTrait |
| FoldingSetTrait - This trait class is used to define behavior of how to "profile" (in the FoldingSet parlance) an object of a given type. More...
|
|
struct | FoldingSetTrait< SCEV > |
|
struct | FoldingSetTrait< SCEVPredicate > |
|
struct | FoldingSetTrait< SDVTListNode > |
| Specialize FoldingSetTrait for SDVTListNode to avoid computing temp FoldingSetNodeID and hash value. More...
|
|
struct | FoldingSetTrait< std::pair< T1, T2 > > |
|
struct | FoldingSetTrait< T * > |
|
struct | FoldingSetTrait< T, std::enable_if_t< std::is_enum< T >::value > > |
|
class | FoldingSetVector |
| FoldingSetVector - This template class combines a FoldingSet and a vector to provide the interface of FoldingSet but with deterministic iteration order based on the insertion order. More...
|
|
class | FoldOpInit |
| !foldl (a, b, expr, start, lst) - Fold over a list. More...
|
|
struct | force_iteration_on_noniterable_enum_t |
|
struct | ForceFunctionAttrsPass |
| Pass which forces specific function attributes into the IR, primarily as a debugging tool. More...
|
|
struct | ForeachLoop |
| ForeachLoop - Record the iteration state associated with a for loop. More...
|
|
class | FormalArgHandler |
|
class | format_object |
|
class | format_object_base |
| This is a helper class used for handling formatted output. More...
|
|
struct | format_provider |
|
struct | format_provider< bool > |
| Implementation of format_provider<T> for type bool More...
|
|
struct | format_provider< codeview::GloballyHashedType > |
|
struct | format_provider< codeview::GUID > |
|
struct | format_provider< codeview::LocallyHashedType > |
|
struct | format_provider< codeview::TypeIndex > |
|
struct | format_provider< Enum, std::enable_if_t< dwarf::EnumTraits< Enum >::value > > |
| Dwarf constants format_provider. More...
|
|
class | format_provider< llvm::iterator_range< IterT > > |
| Implementation of format_provider<T> for ranges. More...
|
|
struct | format_provider< llvm::json::Value > |
| Allow printing json::Value with formatv(). More...
|
|
struct | format_provider< std::chrono::duration< Rep, Period > > |
| Implementation of format_provider<T> for duration types. More...
|
|
struct | format_provider< sys::TimePoint<> > |
| Format provider for TimePoint<> More...
|
|
struct | format_provider< sys::UtcTime< std::chrono::seconds > > |
|
struct | format_provider< T, std::enable_if_t< support::detail::use_char_formatter< T >::value > > |
| Implementation of format_provider<T> for characters. More...
|
|
struct | format_provider< T, std::enable_if_t< support::detail::use_double_formatter< T >::value > > |
| Implementation of format_provider<T> for floating point types. More...
|
|
struct | format_provider< T, std::enable_if_t< support::detail::use_integral_formatter< T >::value > > |
| Implementation of format_provider<T> for integral arithmetic types. More...
|
|
struct | format_provider< T, std::enable_if_t< support::detail::use_pointer_formatter< T >::value > > |
| Implementation of format_provider<T> for integral pointer types. More...
|
|
struct | format_provider< T, std::enable_if_t< support::detail::use_string_formatter< T >::value > > |
| Implementation of format_provider<T> for c-style strings and string objects such as std::string and llvm::StringRef. More...
|
|
struct | format_provider< Twine > |
| Implementation of format_provider<T> for llvm::Twine. More...
|
|
class | FormatAdapter |
|
class | formatted_raw_ostream |
| formatted_raw_ostream - A raw_ostream that wraps another one and keeps track of line and column position, allowing padding out to specific column boundaries and querying the number of lines written to the stream. More...
|
|
class | FormattedBytes |
|
class | FormattedNumber |
| This is a helper class used for format_hex() and format_decimal(). More...
|
|
class | FormattedString |
| This is a helper class for left_justify, right_justify, and center_justify. More...
|
|
class | formatv_object |
|
class | formatv_object_base |
|
class | FortifiedLibCallSimplifier |
| This class implements simplifications for calls to fortified library functions (__st*cpy_chk, __memcpy_chk, __memmove_chk, __memset_chk), to, when possible, replace them with their non-checking counterparts. More...
|
|
class | ForwardDominanceFrontierBase |
| DominanceFrontier Class - Concrete subclass of DominanceFrontierBase that is used to compute a forward dominator frontiers. More...
|
|
struct | ForwardedRegister |
| Describes a register that needs to be forwarded from the prologue to a musttail call. More...
|
|
struct | ForwardToPointerCast |
| Provides a cast trait that uses a defined pointer to pointer cast as a base for reference-to-reference casts. More...
|
|
class | FPExtInst |
| This class represents an extension of floating point types. More...
|
|
class | FPMathOperator |
| Utility class for floating point operations which can have information about relaxed accuracy requirements attached to them. More...
|
|
class | FPPassManager |
| FPPassManager manages BBPassManagers and FunctionPasses. More...
|
|
class | FPStateAccessSDNode |
|
class | FPToSIInst |
| This class represents a cast from floating point to signed integer. More...
|
|
class | FPToUIInst |
| This class represents a cast from floating point to unsigned integer. More...
|
|
class | FPTruncInst |
| This class represents a truncation of floating point types. More...
|
|
struct | FPValueAndVReg |
|
struct | FrameIndexExpr |
| Proxy for one MMI entry. More...
|
|
class | FrameIndexSDNode |
|
struct | FreeDeleter |
|
class | FreezeInst |
| This class represents a freeze function that returns random concrete value if an operand is either a poison value or an undef value. More...
|
|
struct | FrozenIndPHIInfo |
|
class | FullDependence |
| FullDependence - This class represents a dependence between two memory references in a function. More...
|
|
class | FuncDataT |
|
class | FuncletPadInst |
|
class | Function |
|
class | function_ref |
| An efficient, type-erasing, non-owning reference to a callable. More...
|
|
class | function_ref< Ret(Params...)> |
|
struct | function_traits |
| This class provides various trait information about a callable object. More...
|
|
struct | function_traits< ReturnType(&)(Args...), false > |
| Overload for non-class function type references. More...
|
|
struct | function_traits< ReturnType(*)(Args...), false > |
| Overload for non-class function types. More...
|
|
struct | function_traits< ReturnType(*const)(Args...), false > |
|
struct | function_traits< ReturnType(ClassType::*)(Args...) const, false > |
| Overload for class function types. More...
|
|
struct | function_traits< ReturnType(ClassType::*)(Args...), false > |
| Overload for class function types. More...
|
|
class | FunctionAnalysisManagerCGSCCProxy |
| A proxy from a FunctionAnalysisManager to an SCC . More...
|
|
class | FunctionAnalysisManagerMachineFunctionProxy |
|
class | FunctionCallee |
| A handy container for a FunctionType+Callee-pointer pair, which can be passed around as a single entity. More...
|
|
class | FunctionComparator |
| FunctionComparator - Compares two functions to determine whether or not they will generate machine code with the same behaviour. More...
|
|
struct | FunctionHashInfo |
|
class | FunctionImporter |
| The function importer is automatically importing function from other modules based on the provided summary informations. More...
|
|
class | FunctionImportGlobalProcessing |
| Class to handle necessary GlobalValue changes required by ThinLTO function importing, including linkage changes and any necessary renaming. More...
|
|
class | FunctionImportPass |
| The function importing pass. More...
|
|
class | FunctionLoweringInfo |
| FunctionLoweringInfo - This contains information that is global to a function that is used when lowering a region of the function. More...
|
|
class | FunctionPass |
| FunctionPass class - This class is used to implement most global optimizations. More...
|
|
struct | FunctionPathAndClusterInfo |
|
struct | FunctionPointerLikeTypeTraits |
| Provide suitable custom traits struct for function pointers. More...
|
|
class | FunctionPropertiesAnalysis |
|
class | FunctionPropertiesInfo |
|
class | FunctionPropertiesPrinterPass |
| Printer pass for the FunctionPropertiesAnalysis results. More...
|
|
class | FunctionPropertiesUpdater |
| Correctly update FunctionPropertiesInfo post-inlining. More...
|
|
class | FunctionSpecializer |
|
class | FunctionSummary |
| Function summary information to aid decisions and implementation of importing. More...
|
|
class | FunctionToLoopPassAdaptor |
|
class | FunctionToMachineFunctionPassAdaptor |
|
class | FunctionType |
| Class to represent function types. More...
|
|
struct | FunctionTypeKeyInfo |
|
class | FunctionVarLocs |
| Data structure describing the variable locations in a function. More...
|
|
class | GAdd |
| Represents an integer addition. More...
|
|
class | GAddCarryOut |
| Represents overflowing add operations. More...
|
|
class | GAddSubCarryInOut |
| Represents overflowing add/sub operations that also consume a carry-in. More...
|
|
class | GAddSubCarryOut |
| Represents overflowing add/sub operations. More...
|
|
class | GAnd |
| Represents a logical and. More...
|
|
class | GAnyCmp |
| Represent a G_ICMP or G_FCMP. More...
|
|
class | GAnyExt |
| Represents an any ext. More...
|
|
class | GAnyLoad |
| Represents any generic load, including sign/zero extending variants. More...
|
|
class | GBinOp |
| Represents a binary operation, i.e, x = y op z. More...
|
|
class | GBinOpCarryOut |
| Represents overflowing binary operations. More...
|
|
class | GBuildVector |
| Represents a G_BUILD_VECTOR. More...
|
|
class | GBuildVectorTrunc |
| Represents a G_BUILD_VECTOR_TRUNC. More...
|
|
class | GCastOp |
| Represents a cast operation. More...
|
|
class | GCFunctionAnalysis |
| An analysis pass which caches information about the Function. More...
|
|
class | GCFunctionInfo |
| Garbage collection metadata for a single function. More...
|
|
class | GCLoweringPass |
| LowerIntrinsics - This pass rewrites calls to the llvm.gcread or llvm.gcwrite intrinsics, replacing them with simple loads and stores as directed by the GCStrategy. More...
|
|
class | GCMetadataPrinter |
| GCMetadataPrinter - Emits GC metadata as assembly code. More...
|
|
class | GCModuleInfo |
| An analysis pass which caches information about the entire Module. More...
|
|
class | GCNDownwardRPTracker |
|
class | GCNDPPCombinePass |
|
class | GCNHazardRecognizer |
|
class | GCNIterativeScheduler |
|
class | GCNMaxILPSchedStrategy |
| The goal of this scheduling strategy is to maximize ILP for a single wave (i.e. More...
|
|
class | GCNMaxMemoryClauseSchedStrategy |
| The goal of this scheduling strategy is to maximize memory clause for a single wave. More...
|
|
class | GCNMaxOccupancySchedStrategy |
| The goal of this scheduling strategy is to maximize kernel occupancy (i.e. More...
|
|
class | GCNPostScheduleDAGMILive |
|
struct | GCNRegPressure |
|
struct | GCNRegPressurePrinter |
|
class | GCNRPTracker |
|
class | GCNSchedStage |
|
class | GCNSchedStrategy |
| This is a minimal scheduler strategy. More...
|
|
class | GCNScheduleDAGMILive |
|
class | GCNSubtarget |
|
class | GCNTargetMachine |
|
class | GCNTTIImpl |
|
class | GCNUpwardRPTracker |
|
class | GCNUserSGPRUsageInfo |
|
class | GConcatVectors |
| Represents a G_CONCAT_VECTORS. More...
|
|
struct | GCOVArc |
|
class | GCOVBlock |
| GCOVBlock - Collects block information. More...
|
|
class | GCOVBuffer |
| GCOVBuffer - A wrapper around MemoryBuffer to provide GCOV specific read operations. More...
|
|
class | GCOVFile |
| GCOVFile - Collects coverage information for one pair of coverage file (.gcno and .gcda). More...
|
|
class | GCOVFunction |
| GCOVFunction - Collects function information. More...
|
|
struct | GCOVOptions |
|
class | GCOVProfilerPass |
| The gcov-style instrumentation pass. More...
|
|
struct | GCPoint |
| GCPoint - Metadata for a collector-safe point in machine code. More...
|
|
class | GCProjectionInst |
| Common base class for representing values projected from a statepoint. More...
|
|
class | GCRelocateInst |
| Represents calls to the gc.relocate intrinsic. More...
|
|
class | GCResultInst |
| Represents calls to the gc.result intrinsic. More...
|
|
struct | GCRoot |
| GCRoot - Metadata for a pointer to an object managed by the garbage collector. More...
|
|
class | GCStatepointInst |
| Represents a gc.statepoint intrinsic call. More...
|
|
class | GCStrategy |
| GCStrategy describes a garbage collector algorithm's code generation requirements, and provides overridable hooks for those needs which cannot be abstractly described. More...
|
|
struct | GCStrategyMap |
|
class | generic_gep_type_iterator |
|
class | GenericConvergenceVerifier |
|
class | GenericCycle |
| A possibly irreducible generalization of a Loop. More...
|
|
class | GenericCycleInfo |
| Cycle information for a function. More...
|
|
class | GenericCycleInfoCompute |
| Helper class for computing cycle information. More...
|
|
class | GenericDINode |
| Generic tagged DWARF-like metadata node. More...
|
|
class | GenericDomTreeUpdater |
|
class | GenericMachineInstr |
| A base class for all GenericMachineInstrs. More...
|
|
class | GenericScheduler |
| GenericScheduler shrinks the unscheduled zone using heuristics to balance the schedule. More...
|
|
class | GenericSchedulerBase |
| Base class for GenericScheduler. More...
|
|
class | GenericSSAContext |
|
struct | GenericSSATraits |
|
struct | GenericSSATraits< Function > |
|
struct | GenericSSATraits< MachineFunction > |
|
class | GenericSyncDependenceAnalysis |
| Locate join blocks for disjoint paths starting at a divergent branch. More...
|
|
struct | GenericToNVVMPass |
|
class | GenericUniformityAnalysisImpl |
| Analysis that identifies uniform values in a data-parallel execution. More...
|
|
struct | GenericUniformityAnalysisImplDeleter |
|
class | GenericUniformityInfo |
|
struct | GenericValue |
|
class | GEPNoWrapFlags |
| Represents flags for the getelementptr instruction/expression. More...
|
|
class | GEPOperator |
|
class | GetElementPtrConstantExpr |
| GetElementPtrConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement getelementptr constant exprs. More...
|
|
class | GetElementPtrInst |
| an instruction for type-safe pointer arithmetic to access elements of arrays and structs More...
|
|
class | GExtLoad |
| Represents either a G_SEXTLOAD or G_ZEXTLOAD. More...
|
|
class | GExtOp |
| Represents an integer-like extending operation. More...
|
|
class | GExtOrTruncOp |
| Represents an integer-like extending or truncating operation. More...
|
|
class | GExtractSubvector |
| Represents an extract subvector. More...
|
|
class | GExtractVectorElement |
| Represents an extract vector element. More...
|
|
class | GFBinOp |
| Represents a floating point binary operation. More...
|
|
class | GFCmp |
| Represent a G_FCMP. More...
|
|
class | GFConstant |
| An floating-point-like constant. More...
|
|
class | GFreeze |
| Represents a freeze. More...
|
|
class | GICmp |
| Represent a G_ICMP. More...
|
|
class | GIConstant |
| An integer-like constant. More...
|
|
class | GIMatchTableExecutor |
| Provides the logic to execute GlobalISel match tables, which are used by the instruction selector and instruction combiners as their engine to match and apply MIR patterns. More...
|
|
class | GImplicitDef |
| Represents a G_IMPLICIT_DEF. More...
|
|
class | GIndexedAnyExtLoad |
| Represents either G_INDEXED_LOAD, G_INDEXED_ZEXTLOAD or G_INDEXED_SEXTLOAD. More...
|
|
class | GIndexedExtLoad |
| Represents a G_INDEX_ZEXTLOAD/G_INDEXED_SEXTLOAD. More...
|
|
class | GIndexedLoad |
| Represents indexed loads. More...
|
|
class | GIndexedSExtLoad |
| Represents a G_SEXTLOAD. More...
|
|
class | GIndexedStore |
| Represents indexed stores. More...
|
|
class | GIndexedZExtLoad |
| Represents a G_ZEXTLOAD. More...
|
|
class | GInsertSubvector |
| Represents a insert subvector. More...
|
|
class | GInsertVectorElement |
| Represents an insert vector element. More...
|
|
class | GIntBinOp |
| Represents an integer binary operation. More...
|
|
class | GIntrinsic |
| Represents a call to an intrinsic. More...
|
|
class | GISelChangeObserver |
| Abstract class that contains various methods for clients to notify about changes. More...
|
|
class | GISelCSEAnalysisWrapper |
| Simple wrapper that does the following. More...
|
|
class | GISelCSEAnalysisWrapperPass |
| The actual analysis pass wrapper. More...
|
|
class | GISelCSEInfo |
| The CSE Analysis object. More...
|
|
class | GISelInstProfileBuilder |
|
class | GISelKnownBits |
|
class | GISelKnownBitsAnalysis |
| To use KnownBitsInfo analysis in a pass, KnownBitsInfo &Info = getAnalysis<GISelKnownBitsInfoAnalysis>().get(MF); Add to observer if the Info is caching. More...
|
|
class | GISelObserverWrapper |
| Simple wrapper observer that takes several observers, and calls each one for each event. More...
|
|
class | GISelWorkList |
|
class | GLoad |
| Represents a G_LOAD. More...
|
|
class | GLoadStore |
| Represents any type of generic load or store. More...
|
|
class | GlobalAddressSDNode |
|
class | GlobalAlias |
|
class | GlobalDCEPass |
| Pass to remove unused function declarations. More...
|
|
class | GlobalIFunc |
|
class | GlobalMergeFunc |
| GlobalMergeFunc is a ModulePass that implements a function merging mechanism using stable function hashes. More...
|
|
struct | GlobalMergeFuncPass |
| Global function merging pass for new pass manager. More...
|
|
struct | GlobalMergeOptions |
|
class | GlobalMergePass |
|
class | GlobalNumberState |
| GlobalNumberState assigns an integer to each global value in the program, which is used by the comparison routine to order references to globals. More...
|
|
class | GlobalObject |
|
class | GlobalOptPass |
| Optimize globals that never have their address taken. More...
|
|
class | GlobalsAA |
| Analysis pass providing a never-invalidated alias analysis result. More...
|
|
class | GlobalsAAResult |
| An alias analysis result set for globals. More...
|
|
class | GlobalsAAWrapperPass |
| Legacy wrapper pass to provide the GlobalsAAResult object. More...
|
|
class | GlobalSplitPass |
| Pass to perform split of global variables. More...
|
|
struct | GlobalStatus |
| As we analyze each global or thread-local variable, keep track of some information about it. More...
|
|
class | GlobalValue |
|
class | GlobalValuePseudoSourceValue |
| A specialized pseudo source value for holding GlobalValue values. More...
|
|
class | GlobalValueSummary |
| Function and variable summary information to aid decisions and implementation of importing. More...
|
|
struct | GlobalValueSummaryInfo |
|
class | GlobalVariable |
|
class | GlobalVarSummary |
| Global variable summary information to aid decisions and implementation of importing. More...
|
|
class | GlobPattern |
| This class implements a glob pattern matcher similar to the one found in bash, but with some key differences. More...
|
|
class | GLogicalBinOp |
| Represents a logical binary operation. More...
|
|
class | GMemOperation |
| Provides common memory operand functionality. More...
|
|
class | GMerge |
| Represents a G_MERGE_VALUES. More...
|
|
class | GMergeLikeInstr |
| Represents G_BUILD_VECTOR, G_CONCAT_VECTORS or G_MERGE_VALUES. More...
|
|
class | GMul |
| Represents an integer multiplication. More...
|
|
class | GOr |
| Represents a logical or. More...
|
|
class | GPhi |
| Represents a G_PHI. More...
|
|
class | GPtrAdd |
| Represents a G_PTR_ADD. More...
|
|
class | GraphDiff |
|
struct | GraphTraits |
|
struct | GraphTraits< AACallGraphNode * > |
|
struct | GraphTraits< AADepGraph * > |
|
struct | GraphTraits< AADepGraphNode * > |
|
struct | GraphTraits< ArgumentGraph * > |
|
struct | GraphTraits< ArgumentGraphNode * > |
|
struct | GraphTraits< AttributorCallGraph * > |
|
struct | GraphTraits< BasicBlock * > |
|
struct | GraphTraits< BlockFrequencyInfo * > |
|
struct | GraphTraits< BoUpSLP * > |
|
struct | GraphTraits< CallGraph * > |
|
struct | GraphTraits< CallGraphDOTInfo * > |
|
struct | GraphTraits< CallGraphNode * > |
|
struct | GraphTraits< const BasicBlock * > |
|
struct | GraphTraits< const CallGraph * > |
|
struct | GraphTraits< const CallGraphNode * > |
|
struct | GraphTraits< const DataDependenceGraph * > |
|
struct | GraphTraits< const DDGNode * > |
| const versions of the grapth trait specializations for DDG More...
|
|
struct | GraphTraits< const DomTreeNode * > |
|
struct | GraphTraits< const Function * > |
|
struct | GraphTraits< const GenericCycle< BlockT > * > |
|
struct | GraphTraits< const Loop * > |
|
struct | GraphTraits< const MachineBasicBlock * > |
|
struct | GraphTraits< const MachineDomTreeNode * > |
|
struct | GraphTraits< const MachineFunction * > |
|
struct | GraphTraits< const MachineLoop * > |
|
struct | GraphTraits< const VPBlockBase * > |
|
struct | GraphTraits< const VPDomTreeNode * > |
|
struct | GraphTraits< DataDependenceGraph * > |
|
struct | GraphTraits< DDGNode * > |
| non-const versions of the grapth trait specializations for DDG More...
|
|
struct | GraphTraits< DominatorTree * > |
|
struct | GraphTraits< DomTreeNode * > |
|
struct | GraphTraits< DotCfgDiffDisplayGraph * > |
|
struct | GraphTraits< DotFuncBCIInfo * > |
|
struct | GraphTraits< DOTFuncInfo * > |
|
struct | GraphTraits< DOTFuncMSSAInfo * > |
|
struct | GraphTraits< DOTMachineFuncInfo * > |
|
struct | GraphTraits< Function * > |
|
struct | GraphTraits< GenericCycle< BlockT > * > |
|
struct | GraphTraits< ImmutableGraph< NodeValueT, EdgeValueT > * > |
|
struct | GraphTraits< Inverse< BasicBlock * > > |
|
struct | GraphTraits< Inverse< const BasicBlock * > > |
|
struct | GraphTraits< Inverse< const Function * > > |
|
struct | GraphTraits< Inverse< const MachineBasicBlock * > > |
|
struct | GraphTraits< Inverse< const MachineFunction * > > |
|
struct | GraphTraits< Inverse< Function * > > |
|
struct | GraphTraits< Inverse< Inverse< T > > > |
|
struct | GraphTraits< Inverse< MachineBasicBlock * > > |
|
struct | GraphTraits< Inverse< MachineFunction * > > |
|
struct | GraphTraits< Inverse< MemoryAccess * > > |
|
struct | GraphTraits< Inverse< VPBlockBase * > > |
| Inverse graph traits are not implemented yet. More...
|
|
struct | GraphTraits< IrreducibleGraph > |
|
struct | GraphTraits< LazyCallGraph * > |
|
struct | GraphTraits< LazyCallGraph::Node * > |
|
struct | GraphTraits< Loop * > |
|
struct | GraphTraits< MachineBasicBlock * > |
|
struct | GraphTraits< MachineBlockFrequencyInfo * > |
|
struct | GraphTraits< MachineDominatorTree * > |
|
struct | GraphTraits< MachineDomTreeNode * > |
|
struct | GraphTraits< MachineFunction * > |
|
struct | GraphTraits< MachineGadgetGraph * > |
|
struct | GraphTraits< MachineLoop * > |
|
struct | GraphTraits< MachineRegionInfo * > |
|
struct | GraphTraits< MachineRegionInfoPass * > |
|
struct | GraphTraits< MemoryAccess * > |
| GraphTraits for a MemoryAccess, which walks defs in the normal case, and uses in the inverse case. More...
|
|
struct | GraphTraits< ModuleSummaryIndex * > |
|
struct | GraphTraits< PGOUseFunc * > |
|
struct | GraphTraits< PostDominatorTree * > |
|
struct | GraphTraits< ProfiledCallGraph * > |
|
struct | GraphTraits< ProfiledCallGraphNode * > |
|
struct | GraphTraits< RegionInfo * > |
|
struct | GraphTraits< RegionInfoPass * > |
|
struct | GraphTraits< RematGraph * > |
|
struct | GraphTraits< ScheduleDAG * > |
|
struct | GraphTraits< ScheduleDAGMI * > |
|
struct | GraphTraits< SDNode * > |
|
struct | GraphTraits< SelectionDAG * > |
|
struct | GraphTraits< SplitGraph > |
|
struct | GraphTraits< SUnit * > |
|
struct | GraphTraits< ValueInfo > |
| GraphTraits definition to build SCC for the index. More...
|
|
struct | GraphTraits< VPBlockBase * > |
|
struct | GraphTraits< VPBlockDeepTraversalWrapper< const VPBlockBase * > > |
|
struct | GraphTraits< VPBlockDeepTraversalWrapper< VPBlockBase * > > |
| GraphTraits specialization to recursively traverse VPBlockBase nodes, including traversing through VPRegionBlocks. More...
|
|
struct | GraphTraits< VPBlockShallowTraversalWrapper< const VPBlockBase * > > |
|
struct | GraphTraits< VPBlockShallowTraversalWrapper< VPBlockBase * > > |
|
struct | GraphTraits< VPDomTreeNode * > |
| Template specializations of GraphTraits for VPDomTreeNode. More...
|
|
struct | GraphTraits< VPlan * > |
|
class | GraphWriter |
|
class | GSelect |
| Represents a G_SELECT. More...
|
|
class | GSext |
| Represents a sext. More...
|
|
class | GSExtLoad |
| Represents a G_SEXTLOAD. More...
|
|
class | GShl |
| Represents a shift left. More...
|
|
class | GShuffleVector |
| Represents a G_SHUFFLE_VECTOR. More...
|
|
class | GSplatVector |
| Represents a splat vector. More...
|
|
class | GStepVector |
| Represents a step vector. More...
|
|
class | GStore |
| Represents a G_STORE. More...
|
|
class | GSub |
| Represents an integer subtraction. More...
|
|
class | GSubCarryOut |
| Represents overflowing sub operations. More...
|
|
class | GSUCmp |
| Represents a threeway compare. More...
|
|
class | GTrunc |
| Represents a trunc. More...
|
|
struct | GuardWideningPass |
|
class | GUIDProbeFunctionMap |
|
class | GUnmerge |
| Represents a G_UNMERGE_VALUES. More...
|
|
class | GVecReduce |
|
class | GVMaterializer |
|
class | GVNHoist |
|
struct | GVNHoistPass |
| A simple and fast domtree-based GVN pass to hoist common expressions from sibling branches. More...
|
|
struct | GVNOptions |
| A set of parameters to control various transforms performed by GVN pass. More...
|
|
class | GVNPass |
| The core GVN pass object. More...
|
|
struct | GVNSinkPass |
| Uses an "inverted" value numbering to decide the similarity of expressions and sinks similar expressions into successors. More...
|
|
class | GVScale |
| Represents a vscale. More...
|
|
class | GZext |
| Represents a zext. More...
|
|
class | GZExtLoad |
| Represents a G_ZEXTLOAD. More...
|
|
class | HandleSDNode |
| This class is used to form a handle around another node that is persistent and is updated across invocations of replaceAllUsesWith on its operand. More...
|
|
struct | HardwareLoopInfo |
| Attributes of a target dependent hardware loop. More...
|
|
struct | HardwareLoopOptions |
|
class | HardwareLoopsPass |
|
class | hash_code |
| An opaque object representing a hash code. More...
|
|
class | HashBuilder |
| Interface to help hash various types through a hasher type. More...
|
|
class | HashBuilderBase |
| Declares the hasher member, and functions forwarding directly to the hasher. More...
|
|
class | HashingByteStreamer |
|
struct | HashNode |
| A HashNode is an entry in an OutlinedHashTree, holding a hash value and a collection of Successors (other HashNodes). More...
|
|
struct | HashNodeStable |
| HashNodeStable is the serialized, stable, and compact representation of a HashNode. More...
|
|
class | HasReferenceResolver |
| Do not resolve anything, but keep track of whether a given variable was referenced. More...
|
|
class | HelloWorldPass |
|
class | HexagonAsmPrinter |
|
class | HexagonAttributeParser |
|
struct | HexagonBlockRanges |
|
class | HexagonConvergingVLIWScheduler |
|
class | HexagonCVIResource |
|
class | HexagonDAGToDAGISel |
|
class | HexagonDAGToDAGISelLegacy |
|
struct | HexagonEvaluator |
|
class | HexagonFrameLowering |
|
class | HexagonHazardRecognizer |
|
class | HexagonInstPrinter |
| Prints bundles as a newline separated list of individual instructions Duplexes are separated by a vertical tab \v character A trailing line includes bundle properties such as endloop0/1. More...
|
|
class | HexagonInstr |
|
class | HexagonInstrInfo |
|
struct | HexagonLoopIdiomRecognitionPass |
|
class | HexagonMachineFunctionInfo |
| Hexagon target-specific information for each MachineFunction. More...
|
|
class | HexagonMask |
|
class | HexagonMCAsmInfo |
|
class | HexagonMCChecker |
| Check for a valid bundle. More...
|
|
class | HexagonMCCodeEmitter |
|
class | HexagonMCELFStreamer |
|
class | HexagonMCExpr |
|
class | HexagonMCShuffler |
|
class | HexagonPacketizerList |
|
class | HexagonRegisterInfo |
|
class | HexagonResource |
|
class | HexagonSelectionDAGInfo |
|
class | HexagonShuffler |
|
class | HexagonSubtarget |
|
class | HexagonTargetLowering |
|
class | HexagonTargetMachine |
|
class | HexagonTargetObjectFile |
|
class | HexagonTargetStreamer |
|
class | HexagonTTIImpl |
|
struct | HexagonVectorLoopCarriedReusePass |
| Hexagon Vector Loop Carried Reuse Pass. More...
|
|
class | HexagonVLIWResourceModel |
|
struct | HexNumber |
|
class | HipStdParAcceleratorCodeSelectionPass |
|
class | HipStdParAllocationInterpositionPass |
|
struct | HistogramInfo |
| This holds details about a histogram operation – a load -> update -> store sequence where each lane in a vector might be updating the same element as another lane. More...
|
|
class | HotColdSplitting |
|
class | HotColdSplittingPass |
| Pass to outline cold regions. More...
|
|
class | HTTPClient |
| A reusable client that can perform HTTPRequests through a network socket. More...
|
|
struct | HTTPRequest |
| A stateless description of an outbound HTTP request. More...
|
|
struct | HTTPResponse |
|
class | HTTPResponseHandler |
| A handler for state updates occurring while an HTTPRequest is performed. More...
|
|
class | HTTPServer |
| An HTTP server which can listen on a single TCP/IP port for HTTP requests and delgate them to the appropriate registered handler. More...
|
|
class | HTTPServerError |
|
class | HTTPServerRequest |
|
struct | HungoffOperandTraits |
| HungoffOperandTraits - determine the allocation regime of the Use array when it is not a prefix to the User object, but allocated at an unrelated heap address. More...
|
|
struct | HvxSelector |
|
struct | HWAddressSanitizerOptions |
|
class | HWAddressSanitizerPass |
| This is a public interface to the hardware address sanitizer pass for instrumenting code to check for various memory errors at runtime, similar to AddressSanitizer but based on partial hardware assistance. More...
|
|
class | ICallPromotionAnalysis |
|
class | ICFLoopSafetyInfo |
| This implementation of LoopSafetyInfo use ImplicitControlFlowTracking to give precise answers on "may throw" queries. More...
|
|
class | ICmpInst |
| This instruction compares its operands according to the predicate given to the constructor. More...
|
|
class | IdentifyingPassPtr |
| Discriminated union of Pass ID types. More...
|
|
struct | identity |
|
struct | idf_ext_iterator |
|
struct | idf_iterator |
|
class | IDFCalculator |
|
class | IDFCalculatorBase |
| Determine the iterated dominance frontier, given a set of defining blocks, and optionally, a set of live-in blocks. More...
|
|
struct | ilist_alloc_traits |
| Use delete by default for iplist and ilist. More...
|
|
struct | ilist_alloc_traits< Instruction > |
|
struct | ilist_alloc_traits< MachineBasicBlock > |
|
struct | ilist_alloc_traits< MemoryAccess > |
|
struct | ilist_alloc_traits< SDNode > |
|
class | ilist_base |
| Implementations of list algorithms using ilist_node_base. More...
|
|
struct | ilist_callback_traits |
| Callbacks do nothing by default in iplist and ilist. More...
|
|
struct | ilist_callback_traits< MachineBasicBlock > |
|
class | ilist_iterator |
| Iterator for intrusive lists based on ilist_node. More...
|
|
struct | ilist_iterator_bits |
| Option to add extra bits to the ilist_iterator. More...
|
|
class | ilist_iterator_w_bits |
| Iterator for intrusive lists based on ilist_node. More...
|
|
struct | ilist_noalloc_traits |
| Custom traits to do nothing on deletion. More...
|
|
class | ilist_node |
|
class | ilist_node_base |
| Base class for ilist nodes. More...
|
|
class | ilist_node_impl |
| Implementation for an ilist node. More...
|
|
struct | ilist_node_traits |
| A fragment for template traits for intrusive list that provides default node related operations. More...
|
|
class | ilist_node_with_parent |
| An ilist node that can access its parent list. More...
|
|
struct | ilist_parent |
| Option to add a pointer to this list's owner in every node. More...
|
|
class | ilist_select_iterator_type |
|
class | ilist_select_iterator_type< true, Opts, arg1, arg2 > |
|
class | ilist_sentinel |
|
struct | ilist_sentinel_tracking |
| Option to choose whether to track sentinels. More...
|
|
struct | ilist_tag |
| Option to specify a tag for the node type. More...
|
|
struct | ilist_traits |
| Template traits for intrusive list. More...
|
|
struct | ilist_traits< const Ty > |
| Const traits should never be instantiated. More...
|
|
struct | ilist_traits< MachineInstr > |
|
class | ILPInitialScheduleStage |
|
struct | ILPValue |
| Represent the ILP of the subDAG rooted at a DAG node. More...
|
|
struct | ImmInstrInfo |
|
class | ImmutableGraph |
|
class | ImmutableGraphBuilder |
|
class | ImmutableList |
| ImmutableList - This class represents an immutable (functional) list. More...
|
|
class | ImmutableListFactory |
|
class | ImmutableListImpl |
|
class | ImmutableMap |
|
class | ImmutableMapRef |
|
class | ImmutableModuleSummaryIndexWrapperPass |
| Legacy wrapper pass to provide the ModuleSummaryIndex object. More...
|
|
class | ImmutablePass |
| ImmutablePass class - This class is used to provide information that does not need to be run. More...
|
|
class | ImmutableSet |
|
class | ImmutableSetRef |
|
class | ImplicitControlFlowTracking |
| This class allows to keep track on instructions with implicit control flow. More...
|
|
class | ImportedFunctionsInliningStatistics |
| Calculate and dump ThinLTO specific inliner stats. More...
|
|
class | ImutAVLFactory |
|
class | ImutAVLTree |
|
class | ImutAVLTreeGenericIterator |
|
class | ImutAVLTreeInOrderIterator |
|
struct | ImutAVLValueIterator |
| Generic iterator that wraps a T::TreeTy::iterator and exposes iterator::getValue() on dereference. More...
|
|
struct | ImutContainerInfo |
| ImutContainerInfo - Generic definition of comparison operations for elements of immutable containers that defaults to using std::equal_to<> and std::less<> to perform comparison of elements. More...
|
|
struct | ImutContainerInfo< T * > |
| ImutContainerInfo - Specialization for pointer values to treat pointers as references to unique objects. More...
|
|
class | ImutIntervalAVLFactory |
|
struct | ImutKeyValueInfo |
| ImutKeyValueInfo -Traits class used by ImmutableMap. More...
|
|
struct | ImutProfileInfo |
| Generic profile template. More...
|
|
struct | ImutProfileInfo< bool > |
| Profile traits for booleans. More...
|
|
struct | ImutProfileInfo< T * > |
| Generic profile trait for pointer types. More...
|
|
struct | ImutProfileInteger |
| Profile traits for integers. More...
|
|
struct | IncIntegerState |
| Specialization of the integer state for an increasing value, hence ~0u is the best state and 0 the worst. More...
|
|
struct | Incoming |
| Incoming for lane maks phi as machine instruction, incoming register Reg and incoming block Block are taken from machine instruction. More...
|
|
struct | indent |
|
class | index_range |
| Increasing range of size_t indices. More...
|
|
class | indexed_accessor_iterator |
| A utility class used to implement an iterator that contains some base object and an index. More...
|
|
class | indexed_accessor_range |
| This class provides an implementation of a range of indexed_accessor_iterators where the base is not indexable. More...
|
|
class | IndexedCodeGenDataReader |
|
class | IndexedInstrProfReader |
| Reader for the indexed binary instrprof format. More...
|
|
struct | IndexedLoadStoreMatchInfo |
|
class | IndexedMap |
|
class | IndexedMemProfReader |
|
class | IndexedReference |
| Represents a memory reference as a base pointer and a set of indexing operations. More...
|
|
class | IndexListEntry |
| This class represents an entry in the slot index list held in the SlotIndexes pass. More...
|
|
class | IndirectBrExpandPass |
|
class | IndirectBrInst |
| Indirect Branch Instruction. More...
|
|
class | InductionDescriptor |
| A struct for saving information about induction variables. More...
|
|
class | IndVarSimplifyPass |
|
struct | InferAddressSpacesPass |
|
struct | InferAlignmentPass |
|
struct | InferFunctionAttrsPass |
| A pass which infers function attributes from the names and signatures of function declarations in a module. More...
|
|
struct | InformationCache |
| Data structure to hold cached (LLVM-IR) information. More...
|
|
struct | InfoSectionUnitHeader |
|
class | Init |
|
class | InitLLVM |
|
class | InjectorIRStrategy |
| Strategy that injects operations into the function. More...
|
|
class | InjectTLIMappings |
|
class | InlineAdvice |
| Capture state between an inlining decision having had been made, and its impact being observable. More...
|
|
class | InlineAdvisor |
| Interface for deciding whether to inline a call site or not. More...
|
|
class | InlineAdvisorAnalysis |
| The InlineAdvisorAnalysis is a module pass because the InlineAdvisor needs to capture state right before inlining commences over a module. More...
|
|
class | InlineAdvisorAnalysisPrinterPass |
| Printer pass for the InlineAdvisorAnalysis results. More...
|
|
class | InlineAsm |
|
struct | InlineAsmIdentifierInfo |
|
struct | InlineAsmKeyType |
|
class | InlineAsmLowering |
|
class | InLineChangePrinter |
|
struct | InlineContext |
| Provides context on when an inline advisor is constructed in the pipeline (e.g., link phase, inline driver). More...
|
|
class | InlineCost |
| Represents the cost of inlining a function. More...
|
|
struct | InlineCostAnnotationPrinterPass |
|
class | InlineFunctionInfo |
| This class captures the data input to the InlineFunction call, and records the auxiliary results produced by it. More...
|
|
class | InlineOrder |
|
struct | InlineParams |
| Thresholds to tune inline cost analysis. More...
|
|
class | InlineResult |
| InlineResult is basically true or false. More...
|
|
class | InlinerPass |
| The inliner pass for the new pass manager. More...
|
|
struct | InlineSiteHash |
|
class | InlineSizeEstimatorAnalysis |
|
class | InlineSizeEstimatorAnalysisPrinterPass |
|
class | InnerAnalysisManagerProxy |
| An analysis over an "outer" IR unit that provides access to an analysis manager over an "inner" IR unit. More...
|
|
class | InnerLoopAndEpilogueVectorizer |
| An extension of the inner loop vectorizer that creates a skeleton for a vectorized loop that has its epilogue (residual) also vectorized. More...
|
|
class | InnerLoopVectorizer |
| InnerLoopVectorizer vectorizes loops which contain only one basic block to a specified vectorization factor (VF). More...
|
|
class | InsertCFGStrategy |
| Strategy to split a random block and insert a random CFG in between. More...
|
|
class | InsertElementConstantExpr |
| InsertElementConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement insertelement constant exprs. More...
|
|
class | InsertElementInst |
| This instruction inserts a single (scalar) element into a VectorType value. More...
|
|
class | InsertFunctionStrategy |
| Strategy that generates new function calls and inserts function signatures to the modules. More...
|
|
class | InsertNOPLoad |
|
class | InsertPHIStrategy |
| Strategy to insert PHI Nodes at the head of each basic block. More...
|
|
class | InsertPointAnalysis |
| Determines the latest safe point in a block in which we can insert a split, spill or other instruction related with CurLI. More...
|
|
class | InsertPosition |
|
class | InsertValueInst |
| This instruction inserts a struct field of array element value into an aggregate value. More...
|
|
class | InsnInfo |
|
struct | InstCombineOptions |
|
class | InstCombinePass |
|
class | InstCombiner |
| The core instruction combiner logic. More...
|
|
class | InstCombinerImpl |
|
class | InstCostVisitor |
|
struct | InstCountPass |
|
class | InstDeleterIRStrategy |
| Strategy that deletes instructions when the Module is too large. More...
|
|
class | InstIterator |
|
class | InstModificationIRStrategy |
| Strategy that modifies instruction attributes and operands. More...
|
|
struct | InstrAspect |
| Legalization is decided based on an instruction's opcode, which type slot we're considering, and what the existing type is. More...
|
|
class | InstrEmitter |
|
struct | InstrInfoQuery |
| InstrInfoQuery provides an interface to query additional information for instructions like metadata or keywords like nsw, which provides conservative results if the users specified it is safe to use. More...
|
|
struct | InstrItinerary |
| An itinerary represents the scheduling information for an instruction. More...
|
|
class | InstrItineraryData |
| Itinerary data supplied by a subtarget to be used by a target. More...
|
|
class | InstrOrderFilePass |
| The instrumentation pass for recording function order. More...
|
|
class | InstrProfCallsite |
| This represents the llvm.instrprof.callsite intrinsic. More...
|
|
class | InstrProfCntrInstBase |
| A base class for all instrprof counter intrinsics. More...
|
|
class | InstrProfCorrelator |
| InstrProfCorrelator - A base class used to create raw instrumentation data to their functions. More...
|
|
class | InstrProfCorrelatorImpl |
| InstrProfCorrelatorImpl - A child of InstrProfCorrelator with a template pointer type so that the ProfileData vector can be materialized. More...
|
|
class | InstrProfCoverInst |
| This represents the llvm.instrprof.cover intrinsic. More...
|
|
class | InstrProfError |
|
class | InstrProfilingLoweringPass |
| Instrumentation based profiling lowering pass. More...
|
|
class | InstrProfIncrementInst |
| This represents the llvm.instrprof.increment intrinsic. More...
|
|
class | InstrProfIncrementInstStep |
| This represents the llvm.instrprof.increment.step intrinsic. More...
|
|
class | InstrProfInstBase |
| A base class for all instrprof intrinsics. More...
|
|
class | InstrProfIterator |
| A file format agnostic iterator over profiling data. More...
|
|
class | InstrProfLookupTrait |
| Trait for lookups into the on-disk hash table for the binary instrprof format. More...
|
|
class | InstrProfMCDCBitmapInstBase |
| A base class for instrprof mcdc intrinsics that require global bitmap bytes. More...
|
|
class | InstrProfMCDCBitmapParameters |
| This represents the llvm.instrprof.mcdc.parameters intrinsic. More...
|
|
class | InstrProfMCDCTVBitmapUpdate |
| This represents the llvm.instrprof.mcdc.tvbitmap.update intrinsic. More...
|
|
struct | InstrProfOptions |
| Options for the frontend instrumentation based profiling pass. More...
|
|
class | InstrProfReader |
| Base class and interface for reading profiling data of any known instrprof format. More...
|
|
class | InstrProfReaderIndex |
|
struct | InstrProfReaderIndexBase |
|
class | InstrProfReaderItaniumRemapper |
| A remapper that applies remappings based on a symbol remapping file. More...
|
|
class | InstrProfReaderRemapper |
| Name matcher supporting fuzzy matching of symbol names to names in profiles. More...
|
|
struct | InstrProfRecord |
| Profiling information for a single function. More...
|
|
class | InstrProfRecordWriterTrait |
|
class | InstrProfSummaryBuilder |
|
class | InstrProfSymtab |
| A symbol table used for function [IR]PGO name look-up with keys (such as pointers, md5hash values) to the function. More...
|
|
class | InstrProfTimestampInst |
| This represents the llvm.instrprof.timestamp intrinsic. More...
|
|
class | InstrProfValueProfileInst |
| This represents the llvm.instrprof.value.profile intrinsic. More...
|
|
struct | InstrProfValueSiteRecord |
|
class | InstrProfWriter |
|
struct | InstrStage |
| These values represent a non-pipelined step in the execution of an instruction. More...
|
|
class | Instruction |
|
struct | InstructionBuildSteps |
|
class | InstructionCombiningPass |
| The legacy pass manager's instcombine pass. More...
|
|
class | InstructionCost |
|
struct | InstructionNamerPass |
|
class | InstructionOrdering |
| Record instruction ordering so we can query their relative positions within a function. More...
|
|
class | InstructionPrecedenceTracking |
|
class | InstructionSelect |
| This pass is responsible for selecting generic machine instructions to target-specific instructions. More...
|
|
class | InstructionSelector |
|
struct | InstructionStepsMatchInfo |
|
class | InstructionWorklist |
| InstructionWorklist - This is the worklist management logic for InstCombine and other simplification passes. More...
|
|
struct | InstrumentationIRBuilder |
|
class | InstSimplifyFolder |
| InstSimplifyFolder - Use InstructionSimplify to fold operations to existing values. More...
|
|
class | InstSimplifyPass |
| Run instruction simplification across each instruction in the function. More...
|
|
class | InstVisitor |
| Base class for instruction visitors. More...
|
|
class | IntAttributeImpl |
|
struct | IntegerRangeState |
| State for an integer range. More...
|
|
struct | IntegerStateBase |
| Simple state with integers encoding. More...
|
|
class | IntegerType |
| Class to represent integer types. More...
|
|
struct | IntelExpr |
|
class | IntelJITEventsWrapper |
|
class | IntEqClasses |
|
class | InteractiveModelRunner |
| A MLModelRunner that asks for advice from an external agent, or host. More...
|
|
class | InterestingMemoryOperand |
|
class | InterferenceCache |
|
class | InterleavedAccessInfo |
| Drive the analysis of interleaved memory accesses in the loop. More...
|
|
class | InterleavedAccessPass |
|
class | InterleavedLoadCombinePass |
|
class | InterleaveGroup |
| The group of interleaved loads/stores sharing the same stride and close to each other. More...
|
|
class | InternalizePass |
| A pass that internalizes all functions and variables other than those that must be preserved according to MustPreserveGV . More...
|
|
class | Interpreter |
|
class | IntervalData |
| An interval data composed by a Left and Right points and an associated Value. More...
|
|
class | IntervalMap |
|
struct | IntervalMapHalfOpenInfo |
|
struct | IntervalMapInfo |
|
struct | IntervalMapInfo< SlotIndex > |
|
class | IntervalMapOverlaps |
| IntervalMapOverlaps - Iterate over the overlaps of mapped intervals in two IntervalMaps. More...
|
|
struct | IntervalPressure |
| RegisterPressure computed within a region of instructions delimited by TopIdx and BottomIdx. More...
|
|
class | IntervalTree |
|
class | IntInit |
| '7' - Represent an initialization by a literal integer value. More...
|
|
class | IntRecTy |
| 'int' - Represent an integer value of no particular size More...
|
|
class | IntrinsicCostAttributes |
|
struct | IntrinsicData |
|
class | IntrinsicInst |
| A wrapper class for inspecting calls to intrinsic functions. More...
|
|
class | IntrinsicLowering |
|
class | IntrusiveBackList |
|
struct | IntrusiveBackListBase |
|
struct | IntrusiveBackListNode |
|
class | IntrusiveRefCntPtr |
| A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCountedBase. More...
|
|
struct | IntrusiveRefCntPtrInfo |
| Class you can specialize to provide custom retain/release functionality for a type. More...
|
|
struct | IntrusiveRefCntPtrInfo< ImutAVLTree< ImutInfo > > |
|
class | IntToPtrInst |
| This class represents a cast from an integer to a pointer. More...
|
|
struct | InvalidateAllAnalysesPass |
| A utility pass that does nothing, but preserves no analyses. More...
|
|
struct | InvalidateAnalysisPass |
| A no-op pass template which simply forces a specific analysis result to be invalidated. More...
|
|
struct | Inverse |
|
class | InvokeInst |
| Invoke instruction. More...
|
|
struct | iota_range |
|
class | iplist |
| An intrusive list with ownership and callbacks specified/controlled by ilist_traits, only with API safe for polymorphic types. More...
|
|
class | iplist_impl |
| A wrapper around an intrusive list with callbacks and non-intrusive ownership. More...
|
|
struct | ipo_ext_iterator |
|
struct | ipo_iterator |
|
struct | IPSCCPOptions |
| A set of parameters to control various transforms performed by IPSCCP pass. More...
|
|
class | IPSCCPPass |
| Pass to perform interprocedural constant propagation. More...
|
|
struct | IRAttribute |
| Helper class that provides common functionality to manifest IR attributes. More...
|
|
class | IRBuilder |
| This provides a uniform API for creating instructions and inserting them into a basic block: either at the end of a BasicBlock, or at a specific iterator location in a block. More...
|
|
class | IRBuilderBase |
| Common base class shared among various IRBuilders. More...
|
|
class | IRBuilderCallbackInserter |
| Provides an 'InsertHelper' that calls a user-provided callback after performing the default insertion. More...
|
|
class | IRBuilderDefaultInserter |
| This provides the default implementation of the IRBuilder 'InsertHelper' method that is called whenever an instruction is created by IRBuilder and needs to be inserted. More...
|
|
class | IRBuilderFolder |
| IRBuilderFolder - Interface for constant folding in IRBuilder. More...
|
|
class | IRCEPass |
|
class | IRChangedPrinter |
|
class | IRChangedTester |
|
class | IRComparer |
|
class | IRDataT |
|
class | IRMover |
|
class | IRMutationStrategy |
| Base class for describing how to mutate a module. More...
|
|
class | IRMutator |
| Entry point for configuring and running IR mutations. More...
|
|
struct | IRNormalizerPass |
| IRNormalizer aims to transform LLVM IR into normal form. More...
|
|
class | IROutliner |
| This class is a pass that identifies similarity in a Module, extracts instances of the similarity, and then consolidating the similar regions in an effort to reduce code size. More...
|
|
class | IROutlinerPass |
| Pass to outline similar regions. More...
|
|
struct | IRPosition |
| Helper to describe and deal with positions in the LLVM-IR. More...
|
|
class | IRSimilarityAnalysis |
| An analysis pass that runs and returns the IRSimilarityIdentifier run on the Module. More...
|
|
class | IRSimilarityAnalysisPrinterPass |
| Printer pass that uses IRSimilarityAnalysis . More...
|
|
class | IRSimilarityIdentifierWrapperPass |
| An analysis pass based on legacy pass manager that runs and returns IRSimilarityIdentifier run on the Module. More...
|
|
class | IRTranslator |
|
struct | is_bitmask_enum |
| Traits class to determine whether an enum has a LLVM_BITMASK_LARGEST_ENUMERATOR enumerator. More...
|
|
struct | is_bitmask_enum< E, std::enable_if_t< sizeof(E::LLVM_BITMASK_LARGEST_ENUMERATOR) >=0 > |
|
struct | is_copy_assignable |
|
class | is_integral_or_enum |
| Metafunction that determines whether the given type is either an integral type or an enumeration type, including enum classes. More...
|
|
struct | is_move_assignable |
|
struct | is_simple_type |
|
struct | isa_impl |
|
struct | isa_impl< Argument, Value > |
|
struct | isa_impl< BasicBlock, Value > |
|
struct | isa_impl< Constant, Value > |
|
struct | isa_impl< ConstantAggregate, Value > |
|
struct | isa_impl< ConstantData, Value > |
|
struct | isa_impl< Function, Value > |
|
struct | isa_impl< GlobalAlias, Value > |
|
struct | isa_impl< GlobalIFunc, Value > |
|
struct | isa_impl< GlobalObject, Value > |
|
struct | isa_impl< GlobalValue, Value > |
|
struct | isa_impl< GlobalVariable, Value > |
|
struct | isa_impl< InlineAsm, Value > |
|
struct | isa_impl< Instruction, Value > |
|
struct | isa_impl< PointerType, Type > |
|
struct | isa_impl< To, From, std::enable_if_t< std::is_base_of_v< To, From > > > |
|
struct | isa_impl_cl |
|
struct | isa_impl_cl< To, const From * > |
|
struct | isa_impl_cl< To, const From *const > |
|
struct | isa_impl_cl< To, const From > |
|
struct | isa_impl_cl< To, const std::unique_ptr< From > > |
|
struct | isa_impl_cl< To, From * > |
|
struct | isa_impl_cl< To, From *const > |
|
struct | isa_impl_wrap |
|
struct | isa_impl_wrap< To, FromTy, FromTy > |
|
class | IsAOpInit |
| !isa<type>(expr) - Dynamically determine the type of an expression. More...
|
|
class | ItaniumManglingCanonicalizer |
| Canonicalizer for mangled names. More...
|
|
struct | ItaniumPartialDemangler |
| "Partial" demangler. More...
|
|
class | iterator_adaptor_base |
| CRTP base class for adapting an iterator to a different type. More...
|
|
class | iterator_facade_base |
| CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of the interface. More...
|
|
class | iterator_range |
| A range adaptor for a pair of iterators. More...
|
|
struct | IVConditionInfo |
| Struct to hold information about a partially invariant condition. More...
|
|
class | IVStrideUse |
| IVStrideUse - Keep track of one use of a strided induction variable. More...
|
|
class | IVUsers |
|
class | IVUsersAnalysis |
| Analysis pass that exposes the IVUsers for a loop. More...
|
|
class | IVUsersPrinterPass |
| Printer pass for the IVUsers for a loop. More...
|
|
class | IVUsersWrapperPass |
|
class | IVVisitor |
| Interface for visiting interesting IV users that are recognized but not simplified by this utility. More...
|
|
class | JamCRC |
|
class | JITEvaluatedSymbol |
| Represents a symbol that has been evaluated to an address already. More...
|
|
class | JITEventListener |
| JITEventListener - Abstract interface for use by the JIT to notify clients about significant events during compilation. More...
|
|
class | JITSymbol |
| Represents a symbol in the JIT. More...
|
|
class | JITSymbolFlags |
| Flags for symbols in the JIT. More...
|
|
class | JITSymbolResolver |
| Symbol resolution interface. More...
|
|
class | JMCInstrumenterPass |
|
struct | JobHandleTraits |
|
class | JSONScopedPrinter |
|
class | JumpTableSDNode |
|
struct | JumpTableToSwitchPass |
|
class | JumpThreadingPass |
| This pass performs 'jump threading', which looks at blocks that have multiple predecessors and multiple successors. More...
|
|
class | KCFIPass |
|
struct | KernArgPreloadDescriptor |
|
struct | KnownAssumptionString |
| Helper that allows to insert a new assumption string in the known assumption set by creating a (static) object. More...
|
|
struct | KnownBits |
|
struct | KnownFPClass |
|
class | LabelSDNode |
|
class | LanaiDisassembler |
|
class | LanaiFrameLowering |
|
class | LanaiInstPrinter |
|
class | LanaiInstrInfo |
|
class | LanaiMachineFunctionInfo |
|
class | LanaiMCAsmInfo |
|
class | LanaiMCExpr |
|
class | LanaiMCInstLower |
|
struct | LanaiRegisterInfo |
|
class | LanaiSelectionDAGInfo |
|
class | LanaiSubtarget |
|
class | LanaiTargetLowering |
|
class | LanaiTargetMachine |
|
class | LanaiTargetObjectFile |
|
class | LanaiTTIImpl |
|
struct | LandingPadInfo |
| This structure is used to retain landing pad info for the current function. More...
|
|
class | LandingPadInst |
| The landingpad instruction holds all of the information necessary to generate correct exception handling. More...
|
|
struct | LaneBitmask |
|
struct | largest_bitmask_enum_bit |
| Trait class to determine bitmask enumeration largest bit. More...
|
|
struct | largest_bitmask_enum_bit< E, std::enable_if_t< sizeof(E::LLVM_BITMASK_LARGEST_ENUMERATOR) >=0 > |
|
class | LastRunTrackingAnalysis |
| A function/module analysis which provides an empty LastRunTrackingInfo . More...
|
|
class | LastRunTrackingInfo |
| This class is used to track the last run of a set of module/function passes. More...
|
|
struct | latency_sort |
| Sorting functions for the Available queue. More...
|
|
class | LatencyPriorityQueue |
|
struct | LatticeKeyInfo |
| A template for translating between LLVM Values and LatticeKeys. More...
|
|
struct | LatticeKeyInfo< CVPLatticeKey > |
| A specialization of LatticeKeyInfo for CVPLatticeKeys. More...
|
|
class | LazyAtomicPointer |
| Atomic pointer that's lock-free, but that can coordinate concurrent writes from a lazy generator. More...
|
|
class | LazyBlockFrequencyInfo |
| Wraps a BFI to allow lazy computation of the block frequencies. More...
|
|
class | LazyBlockFrequencyInfoPass |
| This is an alternative analysis pass to BlockFrequencyInfoWrapperPass. More...
|
|
class | LazyBranchProbabilityInfoPass |
| This is an alternative analysis pass to BranchProbabilityInfoWrapperPass. More...
|
|
class | LazyCallGraph |
| A lazily constructed view of the call graph of a module. More...
|
|
class | LazyCallGraphAnalysis |
| An analysis pass which computes the call graph for a module. More...
|
|
class | LazyCallGraphDOTPrinterPass |
| A pass which prints the call graph as a DOT file to a raw_ostream . More...
|
|
class | LazyCallGraphPrinterPass |
| A pass which prints the call graph to a raw_ostream . More...
|
|
class | LazyMachineBlockFrequencyInfoPass |
| This is an alternative analysis pass to MachineBlockFrequencyInfo. More...
|
|
class | LazyValueAnalysis |
| Analysis to compute lazy value information. More...
|
|
class | LazyValueInfo |
| This pass computes, caches, and vends lazy value constraint information. More...
|
|
class | LazyValueInfoImpl |
|
class | LazyValueInfoPrinterPass |
| Printer pass for the LazyValueAnalysis results. More...
|
|
class | LazyValueInfoWrapperPass |
| Wrapper around LazyValueInfo. More...
|
|
class | LCSSAPass |
| Converts loops into loop-closed SSA form. More...
|
|
struct | LCSSAVerificationPass |
|
class | LDVImpl |
|
struct | LegacyDefaultAnalysisGraphTraits |
| Default traits class for extracting a graph from an analysis pass. More...
|
|
class | LegacyJITSymbolResolver |
| Legacy symbol resolution interface. More...
|
|
struct | LegacyLegalizeActionStep |
| The result of a query. More...
|
|
class | LegacyLegalizerInfo |
|
struct | LegalityQuery |
| The LegalityQuery object bundles together all the information that's needed to decide whether a given operation is legal or not. More...
|
|
class | LegalizationArtifactCombiner |
|
struct | LegalizeActionStep |
| The result of a query. More...
|
|
class | Legalizer |
|
class | LegalizerHelper |
|
class | LegalizerInfo |
|
class | LegalizeRule |
| A single rule in a legalizer info ruleset. More...
|
|
class | LegalizeRuleSet |
|
class | LEONMachineFunctionPass |
|
struct | less_first |
| Function object to check whether the first component of a container supported by std::get (like std::pair and std::tuple) compares less than the first component of another container. More...
|
|
struct | less_second |
| Function object to check whether the second component of a container supported by std::get (like std::pair and std::tuple) compares less than the second component of another container. More...
|
|
struct | LessRecord |
| Sorting predicate to sort record pointers by name. More...
|
|
struct | LessRecordByID |
| Sorting predicate to sort record pointers by their unique ID. More...
|
|
struct | LessRecordFieldName |
| Sorting predicate to sort record pointers by their Name field. More...
|
|
struct | LessRecordRegister |
|
struct | LetRecord |
|
class | LexicalScope |
| LexicalScope - This class is used to track scope information. More...
|
|
class | LexicalScopes |
| LexicalScopes - This class provides interface to collect and use lexical scoping information from machine instruction. More...
|
|
class | LibCallSimplifier |
| LibCallSimplifier - This class implements a collection of optimizations that replace well formed calls to library functions with a more optimal form. More...
|
|
class | LibCallsShrinkWrapPass |
|
struct | LICMOptions |
|
class | LICMPass |
| Performs Loop Invariant Code Motion Pass. More...
|
|
class | LifetimeIntrinsic |
| This is the common base class for lifetime intrinsics. More...
|
|
class | LifetimeSDNode |
| This SDNode is used for LIFETIME_START/LIFETIME_END values, which indicate the offet and size that are started/ended in the underlying FrameIndex. More...
|
|
class | line_iterator |
| A forward iterator which reads text lines from a buffer. More...
|
|
class | LineEditor |
|
class | LinkDiagnosticInfo |
|
class | Linker |
| This class provides the core functionality of linking in LLVM. More...
|
|
class | LinkingSymbolResolver |
|
class | LintPass |
|
class | ListeningSocket |
| Manages a passive (i.e., listening) UNIX domain socket. More...
|
|
class | ListInit |
| [AL, AH, CL] - Represent a list of defs More...
|
|
class | ListRecTy |
| 'list<Ty>' - Represent a list of element values, all of which must be of the specified type. More...
|
|
struct | ListScope |
|
class | LiveDebugVariables |
|
class | LiveDebugVariablesAnalysis |
|
class | LiveDebugVariablesPrinterPass |
|
class | LiveDebugVariablesWrapperLegacy |
|
class | LiveInterval |
| LiveInterval - This class represents the liveness of a register, or stack slot. More...
|
|
class | LiveIntervalCalc |
|
class | LiveIntervals |
|
class | LiveIntervalsAnalysis |
|
class | LiveIntervalsPrinterPass |
|
class | LiveIntervalsWrapperPass |
|
class | LiveIntervalUnion |
| Union of live intervals that are strong candidates for coalescing into a single register (either physical or virtual depending on the context). More...
|
|
class | LivePhysRegs |
| A set of physical registers with utility functions to track liveness when walking backward/forward through a basic block. More...
|
|
class | LiveQueryResult |
| Result of a LiveRange query. More...
|
|
class | LiveRange |
| This class represents the liveness of a register, stack slot, etc. More...
|
|
class | LiveRangeCalc |
|
class | LiveRangeEdit |
|
class | LiveRangeUpdater |
| Helper class for performant LiveRange bulk updates. More...
|
|
class | LiveRegMatrix |
|
class | LiveRegMatrixAnalysis |
|
class | LiveRegMatrixWrapperLegacy |
|
class | LiveRegSet |
| A set of live virtual registers and physical register units. More...
|
|
struct | LiveRegUnit |
|
class | LiveRegUnits |
| A set of register units used to track register liveness. More...
|
|
class | LiveStacks |
|
class | LiveStacksAnalysis |
|
class | LiveStacksPrinterPass |
|
class | LiveStacksWrapperLegacy |
|
class | LiveVariables |
|
class | LiveVariablesAnalysis |
|
class | LiveVariablesPrinterPass |
|
class | LiveVariablesWrapperPass |
|
class | LLLexer |
|
class | LLParser |
|
class | LLT |
|
struct | llvm_shutdown_obj |
| llvm_shutdown_obj - This is a simple helper class that calls llvm_shutdown() when it is destroyed. More...
|
|
class | LLVMContext |
| This is an important class for using LLVM in a threaded context. More...
|
|
class | LLVMContextImpl |
|
class | LLVMDisasmContext |
|
class | LLVMPassBuilderOptions |
| Helper struct for holding a set of builder options for LLVMRunPasses. More...
|
|
struct | LLVMRemarkSetupErrorInfo |
|
struct | LLVMRemarkSetupFileError |
|
struct | LLVMRemarkSetupFormatError |
|
struct | LLVMRemarkSetupPatternError |
|
class | LLVMRemarkStreamer |
| Streamer for LLVM remarks which has logic for dealing with DiagnosticInfo objects. More...
|
|
struct | LLVMTargetMachineOptions |
| Options for LLVMCreateTargetMachine(). More...
|
|
class | LNICMPass |
| Performs LoopNest Invariant Code Motion Pass. More...
|
|
class | LoadAndStorePromoter |
| Helper class for promoting a collection of loads and stores into SSA Form using the SSAUpdater. More...
|
|
class | LoadedObjectInfo |
| An inferface for inquiring the load address of a loaded object file to be used by the DIContext implementations when applying relocations on the fly. More...
|
|
struct | LoadedObjectInfoHelper |
|
struct | LoadImmediateInfo |
|
class | LoadInfo |
|
class | LoadInst |
| An instruction for reading from memory. More...
|
|
class | LoadSDNode |
| This class is used to represent ISD::LOAD nodes. More...
|
|
class | LoadStoreOpt |
|
class | LoadStoreVectorizerPass |
|
class | LocalAsMetadata |
|
class | Localizer |
| This pass implements the localization mechanism described at the top of this file. More...
|
|
class | LocalStackSlotAllocationPass |
|
class | location_op_iterator |
|
class | LocationSize |
|
class | LockFileManager |
| Class that manages the creation of a lock file to aid implicit coordination between different processes. More...
|
|
class | Logger |
| Logging utility - given an ordered specification of features, and assuming a scalar reward, allow logging feature values and rewards. More...
|
|
struct | LogicalResult |
| This class represents an efficient way to signal success or failure. More...
|
|
class | LoongArchAsmBackend |
|
class | LoongArchAsmPrinter |
|
class | LoongArchDAGToDAGISel |
|
class | LoongArchDAGToDAGISelLegacy |
|
class | LoongArchFrameLowering |
|
class | LoongArchInstPrinter |
|
class | LoongArchInstrInfo |
|
class | LoongArchMachineFunctionInfo |
| LoongArchMachineFunctionInfo - This class is derived from MachineFunctionInfo and contains private LoongArch-specific information for each MachineFunction. More...
|
|
class | LoongArchMCAsmInfo |
|
class | LoongArchMCExpr |
|
struct | LoongArchRegisterInfo |
|
class | LoongArchSubtarget |
|
class | LoongArchTargetAsmStreamer |
|
class | LoongArchTargetELFStreamer |
|
class | LoongArchTargetLowering |
|
class | LoongArchTargetMachine |
|
class | LoongArchTargetStreamer |
|
class | LoongArchTTIImpl |
|
class | Loop |
| Represents a single loop in the control flow graph. More...
|
|
class | LoopAccessAnalysis |
| This analysis provides dependence information for the memory accesses of a loop. More...
|
|
class | LoopAccessInfo |
| Drive the analysis of memory accesses in the loop. More...
|
|
class | LoopAccessInfoManager |
|
class | LoopAccessInfoPrinterPass |
| Printer pass for the LoopAccessInfo results. More...
|
|
class | LoopAnalysis |
| Analysis pass that exposes the LoopInfo for a function. More...
|
|
class | LoopBase |
| Instances of this class are used to represent loops that are detected in the flow graph. More...
|
|
class | LoopBlocksDFS |
| Store the result of a depth first search within basic blocks contained by a single loop. More...
|
|
class | LoopBlocksRPO |
| Wrapper class to LoopBlocksDFS that provides a standard begin()/end() interface for the DFS reverse post-order traversal of blocks in a loop body. More...
|
|
class | LoopBlocksTraversal |
| Traverse the blocks in a loop using a depth-first search. More...
|
|
struct | LoopBodyTraits |
|
class | LoopBoundSplitPass |
| This pass transforms loops that contain a conditional branch with induction variable. More...
|
|
class | LoopCachePrinterPass |
| Printer pass for the CacheCost results. More...
|
|
class | LoopConstrainer |
| This class is used to constrain loops to run within a given iteration space. More...
|
|
class | LoopDataPrefetchPass |
| An optimization pass inserting data prefetches in loops. More...
|
|
class | LoopDeletionPass |
|
class | LoopDistributePass |
|
struct | LoopExtractorPass |
|
class | LoopFlattenPass |
|
class | LoopFullUnrollPass |
| Loop unroll pass that only does full loop unrolling and peeling. More...
|
|
class | LoopFusePass |
|
class | LoopIdiomRecognizePass |
| Performs Loop Idiom Recognize Pass. More...
|
|
class | LoopIdiomVectorizePass |
|
class | LoopInfo |
|
class | LoopInfoBase |
| This class builds and contains all of the top-level loop structures in the specified function. More...
|
|
class | LoopInfoWrapperPass |
| The legacy pass manager's analysis pass to compute loop information. More...
|
|
class | LoopInstSimplifyPass |
| Performs Loop Inst Simplify Pass. More...
|
|
struct | LoopInterchangePass |
|
struct | LoopLoadEliminationPass |
| Pass to forward loads in a loop around the backedge to subsequent iterations. More...
|
|
class | LoopNest |
| This class represents a loop nest and can be used to query its properties. More...
|
|
class | LoopNestAnalysis |
| This analysis provides information for a loop nest. More...
|
|
class | LoopNestPrinterPass |
| Printer pass for the LoopNest results. More...
|
|
class | LoopPass |
|
class | LoopPredicationPass |
| Performs Loop Predication Pass. More...
|
|
class | LoopPrinterPass |
| Printer pass for the LoopAnalysis results. More...
|
|
class | LoopRotatePass |
| A simple loop rotation transformation. More...
|
|
class | LoopSafetyInfo |
| Captures loop safety information. More...
|
|
class | LoopSimplifyCFGPass |
| Performs basic CFG simplifications to assist other loop passes. More...
|
|
class | LoopSimplifyPass |
| This pass is responsible for loop canonicalization. More...
|
|
class | LoopSinkPass |
| A pass that does profile-guided sinking of instructions into loops. More...
|
|
struct | LoopStandardAnalysisResults |
| The adaptor from a function pass to a loop pass computes these analyses and makes them available to the loop passes "for free". More...
|
|
class | LoopStrengthReducePass |
| Performs Loop Strength Reduce Pass. More...
|
|
struct | LoopStructure |
|
class | LoopTermFoldPass |
|
class | LoopTraversal |
| This class provides the basic blocks traversal order used by passes like ReachingDefAnalysis and ExecutionDomainFix. More...
|
|
class | LoopUnrollAndJamPass |
| A simple loop rotation transformation. More...
|
|
struct | LoopUnrollOptions |
| A set of parameters used to control various transforms performed by the LoopUnroll pass. More...
|
|
class | LoopUnrollPass |
| Loop unroll pass that will support both full and partial unrolling. More...
|
|
class | LoopVectorizationCostModel |
| LoopVectorizationCostModel - estimates the expected speedups due to vectorization. More...
|
|
class | LoopVectorizationLegality |
| LoopVectorizationLegality checks if it is legal to vectorize a loop, and to what vectorization factor. More...
|
|
class | LoopVectorizationPlanner |
| Planner drives the vectorization process after having passed Legality checks. More...
|
|
class | LoopVectorizationRequirements |
| This holds vectorization requirements that must be verified late in the process. More...
|
|
class | LoopVectorizeHints |
| Utility class for getting and setting loop vectorizer hints in the form of loop metadata. More...
|
|
struct | LoopVectorizeOptions |
|
struct | LoopVectorizePass |
| The LoopVectorize Pass. More...
|
|
struct | LoopVectorizeResult |
| Storage for information about made changes. More...
|
|
struct | LoopVerifierPass |
| Verifier pass for the LoopAnalysis results. More...
|
|
class | LoopVersioning |
| This class emits a version of the loop where run-time checks ensure that may-alias pointers can't overlap. More...
|
|
class | LoopVersioningLICMPass |
|
class | LoopVersioningPass |
| Expose LoopVersioning as a pass. More...
|
|
class | LostDebugLocObserver |
|
class | LowerAllowCheckPass |
|
class | LowerAtomicPass |
| A pass that lowers atomic intrinsic into non-atomic intrinsics. More...
|
|
struct | LowerConstantIntrinsicsPass |
|
class | LowerEmuTLSPass |
|
struct | LowerExpectIntrinsicPass |
|
class | LowerGlobalDtorsPass |
|
struct | LowerGuardIntrinsicPass |
|
class | LowerIFuncPass |
| Pass to replace calls to ifuncs with indirect calls. More...
|
|
class | LowerInvokePass |
|
class | LowerMatrixIntrinsicsPass |
|
struct | LowerSwitchPass |
|
class | LowerTypeTestsPass |
|
struct | LowerWidenableConditionPass |
|
class | LPMUpdater |
| This class provides an interface for updating the loop pass manager based on mutations to the loop nest. More...
|
|
class | LPPassManager |
|
struct | LRStartEndInfo |
|
class | LSBaseSDNode |
| Base class for LoadSDNode and StoreSDNode. More...
|
|
class | LShrOperator |
|
struct | LTOCodeGenerator |
| C++ class which implements the opaque lto_code_gen_t type. More...
|
|
struct | LTOModule |
| C++ class which implements the opaque lto_module_t type. More...
|
|
class | M68kAsmPrinter |
|
class | M68kCallLowering |
|
struct | M68kCCState |
| Custom state to propagate llvm type info to register CC assigner. More...
|
|
class | M68kELFMCAsmInfo |
|
class | M68kELFTargetObjectFile |
|
class | M68kFrameLowering |
|
class | M68kGenRegisterBankInfo |
|
struct | M68kIncomingValueHandler |
|
class | M68kInstPrinter |
|
class | M68kInstrInfo |
|
struct | M68kLegalizerInfo |
|
class | M68kMachineFunctionInfo |
|
class | M68kMCInstLower |
| This class is used to lower an MachineInstr into an MCInst. More...
|
|
class | M68kMemOperandPrinter |
|
class | M68kRegisterBankInfo |
| This class provides the information for the target register banks. More...
|
|
class | M68kRegisterInfo |
|
class | M68kSubtarget |
|
class | M68kTargetLowering |
|
class | M68kTargetMachine |
|
class | MachineBasicBlock |
|
class | MachineBlockFrequencyAnalysis |
|
class | MachineBlockFrequencyInfo |
| MachineBlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate machine basic block frequencies. More...
|
|
class | MachineBlockFrequencyInfoWrapperPass |
|
class | MachineBlockFrequencyPrinterPass |
| Printer pass for the MachineBlockFrequencyInfo results. More...
|
|
class | MachineBranchProbabilityAnalysis |
|
class | MachineBranchProbabilityInfo |
|
class | MachineBranchProbabilityInfoWrapperPass |
|
class | MachineBranchProbabilityPrinterPass |
|
class | MachineConstantPool |
| The MachineConstantPool class keeps track of constants referenced by a function which must be spilled to memory. More...
|
|
class | MachineConstantPoolEntry |
| This class is a data container for one entry in a MachineConstantPool. More...
|
|
class | MachineConstantPoolValue |
| Abstract base class for all machine specific constantpool value subclasses. More...
|
|
class | MachineCSEPass |
|
class | MachineCycleInfoWrapperPass |
| Legacy analysis pass which computes a MachineCycleInfo. More...
|
|
class | MachineDominanceFrontier |
|
class | MachineDominatorTree |
| DominatorTree Class - Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree. More...
|
|
class | MachineDominatorTreeAnalysis |
| Analysis pass which computes a MachineDominatorTree . More...
|
|
class | MachineDominatorTreePrinterPass |
| Machine function pass which print MachineDominatorTree . More...
|
|
class | MachineDominatorTreeWrapperPass |
| Analysis pass which computes a MachineDominatorTree . More...
|
|
struct | MachineDomTreeGraphTraitsBase |
| DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterators. More...
|
|
class | MachineDomTreeUpdater |
|
class | MachineFrameInfo |
| The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted. More...
|
|
class | MachineFunction |
|
class | MachineFunctionAnalysis |
| This analysis create MachineFunction for given Function. More...
|
|
struct | MachineFunctionInfo |
| MachineFunctionInfo - This class can be derived from and used by targets to hold private target-specific information for each MachineFunction. More...
|
|
class | MachineFunctionPass |
| MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of passes that operate on the MachineFunction representation. More...
|
|
class | MachineFunctionProperties |
| Properties which a MachineFunction may have at a given point in time. More...
|
|
class | MachineInstr |
| Representation of each machine instruction. More...
|
|
class | MachineInstrBuilder |
|
class | MachineInstrBundleIterator |
| MachineBasicBlock iterator that automatically skips over MIs that are inside bundles (i.e. More...
|
|
struct | MachineInstrBundleIteratorHelper |
|
struct | MachineInstrBundleIteratorHelper< false > |
|
struct | MachineInstrBundleIteratorHelper< true > |
|
struct | MachineInstrBundleIteratorTraits |
|
struct | MachineInstrBundleIteratorTraits< const T, false > |
|
struct | MachineInstrBundleIteratorTraits< const T, true > |
|
struct | MachineInstrBundleIteratorTraits< T, false > |
|
struct | MachineInstrBundleIteratorTraits< T, true > |
|
struct | MachineInstrExpressionTrait |
| Special DenseMapInfo traits to compare MachineInstr* by value of the instruction rather than by pointer value. More...
|
|
class | MachineInstrSpan |
| MachineInstrSpan provides an interface to get an iteration range containing the instruction it was initialized with, along with all those instructions inserted prior to or following that instruction at some point after the MachineInstrSpan is constructed. More...
|
|
class | MachineIRBuilder |
| Helper class to build MachineInstr. More...
|
|
struct | MachineIRBuilderState |
| Class which stores all the state required in a MachineIRBuilder. More...
|
|
struct | MachineJumpTableEntry |
| MachineJumpTableEntry - One jump table in the jump table info. More...
|
|
class | MachineJumpTableInfo |
|
class | MachineLICMBasePass |
|
class | MachineLICMPass |
|
class | MachineLocation |
|
class | MachineLoop |
|
class | MachineLoopAnalysis |
| Analysis pass that exposes the MachineLoopInfo for a machine function. More...
|
|
class | MachineLoopInfo |
|
class | MachineLoopInfoWrapperPass |
|
class | MachineLoopPrinterPass |
| Printer pass for the LoopAnalysis results. More...
|
|
class | MachineMemOperand |
| A description of a memory reference used in the backend. More...
|
|
class | MachineModuleAnalysis |
| An analysis that produces MachineModuleInfo for a module. More...
|
|
class | MachineModuleInfo |
| This class contains meta information specific to a module. More...
|
|
class | MachineModuleInfoCOFF |
| MachineModuleInfoCOFF - This is a MachineModuleInfoImpl implementation for COFF targets. More...
|
|
class | MachineModuleInfoELF |
| MachineModuleInfoELF - This is a MachineModuleInfoImpl implementation for ELF targets. More...
|
|
class | MachineModuleInfoImpl |
| This class can be derived from and used by targets to hold private target-specific information for each Module. More...
|
|
class | MachineModuleInfoMachO |
| MachineModuleInfoMachO - This is a MachineModuleInfoImpl implementation for MachO targets. More...
|
|
class | MachineModuleInfoWasm |
| MachineModuleInfoWasm - This is a MachineModuleInfoImpl implementation for Wasm targets. More...
|
|
class | MachineModuleInfoWrapperPass |
|
class | MachineModuleSlotTracker |
|
class | MachineOperand |
| MachineOperand class - Representation of each machine instruction operand. More...
|
|
class | MachineOptimizationRemark |
| Diagnostic information for applied optimization remarks. More...
|
|
class | MachineOptimizationRemarkAnalysis |
| Diagnostic information for optimization analysis remarks. More...
|
|
class | MachineOptimizationRemarkEmitter |
| The optimization diagnostic interface. More...
|
|
class | MachineOptimizationRemarkEmitterAnalysis |
| The analysis pass. More...
|
|
class | MachineOptimizationRemarkEmitterPass |
| The analysis pass. More...
|
|
class | MachineOptimizationRemarkMissed |
| Diagnostic information for missed-optimization remarks. More...
|
|
class | MachinePassRegistry |
| MachinePassRegistry - Track the registration of machine passes. More...
|
|
class | MachinePassRegistryListener |
| MachinePassRegistryListener - Listener to adds and removals of nodes in registration list. More...
|
|
class | MachinePassRegistryNode |
| MachinePassRegistryNode - Machine pass node stored in registration list. More...
|
|
class | MachinePipeliner |
| The main class in the implementation of the target independent software pipeliner pass. More...
|
|
struct | MachinePointerInfo |
| This class contains a discriminated union of information about pointers in memory operands, relating them back to LLVM IR or to virtual locations (such as frame indices) that are exposed during codegen. More...
|
|
class | MachinePostDominatorTree |
| MachinePostDominatorTree - an analysis pass wrapper for DominatorTree used to compute the post-dominator tree for MachineFunctions. More...
|
|
class | MachinePostDominatorTreeAnalysis |
|
class | MachinePostDominatorTreePrinterPass |
|
class | MachinePostDominatorTreeWrapperPass |
|
class | MachineRegion |
|
class | MachineRegionInfo |
|
class | MachineRegionInfoPass |
|
class | MachineRegionNode |
|
class | MachineRegisterInfo |
| MachineRegisterInfo - Keep track of information for virtual and physical registers, including vreg register classes, use/def chains for registers, etc. More...
|
|
struct | MachineSchedContext |
| MachineSchedContext provides enough context from the MachineScheduler pass for the target to instantiate a scheduler. More...
|
|
struct | MachineSchedPolicy |
| Define a generic scheduling policy for targets that don't provide their own MachineSchedStrategy. More...
|
|
class | MachineSchedRegistry |
| MachineSchedRegistry provides a selection of available machine instruction schedulers. More...
|
|
class | MachineSchedStrategy |
| MachineSchedStrategy - Interface to the scheduling algorithm used by ScheduleDAGMI. More...
|
|
class | MachineSDNode |
| An SDNode that represents everything that will be needed to construct a MachineInstr. More...
|
|
class | MachineSSAUpdater |
| MachineSSAUpdater - This class updates SSA form for a set of virtual registers defined in multiple blocks. More...
|
|
class | MachineTraceMetrics |
|
class | MachineTraceMetricsAnalysis |
|
struct | MachineTraceMetricsVerifierPass |
| Verifier pass for MachineTraceMetrics . More...
|
|
class | MachineTraceMetricsWrapperPass |
|
class | MachineUniformityAnalysisPass |
| Legacy analysis pass which computes a MachineUniformityInfo. More...
|
|
class | MachineVerifierPass |
|
class | MachObjectWriter |
|
class | MachORelocation |
| MachORelocation - This struct contains information about each relocation that needs to be emitted to the file. More...
|
|
struct | make_const_ptr |
|
struct | make_const_ref |
|
struct | MakeGuardsExplicitPass |
|
class | MallocAllocator |
|
class | ManagedStatic |
| ManagedStatic - This transparently changes the behavior of global statics to be lazily constructed on demand (good for reducing startup times of dynamic libraries that link in LLVM components) and for making destruction be explicit through the llvm_shutdown() function call. More...
|
|
class | ManagedStaticBase |
| ManagedStaticBase - Common base class for ManagedStatic instances. More...
|
|
class | Mangler |
|
class | mapped_iterator |
|
class | mapped_iterator_base |
| A base type of mapped iterator, that is useful for building derived iterators that do not need/want to store the map function (as in mapped_iterator). More...
|
|
class | MapResolver |
| Resolve arbitrary mappings. More...
|
|
class | MapVector |
| This class implements a map that also provides access to all stored values in a deterministic order. More...
|
|
class | MaskedGatherScatterSDNode |
| This is a base class used to represent MGATHER and MSCATTER nodes. More...
|
|
class | MaskedGatherSDNode |
| This class is used to represent an MGATHER node. More...
|
|
class | MaskedHistogramSDNode |
|
class | MaskedLoadSDNode |
| This class is used to represent an MLOAD node. More...
|
|
class | MaskedLoadStoreSDNode |
| This base class is used to represent MLOAD and MSTORE nodes. More...
|
|
class | MaskedScatterSDNode |
| This class is used to represent an MSCATTER node. More...
|
|
class | MaskedStoreSDNode |
| This class is used to represent an MSTORE node. More...
|
|
class | MatrixBuilder |
|
struct | MaybeAlign |
| This struct is a compact representation of a valid (power of two) or undefined (0) alignment. More...
|
|
struct | MBB2NumberFunctor |
|
class | MBBReachingDefsInfo |
|
struct | MBBSectionID |
|
class | MBFIWrapper |
|
class | MCAlignFragment |
|
class | MCAsmBackend |
| Generic interface to target specific assembler backends. More...
|
|
class | MCAsmInfo |
| This class is intended to be used as a base class for asm properties and features specific to the target. More...
|
|
class | MCAsmInfoCOFF |
|
class | MCAsmInfoDarwin |
|
class | MCAsmInfoELF |
|
class | MCAsmInfoGNUCOFF |
|
class | MCAsmInfoGOFF |
|
class | MCAsmInfoMicrosoft |
|
class | MCAsmInfoWasm |
|
class | MCAsmInfoXCOFF |
|
class | MCAsmLexer |
| Generic assembler lexer interface, for use by target specific assembly lexers. More...
|
|
struct | MCAsmMacro |
|
struct | MCAsmMacroParameter |
|
class | MCAsmParser |
| Generic assembler parser interface, for use by target specific assembly parsers. More...
|
|
class | MCAsmParserExtension |
| Generic interface for extending the MCAsmParser, which is implemented by target and object file assembly parser implementations. More...
|
|
class | MCAsmParserSemaCallback |
| Generic Sema callback for assembly parser. More...
|
|
class | MCAssembler |
|
class | MCBinaryExpr |
| Binary assembler expressions. More...
|
|
class | MCBoundaryAlignFragment |
| Represents required padding such that a particular other set of fragments does not cross a particular power-of-two boundary. More...
|
|
class | MCCFIInstruction |
|
class | MCCodeEmitter |
| MCCodeEmitter - Generic instruction encoding interface. More...
|
|
class | MCConstantExpr |
|
class | MCContext |
| Context object for machine code objects. More...
|
|
class | MCCVDefRangeFragment |
| Fragment representing the .cv_def_range directive. More...
|
|
struct | MCCVFunctionInfo |
| Information describing a function or inlined call site introduced by .cv_func_id or .cv_inline_site_id. More...
|
|
class | MCCVInlineLineTableFragment |
| Fragment representing the binary annotations produced by the .cv_inline_linetable directive. More...
|
|
class | MCCVLoc |
| Instances of this class represent the information from a .cv_loc directive. More...
|
|
class | MCDataFragment |
| Fragment for data and encoded instructions. More...
|
|
class | MCDecodedPseudoProbe |
|
class | MCDecodedPseudoProbeInlineTree |
|
class | MCDisassembler |
| Superclass for all disassemblers. More...
|
|
class | MCDummyFragment |
|
class | MCDwarfCallFrameFragment |
|
class | MCDwarfDwoLineTable |
|
struct | MCDwarfFile |
| Instances of this class represent the name of the dwarf .file directive and its associated dwarf file number in the MC file. More...
|
|
class | MCDwarfFrameEmitter |
|
struct | MCDwarfFrameInfo |
|
class | MCDwarfLineAddr |
|
class | MCDwarfLineAddrFragment |
|
class | MCDwarfLineEntry |
| Instances of this class represent the line information for the dwarf line table entries. More...
|
|
class | MCDwarfLineStr |
| Manage the .debug_line_str section contents, if we use it. More...
|
|
class | MCDwarfLineTable |
|
struct | MCDwarfLineTableHeader |
|
struct | MCDwarfLineTableParams |
|
class | MCDwarfLoc |
| Instances of this class represent the information from a dwarf .loc directive. More...
|
|
class | MCDXContainerStreamer |
|
class | MCDXContainerTargetWriter |
|
class | MCELFObjectTargetWriter |
|
class | MCELFStreamer |
|
class | MCEncodedFragment |
| Interface implemented by fragments that contain encoded instructions and/or data. More...
|
|
class | MCEncodedFragmentWithFixups |
| Interface implemented by fragments that contain encoded instructions and/or data and also have fixups registered. More...
|
|
class | MCExpr |
| Base class for the full range of assembler expressions which are needed for parsing. More...
|
|
class | MCExternalSymbolizer |
| Symbolize using user-provided, C API, callbacks. More...
|
|
struct | MCExtraProcessorInfo |
| Provide extra details about the machine processor. More...
|
|
class | MCFillFragment |
|
class | MCFixup |
| Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction) which requires assemble- or run- time patching. More...
|
|
struct | MCFixupKindInfo |
| Target independent information on a fixup kind. More...
|
|
class | MCFragment |
|
class | MCGenDwarfInfo |
|
class | MCGenDwarfLabelEntry |
|
class | MCGOFFObjectTargetWriter |
|
class | MCGOFFStreamer |
|
class | MCInst |
| Instances of this class represent a single low-level machine instruction. More...
|
|
class | MCInstBuilder |
|
class | MCInstPrinter |
| This is an instance of a target assembly language printer that converts an MCInst to valid target assembly syntax. More...
|
|
class | MCInstrAnalysis |
|
class | MCInstrDesc |
| Describe properties that are true of each instruction in the target description file. More...
|
|
class | MCInstrInfo |
| Interface to description of machine instruction set. More...
|
|
class | MCJIT |
|
class | MCJITMemoryManager |
|
class | MCLabel |
| Instances of this class represent a label name in the MC file, and MCLabel are created and uniqued by the MCContext class. More...
|
|
class | MCLEBFragment |
|
class | MCLineSection |
| Instances of this class represent the line information for a compile unit where machine instructions have been assembled after seeing .loc directives. More...
|
|
class | MCLOHContainer |
|
class | MCLOHDirective |
| Store Linker Optimization Hint information (LOH). More...
|
|
class | MCMachObjectTargetWriter |
|
class | MCNopsFragment |
|
class | MCObjectFileInfo |
|
class | MCObjectStreamer |
| Streaming object file generation interface. More...
|
|
class | MCObjectTargetWriter |
| Base class for classes that define behaviour that is specific to both the target and the object format. More...
|
|
class | MCObjectWriter |
| Defines the object file and target independent interfaces used by the assembler backend to write native file format object files. More...
|
|
class | MCOperand |
| Instances of this class represent operands of the MCInst class. More...
|
|
class | MCOperandInfo |
| This holds information about one operand of a machine instruction, indicating the register class for register operands, etc. More...
|
|
class | MCOrgFragment |
|
class | MCParsedAsmOperand |
| MCParsedAsmOperand - This abstract class represents a source-level assembly instruction operand. More...
|
|
struct | MCProcResourceDesc |
| Define a kind of processor resource that will be modeled by the scheduler. More...
|
|
class | MCPseudoProbe |
| Instances of this class represent a pseudo probe instance for a pseudo probe table entry, which is created during a machine instruction is assembled and uses an address from a temporary label created at the current address in the current section. More...
|
|
class | MCPseudoProbeAddrFragment |
|
class | MCPseudoProbeBase |
|
class | MCPseudoProbeDecoder |
|
struct | MCPseudoProbeFuncDesc |
|
class | MCPseudoProbeInlineTree |
|
class | MCPseudoProbeInlineTreeBase |
|
class | MCPseudoProbeSections |
| Instances of this class represent the pseudo probes inserted into a compile unit. More...
|
|
class | MCPseudoProbeTable |
|
struct | MCReadAdvanceEntry |
| Specify the number of cycles allowed after instruction issue before a particular use operand reads its registers. More...
|
|
class | MCRegAliasIterator |
| MCRegAliasIterator enumerates all registers aliasing Reg. More...
|
|
class | MCRegister |
| Wrapper class representing physical registers. Should be passed by value. More...
|
|
class | MCRegisterClass |
| MCRegisterClass - Base class of TargetRegisterClass. More...
|
|
struct | MCRegisterCostEntry |
| Specify the cost of a register definition in terms of number of physical register allocated at register renaming stage. More...
|
|
struct | MCRegisterDesc |
| MCRegisterDesc - This record contains information about a particular register. More...
|
|
struct | MCRegisterFileDesc |
| A register file descriptor. More...
|
|
class | MCRegisterInfo |
| MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc objects that represent all of the machine registers that the target has. More...
|
|
class | MCRegUnitIterator |
|
class | MCRegUnitMaskIterator |
| MCRegUnitMaskIterator enumerates a list of register units and their associated lane masks for Reg. More...
|
|
class | MCRegUnitRootIterator |
| MCRegUnitRootIterator enumerates the root registers of a register unit. More...
|
|
class | MCRelaxableFragment |
| A relaxable fragment holds on to its MCInst, since it may need to be relaxed during the assembler layout and relaxation stage. More...
|
|
class | MCRelocationInfo |
| Create MCExprs from relocations found in an object file. More...
|
|
class | MCResourceInfo |
|
struct | MCSchedClassDesc |
| Summarize the scheduling resources required for an instruction of a particular scheduling class. More...
|
|
struct | MCSchedModel |
| Machine model for scheduling, bundling, and heuristics. More...
|
|
class | MCSection |
| Instances of this class represent a uniqued identifier for a section in the current translation unit. More...
|
|
class | MCSectionCOFF |
| This represents a section on Windows. More...
|
|
class | MCSectionDXContainer |
|
class | MCSectionELF |
| This represents a section on linux, lots of unix variants and some bare metal systems. More...
|
|
class | MCSectionGOFF |
|
class | MCSectionMachO |
| This represents a section on a Mach-O system (used by Mac OS X). More...
|
|
class | MCSectionSPIRV |
|
class | MCSectionWasm |
| This represents a section on wasm. More...
|
|
class | MCSectionXCOFF |
|
class | MCSPIRVObjectTargetWriter |
|
class | MCSPIRVStreamer |
|
class | MCStreamer |
| Streaming machine code generation interface. More...
|
|
class | MCSubRegIndexIterator |
| Iterator that enumerates the sub-registers of a Reg and the associated sub-register indices. More...
|
|
class | MCSubRegIterator |
| MCSubRegIterator enumerates all sub-registers of Reg. More...
|
|
class | MCSubtargetInfo |
| Generic base class for all target subtargets. More...
|
|
class | MCSuperRegIterator |
| MCSuperRegIterator enumerates all super-registers of Reg. More...
|
|
class | MCSymbol |
| MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created and uniqued by the MCContext class. More...
|
|
class | MCSymbolCOFF |
|
class | MCSymbolELF |
|
class | MCSymbolGOFF |
|
class | MCSymbolIdFragment |
| Represents a symbol table index fragment. More...
|
|
class | MCSymbolizer |
| Symbolize and annotate disassembled instructions. More...
|
|
class | MCSymbolMachO |
|
class | MCSymbolRefExpr |
| Represent a reference to a symbol from inside an expression. More...
|
|
class | MCSymbolSDNode |
|
struct | MCSymbolTableValue |
| The value for an entry in the symbol table of an MCContext. More...
|
|
class | MCSymbolWasm |
|
class | MCSymbolXCOFF |
|
class | MCTargetAsmParser |
| MCTargetAsmParser - Generic interface to target specific assembly parsers. More...
|
|
class | MCTargetExpr |
| This is an extension point for target-specific MCExpr subclasses to implement. More...
|
|
class | MCTargetOptions |
|
class | MCTargetStreamer |
| Target specific streamer interface. More...
|
|
class | MCUnaryExpr |
| Unary assembler expressions. More...
|
|
class | MCValue |
| This represents an "assembler immediate". More...
|
|
class | MCWasmObjectTargetWriter |
|
class | MCWasmStreamer |
|
class | MCWinCOFFObjectTargetWriter |
|
class | MCWinCOFFStreamer |
|
struct | MCWriteLatencyEntry |
| Specify the latency in cpu cycles for a particular scheduling class and def index. More...
|
|
struct | MCWriteProcResEntry |
| Identify one of the processor resource kinds consumed by a particular scheduling class for the specified number of cycles. More...
|
|
class | MCXCOFFObjectTargetWriter |
|
class | MCXCOFFStreamer |
|
class | MD5 |
|
class | MDAttachments |
| Multimap-like storage for metadata attachments. More...
|
|
class | MDBuilder |
|
class | MDNode |
| Metadata node. More...
|
|
struct | MDNodeInfo |
| DenseMapInfo for MDNode subclasses. More...
|
|
struct | MDNodeKeyImpl |
|
struct | MDNodeKeyImpl< DIBasicType > |
|
struct | MDNodeKeyImpl< DICommonBlock > |
|
struct | MDNodeKeyImpl< DICompositeType > |
|
struct | MDNodeKeyImpl< DIDerivedType > |
|
struct | MDNodeKeyImpl< DIEnumerator > |
|
struct | MDNodeKeyImpl< DIExpression > |
|
struct | MDNodeKeyImpl< DIFile > |
|
struct | MDNodeKeyImpl< DIGenericSubrange > |
|
struct | MDNodeKeyImpl< DIGlobalVariable > |
|
struct | MDNodeKeyImpl< DIGlobalVariableExpression > |
|
struct | MDNodeKeyImpl< DIImportedEntity > |
|
struct | MDNodeKeyImpl< DILabel > |
|
struct | MDNodeKeyImpl< DILexicalBlock > |
|
struct | MDNodeKeyImpl< DILexicalBlockFile > |
|
struct | MDNodeKeyImpl< DILocalVariable > |
|
struct | MDNodeKeyImpl< DILocation > |
| DenseMapInfo for DILocation. More...
|
|
struct | MDNodeKeyImpl< DIMacro > |
|
struct | MDNodeKeyImpl< DIMacroFile > |
|
struct | MDNodeKeyImpl< DIModule > |
|
struct | MDNodeKeyImpl< DINamespace > |
|
struct | MDNodeKeyImpl< DIObjCProperty > |
|
struct | MDNodeKeyImpl< DIStringType > |
|
struct | MDNodeKeyImpl< DISubprogram > |
|
struct | MDNodeKeyImpl< DISubrange > |
|
struct | MDNodeKeyImpl< DISubroutineType > |
|
struct | MDNodeKeyImpl< DITemplateTypeParameter > |
|
struct | MDNodeKeyImpl< DITemplateValueParameter > |
|
struct | MDNodeKeyImpl< GenericDINode > |
| DenseMapInfo for GenericDINode. More...
|
|
struct | MDNodeKeyImpl< MDTuple > |
| DenseMapInfo for MDTuple. More...
|
|
class | MDNodeOpsKey |
| Structure for hashing arbitrary MDNode operands. More...
|
|
class | MDNodeSDNode |
|
struct | MDNodeSubsetEqualImpl |
| Configuration point for MDNodeInfo::isEqual(). More...
|
|
struct | MDNodeSubsetEqualImpl< DIDerivedType > |
|
struct | MDNodeSubsetEqualImpl< DISubprogram > |
|
class | MDOperand |
| Tracking metadata reference owned by Metadata. More...
|
|
class | MDString |
| A single uniqued string. More...
|
|
class | MDTuple |
| Tuple of metadata. More...
|
|
class | MDTupleTypedArrayWrapper |
| Typed, array-like tuple of metadata. More...
|
|
class | MemCpyInlineInst |
| This class wraps the llvm.memcpy.inline intrinsic. More...
|
|
class | MemCpyInst |
| This class wraps the llvm.memcpy intrinsic. More...
|
|
class | MemCpyOptPass |
|
class | MemDepResult |
| A memory dependence query can return one of three different answers. More...
|
|
class | MemDerefPrinterPass |
|
class | MemIntrinsic |
| This is the common base class for memset/memcpy/memmove. More...
|
|
class | MemIntrinsicBase |
| Common base class for all memory intrinsics. More...
|
|
struct | MemIntrinsicInfo |
| Information about a load/store intrinsic defined by the target. More...
|
|
class | MemIntrinsicSDNode |
| This SDNode is used for target intrinsics that touch memory and need an associated MachineMemOperand. More...
|
|
class | MemMoveInst |
| This class wraps the llvm.memmove intrinsic. More...
|
|
struct | MemOp |
|
class | MemoryAccess |
|
class | memoryaccess_def_iterator_base |
| Iterator base class used to implement const and non-const iterators over the defining accesses of a MemoryAccess. More...
|
|
class | MemoryBuffer |
| This interface provides simple read-only access to a block of memory, and provides simple methods for reading files and standard input into a memory buffer. More...
|
|
class | MemoryBufferByteStream |
| An implementation of BinaryStream whose data is backed by an llvm MemoryBuffer object. More...
|
|
class | MemoryBufferRef |
|
class | MemoryClauseInitialScheduleStage |
|
class | MemoryDef |
| Represents a read-write access to memory, whether it is a must-alias, or a may-alias. More...
|
|
class | MemoryDepChecker |
| Checks memory dependences among accesses to the same underlying object to determine whether there vectorization is legal or not (and at which vectorization factor). More...
|
|
class | MemoryDependenceAnalysis |
| An analysis that produces MemoryDependenceResults for a function. More...
|
|
class | MemoryDependenceResults |
| Provides a lazy, caching interface for making common memory aliasing information queries, backed by LLVM's alias analysis passes. More...
|
|
class | MemoryDependenceWrapperPass |
| A wrapper analysis pass for the legacy pass manager that exposes a MemoryDepnedenceResults instance. More...
|
|
class | MemoryEffectsBase |
|
class | MemoryLocation |
| Representation for a specific memory location. More...
|
|
struct | MemoryOpRemark |
|
class | MemoryPhi |
| Represents phi nodes for memory accesses. More...
|
|
struct | MemorySanitizerOptions |
|
struct | MemorySanitizerPass |
| A module pass for msan instrumentation. More...
|
|
class | MemorySSA |
| Encapsulates MemorySSA, including all data associated with memory accesses. More...
|
|
class | MemorySSAAnalysis |
| An analysis that produces MemorySSA for a function. More...
|
|
class | MemorySSAPrinterPass |
| Printer pass for MemorySSA . More...
|
|
class | MemorySSAUpdater |
|
class | MemorySSAUtil |
|
struct | MemorySSAVerifierPass |
| Verifier pass for MemorySSA . More...
|
|
class | MemorySSAWalker |
| This is the generic walker interface for walkers of MemorySSA. More...
|
|
class | MemorySSAWalkerPrinterPass |
| Printer pass for MemorySSA via the walker. More...
|
|
class | MemorySSAWrapperPass |
| Legacy analysis pass which computes MemorySSA . More...
|
|
class | MemoryUse |
| Represents read-only accesses to memory. More...
|
|
class | MemoryUseOrDef |
| Class that has the common methods + fields of memory uses/defs. More...
|
|
class | MemoryWriteTracking |
|
class | MemProfContextDisambiguation |
|
class | MemProfilerPass |
| Public interface to the memory profiler pass for instrumenting code to profile memory accesses. More...
|
|
class | MemProfUsePass |
|
class | MemSDNode |
| This is an abstract virtual class for memory operations. More...
|
|
class | MemSetBase |
| Common base class for all memset intrinsics. More...
|
|
class | MemSetInlineInst |
| This class wraps the llvm.memset.inline intrinsic. More...
|
|
class | MemSetInst |
| This class wraps the llvm.memset and llvm.memset.inline intrinsics. More...
|
|
class | MemSetPatternInst |
| This class wraps the llvm.experimental.memset.pattern intrinsic. More...
|
|
class | MemSetPatternIntrinsic |
| This is the base class for llvm.experimental.memset.pattern. More...
|
|
class | MemTransferBase |
| Common base class for all memory transfer intrinsics. More...
|
|
class | MemTransferInst |
| This class wraps the llvm.memcpy/memmove intrinsics. More...
|
|
struct | MergedLoadStoreMotionOptions |
|
class | MergedLoadStoreMotionPass |
|
class | MergeFunctionsPass |
| Merge identical functions. More...
|
|
struct | MergeICmpsPass |
|
class | Metadata |
| Root of the metadata hierarchy. More...
|
|
class | MetadataAsValue |
| Metadata wrapper in the Value hierarchy. More...
|
|
class | MetadataLoader |
| Helper class that handles loading Metadatas and keeping them available. More...
|
|
struct | MetadataLoaderCallbacks |
|
class | MetadataTracking |
| API for tracking metadata references through RAUW and deletion. More...
|
|
struct | MetaRenamerPass |
|
class | MFPropsModifier |
| An RAII based helper class to modify MachineFunctionProperties when running pass. More...
|
|
struct | MIBInfo |
| Summary of a single MIB in a memprof metadata on allocations. More...
|
|
class | MIBundleBuilder |
| Helper class for constructing bundles of MachineInstrs. More...
|
|
class | MIBundleOperandIteratorBase |
| MIBundleOperandIteratorBase - Iterator that visits all operands in a bundle of MachineInstrs. More...
|
|
class | MIBundleOperands |
| MIBundleOperands - Iterate over all operands in a bundle of machine instructions. More...
|
|
class | MIMetadata |
| Set of metadata that should be preserved when using BuildMI(). More...
|
|
struct | MinMax |
|
class | MinMaxIntrinsic |
| This class represents min/max intrinsics. More...
|
|
class | MIPrinter |
| This class prints out the machine instructions using the MIR serialization format. More...
|
|
class | Mips16DAGToDAGISel |
|
class | Mips16DAGToDAGISelLegacy |
|
class | Mips16FrameLowering |
|
class | Mips16InstrInfo |
|
class | Mips16RegisterInfo |
|
class | Mips16TargetLowering |
|
struct | MipsABIFlagsSection |
|
class | MipsABIInfo |
|
class | MipsAnalyzeImmediate |
|
class | MipsAsmBackend |
|
class | MipsAsmPrinter |
|
class | MipsCallLowering |
|
class | MipsCCState |
|
class | MipsCOFFMCAsmInfo |
|
class | MipsDAGToDAGISel |
|
class | MipsDAGToDAGISelLegacy |
|
class | MipsebTargetMachine |
| Mips32/64 big endian target machine. More...
|
|
class | MipsELFMCAsmInfo |
|
class | MipsELFStreamer |
|
class | MipselTargetMachine |
| Mips32/64 little endian target machine. More...
|
|
class | MipsFrameLowering |
|
class | MipsFunctionInfo |
| MipsFunctionInfo - This class is derived from MachineFunction private Mips target-specific information for each MachineFunction. More...
|
|
class | MipsGenRegisterBankInfo |
|
class | MipsInstPrinter |
|
class | MipsInstrInfo |
|
class | MipsLegalizerInfo |
| This class provides legalization strategies. More...
|
|
class | MipsMCCodeEmitter |
|
class | MipsMCExpr |
|
class | MipsMCInstLower |
| MipsMCInstLower - This class is used to lower an MachineInstr into an MCInst. More...
|
|
class | MipsOptionRecord |
|
class | MipsRegInfoRecord |
|
class | MipsRegisterBankInfo |
| This class provides the information for the target register banks. More...
|
|
class | MipsRegisterInfo |
|
class | MipsSEDAGToDAGISel |
|
class | MipsSEDAGToDAGISelLegacy |
|
class | MipsSEFrameLowering |
|
class | MipsSEInstrInfo |
|
class | MipsSelectionDAGInfo |
|
class | MipsSERegisterInfo |
|
class | MipsSETargetLowering |
|
class | MipsSubtarget |
|
class | MipsTargetAsmStreamer |
|
class | MipsTargetELFStreamer |
|
class | MipsTargetLowering |
|
class | MipsTargetMachine |
|
class | MipsTargetObjectFile |
|
class | MipsTargetStreamer |
|
class | MipsTTIImpl |
|
class | MIRAddFSDiscriminators |
|
class | MIRFormatter |
| MIRFormater - Interface to format MIR operand based on target. More...
|
|
class | MIRParser |
| This class initializes machine functions by applying the state loaded from a MIR file. More...
|
|
class | MIRParserImpl |
| This class implements the parsing of LLVM IR that's embedded inside a MIR file. More...
|
|
class | MIRPrinter |
| This class prints out the machine functions using the MIR serialization format. More...
|
|
class | MIRProfileLoader |
|
class | MIRProfileLoaderPass |
|
struct | MIToken |
| A token produced by the machine instruction lexer. More...
|
|
class | MLInlineAdvice |
| InlineAdvice that tracks changes post inlining. More...
|
|
class | MLInlineAdvisor |
|
class | MLModelRunner |
| MLModelRunner interface: abstraction of a mechanism for evaluating a ML model. More...
|
|
class | MLPriorityAdvisor |
|
class | MMRAMetadata |
| Helper class to manipulate !mmra metadata nodes. More...
|
|
class | ModifiedPostOrder |
| Construct a specially modified post-order traversal of cycles. More...
|
|
class | Module |
| A Module instance is used to store all the information related to an LLVM module. More...
|
|
class | ModuleDebugInfoPrinterPass |
|
class | ModuleInlinerPass |
| The module inliner pass for the new pass manager. More...
|
|
class | ModuleInlinerWrapperPass |
| Module pass, wrapping the inliner pass. More...
|
|
class | ModuleMemProfilerPass |
| Public interface to the memory profiler module pass for instrumenting code to profile memory allocations and accesses. More...
|
|
class | ModulePass |
| ModulePass class - This class is used to implement unstructured interprocedural optimizations and analyses. More...
|
|
class | ModuleSlotTracker |
| Manage lifetime of a slot tracker for printing IR. More...
|
|
class | ModuleSummaryIndex |
| Class to hold module path string table and global value map, and encapsulate methods for operating on them. More...
|
|
class | ModuleSummaryIndexAnalysis |
| Analysis pass to provide the ModuleSummaryIndex object. More...
|
|
class | ModuleSummaryIndexWrapperPass |
| Legacy wrapper pass to provide the ModuleSummaryIndex object. More...
|
|
class | ModuleSymbolTable |
|
struct | ModuleThreadSanitizerPass |
| A module pass for tsan instrumentation. More...
|
|
class | ModuleToFunctionPassAdaptor |
| Trivial adaptor that maps from a module to its functions. More...
|
|
class | ModuleToPostOrderCGSCCPassAdaptor |
| The core module pass which does a post-order walk of the SCCs and runs a CGSCC pass over each one. More...
|
|
class | ModuloSchedule |
| Represents a schedule for a single-block loop. More...
|
|
class | ModuloScheduleExpander |
| The ModuloScheduleExpander takes a ModuloSchedule and expands it in-place, rewriting the old loop and inserting prologs and epilogs as required. More...
|
|
class | ModuloScheduleExpanderMVE |
| Expand the kernel using modulo variable expansion algorithm (MVE). More...
|
|
class | ModuloScheduleTestAnnotater |
| Expander that simply annotates each scheduled instruction with a post-instr symbol that can be consumed by the ModuloScheduleTest pass. More...
|
|
class | MoveAutoInitPass |
|
class | MSP430AttributeParser |
|
class | MSP430FrameLowering |
|
class | MSP430InstPrinter |
|
class | MSP430InstrInfo |
|
class | MSP430MachineFunctionInfo |
| MSP430MachineFunctionInfo - This class is derived from MachineFunction and contains private MSP430 target-specific information for each MachineFunction. More...
|
|
class | MSP430MCAsmInfo |
|
class | MSP430MCCodeEmitter |
|
class | MSP430MCInstLower |
| MSP430MCInstLower - This class is used to lower an MachineInstr into an MCInst. More...
|
|
class | MSP430RegisterInfo |
|
class | MSP430Subtarget |
|
class | MSP430TargetELFStreamer |
|
class | MSP430TargetLowering |
|
class | MSP430TargetMachine |
| MSP430TargetMachine. More...
|
|
class | MSVCPError |
|
class | MSVCPExpected |
|
class | MulOperator |
|
struct | MultiClass |
|
class | MultiHazardRecognizer |
|
struct | MustBeExecutedContextExplorer |
| A "must be executed context" for a given program point PP is the set of instructions, potentially before and after PP, that are executed always when PP is reached. More...
|
|
class | MustBeExecutedContextPrinterPass |
|
struct | MustBeExecutedIterator |
| Must be executed iterators visit stretches of instructions that are guaranteed to be executed together, potentially with other instruction executed in-between. More...
|
|
class | MustExecutePrinterPass |
|
class | MutableArrayRef |
| MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memory), i.e. More...
|
|
class | MutableBinaryByteStream |
| An implementation of BinaryStream which holds its entire data set in a single contiguous buffer. More...
|
|
class | MVT |
| Machine Value Type. More...
|
|
class | NameAnonGlobalPass |
| Simple pass that provides a name to every anonymous globals. More...
|
|
struct | NamedInstrProfRecord |
|
class | NamedMDNode |
| A tuple of MDNodes. More...
|
|
struct | NamedRegionTimer |
| This class is basically a combination of TimeRegion and Timer. More...
|
|
class | NaryReassociatePass |
|
class | NearMissInfo |
|
class | Negator |
|
struct | NewArchiveMember |
|
class | NewGVNPass |
|
struct | NfaStatePair |
| Forward define the pair type used by the automata transition info tables. More...
|
|
class | NoAliasScopeDeclInst |
|
class | NoCFIValue |
| Wrapper for a value that won't be replaced with a CFI jump table pointer in LowerTypeTestsModule. More...
|
|
class | NodeSet |
| A NodeSet contains a set of SUnit DAG nodes with additional information that assigns a priority to the set. More...
|
|
class | NoFolder |
| NoFolder - Create "constants" (actually, instructions) with no folding. More...
|
|
class | NoInferenceModelRunner |
| A pseudo model runner. More...
|
|
class | NonLocalDepEntry |
| This is an entry in the NonLocalDepInfo cache. More...
|
|
class | NonLocalDepResult |
| This is a result from a NonLocal dependence query. More...
|
|
class | NonRelocatableStringpool |
| A string table that doesn't need relocations. More...
|
|
class | NoOpCGSCCAnalysis |
| No-op CGSCC analysis. More...
|
|
struct | NoOpCGSCCPass |
| No-op CGSCC pass which does nothing. More...
|
|
class | NoOpFunctionAnalysis |
| No-op function analysis. More...
|
|
struct | NoOpFunctionPass |
| No-op function pass which does nothing. More...
|
|
class | NoOpLoopAnalysis |
| No-op loop analysis. More...
|
|
struct | NoOpLoopNestPass |
| No-op loop nest pass which does nothing. More...
|
|
struct | NoOpLoopPass |
| No-op loop pass which does nothing. More...
|
|
struct | NoOpMachineFunctionPass |
| No-op machine function pass which does nothing. More...
|
|
class | NoOpModuleAnalysis |
| No-op module analysis. More...
|
|
struct | NoOpModulePass |
| No-op module pass which does nothing. More...
|
|
class | NoopSavedModelImpl |
| A mock class satisfying the interface expected by ReleaseModeModelRunner for its TGen parameter. More...
|
|
class | NoopStatistic |
|
class | NotFoundError |
|
struct | NullableValueCastFailed |
| All of these cast traits are meant to be implementations for useful casts that users may want to use that are outside the standard behavior. More...
|
|
class | NumberedValues |
| Mapping from value ID to value, which also remembers what the next unused ID is. More...
|
|
struct | NumericalStabilitySanitizerPass |
| A function pass for nsan instrumentation. More...
|
|
class | NumericSubstitution |
|
class | NumericVariable |
| Class representing a numeric variable and its associated current value. More...
|
|
class | NumericVariableUse |
| Class representing the use of a numeric variable in the AST of an expression. More...
|
|
class | NVPTXAA |
| Analysis pass providing a never-invalidated alias analysis result. More...
|
|
class | NVPTXAAResult |
|
class | NVPTXAAWrapperPass |
| Legacy wrapper pass to provide the NVPTXAAResult object. More...
|
|
class | NVPTXAsmPrinter |
|
class | NVPTXAsmTargetStreamer |
|
struct | NVPTXCopyByValArgsPass |
|
class | NVPTXCtorDtorLoweringPass |
| Lower llvm.global_ctors and llvm.global_dtors to special kernels. More...
|
|
class | NVPTXDAGToDAGISel |
|
class | NVPTXDAGToDAGISelLegacy |
|
class | NVPTXExternalAAWrapper |
|
class | NVPTXFloatMCExpr |
|
class | NVPTXFrameLowering |
|
class | NVPTXGenericMCSymbolRefExpr |
| A wrapper for MCSymbolRefExpr that tells the assembly printer that the symbol should be enclosed by generic(). More...
|
|
class | NVPTXInstPrinter |
|
class | NVPTXInstrInfo |
|
class | NVPTXMachineFunctionInfo |
|
class | NVPTXMCAsmInfo |
|
class | NVPTXRegisterInfo |
|
struct | NVPTXScopes |
|
class | NVPTXSelectionDAGInfo |
|
class | NVPTXSubtarget |
|
class | NVPTXTargetLowering |
|
class | NVPTXTargetMachine |
| NVPTXTargetMachine. More...
|
|
class | NVPTXTargetMachine32 |
|
class | NVPTXTargetMachine64 |
|
class | NVPTXTargetObjectFile |
|
class | NVPTXTargetStreamer |
| Implments NVPTX-specific streamer. More...
|
|
class | NVPTXTTIImpl |
|
struct | NVVMIntrRangePass |
|
struct | NVVMReflectPass |
|
struct | ObjCARCAPElimPass |
|
struct | ObjCARCContractPass |
|
struct | ObjCARCExpandPass |
|
struct | ObjCARCOptPass |
|
struct | ObjCSelectorNames |
|
struct | object_creator |
| object_creator - Helper method for ManagedStatic. More...
|
|
struct | object_deleter |
| object_deleter - Helper method for ManagedStatic. More...
|
|
struct | object_deleter< T[N]> |
|
class | ObjectCache |
| This is the base ObjectCache type which can be provided to an ExecutionEngine for the purpose of avoiding compilation for Modules that have already been compiled and an object file is available. More...
|
|
class | ObjectSizeOffsetEvaluator |
| Evaluate the size and offset of an object pointed to by a Value*. More...
|
|
class | ObjectSizeOffsetVisitor |
| Evaluate the size and offset of an object pointed to by a Value* statically. More...
|
|
struct | ObjectSizeOpts |
| Various options to control the behavior of getObjectSize. More...
|
|
class | OccInitialScheduleStage |
|
class | OffloadEntriesInfoManager |
| Class that manages information about offload code regions and data. More...
|
|
struct | OffsetAndUnitID |
| Helper class to identify an entry in DWARF5AccelTable based on their DIE offset and UnitID. More...
|
|
struct | OffsetSpan |
| OffsetSpan - Used internally by ObjectSizeOffsetVisitor . More...
|
|
struct | OffsetsTag |
|
struct | on_first |
| Function object to apply a binary function to the first component of a std::pair. More...
|
|
struct | once_flag |
| The llvm::once_flag structure. More...
|
|
class | OnDiskChainedHashTable |
| Provides lookup on an on disk hash table. More...
|
|
class | OnDiskChainedHashTableGenerator |
| Generates an on disk hash table. More...
|
|
class | OnDiskIterableChainedHashTable |
| Provides lookup and iteration over an on disk hash table. More...
|
|
class | OpenMPIRBuilder |
| An interface to create LLVM-IR for OpenMP directives. More...
|
|
class | OpenMPIRBuilderConfig |
| Captures attributes that affect generating LLVM-IR using the OpenMPIRBuilder and related classes. More...
|
|
class | OpenMPOptCGSCCPass |
|
class | OpenMPOptPass |
| OpenMP optimizations pass. More...
|
|
class | OperandBundleDefT |
| A container for an operand bundle being viewed as a set of values rather than a set of uses. More...
|
|
struct | OperandBundleUse |
| A lightweight accessor for an operand bundle meant to be passed around by value. More...
|
|
struct | OperandTraits |
| Compile-time customization of User operands. More...
|
|
struct | OperandTraits< AddrSpaceCastOperator > |
|
struct | OperandTraits< AtomicCmpXchgInst > |
|
struct | OperandTraits< AtomicRMWInst > |
|
struct | OperandTraits< BinaryConstantExpr > |
|
struct | OperandTraits< BinaryOperator > |
|
struct | OperandTraits< BitCastOperator > |
|
struct | OperandTraits< BlockAddress > |
|
struct | OperandTraits< BranchInst > |
|
struct | OperandTraits< CallBase > |
|
struct | OperandTraits< CastConstantExpr > |
|
struct | OperandTraits< CatchReturnInst > |
|
struct | OperandTraits< CatchSwitchInst > |
|
struct | OperandTraits< CleanupReturnInst > |
|
struct | OperandTraits< CmpInst > |
|
struct | OperandTraits< ConstantAggregate > |
|
struct | OperandTraits< ConstantExpr > |
|
struct | OperandTraits< ConstantPtrAuth > |
|
struct | OperandTraits< DSOLocalEquivalent > |
|
struct | OperandTraits< ExtractElementConstantExpr > |
|
struct | OperandTraits< ExtractElementInst > |
|
struct | OperandTraits< FuncletPadInst > |
|
struct | OperandTraits< Function > |
|
struct | OperandTraits< GEPOperator > |
|
struct | OperandTraits< GetElementPtrConstantExpr > |
|
struct | OperandTraits< GetElementPtrInst > |
|
struct | OperandTraits< GlobalAlias > |
|
struct | OperandTraits< GlobalIFunc > |
|
struct | OperandTraits< GlobalVariable > |
|
struct | OperandTraits< IndirectBrInst > |
|
struct | OperandTraits< InsertElementConstantExpr > |
|
struct | OperandTraits< InsertElementInst > |
|
struct | OperandTraits< InsertValueInst > |
|
struct | OperandTraits< LandingPadInst > |
|
struct | OperandTraits< MemoryDef > |
|
struct | OperandTraits< MemoryPhi > |
|
struct | OperandTraits< MemoryUse > |
|
struct | OperandTraits< MemoryUseOrDef > |
|
struct | OperandTraits< NoCFIValue > |
|
struct | OperandTraits< OverflowingBinaryOperator > |
|
struct | OperandTraits< PHINode > |
|
struct | OperandTraits< PossiblyExactOperator > |
|
struct | OperandTraits< PtrToIntOperator > |
|
struct | OperandTraits< ResumeInst > |
|
struct | OperandTraits< ReturnInst > |
|
struct | OperandTraits< SelectInst > |
|
struct | OperandTraits< ShuffleVectorConstantExpr > |
|
struct | OperandTraits< ShuffleVectorInst > |
|
struct | OperandTraits< StoreInst > |
|
struct | OperandTraits< SwitchInst > |
|
struct | OperandTraits< UnaryInstruction > |
|
class | Operator |
| This is a utility class that provides an abstraction for the common functionality between Instructions and ConstantExprs. More...
|
|
class | OpInit |
| Base class for operators. More...
|
|
class | OProfileWrapper |
|
class | OptBisect |
| This class implements a mechanism to disable passes and individual optimizations at compile time based on a command line option (-opt-bisect-limit) in order to perform a bisecting search for optimization-related problems. More...
|
|
class | OptimizationLevel |
|
class | OptimizationRemark |
| Diagnostic information for applied optimization remarks. More...
|
|
class | OptimizationRemarkAnalysis |
| Diagnostic information for optimization analysis remarks. More...
|
|
class | OptimizationRemarkAnalysisAliasing |
| Diagnostic information for optimization analysis remarks related to pointer aliasing. More...
|
|
class | OptimizationRemarkAnalysisFPCommute |
| Diagnostic information for optimization analysis remarks related to floating-point non-commutativity. More...
|
|
class | OptimizationRemarkEmitter |
| The optimization diagnostic interface. More...
|
|
class | OptimizationRemarkEmitterAnalysis |
|
class | OptimizationRemarkEmitterWrapperPass |
| OptimizationRemarkEmitter legacy analysis pass. More...
|
|
class | OptimizationRemarkMissed |
| Diagnostic information for missed-optimization remarks. More...
|
|
struct | OptimizedStructLayoutField |
| A field in a structure. More...
|
|
class | OptimizePHIsPass |
|
struct | OptionalOperandTraits |
| OptionalOperandTraits - when the number of operands may change at runtime. More...
|
|
struct | OptionalValueCast |
| This cast trait provides std::optional<T> casting. More...
|
|
class | OptLevelChanger |
| This class is used by SelectionDAGISel to temporarily override the optimization level on a per-function basis. More...
|
|
class | OptNoneInstrumentation |
|
class | OptPassGate |
| Extensions to this class implement mechanisms to disable passes and individual optimizations at compile time. More...
|
|
class | OptPassGateInstrumentation |
|
class | OrderedChangedData |
|
class | OuterAnalysisManagerProxy |
| An analysis over an "inner" IR unit that provides access to an analysis manager over a "outer" IR unit. More...
|
|
struct | OutlinableRegion |
| The OutlinableRegion holds all the information for a specific region, or sequence of instructions. More...
|
|
class | OutlinedHashTree |
|
struct | OutlinedHashTreeRecord |
|
class | OutputCategoryAggregator |
|
class | OverflowError |
| Class to represent an overflow error that might result when manipulating a value. More...
|
|
class | OverflowingBinaryOperator |
| Utility class for integer operators which may exhibit overflow - Add, Sub, Mul, and Shl. More...
|
|
struct | OverlapFuncFilters |
|
struct | OverlapStats |
|
class | OwningArrayRef |
| This is a MutableArrayRef that owns its array. More...
|
|
class | PackedVector |
| Store a vector of values using a specific number of bits for each value. More...
|
|
class | PackedVectorBase |
|
class | PackedVectorBase< T, BitNum, BitVectorTy, false > |
|
class | PackedVectorBase< T, BitNum, BitVectorTy, true > |
|
struct | PAEvalPass |
|
class | PagedVector |
| A vector that allocates memory in pages. More...
|
|
struct | pair_hash |
|
struct | ParsedModuleAndIndex |
| Holds the Module and ModuleSummaryIndex returned by the interfaces that parse both. More...
|
|
struct | ParseInstructionInfo |
|
struct | ParserCallbacks |
|
class | ParseResult |
| This class represents success/failure for parsing-like operations that find it important to chain together failable operations with || . More...
|
|
class | ParseStatus |
| Ternary parse status returned by various parse* methods. More...
|
|
class | PartialInlinerPass |
| Pass to remove unused function declarations. More...
|
|
class | PartiallyInlineLibCallsPass |
|
class | PartialOrderingVisitor |
|
struct | PartialReductionChain |
| A chain of instructions that form a partial reduction. More...
|
|
class | Pass |
| Pass interface - Implemented by all 'passes'. More...
|
|
class | PassBuilder |
| This class provides access to building LLVM's passes. More...
|
|
class | PassConfigImpl |
|
class | PassInfo |
| PassInfo class - An instance of this class exists for every pass known by the system, and can be obtained from a live Pass by calling its getPassInfo() method. More...
|
|
struct | PassInfoMixin |
| A CRTP mix-in to automatically provide informational APIs needed for passes. More...
|
|
class | PassInstrumentation |
| This class provides instrumentation entry points for the Pass Manager, doing calls to callbacks registered in PassInstrumentationCallbacks. More...
|
|
class | PassInstrumentationAnalysis |
| Pseudo-analysis pass that exposes the PassInstrumentation to pass managers. More...
|
|
struct | PassInstrumentationCallbacks |
| This class manages callbacks registration, as well as provides a way for PassInstrumentation to pass control to the registered callbacks. More...
|
|
class | PassManager |
| Manages a sequence of passes over a particular unit of IR. More...
|
|
class | PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & > |
|
class | PassManagerPrettyStackEntry |
| PassManagerPrettyStackEntry - This is used to print informative information about what pass is running when/if a stack trace is generated. More...
|
|
class | PassNameParser |
|
class | PassPlugin |
| A loaded pass plugin. More...
|
|
struct | PassPluginLibraryInfo |
| Information about the plugin required to load its passes. More...
|
|
struct | PassRegistrationListener |
| PassRegistrationListener class - This class is meant to be derived from by clients that are interested in which passes get registered and unregistered at runtime (which can be because of the RegisterPass constructors being run as the program starts up, or may be because a shared object just got loaded). More...
|
|
class | PassRegistry |
| PassRegistry - This class manages the registration and intitialization of the pass subsystem as application startup, and assists the PassManager in resolving pass dependencies. More...
|
|
class | PatchPointOpers |
| MI-level patchpoint operands. More...
|
|
class | Pattern |
|
struct | PatternsForOpcode |
| Map from opcode to pattern list by binary search. More...
|
|
class | PBQPRAConstraint |
| Abstract base for classes implementing PBQP register allocation constraints (e.g. More...
|
|
class | PBQPRAConstraintList |
| PBQP register allocation constraint composer. More...
|
|
class | PeelingModuloScheduleExpander |
| A reimplementation of ModuloScheduleExpander. More...
|
|
class | PeepholeOptimizerPass |
|
struct | PerFunctionMIParsingState |
|
struct | PerTargetMIParsingState |
|
class | PGOContextualProfile |
| The instrumented contextual profile, produced by the CtxProfAnalysis. More...
|
|
class | PGOCtxProfContext |
| A node (context) in the loaded contextual profile, suitable for mutation during IPO passes. More...
|
|
class | PGOCtxProfFlatteningPass |
|
class | PGOCtxProfileReader |
|
class | PGOCtxProfileWriter |
| Write one or more ContextNodes to the provided raw_fd_stream. More...
|
|
class | PGOCtxProfLoweringPass |
|
struct | PGOForceFunctionAttrsPass |
|
class | PGOIndirectCallPromotion |
| The indirect function call promotion pass. More...
|
|
struct | PGOIndirectCallVisitor |
|
class | PGOInstrumentationGen |
| The instrumentation (profile-instr-gen) pass for IR based PGO. More...
|
|
class | PGOInstrumentationGenCreateVar |
| The instrumentation (profile-instr-gen) pass for IR based PGO. More...
|
|
class | PGOInstrumentationUse |
| The profile annotation (profile-instr-use) pass for IR based PGO. More...
|
|
class | PGOMemOPSizeOpt |
| The profile size based optimization pass for memory intrinsics. More...
|
|
struct | PGOOptions |
| A struct capturing PGO tunables. More...
|
|
class | PHIEliminationPass |
|
class | PhiLoweringHelper |
|
class | PHINode |
|
class | PHITransAddr |
| PHITransAddr - An address value which tracks and handles phi translation. More...
|
|
class | PhiValues |
| Class for calculating and caching the underlying values of phis in a function. More...
|
|
class | PhiValuesAnalysis |
| The analysis pass which yields a PhiValues. More...
|
|
class | PhiValuesPrinterPass |
| A pass for printing the PhiValues for a function. More...
|
|
class | PhiValuesWrapperPass |
| Wrapper pass for the legacy pass manager. More...
|
|
class | PhysicalRegisterUsageAnalysis |
|
class | PhysicalRegisterUsageInfo |
|
class | PhysicalRegisterUsageInfoPrinterPass |
|
class | PhysicalRegisterUsageInfoWrapperLegacy |
|
struct | PhysRegInfo |
| Information about how a physical register Reg is used by a set of operands. More...
|
|
struct | PhysRegSUOper |
| Record a physical register access. More...
|
|
class | PiBlockDDGNode |
| Subclass of DDGNode representing a pi-block. More...
|
|
class | PipelineTuningOptions |
| Tunable parameters for passes in the default pipelines. More...
|
|
class | PlaceSafepointsPass |
|
class | PluginInlineAdvisorAnalysis |
| Used for dynamically registering InlineAdvisors as plugins. More...
|
|
class | PluginInlineOrderAnalysis |
| Used for dynamically loading instances of InlineOrder as plugins. More...
|
|
struct | PluginLoader |
|
class | PMDataManager |
| PMDataManager provides the common place to manage the analysis data used by pass managers. More...
|
|
class | PMStack |
| PMStack - This class implements a stack data structure of PMDataManager pointers. More...
|
|
class | PMTopLevelManager |
| PMTopLevelManager manages LastUser info and collects common APIs used by top level pass managers. More...
|
|
struct | po_ext_iterator |
|
class | po_iterator |
|
class | po_iterator_storage |
| Default po_iterator_storage implementation with an internal set object. More...
|
|
class | po_iterator_storage< LoopBlocksTraversal, true > |
| Specialize po_iterator_storage to record postorder numbers. More...
|
|
class | po_iterator_storage< LoopBounds, true > |
|
class | po_iterator_storage< SetType, true > |
| Specialization of po_iterator_storage that references an external set. More...
|
|
struct | pointee_iterator |
| An iterator type that allows iterating over the pointees via some other iterator. More...
|
|
class | pointer_iterator |
|
struct | PointerDiffInfo |
|
class | PointerEmbeddedInt |
| Utility to embed an integer into a pointer-like type. More...
|
|
class | PointerIntPair |
| PointerIntPair - This class implements a pair of a pointer and small integer. More...
|
|
struct | PointerIntPairInfo |
|
struct | PointerLikeTypeTraits |
| A traits type that is used to handle pointer types and things that are just wrappers for pointers as a uniform entity. More...
|
|
struct | PointerLikeTypeTraits< const T * > |
|
struct | PointerLikeTypeTraits< const T > |
|
struct | PointerLikeTypeTraits< PointerEmbeddedInt< IntT, Bits > > |
|
struct | PointerLikeTypeTraits< PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > > |
|
struct | PointerLikeTypeTraits< PointerUnion< PTs... > > |
|
struct | PointerLikeTypeTraits< ReachingDef > |
|
struct | PointerLikeTypeTraits< ReturnT(*)(ParamTs...)> |
| Provide a default specialization for function pointers that assumes 4-byte alignment. More...
|
|
struct | PointerLikeTypeTraits< T * > |
|
struct | PointerLikeTypeTraits< uintptr_t > |
|
struct | PointerLikeTypeTraits< void * > |
|
class | PointerSumType |
| A sum type over pointer-like types. More...
|
|
struct | PointerSumTypeMember |
| A compile time pair of an integer tag and the pointer-like type which it indexes within a sum type. More...
|
|
class | PointerType |
| Class to represent pointers. More...
|
|
class | PointerUnion |
| A discriminated union of two or more pointer types, with the discriminator in the low bit of the pointer. More...
|
|
struct | PoisonFlags |
|
class | PoisoningVH |
| Value handle that poisons itself if the Value is deleted. More...
|
|
class | PoisonValue |
| In order to facilitate speculative execution, many instructions do not invoke immediate undefined behavior when provided with illegal operands, and return a poison value instead. More...
|
|
class | PopulateLoopsDFS |
| Populate all loop data in a stable order during a single forward DFS. More...
|
|
class | PossiblyDisjointInst |
| An or instruction, which can be marked as "disjoint", indicating that the inputs don't have a 1 in the same bit position. More...
|
|
class | PossiblyExactOperator |
| A udiv or sdiv instruction, which can be marked as "exact", indicating that no bits are destroyed. More...
|
|
class | PossiblyNonNegInst |
| Instruction that can have a nneg flag (zext/uitofp). More...
|
|
class | PostDominatorTree |
| PostDominatorTree Class - Concrete subclass of DominatorTree that is used to compute the post-dominator tree. More...
|
|
class | PostDominatorTreeAnalysis |
| Analysis pass which computes a PostDominatorTree . More...
|
|
class | PostDominatorTreePrinterPass |
| Printer pass for the PostDominatorTree . More...
|
|
struct | PostDominatorTreeWrapperPass |
|
struct | PostDomOnlyPrinter |
|
struct | PostDomOnlyViewer |
|
struct | PostDomPrinter |
|
struct | PostDomViewer |
|
class | PostGenericScheduler |
| PostGenericScheduler - Interface to the scheduling algorithm used by ScheduleDAGMI. More...
|
|
struct | PostOrderFunctionAttrsPass |
| Computes function attributes in post-order over the call graph. More...
|
|
struct | PotentialValuesState |
| A class for a set state. More...
|
|
class | PPC64LinuxTargetObjectFile |
| PPC64LinuxTargetObjectFile - This implementation is used for 64-bit PowerPC Linux. More...
|
|
class | PPCCallLowering |
|
class | PPCCCState |
|
class | PPCDispatchGroupSBHazardRecognizer |
| PPCDispatchGroupSBHazardRecognizer - This class implements a scoreboard-based hazard recognizer for PPC ooo processors with dispatch-group hazards. More...
|
|
class | PPCELFMCAsmInfo |
|
class | PPCELFStreamer |
|
class | PPCFrameLowering |
|
class | PPCFunctionInfo |
| PPCFunctionInfo - This class is derived from MachineFunction private PowerPC target-specific information for each MachineFunction. More...
|
|
class | PPCGenRegisterBankInfo |
|
class | PPCHazardRecognizer970 |
| PPCHazardRecognizer970 - This class defines a finite state automata that models the dispatch logic on the PowerPC 970 (aka G5) processor. More...
|
|
class | PPCIncomingValueHandler |
|
class | PPCInstPrinter |
|
class | PPCInstrInfo |
|
class | PPCLegalizerInfo |
| This class provides the information for the PowerPC target legalizer for GlobalISel. More...
|
|
class | PPCMCCodeEmitter |
|
class | PPCMCExpr |
|
class | PPCPostRASchedStrategy |
| A MachineSchedStrategy implementation for PowerPC post RA scheduling. More...
|
|
class | PPCPreRASchedStrategy |
| A MachineSchedStrategy implementation for PowerPC pre RA scheduling. More...
|
|
class | PPCRegisterBankInfo |
|
class | PPCRegisterInfo |
|
class | PPCSelectionDAGInfo |
|
class | PPCSubtarget |
|
class | PPCTargetLowering |
|
class | PPCTargetMachine |
| Common code between 32-bit and 64-bit PowerPC targets. More...
|
|
class | PPCTargetStreamer |
|
class | PPCTTIImpl |
|
class | PPCXCOFFMCAsmInfo |
|
class | PPCXCOFFStreamer |
|
class | PredicateAssume |
|
class | PredicateBase |
|
class | PredicateBranch |
|
struct | PredicateConstraint |
| Constraint for a predicate of the form "cmp Pred Op, OtherOp", where Op is the value the constraint applies to (the ssa.copy result). More...
|
|
class | PredicatedScalarEvolution |
| An interface layer with SCEV used to manage how we see SCEV expressions for values in the context of existing predicates. More...
|
|
class | PredicateInfo |
| Encapsulates PredicateInfo, including all data associated with memory accesses. More...
|
|
class | PredicateInfoAnnotatedWriter |
| An assembly annotator class to print PredicateInfo information in comments. More...
|
|
class | PredicateInfoBuilder |
|
class | PredicateInfoPrinterPass |
| Printer pass for PredicateInfo . More...
|
|
struct | PredicateInfoVerifierPass |
| Verifier pass for PredicateInfo . More...
|
|
class | PredicateSwitch |
|
class | PredicateWithEdge |
|
class | PredIterator |
|
class | PredIteratorCache |
| PredIteratorCache - This class is an extremely trivial cache for predecessor iterator queries. More...
|
|
struct | PreferredTuple |
|
struct | PreISelIntrinsicLoweringPass |
|
class | PreRARematStage |
|
class | PreservedAnalyses |
| A set of analyses that are preserved following a run of a transformation pass. More...
|
|
class | PreservedCFGCheckerInstrumentation |
|
class | PressureChange |
| Capture a change in pressure for a single pressure set. More...
|
|
class | PressureDiff |
| List of PressureChanges in order of increasing, unique PSetID. More...
|
|
class | PressureDiffs |
| Array of PressureDiffs. More...
|
|
class | PrettyStackTraceEntry |
| PrettyStackTraceEntry - This class is used to represent a frame of the "pretty" stack trace that is dumped when a program crashes. More...
|
|
class | PrettyStackTraceFormat |
| PrettyStackTraceFormat - This object prints a string (which may use printf-style formatting but should not contain newlines) to the stream as the stack trace when a crash occurs. More...
|
|
class | PrettyStackTraceProgram |
| PrettyStackTraceProgram - This object prints a specified program arguments to the stream as the stack trace when a crash occurs. More...
|
|
class | PrettyStackTraceString |
| PrettyStackTraceString - This object prints a specified string (which should not contain newlines) to the stream as the stack trace when a crash occurs. More...
|
|
class | Printable |
| Simple wrapper around std::function<void(raw_ostream&)>. More...
|
|
class | PrintCrashIRInstrumentation |
|
struct | PrintedExpr |
| A user-facing string representation of a DWARF expression. More...
|
|
class | PrintFunctionPass |
| Pass (for the new pass manager) for printing a Function as LLVM's text IR assembly. More...
|
|
class | PrintIRInstrumentation |
| Instrumentation to print IR before/after passes. More...
|
|
class | PrintLoopPass |
| Pass for printing a loop's contents as textual IR. More...
|
|
class | PrintMIRPass |
|
class | PrintMIRPreparePass |
|
class | PrintModulePass |
| Pass (for the new pass manager) for printing a Module as LLVM's text IR assembly. More...
|
|
class | PrintPassInstrumentation |
|
struct | PrintPassOptions |
|
class | PriorityQueue |
| PriorityQueue - This class behaves like std::priority_queue and provides a few additional convenience functions. More...
|
|
class | PriorityWorklist |
| A FILO worklist that prioritizes on re-insertion without duplication. More...
|
|
class | ProfileSummary |
|
class | ProfileSummaryAnalysis |
| An analysis pass based on the new PM to deliver ProfileSummaryInfo. More...
|
|
class | ProfileSummaryBuilder |
|
struct | ProfileSummaryEntry |
|
class | ProfileSummaryInfo |
| Analysis providing profile information. More...
|
|
class | ProfileSummaryInfoWrapperPass |
| An analysis pass based on legacy pass manager to deliver ProfileSummaryInfo. More...
|
|
class | ProfileSummaryPrinterPass |
| Printer pass that uses ProfileSummaryAnalysis . More...
|
|
struct | ProfiParams |
| Various thresholds and options controlling the behavior of the profile inference algorithm. More...
|
|
class | ProfOStream |
|
class | PrologEpilogSGPRSaveRestoreInfo |
|
class | PrologEpilogSGPRSpillBuilder |
|
class | PromotePass |
|
class | PSetIterator |
| Iterate over the pressure sets affected by the given physical or virtual register. More...
|
|
struct | PseudoProbe |
|
class | PseudoProbeDescriptor |
|
struct | PseudoProbeDwarfDiscriminator |
|
class | PseudoProbeHandler |
|
class | PseudoProbeInst |
|
class | PseudoProbeManager |
|
class | PseudoProbeSDNode |
| This SDNode is used for PSEUDO_PROBE values, which are the function guid and the index of the basic block being probed. More...
|
|
class | PseudoProbeUpdatePass |
|
class | PseudoProbeVerifier |
|
class | PseudoSourceValue |
| Special value supplied for machine level alias analysis. More...
|
|
class | PseudoSourceValueManager |
| Manages creation of pseudo source values. More...
|
|
struct | PtrAddChain |
|
class | PtrToIntInst |
| This class represents a cast from a pointer to an integer. More...
|
|
class | PtrToIntOperator |
|
class | PtrUseVisitor |
| A base class for visitors over the uses of a pointer value. More...
|
|
class | R600AsmPrinter |
|
class | R600CodeGenPassBuilder |
|
class | R600FrameLowering |
|
class | R600InstPrinter |
|
class | R600InstrInfo |
|
class | R600MachineFunctionInfo |
|
struct | R600RegisterInfo |
|
class | R600SchedStrategy |
|
class | R600Subtarget |
|
class | R600TargetLowering |
|
class | R600TargetMachine |
|
class | R600TTIImpl |
|
class | RAGreedy |
|
class | RAIIDelegateInstaller |
| A simple RAII based Delegate installer. More...
|
|
class | RAIIMFObsDelInstaller |
| Class to install both of the above. More...
|
|
class | RAIIMFObserverInstaller |
| A simple RAII based Observer installer. More...
|
|
class | RAIITemporaryObserverInstaller |
| A simple RAII based Observer installer. More...
|
|
struct | RandomIRBuilder |
|
class | RandomNumberGenerator |
| A random number generator. More...
|
|
struct | RangeListEntry |
| A class representing a single range list entry. More...
|
|
struct | RangeSpan |
|
struct | RangeSpanList |
|
struct | rank |
| Utility type to build an inheritance chain that makes it easy to rank overload candidates. More...
|
|
struct | rank< 0 > |
|
class | raw_fd_ostream |
| A raw_ostream that writes to a file descriptor. More...
|
|
class | raw_fd_stream |
| A raw_ostream of a file for reading/writing/seeking. More...
|
|
class | raw_null_ostream |
| A raw_ostream that discards all output. More...
|
|
class | raw_os_ostream |
| raw_os_ostream - A raw_ostream that writes to an std::ostream. More...
|
|
class | raw_ostream |
| This class implements an extremely fast bulk output stream that can only output to a stream. More...
|
|
class | raw_pwrite_stream |
| An abstract base class for streams implementations that also support a pwrite operation. More...
|
|
class | raw_sha1_ostream |
| A raw_ostream that hash the content using the sha1 algorithm. More...
|
|
class | raw_socket_stream |
|
class | raw_string_ostream |
| A raw_ostream that writes to an std::string. More...
|
|
class | raw_svector_ostream |
| A raw_ostream that writes to an SmallVector or SmallString. More...
|
|
class | RawInstrProfReader |
| Reader for the raw instrprof binary format from runtime. More...
|
|
class | RawLocationWrapper |
| Lightweight class that wraps the location operand metadata of a debug intrinsic. More...
|
|
class | RCToken |
|
class | ReachingDef |
| Thin wrapper around "int" used to store reaching definitions, using an encoding that makes it compatible with TinyPtrVector. More...
|
|
class | ReachingDefAnalysis |
| This class provides the reaching def analysis. More...
|
|
class | ReadyQueue |
| Helpers for implementing custom MachineSchedStrategy classes. More...
|
|
struct | RealtimeSanitizerPass |
| Create ctor and init functions. More...
|
|
class | ReassociatePass |
| Reassociate commutative expressions. More...
|
|
struct | RecomputeGlobalsAAPass |
|
class | Record |
|
class | RecordKeeper |
|
class | RecordRecTy |
| '[classname]' - Type of record values that have zero or more superclasses. More...
|
|
class | RecordResolver |
| Resolve all variables from a record except for unset variables. More...
|
|
struct | RecordsEntry |
| RecordsEntry - Holds exactly one of a Record, ForeachLoop, or AssertionInfo. More...
|
|
class | RecordStreamer |
|
class | RecordVal |
| This class represents a field in a record, including its name, type, value, and source location. More...
|
|
class | RecTy |
|
class | RecurrenceDescriptor |
| The RecurrenceDescriptor is used to identify recurrences variables in a loop. More...
|
|
class | Recycler |
| Recycler - This class manages a linked-list of deallocated nodes and facilitates reusing deallocated memory in place of allocating new memory. More...
|
|
class | RecyclingAllocator |
| RecyclingAllocator - This class wraps an Allocator, adding the functionality of recycling deleted objects. More...
|
|
class | RedundantDbgInstEliminationPass |
|
class | RefCountedBase |
| A CRTP mixin class that adds reference counting to a type. More...
|
|
class | RegAllocBase |
| RegAllocBase provides the register allocation driver and interface that can be extended to add interesting heuristics. More...
|
|
class | RegAllocEvictionAdvisor |
|
class | RegAllocEvictionAdvisorAnalysis |
| ImmutableAnalysis abstraction for fetching the Eviction Advisor. More...
|
|
class | RegAllocFastPass |
|
struct | RegAllocFastPassOptions |
|
class | RegAllocPriorityAdvisor |
| Interface to the priority advisor, which is responsible for prioritizing live ranges. More...
|
|
class | RegAllocPriorityAdvisorAnalysis |
|
class | RegAllocScore |
| Regalloc score. More...
|
|
class | RegAllocScoring |
|
class | RegBankSelect |
| This pass implements the reg bank selector pass used in the GlobalISel pipeline. More...
|
|
struct | RegClassWeight |
| Each TargetRegisterClass has a per register weight, and weight limit which must be less than the limits of its pressure sets. More...
|
|
class | Regex |
|
struct | RegImmPair |
| Used to describe a register and immediate addition. More...
|
|
class | Region |
|
class | RegionBase |
| A single entry single exit Region. More...
|
|
class | RegionInfo |
|
class | RegionInfoAnalysis |
| Analysis pass that exposes the RegionInfo for a function. More...
|
|
class | RegionInfoBase |
| Analysis that detects all canonical Regions. More...
|
|
class | RegionInfoPass |
|
class | RegionInfoPrinterPass |
| Printer pass for the RegionInfo . More...
|
|
struct | RegionInfoVerifierPass |
| Verifier pass for the RegionInfo . More...
|
|
class | RegionNode |
|
class | RegionNodeBase |
| A RegionNode represents a subregion or a BasicBlock that is part of a Region. More...
|
|
class | RegionPass |
| A pass that runs on each Region in a function. More...
|
|
struct | RegionPressure |
| RegisterPressure computed within a region of instructions delimited by TopPos and BottomPos. More...
|
|
class | RegionPressureMap |
|
struct | RegionTraits |
|
struct | RegionTraits< Function > |
|
struct | RegionTraits< MachineFunction > |
|
class | Register |
| Wrapper class representing virtual and physical registers. More...
|
|
struct | RegisterAsmPrinter |
| RegisterAsmPrinter - Helper template for registering a target specific assembly printer, for use in the target machine initialization function. More...
|
|
class | RegisterBank |
| This class implements the register bank concept. More...
|
|
class | RegisterBankInfo |
| Holds all the information related to register banks. More...
|
|
class | RegisterClassInfo |
|
struct | RegisterImmPair |
|
struct | RegisterMaskPair |
|
class | RegisterMaskSDNode |
|
struct | RegisterMCAsmBackend |
| RegisterMCAsmBackend - Helper template for registering a target specific assembler backend. More...
|
|
struct | RegisterMCAsmInfo |
| RegisterMCAsmInfo - Helper template for registering a target assembly info implementation. More...
|
|
struct | RegisterMCAsmInfoFn |
| RegisterMCAsmInfoFn - Helper template for registering a target assembly info implementation. More...
|
|
struct | RegisterMCAsmParser |
| RegisterMCAsmParser - Helper template for registering a target specific assembly parser, for use in the target machine initialization function. More...
|
|
struct | RegisterMCCodeEmitter |
| RegisterMCCodeEmitter - Helper template for registering a target specific machine code emitter, for use in the target initialization function. More...
|
|
struct | RegisterMCInstrAnalysis |
| RegisterMCInstrAnalysis - Helper template for registering a target instruction analyzer implementation. More...
|
|
struct | RegisterMCInstrAnalysisFn |
| RegisterMCInstrAnalysisFn - Helper template for registering a target instruction analyzer implementation. More...
|
|
struct | RegisterMCInstrInfo |
| RegisterMCInstrInfo - Helper template for registering a target instruction info implementation. More...
|
|
struct | RegisterMCInstrInfoFn |
| RegisterMCInstrInfoFn - Helper template for registering a target instruction info implementation. More...
|
|
struct | RegisterMCObjectFileInfo |
| Helper template for registering a target object file info implementation. More...
|
|
struct | RegisterMCObjectFileInfoFn |
| Helper template for registering a target object file info implementation. More...
|
|
struct | RegisterMCRegInfo |
| RegisterMCRegInfo - Helper template for registering a target register info implementation. More...
|
|
struct | RegisterMCRegInfoFn |
| RegisterMCRegInfoFn - Helper template for registering a target register info implementation. More...
|
|
struct | RegisterMCSubtargetInfo |
| RegisterMCSubtargetInfo - Helper template for registering a target subtarget info implementation. More...
|
|
struct | RegisterMCSubtargetInfoFn |
| RegisterMCSubtargetInfoFn - Helper template for registering a target subtarget info implementation. More...
|
|
class | RegisterOperands |
| List of registers defined and used by a machine instruction. More...
|
|
struct | RegisterPass |
| RegisterPass<t> template - This template class is used to notify the system that a Pass is available for use, and registers it into the internal database maintained by the PassManager. More...
|
|
class | RegisterPassParser |
| RegisterPassParser class - Handle the addition of new machine passes. More...
|
|
struct | RegisterPressure |
| Base class for register pressure results. More...
|
|
class | RegisterRegAlloc |
|
class | RegisterRegAllocBase |
| RegisterRegAllocBase class - Track the registration of register allocators. More...
|
|
class | RegisterScheduler |
|
class | RegisterSDNode |
|
struct | RegisterTarget |
| RegisterTarget - Helper template for registering a target, for use in the target's initialization function. More...
|
|
struct | RegisterTargetMachine |
| RegisterTargetMachine - Helper template for registering a target machine implementation, for use in the target machine initialization function. More...
|
|
class | Registry |
| A global registry used in conjunction with static constructors to make pluggable components (like targets or garbage collectors) "just work" when linked with an executable. More...
|
|
class | RegOrConstant |
| Represents a value which can be a Register or a constant. More...
|
|
struct | RegPressureDelta |
| Store the effects of a change in pressure on things that MI scheduler cares about. More...
|
|
class | RegPressureTracker |
| Track the current register pressure at some position in the instruction stream, and remember the high water mark within the region traversed. More...
|
|
class | RegScavenger |
|
struct | RegsForValue |
| This struct represents the registers (physical or virtual) that a particular set of values is assigned, and the type information about the value. More...
|
|
class | RegToMemPass |
|
class | RegToMemWrapperPass |
|
struct | RegTraits |
|
class | RegUsageInfoCollectorPass |
|
class | RegUsageInfoPropagationPass |
|
class | ReleaseModeModelRunner |
|
class | ReleaseModePriorityAdvisorAnalysis |
|
class | RelLookupTableConverterPass |
|
struct | RelocAddrEntry |
| RelocAddrEntry contains relocated value and section index. More...
|
|
class | RelocationEntry |
| RelocationEntry - used to represent relocations internally in the dynamic linker. More...
|
|
class | RelocationValueRef |
|
struct | remove_cvref |
|
class | ReplaceableMetadataImpl |
| Shared implementation of use-lists for replaceable metadata. More...
|
|
struct | ReplacementItem |
|
struct | ReplaceWithVeclib |
|
struct | ReplaceWithVeclibLegacy |
|
class | ReplayInlineAdvisor |
| Replay inline advisor that uses optimization remarks from inlining of previous build to guide current inlining. More...
|
|
struct | ReplayInlinerSettings |
| Replay Inliner Setup. More...
|
|
struct | RequireAnalysisPass |
| A utility pass template to force an analysis result to be available. More...
|
|
struct | RequireAnalysisPass< AnalysisT, LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & > |
| An explicit specialization of the require analysis template pass. More...
|
|
struct | RequireAnalysisPass< AnalysisT, Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & > |
| A partial specialization of the require analysis template pass to forward the extra parameters from a transformation's run method to the AnalysisManager's getResult. More...
|
|
class | ReservoirSampler |
| Randomly selects an item by sampling into a set with an unknown number of elements, which may each be weighted to be more likely choices. More...
|
|
class | Resolver |
| Interface for looking up the initializer for a variable name, used by Init::resolveReferences. More...
|
|
class | ResolverError |
|
struct | resource_sort |
| Sorting functions for the Available queue. More...
|
|
class | ResourceManager |
|
class | ResourcePriorityQueue |
|
class | ResourceSegments |
| ResourceSegments are a collection of intervals closed on the left and opened on the right: More...
|
|
class | ResumeInst |
| Resume the propagation of an exception. More...
|
|
struct | RetainedKnowledge |
| Represent one information held inside an operand bundle of an llvm.assume. More...
|
|
class | ReturnInst |
| Return a value (possibly void), from a function. More...
|
|
class | ReversePostOrderFunctionAttrsPass |
| A pass to do RPO deduction and propagation of function attributes. More...
|
|
class | ReversePostOrderTraversal |
|
class | RewriteBuffer |
| RewriteBuffer - As code is rewritten, SourceBuffer's from the original input with modifications get a new RewriteBuffer associated with them. More...
|
|
class | RewriteRope |
| RewriteRope - A powerful string class. More...
|
|
struct | RewriteStatepointsForGC |
|
class | RewriteSymbolPass |
|
class | RGPassManager |
| The pass manager to schedule RegionPasses. More...
|
|
class | RISCVAsmBackend |
|
class | RISCVAttributeParser |
|
class | RISCVCallLowering |
|
class | RISCVConstantPoolValue |
| A RISCV-specific constant pool value. More...
|
|
class | RISCVDAGToDAGISel |
|
class | RISCVDAGToDAGISelLegacy |
|
class | RISCVELFStreamer |
|
class | RISCVELFTargetObjectFile |
| This implementation is used for RISC-V ELF targets. More...
|
|
class | RISCVFrameLowering |
|
class | RISCVGenRegisterBankInfo |
|
class | RISCVInstPrinter |
|
class | RISCVInstrInfo |
|
class | RISCVISAInfo |
|
class | RISCVLegalizerInfo |
|
class | RISCVMachineFunctionInfo |
| RISCVMachineFunctionInfo - This class is derived from MachineFunctionInfo and contains private RISCV-specific information for each MachineFunction. More...
|
|
class | RISCVMCAsmInfo |
|
class | RISCVMCExpr |
|
class | RISCVMCObjectFileInfo |
|
struct | RISCVOptionArchArg |
|
class | RISCVRegisterBankInfo |
| This class provides the information for the target register banks. More...
|
|
struct | RISCVRegisterInfo |
|
class | RISCVSelectionDAGInfo |
|
class | RISCVSubtarget |
|
class | RISCVTargetAsmStreamer |
|
class | RISCVTargetELFStreamer |
|
class | RISCVTargetLowering |
|
class | RISCVTargetMachine |
|
class | RISCVTargetStreamer |
|
class | RISCVTTIImpl |
|
class | RISCVVectorMaskDAGMutation |
|
class | RNSuccIterator |
| Hierarchical RegionNode successor iterator. More...
|
|
class | RNSuccIterator< FlatIt< NodeRef >, BlockT, RegionT > |
| Flat RegionNode iterator. More...
|
|
class | RootDDGNode |
| Subclass of DDGNode representing the root node of the graph. More...
|
|
struct | RopePiece |
| RopePiece - This class represents a view into a RopeRefCountString object. More...
|
|
class | RopePieceBTree |
|
class | RopePieceBTreeIterator |
| RopePieceBTreeIterator - This class provides read-only forward iteration over bytes that are in a RopePieceBTree. More...
|
|
struct | RopeRefCountString |
| RopeRefCountString - This struct is allocated with 'new char[]' from the heap, and represents a reference counted chunk of string data. More...
|
|
class | RTDyldMemoryManager |
|
class | RTTIExtends |
| Inheritance utility for extensible RTTI. More...
|
|
class | RTTIRoot |
| Base class for the extensible RTTI hierarchy. More...
|
|
struct | RuntimeCheckingPtrGroup |
| A grouping of pointers. More...
|
|
class | RuntimeDyld |
|
class | RuntimeDyldChecker |
| RuntimeDyld invariant checker for verifying that RuntimeDyld has correctly applied relocations. More...
|
|
class | RuntimeDyldCheckerExprEval |
|
class | RuntimeDyldCheckerImpl |
|
class | RuntimeDyldCOFF |
|
class | RuntimeDyldCOFFAArch64 |
|
class | RuntimeDyldCOFFI386 |
|
class | RuntimeDyldCOFFThumb |
|
class | RuntimeDyldCOFFX86_64 |
|
class | RuntimeDyldELF |
|
class | RuntimeDyldELFMips |
|
class | RuntimeDyldError |
| Base class for errors originating in RuntimeDyld, e.g. More...
|
|
class | RuntimeDyldImpl |
|
class | RuntimeDyldMachO |
|
class | RuntimeDyldMachOAArch64 |
|
class | RuntimeDyldMachOARM |
|
class | RuntimeDyldMachOCRTPBase |
| RuntimeDyldMachOTarget - Templated base class for generic MachO linker algorithms and data structures. More...
|
|
class | RuntimeDyldMachOI386 |
|
class | RuntimeDyldMachOX86_64 |
|
class | RuntimePointerChecking |
| Holds information about the memory runtime legality checks to verify that a group of pointers do not overlap. More...
|
|
class | SafepointIRVerifierPass |
| Create an instance of the safepoint verifier pass which can be added to a pass pipeline to check for relocation bugs. More...
|
|
class | SafeStackPass |
|
struct | SameType |
|
class | SampleContextTracker |
|
class | SampleProfileInference |
| Sample profile inference pass. More...
|
|
class | SampleProfileLoaderBaseImpl |
|
class | SampleProfileLoaderPass |
| The sample profiler data loader pass. More...
|
|
class | SampleProfileMatcher |
|
class | SampleProfileProbePass |
|
class | SampleProfileProber |
| Sample profile pseudo prober. More...
|
|
class | SampleProfileSummaryBuilder |
|
class | SandboxVectorizerPass |
|
struct | SanitizerBinaryMetadataOptions |
|
class | SanitizerBinaryMetadataPass |
| Public interface to the SanitizerBinaryMetadata module pass for emitting metadata for binary analysis sanitizers. More...
|
|
struct | SanitizerCoverageOptions |
|
class | SanitizerCoveragePass |
| This is the ModuleSanitizerCoverage pass used in the new pass manager. More...
|
|
struct | SanitizerStatReport |
|
class | SaturatingInst |
| Represents a saturating add/sub intrinsic. More...
|
|
struct | SaveAndRestore |
| A utility class that uses RAII to save and restore the value of a variable. More...
|
|
class | ScalableVectorType |
| Class to represent scalable SIMD vectors. More...
|
|
class | ScalarEvolution |
| The main scalar evolution driver. More...
|
|
class | ScalarEvolutionAnalysis |
| Analysis pass that exposes the ScalarEvolution for a function. More...
|
|
class | ScalarEvolutionPrinterPass |
| Printer pass for the ScalarEvolutionAnalysis results. More...
|
|
class | ScalarEvolutionVerifierPass |
| Verifier pass for the ScalarEvolutionAnalysis results. More...
|
|
class | ScalarEvolutionWrapperPass |
|
struct | ScalarizeMaskedMemIntrinPass |
|
class | ScalarizerPass |
|
struct | ScalarizerPassOptions |
|
class | ScaledNumber |
| Simple representation of a scaled number. More...
|
|
class | ScaledNumberBase |
|
class | scc_iterator |
| Enumerate the SCCs of a directed graph in reverse topological order of the SCC DAG. More...
|
|
class | scc_member_iterator |
| Sort the nodes of a directed SCC in the decreasing order of the edge weights. More...
|
|
class | SCCPInstVisitor |
| Helper class for SCCPSolver. More...
|
|
class | SCCPPass |
| This pass performs function-level constant propagation and merging. More...
|
|
class | SCCPSolver |
| SCCPSolver - This interface class is a general purpose solver for Sparse Conditional Constant Propagation (SCCP). More...
|
|
class | SCEV |
| This class represents an analyzed expression in the program. More...
|
|
class | SCEVAA |
| Analysis pass providing a never-invalidated alias analysis result. More...
|
|
class | SCEVAAResult |
| A simple alias analysis implementation that uses ScalarEvolution to answer queries. More...
|
|
class | SCEVAAWrapperPass |
| Legacy wrapper pass to provide the SCEVAAResult object. More...
|
|
class | SCEVAddExpr |
| This node represents an addition of some number of SCEVs. More...
|
|
class | SCEVAddRecExpr |
| This node represents a polynomial recurrence on the trip count of the specified loop. More...
|
|
class | SCEVCastExpr |
| This is the base class for unary cast operator classes. More...
|
|
class | SCEVCommutativeExpr |
| This node is the base class for n'ary commutative operators. More...
|
|
class | SCEVComparePredicate |
| This class represents an assumption that the expression LHS Pred RHS evaluates to true, and this can be checked at run-time. More...
|
|
class | SCEVConstant |
| This class represents a constant integer value. More...
|
|
struct | SCEVCouldNotCompute |
| An object of this class is returned by queries that could not be answered. More...
|
|
struct | SCEVDivision |
|
class | SCEVExpander |
| This class uses information about analyze scalars to rewrite expressions in canonical form. More...
|
|
class | SCEVExpanderCleaner |
| Helper to remove instructions inserted during SCEV expansion, unless they are marked as used. More...
|
|
class | SCEVIntegralCastExpr |
| This is the base class for unary integral cast operator classes. More...
|
|
class | SCEVLoopAddRecRewriter |
| The SCEVLoopAddRecRewriter takes a scalar evolution expression and applies the Map (Loop -> SCEV) to all AddRecExprs. More...
|
|
class | SCEVMinMaxExpr |
| This node is the base class min/max selections. More...
|
|
class | SCEVMulExpr |
| This node represents multiplication of some number of SCEVs. More...
|
|
class | SCEVNAryExpr |
| This node is a base class providing common functionality for n'ary operators. More...
|
|
struct | SCEVOperand |
| struct for holding enough information to help calculate the cost of the given SCEV when expanded into IR. More...
|
|
class | SCEVParameterRewriter |
| The SCEVParameterRewriter takes a scalar evolution expression and updates the SCEVUnknown components following the Map (Value -> SCEV). More...
|
|
class | SCEVPredicate |
| This class represents an assumption made using SCEV expressions which can be checked at run-time. More...
|
|
class | SCEVPtrToIntExpr |
| This class represents a cast from a pointer to a pointer-sized integer value. More...
|
|
class | SCEVRewriteVisitor |
| This visitor recursively visits a SCEV expression and re-writes it. More...
|
|
class | SCEVSequentialMinMaxExpr |
| This node is the base class for sequential/in-order min/max selections. More...
|
|
class | SCEVSequentialUMinExpr |
| This class represents a sequential/in-order unsigned minimum selection. More...
|
|
class | SCEVSignExtendExpr |
| This class represents a sign extension of a small integer value to a larger integer value. More...
|
|
class | SCEVSMaxExpr |
| This class represents a signed maximum selection. More...
|
|
class | SCEVSMinExpr |
| This class represents a signed minimum selection. More...
|
|
class | SCEVTraversal |
| Visit all nodes in the expression tree using worklist traversal. More...
|
|
class | SCEVTruncateExpr |
| This class represents a truncation of an integer value to a smaller integer value. More...
|
|
class | SCEVUDivExpr |
| This class represents a binary unsigned division operation. More...
|
|
class | SCEVUMaxExpr |
| This class represents an unsigned maximum selection. More...
|
|
class | SCEVUMinExpr |
| This class represents an unsigned minimum selection. More...
|
|
class | SCEVUnionPredicate |
| This class represents a composition of other SCEV predicates, and is the class that most clients will interact with. More...
|
|
class | SCEVUnknown |
| This means that we are dealing with an entirely unknown SCEV value, and only represent it as its LLVM Value. More...
|
|
struct | SCEVVisitor |
| This class defines a simple visitor class that may be used for various SCEV analysis purposes. More...
|
|
class | SCEVVScale |
| This class represents the value of vscale, as used when defining the length of a scalable vector or returned by the llvm.vscale() intrinsic. More...
|
|
class | SCEVWrapPredicate |
| This class represents an assumption made on an AddRec expression. More...
|
|
class | SCEVZeroExtendExpr |
| This class represents a zero extension of a small integer value to a larger integer value. More...
|
|
class | SchedBoundary |
| Each Scheduling boundary is associated with ready queues. More...
|
|
class | SchedDFSImpl |
| Internal state used to compute SchedDFSResult. More...
|
|
class | SchedDFSResult |
| Compute the values of each DAG node for various metrics during DFS. More...
|
|
struct | SchedRemainder |
| Summarize the unscheduled region. More...
|
|
class | ScheduleDAG |
|
class | ScheduleDAGInstrs |
| A ScheduleDAG for scheduling lists of MachineInstr. More...
|
|
class | ScheduleDAGMI |
| ScheduleDAGMI is an implementation of ScheduleDAGInstrs that simply schedules machine instructions according to the given MachineSchedStrategy without much extra book-keeping. More...
|
|
class | ScheduleDAGMILive |
| ScheduleDAGMILive is an implementation of ScheduleDAGInstrs that schedules machine instructions while updating LiveIntervals and tracking regpressure. More...
|
|
class | ScheduleDAGMutation |
| Mutate the DAG as a postpass after normal DAG building. More...
|
|
class | ScheduleDAGSDNodes |
| ScheduleDAGSDNodes - A ScheduleDAG for scheduling SDNode-based DAGs. More...
|
|
class | ScheduleDAGTopologicalSort |
| This class can compute a topological ordering for SUnits and provides methods for dynamically updating the ordering as new edges are added. More...
|
|
class | ScheduleHazardRecognizer |
| HazardRecognizer - This determines whether or not an instruction can be issued this cycle, and whether or not a noop needs to be inserted to handle the hazard. More...
|
|
class | ScheduleMetrics |
|
class | SchedulingPriorityQueue |
| This interface is used to plug different priorities computation algorithms into the list scheduler. More...
|
|
class | ScopedDbgInfoFormatSetter |
| Used to temporarily set the debug info format of a function, module, or basic block for the duration of this object's lifetime, after which the prior state will be restored. More...
|
|
struct | ScopedFatalErrorHandler |
| ScopedFatalErrorHandler - This is a simple helper class which just calls install_fatal_error_handler in its constructor and remove_fatal_error_handler in its destructor. More...
|
|
class | ScopedHandle |
|
class | ScopedHashTable |
|
class | ScopedHashTableIterator |
|
class | ScopedHashTableScope |
|
class | ScopedHashTableVal |
|
class | ScopedNoAliasAA |
| Analysis pass providing a never-invalidated alias analysis result. More...
|
|
class | ScopedNoAliasAAResult |
| A simple AA result which uses scoped-noalias metadata to answer queries. More...
|
|
class | ScopedNoAliasAAWrapperPass |
| Legacy wrapper pass to provide the ScopedNoAliasAAResult object. More...
|
|
class | ScopedPrinter |
|
class | ScoreboardHazardRecognizer |
|
class | SDDbgInfo |
| Keeps track of dbg_value information through SDISel. More...
|
|
class | SDDbgLabel |
| Holds the information from a dbg_label node through SDISel. More...
|
|
class | SDDbgOperand |
| Holds the information for a single machine location through SDISel; either an SDNode, a constant, a stack location, or a virtual register. More...
|
|
class | SDDbgValue |
| Holds the information from a dbg_value node through SDISel. More...
|
|
class | SDep |
| Scheduling dependency. More...
|
|
class | SDLoc |
| Wrapper class for IR location info (IR ordering and DebugLoc) to be passed into SDNode creation functions. More...
|
|
class | SDNode |
| Represents one node in the SelectionDAG. More...
|
|
struct | SDNodeFlags |
| These are IR-level optimization flags that may be propagated to SDNodes. More...
|
|
class | SDNodeIterator |
|
class | SDUse |
| Represents a use of a SDNode. More...
|
|
class | SDValue |
| Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation. More...
|
|
struct | SDVTList |
| This represents a list of ValueType's that has been intern'd by a SelectionDAG. More...
|
|
class | SDVTListNode |
|
class | SectionEntry |
| SectionEntry - represents a section emitted into memory by the dynamic linker. More...
|
|
class | SectionKind |
| SectionKind - This is a simple POD value that classifies the properties of a section. More...
|
|
class | SectionMemoryManager |
| This is a simple memory manager which implements the methods called by the RuntimeDyld class to allocate memory for section-based loading of objects, usually those generated by the MCJIT execution engine. More...
|
|
struct | SectionName |
|
struct | SEHHandler |
|
struct | SEHUnwindMapEntry |
| Similar to CxxUnwindMapEntry, but supports SEH filters. More...
|
|
class | SelectInst |
| This class represents the LLVM 'select' instruction. More...
|
|
class | SelectionDAG |
| This is used to represent a portion of an LLVM function in a low-level Data Dependence DAG representation suitable for instruction selection. More...
|
|
class | SelectionDAGBuilder |
| SelectionDAGBuilder - This is the common target-independent lowering implementation that is parameterized by a TargetLowering object. More...
|
|
class | SelectionDAGISel |
| SelectionDAGISel - This is the common base class used for SelectionDAG-based pattern-matching instruction selectors. More...
|
|
class | SelectionDAGISelLegacy |
|
class | SelectionDAGISelPass |
|
class | SelectionDAGTargetInfo |
| Targets can subclass this to parameterize the SelectionDAG lowering and instruction selection process. More...
|
|
class | SelectOptimizePass |
|
struct | SelectPatternResult |
|
class | SeparateConstOffsetFromGEPPass |
|
struct | SerializableCtxRepresentation |
| Representation of the context node suitable for yaml / json serialization / deserialization. More...
|
|
struct | SetState |
| Simple state for a set. More...
|
|
class | SetTheory |
|
class | SetVector |
| A vector that has set insertion semantics. More...
|
|
class | SExtInst |
| This class represents a sign extension of integer types. More...
|
|
struct | SGPRSpillBuilder |
|
class | SHA1 |
| A class that wrap the SHA1 algorithm. More...
|
|
class | SHA256 |
|
class | ShadowResolver |
| Delegate resolving to a sub-resolver, but shadow some variable names. More...
|
|
class | ShadowStackGCLoweringPass |
|
class | ShapeT |
|
struct | ShiftOfShiftedLogic |
|
class | ShlOperator |
|
class | ShouldNotRunFunctionPassesAnalysis |
|
struct | ShouldRunExtraPasses |
| A marker analysis to determine if extra passes should be run on demand. More...
|
|
struct | ShouldRunExtraSimpleLoopUnswitch |
| A marker analysis to determine if SimpleLoopUnswitch should run again on a given loop. More...
|
|
struct | ShouldRunExtraVectorPasses |
| A marker analysis to determine if extra passes should be run after loop vectorization. More...
|
|
class | ShuffleBlockStrategy |
| Strategy to randomly select a block and shuffle the operations without affecting data dependency. More...
|
|
class | ShuffleVectorConstantExpr |
| ShuffleVectorConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement shufflevector constant exprs. More...
|
|
class | ShuffleVectorInst |
| This instruction constructs a fixed permutation of two input vectors. More...
|
|
class | ShuffleVectorSDNode |
| This SDNode is used to implement the code generator support for the llvm IR shufflevector instruction. More...
|
|
class | SIAnnotateControlFlowPass |
|
class | SIFixSGPRCopiesPass |
|
class | SIFoldOperandsPass |
|
class | SIFrameLowering |
|
struct | SignedDivisionByConstantInfo |
| Magic data for optimising signed division by a constant. More...
|
|
class | SignpostEmitter |
| Manages the emission of signposts into the recording method supported by the OS. More...
|
|
class | SignpostEmitterImpl |
| Definition necessary for use of std::unique_ptr in SignpostEmitter::Impl. More...
|
|
class | SIInstrInfo |
|
struct | SIInstrWorklist |
| Utility to store machine instructions worklist. More...
|
|
class | SILoadStoreOptimizerPass |
|
class | SILowerI1CopiesPass |
|
class | SILowerSGPRSpillsPass |
|
class | SIMachineFunctionInfo |
| This class keeps track of the SPI_SP_INPUT_ADDR config register, which tells the hardware which interpolation parameters to load. More...
|
|
struct | SIModeRegisterDefaults |
|
class | simple_ilist |
| A simple intrusive list implementation. More...
|
|
class | SimpleAAQueryInfo |
| AAQueryInfo that uses SimpleCaptureAnalysis. More...
|
|
class | SimpleBitstreamCursor |
| This represents a position within a bitstream. More...
|
|
class | SimpleCaptureAnalysis |
| Context-free CaptureAnalysis provider, which computes and caches whether an object is captured in the function at all, but does not distinguish whether it was captured before or after the context instruction. More...
|
|
class | SimpleDDGNode |
| Subclass of DDGNode representing single or multi-instruction nodes. More...
|
|
class | SimpleLoopSafetyInfo |
| Simple and conservative implementation of LoopSafetyInfo that can give false-positive answers to its queries in order to avoid complicated analysis. More...
|
|
class | SimpleLoopUnswitchPass |
| This pass transforms loops that contain branches or switches on loop- invariant conditions to have multiple loops. More...
|
|
class | SimpleRegistryEntry |
| A simple registry entry which provides only a name, description, and no-argument constructor. More...
|
|
struct | simplify_type |
| Define a template that can be specialized by smart pointers to reflect the fact that they are automatically dereferenced, and are not involved with the template selection process... the default implementation is a noop. More...
|
|
struct | simplify_type< AssumptionCache::ResultElem > |
|
struct | simplify_type< const AssumptionCache::ResultElem > |
|
struct | simplify_type< const From > |
|
struct | simplify_type< const ilist_iterator< OptionsT, false, IsConst > > |
|
struct | simplify_type< const ilist_iterator_w_bits< OptionsT, false, IsConst > > |
|
struct | simplify_type< const IntrusiveRefCntPtr< T > > |
|
struct | simplify_type< const MDOperand > |
|
struct | simplify_type< const SDValue > |
|
struct | simplify_type< const TrackingMDRef > |
|
struct | simplify_type< const TypedTrackingMDRef< T > > |
|
struct | simplify_type< const Use > |
|
struct | simplify_type< const WeakTrackingVH > |
|
struct | simplify_type< const WeakVH > |
|
struct | simplify_type< ilist_iterator< OptionsT, false, IsConst > > |
| Allow ilist_iterators to convert into pointers to a node automatically when used by the dyn_cast, cast, isa mechanisms... More...
|
|
struct | simplify_type< ilist_iterator_w_bits< OptionsT, false, IsConst > > |
|
struct | simplify_type< IntrusiveRefCntPtr< T > > |
|
struct | simplify_type< MDOperand > |
|
struct | simplify_type< SDUse > |
| simplify_type specializations - Allow casting operators to work directly on SDValues as if they were SDNode*'s. More...
|
|
struct | simplify_type< SDValue > |
| Allow casting operators to work directly on SDValues as if they were SDNode*'s. More...
|
|
struct | simplify_type< TrackingMDRef > |
|
struct | simplify_type< TypedTrackingMDRef< T > > |
|
struct | simplify_type< Use > |
| Allow clients to treat uses just like values when using casting operators. More...
|
|
struct | simplify_type< User::const_op_iterator > |
|
struct | simplify_type< User::op_iterator > |
|
struct | simplify_type< WeakTrackingVH > |
|
struct | simplify_type< WeakVH > |
|
struct | SimplifyCFGOptions |
|
class | SimplifyCFGPass |
| A pass to simplify and canonicalize the CFG of a function. More...
|
|
struct | SimplifyQuery |
|
class | SingleThreadExecutor |
| A non-threaded implementation. More...
|
|
class | SinkAndHoistLICMFlags |
| Flags controlling how much is checked when sinking or hoisting instructions. More...
|
|
class | SinkingPass |
| Move instructions into successor blocks when possible. More...
|
|
class | SinkInstructionStrategy |
| Strategy to select a random instruction and add a new sink (user) to it to increate data dependency. More...
|
|
class | SIOptimizeVGPRLiveRangePass |
|
class | SIPeepholeSDWAPass |
|
class | SIPreAllocateWWMRegsPass |
|
struct | SIProgramInfo |
| Track resource usage for kernels / entry functions. More...
|
|
class | SIRegisterInfo |
|
class | SIScheduleBlock |
|
class | SIScheduleBlockCreator |
|
struct | SIScheduleBlockResult |
|
struct | SIScheduleBlocks |
|
class | SIScheduleBlockScheduler |
|
class | SIScheduleDAGMI |
|
class | SIScheduler |
|
struct | SISchedulerCandidate |
|
class | SIShrinkInstructionsPass |
|
class | SITargetLowering |
|
class | SIToFPInst |
| This class represents a cast from signed integer to floating point. More...
|
|
struct | SizeOffsetAPInt |
| SizeOffsetAPInt - Used by ObjectSizeOffsetVisitor , which works with APInts . More...
|
|
struct | SizeOffsetType |
| SizeOffsetType - A base template class for the object size visitors. More...
|
|
struct | SizeOffsetValue |
|
struct | SizeOffsetWeakTrackingVH |
| SizeOffsetWeakTrackingVH - Used by ObjectSizeOffsetEvaluator in a DenseMap . More...
|
|
class | SjLjEHPreparePass |
|
class | SlotIndex |
| SlotIndex - An opaque wrapper around machine indexes. More...
|
|
class | SlotIndexes |
| SlotIndexes pass. More...
|
|
class | SlotIndexesAnalysis |
|
class | SlotIndexesPrinterPass |
|
class | SlotIndexesWrapperPass |
|
struct | SlotMapping |
| This struct contains the mappings from the slot numbers to unnamed metadata nodes, global values and types. More...
|
|
class | SlotTracker |
| This class provides computation of slot numbers for LLVM Assembly writing. More...
|
|
struct | SLPVectorizerPass |
|
class | SmallBitVector |
| This is a 'bitvector' (really, a variable-sized bit array), optimized for the case when the array is small. More...
|
|
class | SmallDenseMap |
|
class | SmallDenseSet |
| Implements a dense probed hash-table based set with some number of buckets stored inline. More...
|
|
struct | SmallMapVector |
| A MapVector that performs no allocations if smaller than a certain size. More...
|
|
class | SmallPriorityWorklist |
| A version of PriorityWorklist that selects small size optimized data structures for the vector and map. More...
|
|
class | SmallPtrSet |
| SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements. More...
|
|
class | SmallPtrSetImpl |
| A templated base class for SmallPtrSet which provides the typesafe interface that is common across all small sizes. More...
|
|
class | SmallPtrSetImplBase |
| SmallPtrSetImplBase - This is the common code shared among all the SmallPtrSet<>'s, which is almost everything. More...
|
|
class | SmallPtrSetIterator |
| SmallPtrSetIterator - This implements a const_iterator for SmallPtrSet. More...
|
|
class | SmallPtrSetIteratorImpl |
| SmallPtrSetIteratorImpl - This is the common base class shared between all instances of SmallPtrSetIterator. More...
|
|
class | SmallSet |
| SmallSet - This maintains a set of unique values, optimizing for the case when the set is small (less than N). More...
|
|
class | SmallSet< PointeeType *, N > |
| If this set is of pointer values, transparently switch over to using SmallPtrSet for performance. More...
|
|
class | SmallSetIterator |
| SmallSetIterator - This class implements a const_iterator for SmallSet by delegating to the underlying SmallVector or Set iterators. More...
|
|
class | SmallSetVector |
| A SetVector that performs no allocations if smaller than a certain size. More...
|
|
class | SmallString |
| SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better as a string (e.g. More...
|
|
class | SmallVector |
| This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small. More...
|
|
struct | SmallVectorAlignmentAndSize |
| Figure out the offset of the first element. More...
|
|
class | SmallVectorBase |
| This is all the stuff common to all SmallVectors. More...
|
|
class | SmallVectorImpl |
| This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More...
|
|
class | SmallVectorMemoryBuffer |
| SmallVector-backed MemoryBuffer instance. More...
|
|
struct | SmallVectorStorage |
| Storage for the SmallVector elements. More...
|
|
struct | SmallVectorStorage< T, 0 > |
| We need the storage to be properly aligned even for small-size of 0 so that the pointer math in SmallVectorTemplateCommon::getFirstEl() is well-defined. More...
|
|
class | SmallVectorTemplateBase |
| SmallVectorTemplateBase<TriviallyCopyable = false> - This is where we put method implementations that are designed to work with non-trivial T's. More...
|
|
class | SmallVectorTemplateBase< T, true > |
| SmallVectorTemplateBase<TriviallyCopyable = true> - This is where we put method implementations that are designed to work with trivially copyable T's. More...
|
|
class | SmallVectorTemplateCommon |
| This is the part of SmallVectorTemplateBase which does not depend on whether the type T is a POD. More...
|
|
class | SMDiagnostic |
| Instances of this class encapsulate one diagnostic report, allowing printing to a raw_ostream as a caret diagnostic. More...
|
|
class | SMEAttrs |
| SMEAttrs is a utility class to parse the SME ACLE attributes on functions. More...
|
|
class | SMFixIt |
| Represents a single fixit, a replacement of one range of text with another. More...
|
|
class | SMLoc |
| Represents a location in source code. More...
|
|
class | SMRange |
| Represents a range in source code. More...
|
|
class | SMSchedule |
| This class represents the scheduled code. More...
|
|
class | SMTExpr |
| Generic base class for SMT exprs. More...
|
|
class | SMTSolver |
| Generic base class for SMT Solvers. More...
|
|
class | SMTSolverStatistics |
|
class | SMTSort |
| Generic base class for SMT sorts. More...
|
|
class | SourceMgr |
| This owns the files read by a parser, handles include stacks, and handles diagnostic wrangling. More...
|
|
class | SparcELFMCAsmInfo |
|
class | SparcELFTargetObjectFile |
|
class | SparcelTargetMachine |
|
class | SparcFrameLowering |
|
class | SparcInstPrinter |
|
class | SparcInstrInfo |
|
class | SparcMachineFunctionInfo |
|
class | SparcMCExpr |
|
struct | SparcRegisterInfo |
|
class | SparcSubtarget |
|
class | SparcTargetAsmStreamer |
|
class | SparcTargetELFStreamer |
|
class | SparcTargetLowering |
|
class | SparcTargetMachine |
|
class | SparcTargetStreamer |
|
class | SparcV8TargetMachine |
| Sparc 32-bit target machine. More...
|
|
class | SparcV9TargetMachine |
| Sparc 64-bit target machine. More...
|
|
class | SparseBitVector |
|
struct | SparseBitVectorElement |
| SparseBitVector is an implementation of a bitvector that is sparse by only storing the elements that have non-zero bits set. More...
|
|
class | SparseMultiSet |
| Fast multiset implementation for objects that can be identified by small unsigned keys. More...
|
|
class | SparseSet |
| SparseSet - Fast set implementation for objects that can be identified by small unsigned keys. More...
|
|
struct | SparseSetValFunctor |
| SparseSetValFunctor - Helper class for selecting SparseSetValTraits. More...
|
|
struct | SparseSetValFunctor< KeyT, KeyT, KeyFunctorT > |
| SparseSetValFunctor<KeyT, KeyT> - Helper class for the common case of identity key/value sets. More...
|
|
struct | SparseSetValTraits |
| SparseSetValTraits - Objects in a SparseSet are identified by keys that can be uniquely converted to a small integer less than the set's universe. More...
|
|
class | SparseSolver |
| SparseSolver - This class is a general purpose solver for Sparse Conditional Propagation with a programmable lattice function. More...
|
|
struct | Spec |
|
class | SpecialCaseList |
| This is a utility class used to parse user-provided text files with "special case lists" for code sanitizers. More...
|
|
class | SpecificBumpPtrAllocator |
| A BumpPtrAllocator that allows only elements of a specific type to be allocated. More...
|
|
struct | SpecSig |
|
class | SpeculativeExecutionPass |
|
class | Spiller |
| Spiller interface. More...
|
|
class | SpillPlacement |
|
class | SpillPlacementAnalysis |
|
class | SpillPlacementWrapperLegacy |
|
class | SPIRVCallLowering |
|
class | SPIRVConvergenceRegionAnalysis |
|
class | SPIRVConvergenceRegionAnalysisWrapperPass |
|
class | SPIRVDuplicatesTracker |
|
class | SPIRVDuplicatesTracker< SPIRV::SpecialTypeDescriptor > |
|
class | SPIRVDuplicatesTrackerBase |
|
struct | SPIRVEmitNonSemanticDI |
|
struct | SPIRVExtensionsParser |
| Command line parser for toggling SPIR-V extensions. More...
|
|
class | SPIRVFrameLowering |
|
class | SPIRVGeneralDuplicatesTracker |
|
class | SPIRVGenRegisterBankInfo |
|
class | SPIRVGlobalRegistry |
|
class | SPIRVInlineAsmLowering |
|
class | SPIRVInstPrinter |
|
class | SPIRVInstrInfo |
|
class | SPIRVLegalizerInfo |
|
class | SPIRVMCAsmInfo |
|
class | SPIRVMCInstLower |
|
class | SPIRVMergeRegionExitTargets |
|
struct | SPIRVModuleAnalysis |
|
class | SPIRVObjectWriter |
|
class | SPIRVRegisterBankInfo |
|
struct | SPIRVRegisterInfo |
|
class | SPIRVStructurizer |
|
class | SPIRVStructurizerWrapper |
|
class | SPIRVSubtarget |
|
class | SPIRVTargetLowering |
|
class | SPIRVTargetMachine |
|
class | SPIRVTargetObjectFile |
|
class | SPIRVTargetStreamer |
|
class | SPIRVTTIImpl |
|
class | SplitAnalysis |
| SplitAnalysis - Analyze a LiveInterval, looking for live range splitting opportunities. More...
|
|
class | SplitEditor |
| SplitEditor - Edit machine code and LiveIntervals for live range splitting. More...
|
|
class | SrcOp |
|
class | SrcValueSDNode |
| An SDNode that holds an arbitrary LLVM IR Value. More...
|
|
class | SROAPass |
|
class | SSAUpdater |
| Helper class for SSA formation on a set of values defined in multiple blocks. More...
|
|
class | SSAUpdaterBulk |
| Helper class for SSA formation on a set of values defined in multiple blocks. More...
|
|
class | SSAUpdaterImpl |
|
class | SSAUpdaterTraits |
|
class | SSAUpdaterTraits< LDVSSAUpdater > |
| Template specialization to give SSAUpdater access to CFG and value information. More...
|
|
class | SSAUpdaterTraits< MachineSSAUpdater > |
| SSAUpdaterTraits<MachineSSAUpdater> - Traits for the SSAUpdaterImpl template, specialized for MachineSSAUpdater. More...
|
|
class | SSAUpdaterTraits< SSAUpdater > |
|
class | SSPLayoutAnalysis |
|
class | SSPLayoutInfo |
|
struct | StableFunction |
| A stable function is a function with a stable hash while tracking the locations of ignored operands and their hashes. More...
|
|
struct | StableFunctionMap |
|
struct | StableFunctionMapRecord |
|
class | StackColoringPass |
|
class | StackLifetime |
| Compute live ranges of allocas. More...
|
|
class | StackLifetimePrinterPass |
| Printer pass for testing. More...
|
|
class | StackMapOpers |
| MI-level stackmap operands. More...
|
|
class | StackMapParser |
| A parser for the latest stackmap format. At the moment, latest=V3. More...
|
|
class | StackMaps |
|
class | StackOffset |
| StackOffset holds a fixed and a scalable offset in bytes. More...
|
|
class | StackProtector |
|
class | StackProtectorDescriptor |
| Encapsulates all of the information needed to generate a stack protector check, and signals to isel when initialized that one needs to be generated. More...
|
|
class | StackProtectorPass |
|
class | StackSafetyAnalysis |
| StackSafetyInfo wrapper for the new pass manager. More...
|
|
class | StackSafetyGlobalAnalysis |
| This pass performs the global (interprocedural) stack safety analysis (new pass manager). More...
|
|
class | StackSafetyGlobalInfo |
|
class | StackSafetyGlobalInfoWrapperPass |
| This pass performs the global (interprocedural) stack safety analysis (legacy pass manager). More...
|
|
class | StackSafetyGlobalPrinterPass |
| Printer pass for the StackSafetyGlobalAnalysis results. More...
|
|
class | StackSafetyInfo |
| Interface to access stack safety analysis results for single function. More...
|
|
class | StackSafetyInfoWrapperPass |
| StackSafetyInfo wrapper for the legacy pass manager. More...
|
|
class | StackSafetyPrinterPass |
| Printer pass for the StackSafetyAnalysis results. More...
|
|
class | StandardInstrumentations |
| This class provides an interface to register all the standard pass instrumentations and manages their state (if any). More...
|
|
struct | StatepointDirectives |
| Call sites that get wrapped by a gc.statepoint (currently only in RewriteStatepointsForGC and potentially in other passes in the future) can have attributes that describe properties of gc.statepoint call they will be eventually be wrapped in. More...
|
|
class | StatepointLoweringState |
| This class tracks both per-statepoint and per-selectiondag information. More...
|
|
class | StatepointOpers |
| MI-level Statepoint operands. More...
|
|
struct | StateWrapper |
| Helper to tie a abstract state implementation to an abstract attribute. More...
|
|
class | StoreInfo |
|
class | StoreInst |
| An instruction for storing to memory. More...
|
|
class | StoreSDNode |
| This class is used to represent ISD::STORE nodes. More...
|
|
class | StraightLineStrengthReducePass |
|
struct | StreamingHTTPResponse |
| Wraps the content provider with HTTP Status code and headers. More...
|
|
class | StringAttributeImpl |
|
class | StringError |
| This class wraps a string in an Error. More...
|
|
class | StringInit |
| "foo" - Represent an initialization by a string value. More...
|
|
class | StringLiteral |
| A wrapper around a string literal that serves as a proxy for constructing global tables of StringRefs with the length computed at compile time. More...
|
|
class | StringMap |
| StringMap - This is an unconventional map that is specialized for handling keys that are "strings", which are basically ranges of bytes. More...
|
|
class | StringMapConstIterator |
|
class | StringMapEntry |
| StringMapEntry - This is used to represent one value that is inserted into a StringMap. More...
|
|
class | StringMapEntryBase |
| StringMapEntryBase - Shared base class of StringMapEntry instances. More...
|
|
class | StringMapEntryStorage |
| StringMapEntryStorage - Holds the value in a StringMapEntry. More...
|
|
class | StringMapEntryStorage< std::nullopt_t > |
|
class | StringMapImpl |
| StringMapImpl - This is the base class of StringMap that is shared among all of its instantiations. More...
|
|
class | StringMapIterator |
|
class | StringMapIterBase |
|
class | StringMapKeyIterator |
|
class | StringMatcher |
| Given a list of strings and code to execute when they match, output a simple switch tree to classify the input string. More...
|
|
class | StringRecTy |
| 'string' - Represent an string value More...
|
|
class | StringRef |
| StringRef - Represent a constant reference to a string, i.e. More...
|
|
class | StringSaver |
| Saves strings in the provided stable storage and returns a StringRef with a stable character pointer. More...
|
|
class | StringSet |
| StringSet - A wrapper for StringMap that provides set-like functionality. More...
|
|
class | StringSubstitution |
|
class | StringSwitch |
| A switch()-like statement whose cases are string literals. More...
|
|
class | StringTable |
| A table of densely packed, null-terminated strings indexed by offset. More...
|
|
class | StringTableBuilder |
| Utility for building string tables with deduplicated suffixes. More...
|
|
class | StringToOffsetTable |
| StringToOffsetTable - This class uniques a bunch of nul-terminated strings and keeps track of their offset in a massive contiguous string allocation. More...
|
|
struct | StripDeadDebugInfoPass |
|
struct | StripDeadPrototypesPass |
| Pass to remove unused function declarations. More...
|
|
struct | StripDebugDeclarePass |
|
class | StripGCRelocates |
|
struct | StripNonDebugSymbolsPass |
|
class | StripNonLineTableDebugInfoPass |
|
struct | StripSymbolsPass |
|
struct | StrOffsetsContributionDescriptor |
| Represents base address of the CU. More...
|
|
class | StrongType |
| Helper for making strong types. More...
|
|
class | StructLayout |
| Used to lazily calculate structure layout information for a target machine, based on the DataLayout structure. More...
|
|
class | StructType |
| Class to represent struct types. More...
|
|
class | StructuralHashPrinterPass |
| Printer pass for StructuralHashes. More...
|
|
struct | StructurizeCFGPass |
|
struct | SubClassReference |
|
struct | SubMultiClassReference |
|
class | SubOperator |
|
class | Substitution |
| Class representing a substitution to perform in the RegExStr string. More...
|
|
class | SubsumingPositionIterator |
| A visitor class for IR positions. More...
|
|
struct | SubtargetFeatureKV |
| Used to provide key value pairs for feature and CPU bit flags. More...
|
|
class | SubtargetFeatures |
| Manages the enabling and disabling of subtarget specific features. More...
|
|
struct | SubtargetSubTypeKV |
| Used to provide key value pairs for feature and CPU bit flags. More...
|
|
class | SuccIterator |
|
class | SuffixTree |
|
struct | SuffixTreeInternalNode |
|
struct | SuffixTreeLeafNode |
|
struct | SuffixTreeNode |
| A node in a suffix tree which represents a substring or suffix. More...
|
|
class | SUnit |
| Scheduling unit. This is a node in the scheduling DAG. More...
|
|
class | SUnitIterator |
|
class | SuperRegClassIterator |
|
class | SuspendCrossingInfo |
|
class | SwiftErrorValueTracking |
|
class | SwingSchedulerDAG |
| This class builds the dependence graph for the instructions in a loop, and attempts to schedule the instructions using the SMS algorithm. More...
|
|
class | SwingSchedulerDDG |
| Represents dependencies between instructions. More...
|
|
class | SwingSchedulerDDGEdge |
| Represents a dependence between two instruction. More...
|
|
class | SwitchInst |
| Multiway switch. More...
|
|
class | SwitchInstProfUpdateWrapper |
| A wrapper class to simplify modification of SwitchInst cases along with their prof branch_weights metadata. More...
|
|
struct | SymbolCU |
| Helper used to pair up a symbol and its DWARF compile unit. More...
|
|
struct | SymbolInfoTy |
|
class | SymbolRemappingParseError |
|
class | SymbolRemappingReader |
| Reader for symbol remapping files. More...
|
|
struct | SymbolsMapKey |
|
class | SymbolTableEntry |
| Symbol info for RuntimeDyld. More...
|
|
class | SymbolTableList |
| List that automatically updates parent links and symbol tables. More...
|
|
struct | SymbolTableListParentType |
| Template metafunction to get the parent type for a symbol table list. More...
|
|
class | SymbolTableListTraits |
|
class | SyntheticCountsUtils |
| Class with methods to propagate synthetic entry counts. More...
|
|
struct | SysAlias |
|
struct | SysAliasImm |
|
struct | SysAliasReg |
|
class | SystemZAsmPrinter |
|
class | SystemZCallingConventionRegisters |
| A SystemZ-specific class detailing special use registers particular for calling conventions. More...
|
|
class | SystemZCCState |
|
class | SystemZConstantPoolValue |
| A SystemZ-specific constant pool value. More...
|
|
class | SystemZELFFrameLowering |
|
class | SystemZELFRegisters |
| ELF calling convention specific use registers Particular when on zLinux in 64 bit mode. More...
|
|
class | SystemZELFTargetObjectFile |
| This implementation is used for SystemZ ELF targets. More...
|
|
class | SystemZFrameLowering |
|
class | SystemZGNUInstPrinter |
|
class | SystemZHazardRecognizer |
| SystemZHazardRecognizer maintains the state for one MBB during scheduling. More...
|
|
class | SystemZHLASMInstPrinter |
|
class | SystemZInstPrinterCommon |
|
class | SystemZInstrInfo |
|
class | SystemZMachineFunctionInfo |
|
class | SystemZMCAsmInfoELF |
|
class | SystemZMCAsmInfoGOFF |
|
class | SystemZMCExpr |
|
class | SystemZMCInstLower |
|
class | SystemZPostRASchedStrategy |
| A MachineSchedStrategy implementation for SystemZ post RA scheduling. More...
|
|
struct | SystemZRegisterInfo |
|
class | SystemZSelectionDAGInfo |
|
class | SystemZSubtarget |
|
class | SystemZTargetLowering |
|
class | SystemZTargetMachine |
|
class | SystemZTargetStreamer |
|
class | SystemZTTIImpl |
|
struct | SystemZVectorConstantInfo |
|
class | SystemZXPLINK64Registers |
| XPLINK64 calling convention specific use registers Particular to z/OS when in 64 bit mode. More...
|
|
class | SystemZXPLINKFrameLowering |
|
struct | TagNameItem |
|
struct | TailCallElimPass |
|
class | TailDuplicatePass |
|
class | TailDuplicatePassBase |
|
class | TailDuplicator |
| Utility class to perform tail duplication. More...
|
|
struct | TailFoldingInfo |
|
class | Target |
| Target - Wrapper for Target specific information. More...
|
|
class | TargetExtType |
| Class to represent target extensions types, which are generally unintrospectable from target-independent optimizations. More...
|
|
struct | TargetExtTypeKeyInfo |
|
class | TargetFolder |
| TargetFolder - Create constants with target dependent folding. More...
|
|
class | TargetFrameLowering |
| Information about stack frame layout on the target. More...
|
|
struct | TargetIndexLocation |
| This struct describes target specific location. More...
|
|
class | TargetIndexSDNode |
| Completely target-dependent object reference. More...
|
|
class | TargetInstrInfo |
| TargetInstrInfo - Interface to description of machine instruction set. More...
|
|
class | TargetIntrinsicInfo |
| TargetIntrinsicInfo - Interface to description of machine instruction set. More...
|
|
class | TargetIRAnalysis |
| Analysis pass providing the TargetTransformInfo . More...
|
|
class | TargetLibraryAnalysis |
| Analysis pass providing the TargetLibraryInfo . More...
|
|
class | TargetLibraryInfo |
| Provides information about what library functions are available for the current target. More...
|
|
class | TargetLibraryInfoImpl |
| Implementation of the target library information. More...
|
|
class | TargetLibraryInfoWrapperPass |
|
class | TargetLowering |
| This class defines information used to lower LLVM code to legal SelectionDAG operators that the target instruction selector can accept natively. More...
|
|
class | TargetLoweringBase |
| This base class for TargetLowering contains the SelectionDAG-independent parts that can be used from the rest of CodeGen. More...
|
|
class | TargetLoweringObjectFile |
|
class | TargetLoweringObjectFileCOFF |
|
class | TargetLoweringObjectFileELF |
|
class | TargetLoweringObjectFileGOFF |
|
class | TargetLoweringObjectFileMachO |
|
class | TargetLoweringObjectFileWasm |
|
class | TargetLoweringObjectFileXCOFF |
|
class | TargetMachine |
| Primary interface to the complete machine description for the target machine. More...
|
|
class | TargetOptions |
|
class | TargetPassConfig |
| Target-Independent Code Generator Pass Configuration Options. More...
|
|
struct | TargetRegionEntryInfo |
| Data structure to contain the information needed to uniquely identify a target entry. More...
|
|
class | TargetRegisterClass |
|
class | TargetRegisterInfo |
| TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDesc objects that represent all of the machine registers that the target has. More...
|
|
struct | TargetRegisterInfoDesc |
| Extra information, not in MCRegisterDesc, about registers. More...
|
|
struct | TargetRegistry |
| TargetRegistry - Generic interface to target specific features. More...
|
|
class | TargetSchedModel |
| Provide an instruction scheduling machine model to CodeGen passes. More...
|
|
class | TargetSubtargetInfo |
| TargetSubtargetInfo - Generic base class for all target subtargets. More...
|
|
class | TargetTransformInfo |
| This pass provides access to the codegen interfaces that are needed for IR-level transformations. More...
|
|
class | TargetTransformInfoImplBase |
| Base class for use as a mix-in that aids implementing a TargetTransformInfo-compatible class. More...
|
|
class | TargetTransformInfoImplCRTPBase |
| CRTP base class for use as a mix-in that aids implementing a TargetTransformInfo-compatible class. More...
|
|
class | TargetTransformInfoWrapperPass |
| Wrapper pass for TargetTransformInfo. More...
|
|
class | TarWriter |
|
class | TBAAVerifier |
| Verify that the TBAA Metadatas are valid. More...
|
|
struct | TempMDNodeDeleter |
|
struct | TemporalProfTraceTy |
| An ordered list of functions identified by their NameRef found in INSTR_PROF_DATA. More...
|
|
class | TensorSpec |
|
class | TernOpInit |
| !op (X, Y, Z) - Combine two inits. More...
|
|
class | TextChangeReporter |
|
class | TextCodeGenDataReader |
| This format is a simple text format that's suitable for test data. More...
|
|
class | TextInstrProfReader |
| Reader for the simple text based instrprof format. More...
|
|
class | TFModelEvaluator |
|
class | TGLexer |
| TGLexer - TableGen Lexer class. More...
|
|
class | TGParser |
|
class | TGTimer |
|
class | TGVarScope |
|
class | ThinLTOBitcodeWriterPass |
|
class | ThinLTOCodeGenerator |
| This class define an interface similar to the LTOCodeGenerator, but adapted for ThinLTO processing. More...
|
|
struct | thread |
|
class | ThreadPoolInterface |
| This defines the abstract base interface for a ThreadPool allowing asynchronous parallel execution on a defined number of threads. More...
|
|
class | ThreadPoolStrategy |
| This tells how a thread pool will be used. More...
|
|
class | ThreadPoolTaskGroup |
| A group of tasks to be run on a thread pool. More...
|
|
class | ThreadSafeAllocator |
| Thread-safe allocator adaptor. More...
|
|
class | ThreadSafeRefCountedBase |
| A thread-safe version of RefCountedBase . More...
|
|
class | ThreadSafeTrieRawHashMap |
| Lock-free thread-safe hash-mapped trie. More...
|
|
class | ThreadSafeTrieRawHashMapBase |
| TrieRawHashMap - is a lock-free thread-safe trie that is can be used to store/index data based on a hash value. More...
|
|
struct | ThreadSanitizerPass |
| A function pass for tsan instrumentation. More...
|
|
class | Thumb1FrameLowering |
|
class | Thumb1InstrInfo |
|
class | Thumb2InstrInfo |
|
struct | ThumbRegisterInfo |
|
class | ThunkInserter |
| This class assists in inserting MI thunk functions into the module and rewriting the existing machine functions to call these thunks. More...
|
|
class | ThunkInserterPass |
| Basic implementation of MachineFunctionPass wrapping one or more ThunkInserter s passed as type parameters. More...
|
|
struct | TileInfo |
| A helper struct to create IR loop nests for tiling in IR of the following form: for ColumnLoop.Index = 0..NumColumns for RowLoop.Index = 0..NumRows for KLoop.Index = 0..NumInner. More...
|
|
class | TimePassesHandler |
| This class implements -time-passes functionality for new pass manager. More...
|
|
class | TimeProfilingPassesHandler |
| This class implements –time-trace functionality for new pass manager. More...
|
|
class | Timer |
| This class is used to track the amount of time spent between invocations of its startTimer()/stopTimer() methods. More...
|
|
class | TimeRecord |
|
class | TimeRegion |
| The TimeRegion class is used as a helper class to call the startTimer() and stopTimer() methods of the Timer class. More...
|
|
class | TimerGlobals |
|
class | TimerGroup |
| The TimerGroup class is used to group together related timers into a single report that is printed when the TimerGroup is destroyed. More...
|
|
struct | TimeTraceMetadata |
|
struct | TimeTraceProfiler |
|
struct | TimeTraceProfilerEntry |
| Represents an open or completed time section entry to be captured. More...
|
|
class | TimeTraceScope |
| The TimeTraceScope is a helper class to call the begin and end functions of the time trace profiler. More...
|
|
class | TinyPtrVector |
| TinyPtrVector - This class is specialized for cases where there are normally 0 or 1 element in a vector, but is general enough to go beyond that when required. More...
|
|
struct | ToolContext |
|
class | ToolOutputFile |
| This class contains a raw_fd_ostream and adds a few extra features commonly needed for compiler-like tool output files: More...
|
|
struct | TPIDR2Object |
|
class | Trace |
|
class | TrackingMDRef |
| Tracking metadata reference. More...
|
|
class | TrackingStatistic |
|
class | TrackingVH |
| Value handle that tracks a Value across RAUW. More...
|
|
class | TrackUnresolvedResolver |
| (Optionally) delegate resolving to a sub-resolver, and keep track whether there were unresolved references. More...
|
|
class | TrailingObjects |
| See the file comment for details on the usage of the TrailingObjects type. More...
|
|
struct | TrieHashIndexGenerator |
| The utility class that helps computing the index of the object inside trie from its hash. More...
|
|
class | Triple |
| Triple - Helper class for working with autoconf configuration names. More...
|
|
class | TruncatedBLAKE3 |
| Like BLAKE3 but using a class-level template parameter for specifying the hash size of the final() and result() functions. More...
|
|
class | TruncInst |
| This class represents a truncation of integer types. More...
|
|
class | TruncInstCombine |
|
class | Twine |
| Twine - A lightweight data structure for efficiently representing the concatenation of temporary values as strings. More...
|
|
class | TwoAddressInstructionPass |
|
class | Type |
| The instances of the Type class are immutable: once they are created, they are never changed. More...
|
|
class | TypeAttributeImpl |
|
class | TypeBasedAA |
| Analysis pass providing a never-invalidated alias analysis result. More...
|
|
class | TypeBasedAAResult |
| A simple AA result that uses TBAA metadata to answer queries. More...
|
|
class | TypeBasedAAWrapperPass |
| Legacy wrapper pass to provide the TypeBasedAAResult object. More...
|
|
struct | TypeConversionCostTblEntryT |
| Type Conversion Cost Table. More...
|
|
class | TypedInit |
| This is the common superclass of types that have a specific, explicit type, stored in ValueTy. More...
|
|
class | TypedMDOperandIterator |
| Typed iterator through MDNode operands. More...
|
|
class | TypedPointerType |
| A few GPU targets, such as DXIL and SPIR-V, have typed pointers. More...
|
|
class | TypedTrackingMDRef |
| Typed tracking ref. More...
|
|
class | TypeFinder |
| TypeFinder - Walk over a module, identifying all of the types that are used by the module. More...
|
|
struct | TypeIdOffsetVtableInfo |
| The following data structures summarize type metadata information. More...
|
|
struct | TypeIdSummary |
|
class | TypePromotionPass |
|
struct | TypeSanitizerPass |
|
struct | TypesAreDistinct |
| Determine if all types in Ts are distinct. More...
|
|
struct | TypesAreDistinct<> |
|
class | TypeSize |
|
class | TypeSwitch |
| This class implements a switch-like dispatch statement for a value of 'T' using dyn_cast functionality. More...
|
|
class | TypeSwitch< T, void > |
| Specialization of TypeSwitch for void returning callables. More...
|
|
struct | TypeTestResolution |
|
struct | TypeUnitMetaInfo |
|
struct | Uint24 |
| An auxiliary type to facilitate extraction of 3-byte entities. More...
|
|
class | UIToFPInst |
| This class represents a cast unsigned integer to floating point. More...
|
|
class | UnaryInstruction |
|
class | UnaryOperator |
|
class | UnclusteredHighRPStage |
|
class | UndefValue |
| 'undef' values are things that do not have specified contents. More...
|
|
class | UndefVarError |
| Class to represent an undefined variable error, which quotes that variable's name when printed. More...
|
|
struct | UnderlyingObject |
|
class | UniformityInfoAnalysis |
| Analysis pass which computes UniformityInfo. More...
|
|
class | UniformityInfoPrinterPass |
| Printer pass for the UniformityInfo . More...
|
|
class | UniformityInfoWrapperPass |
| Legacy analysis pass which computes a CycleInfo. More...
|
|
class | UnifyFunctionExitNodesPass |
|
class | UnifyLoopExitsPass |
|
class | unique_function |
| unique_function is a type-erasing functor similar to std::function. More...
|
|
class | unique_function< R(P...) const > |
|
class | unique_function< R(P...)> |
|
struct | UniqueBBID |
|
class | UniqueMachineInstr |
| A class that wraps MachineInstrs and derives from FoldingSetNode in order to be uniqued in a CSEMap. More...
|
|
struct | UniquePtrCast |
| This cast trait provides std::unique_ptr casting. More...
|
|
class | UniqueStringSaver |
| Saves strings in the provided stable storage and returns a StringRef with a stable character pointer. More...
|
|
struct | UniqueTag |
| It's very easy to introduce bugs by passing the wrong string pool. More...
|
|
class | UniqueVector |
| UniqueVector - This class produces a sequential ID number (base 1) for each unique entry that is added. More...
|
|
struct | UnitIndexEntry |
|
class | UnOpInit |
| !op (X) - Transform an init. More...
|
|
class | UnreachableBlockElimPass |
|
class | UnreachableInst |
| This function has undefined behavior. More...
|
|
class | UnrollCostEstimator |
| Produce an estimate of the unrolled cost of the specified loop. More...
|
|
class | UnrolledInstAnalyzer |
|
struct | UnrollLoopOptions |
|
class | UnsetInit |
| '?' - Represents an uninitialized value. More...
|
|
struct | UnsignedDivisionByConstantInfo |
| Magic data for optimising unsigned division by a constant. More...
|
|
class | UnwindOpcodeAssembler |
|
class | upward_defs_iterator |
| Provide an iterator that walks defs, giving both the memory access, and the current pointer location, updating the pointer location as it changes due to phi node translation. More...
|
|
class | Use |
| A Use represents the edge between a Value definition and its users. More...
|
|
struct | UsedNZCV |
|
struct | UseListOrder |
| Structure to hold a use-list order. More...
|
|
class | User |
|
class | VAArgInst |
| This class represents the va_arg llvm instruction, which returns an argument of the specified type given a va_list and increments that list. More...
|
|
class | VACopyInst |
| This represents the llvm.va_copy intrinsic. More...
|
|
class | VAEndInst |
| This represents the llvm.va_end intrinsic. More...
|
|
struct | ValID |
| ValID - Represents a reference of a definition of some sort with no type. More...
|
|
struct | validate_format_parameters |
| These are templated helper classes used by the format function that capture the object to be formatted and the format string. More...
|
|
struct | validate_format_parameters< Arg, Args... > |
|
struct | validate_format_parameters<> |
|
class | Value |
| LLVM Value Representation. More...
|
|
struct | ValueAndVReg |
| Simple struct used to hold a constant integer value and a virtual register. More...
|
|
class | ValueAsMetadata |
| Value wrapper in the Metadata hierarchy. More...
|
|
struct | ValueDeleter |
|
struct | ValueDFS |
|
struct | ValueDFS_Compare |
|
class | ValueEnumerator |
|
struct | ValueFromPointerCast |
| This cast trait provides casting for the specific case of casting to a value-typed object from a pointer-typed object. More...
|
|
class | ValueHandleBase |
| This is the common base class of value handles. More...
|
|
struct | ValueInfo |
| Struct that holds a reference to a particular GUID in a global value summary. More...
|
|
struct | ValueIsPresent |
| ValueIsPresent provides a way to check if a value is, well, present. More...
|
|
struct | ValueIsPresent< std::optional< T > > |
|
struct | ValueIsPresent< T, std::enable_if_t< IsNullable< T > > > |
|
class | ValueLatticeElement |
| This class represents lattice values for constants. More...
|
|
class | ValueMap |
| See the file comment. More...
|
|
class | ValueMapCallbackVH |
|
struct | ValueMapConfig |
| This class defines the default behavior for configurable aspects of ValueMap<>. More...
|
|
class | ValueMapConstIterator |
|
class | ValueMapIterator |
|
class | ValueMapper |
| Context for (re-)mapping values (and metadata). More...
|
|
class | ValueMapTypeRemapper |
| This is a class that can be implemented by clients to remap types when cloning constants and instructions. More...
|
|
class | ValueMaterializer |
| This is a class that can be implemented by clients to materialize Values on demand. More...
|
|
class | ValueProfileCollector |
| Utility analysis that determines what values are worth profiling. More...
|
|
struct | ValueSimplifyStateType |
|
class | ValueSymbolTable |
| This class provides a symbol table of name/value pairs. More...
|
|
class | VarBitInit |
| Opcode{0} - Represent access to one bit of a variable or field. More...
|
|
class | VarDefInit |
| classname<targs...> - Represent an uninstantiated anonymous class instantiation. More...
|
|
struct | VariadicOperandTraits |
| VariadicOperandTraits - determine the allocation regime of the Use array when it is a prefix to the User object, and the number of Use objects is only known at allocation time. More...
|
|
class | VarInit |
| 'Opcode' - Represent a reference to an entire variable object. More...
|
|
struct | VarLocInfo |
| Variable location definition used by FunctionVarLocs. More...
|
|
class | VarStreamArray |
|
struct | VarStreamArrayExtractor |
| VarStreamArrayExtractor is intended to be specialized to provide customized extraction logic. More...
|
|
struct | VarStreamArrayExtractor< codeview::CrossModuleImportItem > |
|
struct | VarStreamArrayExtractor< codeview::CVRecord< Kind > > |
|
struct | VarStreamArrayExtractor< codeview::DebugSubsectionRecord > |
|
struct | VarStreamArrayExtractor< codeview::FileChecksumEntry > |
|
struct | VarStreamArrayExtractor< codeview::InlineeSourceLine > |
|
struct | VarStreamArrayExtractor< pdb::DbiModuleDescriptor > |
|
class | VarStreamArrayIterator |
| VarStreamArray represents an array of variable length records backed by a stream. More...
|
|
class | VAStartInst |
| This represents the llvm.va_start intrinsic. More...
|
|
class | VecDesc |
| Provides info so a possible vectorization of a function can be computed. More...
|
|
class | VectorBuilder |
|
class | VectorCombinePass |
| Optimize scalar/vector interactions in IR using target cost models. More...
|
|
struct | VectorizationFactor |
| TODO: The following VectorizationFactor was pulled out of LoopVectorizationCostModel class. More...
|
|
struct | VectorizerParams |
| Collection of parameters shared beetween the Loop Vectorizer and the Loop Access Analysis. More...
|
|
class | VectorType |
| Base class of all SIMD vector types. More...
|
|
class | VECustomDAG |
|
class | VEELFMCAsmInfo |
|
class | VEFrameLowering |
|
class | VEInstPrinter |
|
class | VEInstrInfo |
|
class | VEMachineFunctionInfo |
|
class | VEMCExpr |
|
struct | VERegisterInfo |
|
class | VerifierAnalysis |
| Check a module for errors, and report separate error states for IR and debug info errors. More...
|
|
class | VerifierPass |
| Create a verifier pass. More...
|
|
struct | VerifierSupport |
|
class | VerifyInstrumentation |
|
class | VersionedClause |
|
class | VersionTuple |
| Represents a version number in the form major[.minor[.subminor[.build]]]. More...
|
|
class | VESubtarget |
|
class | VETargetAsmStreamer |
|
class | VETargetELFStreamer |
|
class | VETargetLowering |
|
class | VETargetMachine |
|
struct | VETargetMasks |
|
class | VETargetStreamer |
|
class | VETTIImpl |
|
class | VFDatabase |
| The Vector Function Database. More...
|
|
struct | VFInfo |
| Holds the VFShape for a specific scalar to vector function mapping. More...
|
|
struct | VFParameter |
| Encapsulates information needed to describe a parameter. More...
|
|
struct | VFRange |
| A range of powers-of-2 vectorization factors with fixed start and adjustable end. More...
|
|
struct | VFShape |
| Contains the information about the kind of vectorization available. More...
|
|
struct | VirtFuncOffset |
| The ValueInfo and offset for a function within a vtable definition initializer array. More...
|
|
struct | VirtReg2IndexFunctor |
|
class | VirtRegAuxInfo |
| Calculate auxiliary information for a virtual register such as its spill weight and allocation hint. More...
|
|
struct | VirtRegInfo |
| VirtRegInfo - Information about a virtual register used by a set of operands. More...
|
|
class | VirtRegMap |
|
class | VirtRegMapAnalysis |
|
class | VirtRegMapPrinterPass |
|
class | VirtRegMapWrapperLegacy |
|
class | VLIWMachineScheduler |
| Extend the standard ScheduleDAGMILive to provide more context and override the top-level schedule() driver. More...
|
|
class | VLIWPacketizerList |
|
class | VLIWResourceModel |
|
class | VNInfo |
| VNInfo - Value Number Information. More...
|
|
class | VPActiveLaneMaskPHIRecipe |
| A recipe for generating the active lane mask for the vector loop that is used to predicate the vector operations. More...
|
|
class | VPAllSuccessorsIterator |
| Iterator to traverse all successors of a VPBlockBase node. More...
|
|
class | VPBaseLoadStoreSDNode |
| This base class is used to represent VP_LOAD, VP_STORE, EXPERIMENTAL_VP_STRIDED_LOAD and EXPERIMENTAL_VP_STRIDED_STORE nodes. More...
|
|
class | VPBasicBlock |
| VPBasicBlock serves as the leaf of the Hierarchical Control-Flow Graph. More...
|
|
class | VPBinOpIntrinsic |
|
class | VPBlendRecipe |
| A recipe for vectorizing a phi-node as a sequence of mask-based select instructions. More...
|
|
class | VPBlockBase |
| VPBlockBase is the building block of the Hierarchical Control-Flow Graph. More...
|
|
class | VPBlockDeepTraversalWrapper |
| Helper for GraphTraits specialization that traverses through VPRegionBlocks. More...
|
|
class | VPBlockShallowTraversalWrapper |
| Helper for GraphTraits specialization that does not traverses through VPRegionBlocks. More...
|
|
class | VPBlockUtils |
| Class that provides utilities for VPBlockBases in VPlan. More...
|
|
class | VPBranchOnMaskRecipe |
| A recipe for generating conditional branches on the bits of a mask. More...
|
|
class | VPBuilder |
| VPlan-based builder utility analogous to IRBuilder. More...
|
|
class | VPCanonicalIVPHIRecipe |
| Canonical scalar induction phi of the vector loop. More...
|
|
class | VPCastIntrinsic |
|
class | VPCmpIntrinsic |
|
struct | VPCostContext |
| Struct to hold various analysis needed for cost computations. More...
|
|
class | VPDef |
| This class augments a recipe with a set of VPValues defined by the recipe. More...
|
|
class | VPDerivedIVRecipe |
| A recipe for converting the input value IV value to the corresponding value of an IV with different start and step values, using Start + IV * Step. More...
|
|
class | VPDominatorTree |
| Template specialization of the standard LLVM dominator tree utility for VPBlockBases. More...
|
|
class | VPEVLBasedIVPHIRecipe |
| A recipe for generating the phi node for the current index of elements, adjusted in accordance with EVL value. More...
|
|
class | VPExpandSCEVRecipe |
| Recipe to expand a SCEV expression. More...
|
|
struct | VPFirstOrderRecurrencePHIRecipe |
| A recipe for handling first-order recurrence phis. More...
|
|
class | VPGatherScatterSDNode |
| This is a base class used to represent VP_GATHER and VP_SCATTER nodes. More...
|
|
class | VPGatherSDNode |
| This class is used to represent an VP_GATHER node. More...
|
|
class | VPHeaderPHIRecipe |
| A pure virtual base class for all recipes modeling header phis, including phis for first order recurrences, pointer inductions and reductions. More...
|
|
class | VPHistogramRecipe |
| A recipe representing a sequence of load -> update -> store as part of a histogram operation. More...
|
|
class | VPInstruction |
| This is a concrete Recipe that models a single VPlan-level instruction. More...
|
|
class | VPInterleavedAccessInfo |
|
class | VPInterleaveRecipe |
| VPInterleaveRecipe is a recipe for transforming an interleave group of load or stores into one wide load/store and shuffles. More...
|
|
class | VPIntrinsic |
| This is the common base class for vector predication intrinsics. More...
|
|
class | VPIRBasicBlock |
| A special type of VPBasicBlock that wraps an existing IR basic block. More...
|
|
class | VPIRInstruction |
| A recipe to wrap on original IR instruction not to be modified during execution, execept for PHIs. More...
|
|
class | VPlan |
| VPlan models a candidate for vectorization, encoding various decisions take to produce efficient output IR, including which branches, basic-blocks and output IR instructions to generate, and their cost. More...
|
|
class | VPLane |
| In what follows, the term "input IR" refers to code that is fed into the vectorizer whereas the term "output IR" refers to code that is generated by the vectorizer. More...
|
|
class | VPlanHCFGBuilder |
| Main class to build the VPlan H-CFG for an incoming IR. More...
|
|
struct | VPlanIngredient |
|
class | VPlanPrinter |
| VPlanPrinter prints a given VPlan to a given output stream. More...
|
|
class | VPlanSlp |
| Class that maps (parts of) an existing VPlan to trees of combined VPInstructions. More...
|
|
struct | VPlanTransforms |
|
class | VPLoadSDNode |
| This class is used to represent a VP_LOAD node. More...
|
|
class | VPMatchContext |
|
class | VPPartialReductionRecipe |
| A recipe for forming partial reductions. More...
|
|
class | VPPredInstPHIRecipe |
| VPPredInstPHIRecipe is a recipe for generating the phi nodes needed when control converges back from a Branch-on-Mask. More...
|
|
class | VPRecipeBase |
| VPRecipeBase is a base class modeling a sequence of one or more output IR instructions. More...
|
|
class | VPRecipeBuilder |
| Helper class to create VPRecipies from IR instructions. More...
|
|
class | VPRecipeWithIRFlags |
| Class to record LLVM IR flag for a recipe along with it. More...
|
|
class | VPReductionEVLRecipe |
| A recipe to represent inloop reduction operations with vector-predication intrinsics, performing a reduction on a vector operand with the explicit vector length (EVL) into a scalar value, and adding the result to a chain. More...
|
|
class | VPReductionIntrinsic |
| This represents vector predication reduction intrinsics. More...
|
|
class | VPReductionPHIRecipe |
| A recipe for handling reduction phis. More...
|
|
class | VPReductionRecipe |
| A recipe to represent inloop reduction operations, performing a reduction on a vector operand into a scalar value, and adding the result to a chain. More...
|
|
class | VPRegionBlock |
| VPRegionBlock represents a collection of VPBasicBlocks and VPRegionBlocks which form a Single-Entry-Single-Exiting subgraph of the output IR CFG. More...
|
|
class | VPReplicateRecipe |
| VPReplicateRecipe replicates a given instruction producing multiple scalar copies of the original scalar type, one per lane, instead of producing a single copy of widened type for all lanes. More...
|
|
class | VPReverseVectorPointerRecipe |
| A recipe to compute the pointers for widened memory accesses of IndexTy in reverse order. More...
|
|
class | VPScalarCastRecipe |
| VPScalarCastRecipe is a recipe to create scalar cast instructions. More...
|
|
class | VPScalarIVStepsRecipe |
| A recipe for handling phi nodes of integer and floating-point inductions, producing their scalar values. More...
|
|
class | VPScalarPHIRecipe |
| Recipe to generate a scalar PHI. More...
|
|
class | VPScatterSDNode |
| This class is used to represent an VP_SCATTER node. More...
|
|
class | VPSingleDefRecipe |
| VPSingleDef is a base class for recipes for modeling a sequence of one or more output IR that define a single result VPValue. More...
|
|
class | VPSlotTracker |
| This class can be used to assign names to VPValues. More...
|
|
class | VPStoreSDNode |
| This class is used to represent a VP_STORE node. More...
|
|
class | VPStridedLoadSDNode |
| This class is used to represent an EXPERIMENTAL_VP_STRIDED_LOAD node. More...
|
|
class | VPStridedStoreSDNode |
| This class is used to represent an EXPERIMENTAL_VP_STRIDED_STORE node. More...
|
|
struct | VPTransformState |
| VPTransformState holds information passed down when "executing" a VPlan, needed for generating the output IR. More...
|
|
class | VPTypeAnalysis |
| An analysis for type-inference for VPValues. More...
|
|
class | VPUnrollPartAccessor |
| Helper to access the operand that contains the unroll part for this recipe after unrolling. More...
|
|
class | VPUser |
| This class augments VPValue with operands which provide the inverse def-use edges from VPValue's users to their defs. More...
|
|
class | VPValue |
|
class | VPVectorPointerRecipe |
| A recipe to compute the pointers for widened memory accesses of IndexTy. More...
|
|
class | VPWidenCallRecipe |
| A recipe for widening Call instructions using library calls. More...
|
|
class | VPWidenCanonicalIVRecipe |
| A Recipe for widening the canonical induction variable of the vector loop. More...
|
|
class | VPWidenCastRecipe |
| VPWidenCastRecipe is a recipe to create vector cast instructions. More...
|
|
class | VPWidenEVLRecipe |
| A recipe for widening operations with vector-predication intrinsics with explicit vector length (EVL). More...
|
|
class | VPWidenGEPRecipe |
| A recipe for handling GEP instructions. More...
|
|
class | VPWidenInductionRecipe |
| Base class for widened induction (VPWidenIntOrFpInductionRecipe and VPWidenPointerInductionRecipe), providing shared functionality, including retrieving the step value, induction descriptor and original phi node. More...
|
|
class | VPWidenIntOrFpInductionRecipe |
| A recipe for handling phi nodes of integer and floating-point inductions, producing their vector values. More...
|
|
class | VPWidenIntrinsicRecipe |
| A recipe for widening vector intrinsics. More...
|
|
struct | VPWidenLoadEVLRecipe |
| A recipe for widening load operations with vector-predication intrinsics, using the address to load from, the explicit vector length and an optional mask. More...
|
|
struct | VPWidenLoadRecipe |
| A recipe for widening load operations, using the address to load from and an optional mask. More...
|
|
class | VPWidenMemoryRecipe |
| A common base class for widening memory operations. More...
|
|
class | VPWidenPHIRecipe |
| A recipe for handling phis that are widened in the vector loop. More...
|
|
class | VPWidenPointerInductionRecipe |
|
class | VPWidenRecipe |
| VPWidenRecipe is a recipe for producing a widened instruction using the opcode and operands of the recipe. More...
|
|
struct | VPWidenSelectRecipe |
| A recipe for widening select instructions. More...
|
|
struct | VPWidenStoreEVLRecipe |
| A recipe for widening store operations with vector-predication intrinsics, using the value to store, the address to store to, the explicit vector length and an optional mask. More...
|
|
struct | VPWidenStoreRecipe |
| A recipe for widening store operations, using the stored value, the address to store to and an optional mask. More...
|
|
struct | VReg2SUnit |
| An individual mapping from virtual register number to SUnit. More...
|
|
struct | VReg2SUnitOperIdx |
| Mapping from virtual register to SUnit including an operand index. More...
|
|
struct | VRegInfo |
|
class | VRegRenamer |
| VRegRenamer - This class is used for renaming vregs in a machine basic block according to semantics of the instruction. More...
|
|
struct | VTableSlotSummary |
|
class | VTSDNode |
| This class is used to represent EVT's, which are used to parameterize some operations. More...
|
|
class | WarnMissedTransformationsPass |
|
struct | WasmEHFuncInfo |
|
class | WasmEHPreparePass |
|
class | WasmException |
|
class | WeakTrackingVH |
| Value handle that is nullable, but tries to track the Value. More...
|
|
class | WeakVH |
| A nullable Value handle that is nullable. More...
|
|
class | WebAssemblyAsmPrinter |
|
class | WebAssemblyAsmTypeCheck |
|
class | WebAssemblyDebugValueManager |
|
class | WebAssemblyException |
|
class | WebAssemblyExceptionInfo |
|
class | WebAssemblyFrameLowering |
|
class | WebAssemblyFunctionInfo |
| This class is derived from MachineFunctionInfo and contains private WebAssembly-specific information for each MachineFunction. More...
|
|
class | WebAssemblyInstPrinter |
|
class | WebAssemblyInstrInfo |
|
class | WebAssemblyMCAsmInfo |
|
class | WebAssemblyMCInstLower |
| This class is used to lower an MachineInstr into an MCInst. More...
|
|
class | WebAssemblyRegisterInfo |
|
class | WebAssemblySelectionDAGInfo |
|
class | WebAssemblySubtarget |
|
class | WebAssemblyTargetAsmStreamer |
| This part is for ascii assembly output. More...
|
|
class | WebAssemblyTargetLowering |
|
class | WebAssemblyTargetMachine |
|
class | WebAssemblyTargetNullStreamer |
| This part is for null output. More...
|
|
class | WebAssemblyTargetObjectFile |
|
class | WebAssemblyTargetStreamer |
| WebAssembly-specific streamer interface, to implement support WebAssembly-specific assembly directives. More...
|
|
class | WebAssemblyTargetWasmStreamer |
| This part is for Wasm object output. More...
|
|
class | WebAssemblyTTIImpl |
|
struct | WholeProgramDevirtPass |
|
struct | WholeProgramDevirtResolution |
|
struct | WideIVInfo |
| Collect information about induction variables that are used by sign/zero extend operations. More...
|
|
class | WinCFGuard |
|
class | WinCOFFObjectWriter |
|
class | WinCOFFWriter |
|
class | WindowScheduler |
| The main class in the implementation of the target independent window scheduler. More...
|
|
class | WindowsResourceProcessor |
|
struct | WinEHFuncInfo |
|
struct | WinEHHandlerType |
|
class | WinEHPreparePass |
|
struct | WinEHTryBlockMapEntry |
|
class | WinException |
|
class | WithCache |
|
class | WithColor |
| An RAII object that temporarily switches an output stream to a specific color. More...
|
|
class | WithOverflowInst |
| Represents an op.with.overflow intrinsic. More...
|
|
class | WritableBinaryStream |
| A BinaryStream which can be read from as well as written to. More...
|
|
class | WritableBinaryStreamRef |
|
class | WritableMemoryBuffer |
| This class is an extension of MemoryBuffer, which allows copy-on-write access to the underlying contents. More...
|
|
class | WriteThroughMemoryBuffer |
| This class is an extension of MemoryBuffer, which allows write access to the underlying contents and committing those changes to the original source. More...
|
|
class | X86_64ELFTargetObjectFile |
| This implementation is used for X86_64 ELF targets, and defers to X86ELFTargetObjectFile for commonalities with 32-bit targets. More...
|
|
class | X86_64MachoTargetObjectFile |
| X86_64MachoTargetObjectFile - This TLOF implementation is used for Darwin x86-64. More...
|
|
struct | X86_64MCAsmInfoDarwin |
|
struct | X86AddressMode |
| X86AddressMode - This struct holds a generalized full x86 address mode. More...
|
|
class | X86AsmPrinter |
|
class | X86ATTInstPrinter |
|
class | X86CallLowering |
|
class | X86ELFMCAsmInfo |
|
class | X86ELFTargetObjectFile |
| This implementation is used for X86 ELF targets that don't have a further specialization (and as a base class for X86_64, which does). More...
|
|
struct | X86FoldTableEntry |
|
class | X86FrameLowering |
|
class | X86GenRegisterBankInfo |
|
class | X86InstPrinterCommon |
|
struct | X86InstrFMA3Group |
| This class is used to group {132, 213, 231} forms of FMA opcodes together. More...
|
|
class | X86InstrInfo |
|
class | X86IntelInstPrinter |
|
class | X86ISelDAGToDAGPass |
|
class | X86LegalizerInfo |
|
class | X86MachineFunctionInfo |
| X86MachineFunctionInfo - This class is derived from MachineFunction and contains private X86 target-specific information for each MachineFunction. More...
|
|
class | X86MaskedGatherScatterSDNode |
|
class | X86MaskedGatherSDNode |
|
class | X86MaskedScatterSDNode |
|
class | X86MCAsmInfoDarwin |
|
class | X86MCAsmInfoGNUCOFF |
|
class | X86MCAsmInfoMicrosoft |
|
class | X86MCAsmInfoMicrosoftMASM |
|
class | X86MCExpr |
|
struct | X86Operand |
| X86Operand - Instances of this class represent a parsed X86 machine instruction. More...
|
|
class | X86RegisterBankInfo |
| This class provides the information for the target register banks. More...
|
|
class | X86RegisterInfo |
|
class | X86SelectionDAGInfo |
|
class | X86Subtarget |
|
class | X86TargetLowering |
|
class | X86TargetMachine |
|
class | X86TargetStreamer |
| X86 target streamer implementing x86-only assembly directives. More...
|
|
class | X86TTIImpl |
|
class | XCOFFObjectWriter |
|
struct | XCOFFSymbolInfoTy |
|
class | XCoreFrameLowering |
|
class | XCoreFunctionInfo |
| XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific information for each MachineFunction. More...
|
|
class | XCoreInstPrinter |
|
class | XCoreInstrInfo |
|
class | XCoreMCAsmInfo |
|
class | XCoreMCInstLower |
| This class is used to lower an MachineInstr into an MCInst. More...
|
|
struct | XCoreRegisterInfo |
|
class | XCoreSelectionDAGInfo |
|
class | XCoreSubtarget |
|
class | XCoreTargetLowering |
|
class | XCoreTargetMachine |
|
class | XCoreTargetObjectFile |
|
class | XCoreTargetStreamer |
|
class | XCoreTTIImpl |
|
class | XtensaAsmPrinter |
|
class | XtensaConstantPoolConstant |
| XtensaConstantPoolConstant - Xtensa-specific constant pool values for Constants (for example BlockAddresses). More...
|
|
class | XtensaConstantPoolJumpTable |
| XtensaConstantPoolJumpTable - Xtensa-specific constantpool values for Jump Table symbols. More...
|
|
class | XtensaConstantPoolMBB |
| XtensaConstantPoolMBB - Xtensa-specific constantpool value of a machine basic block. More...
|
|
class | XtensaConstantPoolSymbol |
| XtensaConstantPoolSymbol - Xtensa-specific constantpool values for external symbols. More...
|
|
class | XtensaConstantPoolValue |
| XtensaConstantPoolValue - Xtensa specific constantpool value. More...
|
|
class | XtensaFrameLowering |
|
class | XtensaInstPrinter |
|
class | XtensaInstrInfo |
|
class | XtensaMachineFunctionInfo |
|
class | XtensaMCAsmBackend |
|
class | XtensaMCAsmInfo |
|
class | XtensaMCExpr |
|
class | XtensaRegisterInfo |
|
class | XtensaSubtarget |
|
class | XtensaTargetAsmStreamer |
|
class | XtensaTargetELFStreamer |
|
class | XtensaTargetLowering |
|
class | XtensaTargetMachine |
|
class | XtensaTargetStreamer |
|
struct | XXH128_hash_t |
| The return value from 128-bit hashes. More...
|
|
class | ZExtInst |
| This class represents zero extension of integer types. More...
|
|
|
bool | operator== (const AddressRangeValuePair &LHS, const AddressRangeValuePair &RHS) |
|
template<typename RangeT > |
constexpr auto | adl_begin (RangeT &&range) -> decltype(adl_detail::begin_impl(std::forward< RangeT >(range))) |
| Returns the begin iterator to range using std::begin and function found through Argument-Dependent Lookup (ADL).
|
|
template<typename RangeT > |
constexpr auto | adl_end (RangeT &&range) -> decltype(adl_detail::end_impl(std::forward< RangeT >(range))) |
| Returns the end iterator to range using std::end and functions found through Argument-Dependent Lookup (ADL).
|
|
template<typename RangeT > |
constexpr auto | adl_rbegin (RangeT &&range) -> decltype(adl_detail::rbegin_impl(std::forward< RangeT >(range))) |
| Returns the reverse-begin iterator to range using std::rbegin and function found through Argument-Dependent Lookup (ADL).
|
|
template<typename RangeT > |
constexpr auto | adl_rend (RangeT &&range) -> decltype(adl_detail::rend_impl(std::forward< RangeT >(range))) |
| Returns the reverse-end iterator to range using std::rend and functions found through Argument-Dependent Lookup (ADL).
|
|
template<typename T > |
constexpr void | adl_swap (T &&lhs, T &&rhs) noexcept(noexcept(adl_detail::swap_impl(std::declval< T >(), std::declval< T >()))) |
| Swaps lhs with rhs using std::swap and functions found through Argument-Dependent Lookup (ADL).
|
|
template<typename RangeT > |
constexpr auto | adl_size (RangeT &&range) -> decltype(adl_detail::size_impl(std::forward< RangeT >(range))) |
| Returns the size of range using std::size and functions found through Argument-Dependent Lookup (ADL).
|
|
template<class T > |
T | any_cast (const Any &Value) |
|
template<class T > |
T | any_cast (Any &Value) |
|
template<class T > |
T | any_cast (Any &&Value) |
|
template<class T > |
const T * | any_cast (const Any *Value) |
|
template<class T > |
T * | any_cast (Any *Value) |
|
hash_code | hash_value (const FixedPointSemantics &Val) |
|
raw_ostream & | operator<< (raw_ostream &OS, const APFixedPoint &FX) |
|
hash_code | hash_value (const APFixedPoint &Val) |
|
hash_code | hash_value (const APFloat &Arg) |
| See friend declarations above.
|
|
APFloat | scalbn (APFloat X, int Exp, APFloat::roundingMode RM) |
|
APFloat | frexp (const APFloat &X, int &Exp, APFloat::roundingMode RM) |
| Equivalent of C standard library function.
|
|
APFloat | abs (APFloat X) |
| Returns the absolute value of the argument.
|
|
APFloat | neg (APFloat X) |
| Returns the negated value of the argument.
|
|
LLVM_READONLY APFloat | minnum (const APFloat &A, const APFloat &B) |
| Implements IEEE-754 2019 minimumNumber semantics.
|
|
LLVM_READONLY APFloat | maxnum (const APFloat &A, const APFloat &B) |
| Implements IEEE-754 2019 maximumNumber semantics.
|
|
LLVM_READONLY APFloat | minimum (const APFloat &A, const APFloat &B) |
| Implements IEEE 754-2019 minimum semantics.
|
|
LLVM_READONLY APFloat | minimumnum (const APFloat &A, const APFloat &B) |
| Implements IEEE 754-2019 minimumNumber semantics.
|
|
LLVM_READONLY APFloat | maximum (const APFloat &A, const APFloat &B) |
| Implements IEEE 754-2019 maximum semantics.
|
|
LLVM_READONLY APFloat | maximumnum (const APFloat &A, const APFloat &B) |
| Implements IEEE 754-2019 maximumNumber semantics.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const APFloat &V) |
|
APInt | operator- (APInt) |
|
bool | operator== (uint64_t V1, const APInt &V2) |
|
bool | operator!= (uint64_t V1, const APInt &V2) |
|
APInt | operator~ (APInt v) |
| Unary bitwise complement operator.
|
|
APInt | operator& (APInt a, const APInt &b) |
|
APInt | operator& (const APInt &a, APInt &&b) |
|
APInt | operator& (APInt a, uint64_t RHS) |
|
APInt | operator& (uint64_t LHS, APInt b) |
|
APInt | operator| (APInt a, const APInt &b) |
|
APInt | operator| (const APInt &a, APInt &&b) |
|
APInt | operator| (APInt a, uint64_t RHS) |
|
APInt | operator| (uint64_t LHS, APInt b) |
|
APInt | operator^ (APInt a, const APInt &b) |
|
APInt | operator^ (const APInt &a, APInt &&b) |
|
APInt | operator^ (APInt a, uint64_t RHS) |
|
APInt | operator^ (uint64_t LHS, APInt b) |
|
raw_ostream & | operator<< (raw_ostream &OS, const APInt &I) |
|
APInt | operator+ (APInt a, const APInt &b) |
|
APInt | operator+ (const APInt &a, APInt &&b) |
|
APInt | operator+ (APInt a, uint64_t RHS) |
|
APInt | operator+ (uint64_t LHS, APInt b) |
|
APInt | operator- (APInt a, const APInt &b) |
|
APInt | operator- (const APInt &a, APInt &&b) |
|
APInt | operator- (APInt a, uint64_t RHS) |
|
APInt | operator- (uint64_t LHS, APInt b) |
|
APInt | operator* (APInt a, uint64_t RHS) |
|
APInt | operator* (uint64_t LHS, APInt b) |
|
hash_code | hash_value (const APInt &Arg) |
|
void | StoreIntToMemory (const APInt &IntVal, uint8_t *Dst, unsigned StoreBytes) |
| StoreIntToMemory - Fills the StoreBytes bytes of memory starting from Dst with the integer held in IntVal.
|
|
void | LoadIntFromMemory (APInt &IntVal, const uint8_t *Src, unsigned LoadBytes) |
| LoadIntFromMemory - Loads the integer stored in the LoadBytes bytes starting from Src into IntVal, which is assumed to be wide enough and to hold zero.
|
|
bool | operator== (int64_t V1, const APSInt &V2) |
|
bool | operator!= (int64_t V1, const APSInt &V2) |
|
bool | operator<= (int64_t V1, const APSInt &V2) |
|
bool | operator>= (int64_t V1, const APSInt &V2) |
|
bool | operator< (int64_t V1, const APSInt &V2) |
|
bool | operator> (int64_t V1, const APSInt &V2) |
|
raw_ostream & | operator<< (raw_ostream &OS, const APSInt &I) |
|
template<typename T > |
hash_code | hash_value (ArrayRef< T > S) |
|
template<typename To , typename From , typename = std::enable_if_t<sizeof(To) == sizeof(From)>, typename = std::enable_if_t<std::is_trivially_constructible<To>::value>, typename = std::enable_if_t<std::is_trivially_copyable<To>::value>, typename = std::enable_if_t<std::is_trivially_copyable<From>::value>> |
To | bit_cast (const From &from) noexcept |
|
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>>> |
constexpr T | byteswap (T V) noexcept |
| Reverses the bytes in the given integer value V.
|
|
template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>> |
constexpr bool | has_single_bit (T Value) noexcept |
|
template<typename T > |
int | countr_zero (T Val) |
| Count number of 0's from the least significant bit to the most stopping at the first 1.
|
|
template<typename T > |
int | countl_zero (T Val) |
| Count number of 0's from the most significant bit to the least stopping at the first 1.
|
|
template<typename T > |
int | countl_one (T Value) |
| Count the number of ones from the most significant bit to the first zero bit.
|
|
template<typename T > |
int | countr_one (T Value) |
| Count the number of ones from the least significant bit to the first zero bit.
|
|
template<typename T > |
int | bit_width (T Value) |
| Returns the number of bits needed to represent Value if Value is nonzero.
|
|
template<typename T > |
T | bit_floor (T Value) |
| Returns the largest integral power of two no greater than Value if Value is nonzero.
|
|
template<typename T > |
T | bit_ceil (T Value) |
| Returns the smallest integral power of two no smaller than Value if Value is nonzero.
|
|
template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>> |
int | popcount (T Value) noexcept |
| Count the number of set bits in a value.
|
|
template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>> |
constexpr T | rotr (T V, int R) |
|
template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>> |
constexpr T | rotl (T V, int R) |
|
| LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE () |
|
BitVector::size_type | capacity_in_bytes (const BitVector &X) |
|
template<class T > |
bf_iterator< T > | bf_begin (const T &G) |
|
template<class T > |
bf_iterator< T > | bf_end (const T &G) |
|
template<class T > |
iterator_range< bf_iterator< T > > | breadth_first (const T &G) |
|
template<typename DerivedT , typename KeyT , typename ValueT , typename KeyInfoT , typename BucketT > |
bool | operator== (const DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT > &LHS, const DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT > &RHS) |
| Equality comparison for DenseMap.
|
|
template<typename DerivedT , typename KeyT , typename ValueT , typename KeyInfoT , typename BucketT > |
bool | operator!= (const DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT > &LHS, const DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT > &RHS) |
| Inequality comparison for DenseMap.
|
|
template<typename KeyT , typename ValueT , typename KeyInfoT > |
size_t | capacity_in_bytes (const DenseMap< KeyT, ValueT, KeyInfoT > &X) |
|
template<class T > |
df_iterator< T > | df_begin (const T &G) |
|
template<class T > |
df_iterator< T > | df_end (const T &G) |
|
template<class T > |
iterator_range< df_iterator< T > > | depth_first (const T &G) |
|
template<class T , class SetTy > |
df_ext_iterator< T, SetTy > | df_ext_begin (const T &G, SetTy &S) |
|
template<class T , class SetTy > |
df_ext_iterator< T, SetTy > | df_ext_end (const T &G, SetTy &S) |
|
template<class T , class SetTy > |
iterator_range< df_ext_iterator< T, SetTy > > | depth_first_ext (const T &G, SetTy &S) |
|
template<class T > |
idf_iterator< T > | idf_begin (const T &G) |
|
template<class T > |
idf_iterator< T > | idf_end (const T &G) |
|
template<class T > |
iterator_range< idf_iterator< T > > | inverse_depth_first (const T &G) |
|
template<class T , class SetTy > |
idf_ext_iterator< T, SetTy > | idf_ext_begin (const T &G, SetTy &S) |
|
template<class T , class SetTy > |
idf_ext_iterator< T, SetTy > | idf_ext_end (const T &G, SetTy &S) |
|
template<class T , class SetTy > |
iterator_range< idf_ext_iterator< T, SetTy > > | inverse_depth_first_ext (const T &G, SetTy &S) |
|
raw_ostream & | operator<< (raw_ostream &OS, const DynamicAPInt &X) |
|
hash_code | hash_value (const DynamicAPInt &X) |
| Redeclarations of friend declaration above to make it discoverable by lookups.
|
|
static int64_t | int64fromDynamicAPInt (const DynamicAPInt &X) |
| This just calls through to the operator int64_t, but it's useful when a function pointer is required.
|
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | dynamicAPIntFromInt64 (int64_t X) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | mod (const DynamicAPInt &LHS, const DynamicAPInt &RHS) |
| is always non-negative.
|
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | abs (const DynamicAPInt &X) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | ceilDiv (const DynamicAPInt &LHS, const DynamicAPInt &RHS) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | floorDiv (const DynamicAPInt &LHS, const DynamicAPInt &RHS) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | gcd (const DynamicAPInt &A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | lcm (const DynamicAPInt &A, const DynamicAPInt &B) |
| Returns the least common multiple of A and B.
|
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & | operator+= (DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & | operator-= (DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & | operator*= (DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & | operator/= (DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & | operator%= (DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator+ (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator- (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator* (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator/ (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator% (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator+ (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator- (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator* (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator/ (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt | operator% (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator== (const DynamicAPInt &A, int64_t B) |
| We provide special implementations of the comparison operators rather than calling through as above, as this would result in a 1.2x slowdown.
|
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator!= (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator> (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator< (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator<= (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator>= (const DynamicAPInt &A, int64_t B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator== (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator!= (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator> (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator< (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator<= (int64_t A, const DynamicAPInt &B) |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE bool | operator>= (int64_t A, const DynamicAPInt &B) |
|
template<typename T , typename Functor > |
unsigned | ComputeMappedEditDistance (ArrayRef< T > FromArray, ArrayRef< T > ToArray, Functor Map, bool AllowReplacements=true, unsigned MaxEditDistance=0) |
| Determine the edit distance between two sequences.
|
|
template<typename T > |
unsigned | ComputeEditDistance (ArrayRef< T > FromArray, ArrayRef< T > ToArray, bool AllowReplacements=true, unsigned MaxEditDistance=0) |
|
template<typename Underlying > |
fallible_iterator< Underlying > | make_fallible_itr (Underlying I, Error &Err) |
| Convenience wrapper to make a fallible_iterator value from an instance of an underlying iterator and an Error reference.
|
|
template<typename Underlying > |
fallible_iterator< Underlying > | make_fallible_end (Underlying E) |
| Convenience wrapper to make a fallible_iterator end value from an instance of an underlying iterator.
|
|
template<typename Underlying > |
iterator_range< fallible_iterator< Underlying > > | make_fallible_range (Underlying I, Underlying E, Error &Err) |
|
StringRef | spell (RoundingMode RM) |
| Returns text representation of the given rounding mode.
|
|
raw_ostream & | operator<< (raw_ostream &OS, RoundingMode RM) |
|
raw_ostream & | operator<< (raw_ostream &OS, DenormalMode Mode) |
|
DenormalMode::DenormalModeKind | parseDenormalFPAttributeComponent (StringRef Str) |
| Parse the expected names from the denormal-fp-math attribute.
|
|
StringRef | denormalModeKindName (DenormalMode::DenormalModeKind Mode) |
| Return the name used for the denormal handling mode used by the expected names from the denormal-fp-math attribute.
|
|
DenormalMode | parseDenormalFPAttribute (StringRef Str) |
| Returns the denormal mode to use for inputs and outputs.
|
|
| LLVM_DECLARE_ENUM_AS_BITMASK (FPClassTest, fcPosInf) |
|
FPClassTest | fneg (FPClassTest Mask) |
| Return the test mask which returns true if the value's sign bit is flipped.
|
|
FPClassTest | inverse_fabs (FPClassTest Mask) |
| Return the test mask which returns true after fabs is applied to the value.
|
|
FPClassTest | unknown_sign (FPClassTest Mask) |
| Return the test mask which returns true if the value could have the same set of classes, but with a different sign.
|
|
raw_ostream & | operator<< (raw_ostream &OS, FPClassTest Mask) |
| Write a human readable form of Mask to OS .
|
|
template<typename CycleT > |
static bool | insertIfNotContained (SmallVector< CycleT * > &Cycles, CycleT *Candidate) |
| Add Candidate to Cycles if it is not already contained in Cycles .
|
|
template<typename CycleT , typename BlockT > |
static const CycleT * | getExtDivCycle (const CycleT *Cycle, const BlockT *DivTermBlock, const BlockT *JoinBlock) |
| Return the outermost cycle made divergent by branch outside it.
|
|
template<typename ContextT , typename CycleT , typename BlockT , typename DominatorTreeT > |
static const CycleT * | getIntDivCycle (const CycleT *Cycle, const BlockT *DivTermBlock, const BlockT *JoinBlock, const DominatorTreeT &DT, ContextT &Context) |
| Return the outermost cycle made divergent by branch inside it.
|
|
template<typename ContextT , typename CycleT , typename BlockT , typename DominatorTreeT > |
static const CycleT * | getOutermostDivergentCycle (const CycleT *Cycle, const BlockT *DivTermBlock, const BlockT *JoinBlock, const DominatorTreeT &DT, ContextT &Context) |
|
template<class GraphType > |
iterator_range< typename GraphTraits< GraphType >::nodes_iterator > | nodes (const GraphType &G) |
|
template<class GraphType > |
iterator_range< typename GraphTraits< Inverse< GraphType > >::nodes_iterator > | inverse_nodes (const GraphType &G) |
|
template<class GraphType > |
iterator_range< typename GraphTraits< GraphType >::ChildIteratorType > | children (const typename GraphTraits< GraphType >::NodeRef &G) |
|
template<class GraphType > |
iterator_range< typename GraphTraits< Inverse< GraphType > >::ChildIteratorType > | inverse_children (const typename GraphTraits< GraphType >::NodeRef &G) |
|
template<class GraphType > |
iterator_range< typename GraphTraits< GraphType >::ChildEdgeIteratorType > | children_edges (const typename GraphTraits< GraphType >::NodeRef &G) |
|
template<typename T > |
std::enable_if_t< is_integral_or_enum< T >::value, hash_code > | hash_value (T value) |
| Compute a hash_code for any integer value.
|
|
template<typename T > |
hash_code | hash_value (const T *ptr) |
| Compute a hash_code for a pointer's address.
|
|
template<typename T , typename U > |
hash_code | hash_value (const std::pair< T, U > &arg) |
| Compute a hash_code for a pair of objects.
|
|
template<typename... Ts> |
hash_code | hash_value (const std::tuple< Ts... > &arg) |
| Compute a hash_code for a tuple.
|
|
template<typename T > |
hash_code | hash_value (const std::basic_string< T > &arg) |
| Compute a hash_code for a standard string.
|
|
template<typename T > |
hash_code | hash_value (const std::optional< T > &arg) |
| Compute a hash_code for a standard string.
|
|
template<typename InputIteratorT > |
hash_code | hash_combine_range (InputIteratorT first, InputIteratorT last) |
| Compute a hash_code for a sequence of values.
|
|
template<typename ... Ts> |
hash_code | hash_combine (const Ts &...args) |
| Combine values into a single hash_code.
|
|
template<class T , class U > |
bool | operator== (const IntrusiveRefCntPtr< T > &A, const IntrusiveRefCntPtr< U > &B) |
|
template<class T , class U > |
bool | operator!= (const IntrusiveRefCntPtr< T > &A, const IntrusiveRefCntPtr< U > &B) |
|
template<class T , class U > |
bool | operator== (const IntrusiveRefCntPtr< T > &A, U *B) |
|
template<class T , class U > |
bool | operator!= (const IntrusiveRefCntPtr< T > &A, U *B) |
|
template<class T , class U > |
bool | operator== (T *A, const IntrusiveRefCntPtr< U > &B) |
|
template<class T , class U > |
bool | operator!= (T *A, const IntrusiveRefCntPtr< U > &B) |
|
template<class T > |
bool | operator== (std::nullptr_t, const IntrusiveRefCntPtr< T > &B) |
|
template<class T > |
bool | operator== (const IntrusiveRefCntPtr< T > &A, std::nullptr_t B) |
|
template<class T > |
bool | operator!= (std::nullptr_t A, const IntrusiveRefCntPtr< T > &B) |
|
template<class T > |
bool | operator!= (const IntrusiveRefCntPtr< T > &A, std::nullptr_t B) |
|
template<typename T , typename... Args> |
IntrusiveRefCntPtr< T > | makeIntrusiveRefCnt (Args &&...A) |
| Factory function for creating intrusive ref counted pointers.
|
|
template<typename RangeT , typename WrappedIteratorT = decltype(std::begin(std::declval<RangeT>()))> |
iterator_range< pointee_iterator< WrappedIteratorT > > | make_pointee_range (RangeT &&Range) |
|
template<typename RangeT , typename WrappedIteratorT = decltype(std::begin(std::declval<RangeT>()))> |
iterator_range< pointer_iterator< WrappedIteratorT > > | make_pointer_range (RangeT &&Range) |
|
template<typename Container > |
| iterator_range (Container &&) -> iterator_range< llvm::detail::IterOfRange< Container > > |
|
template<class T > |
iterator_range< T > | make_range (T x, T y) |
| Convenience function for iterating over sub-ranges.
|
|
template<typename T > |
iterator_range< T > | make_range (std::pair< T, T > p) |
|
template<std::size_t I, typename PointerTy , unsigned IntBits, typename IntType , typename PtrTraits , typename Info > |
decltype(auto) | get (const PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info > &Pair) |
|
template<typename ... PTs> |
bool | operator== (PointerUnion< PTs... > lhs, PointerUnion< PTs... > rhs) |
|
template<typename ... PTs> |
bool | operator!= (PointerUnion< PTs... > lhs, PointerUnion< PTs... > rhs) |
|
template<typename ... PTs> |
bool | operator< (PointerUnion< PTs... > lhs, PointerUnion< PTs... > rhs) |
|
template<class T > |
po_iterator< T > | po_begin (const T &G) |
|
template<class T > |
po_iterator< T > | po_end (const T &G) |
|
template<class T > |
iterator_range< po_iterator< T > > | post_order (const T &G) |
|
template<class T , class SetType > |
po_ext_iterator< T, SetType > | po_ext_begin (T G, SetType &S) |
|
template<class T , class SetType > |
po_ext_iterator< T, SetType > | po_ext_end (T G, SetType &S) |
|
template<class T , class SetType > |
iterator_range< po_ext_iterator< T, SetType > > | post_order_ext (const T &G, SetType &S) |
|
template<class T > |
ipo_iterator< T > | ipo_begin (const T &G) |
|
template<class T > |
ipo_iterator< T > | ipo_end (const T &G) |
|
template<class T > |
iterator_range< ipo_iterator< T > > | inverse_post_order (const T &G) |
|
template<class T , class SetType > |
ipo_ext_iterator< T, SetType > | ipo_ext_begin (const T &G, SetType &S) |
|
template<class T , class SetType > |
ipo_ext_iterator< T, SetType > | ipo_ext_end (const T &G, SetType &S) |
|
template<class T , class SetType > |
iterator_range< ipo_ext_iterator< T, SetType > > | inverse_post_order_ext (const T &G, SetType &S) |
|
template<class T > |
scc_iterator< T > | scc_begin (const T &G) |
| Construct the begin iterator for a deduced graph type T.
|
|
template<class T > |
scc_iterator< T > | scc_end (const T &G) |
| Construct the end iterator for a deduced graph type T.
|
|
template<typename Callable > |
detail::scope_exit< std::decay_t< Callable > > | make_scope_exit (Callable &&F) |
|
template<typename T , typename = std::enable_if_t<std::is_integral<T>::value && !std::is_enum<T>::value>> |
auto | seq (T Begin, T End) |
| Iterate over an integral type from Begin up to - but not including - End.
|
|
template<typename T , typename = std::enable_if_t<std::is_integral<T>::value && !std::is_enum<T>::value>> |
auto | seq (T Size) |
| Iterate over an integral type from 0 up to - but not including - Size.
|
|
template<typename T , typename = std::enable_if_t<std::is_integral<T>::value && !std::is_enum<T>::value>> |
auto | seq_inclusive (T Begin, T End) |
| Iterate over an integral type from Begin to End inclusive.
|
|
template<typename EnumT , typename = std::enable_if_t<std::is_enum<EnumT>::value>> |
auto | enum_seq (EnumT Begin, EnumT End) |
| Iterate over an enum type from Begin up to - but not including - End.
|
|
template<typename EnumT , typename = std::enable_if_t<std::is_enum<EnumT>::value>> |
auto | enum_seq (EnumT Begin, EnumT End, force_iteration_on_noniterable_enum_t) |
| Iterate over an enum type from Begin up to - but not including - End, even when EnumT is not marked as safely iterable by enum_iteration_traits .
|
|
template<typename EnumT , typename = std::enable_if_t<std::is_enum<EnumT>::value>> |
auto | enum_seq_inclusive (EnumT Begin, EnumT End) |
| Iterate over an enum type from Begin to End inclusive.
|
|
template<typename EnumT , typename = std::enable_if_t<std::is_enum<EnumT>::value>> |
auto | enum_seq_inclusive (EnumT Begin, EnumT End, force_iteration_on_noniterable_enum_t) |
| Iterate over an enum type from Begin to End inclusive, even when EnumT is not marked as safely iterable by enum_iteration_traits .
|
|
template<class S1Ty , class S2Ty > |
bool | set_union (S1Ty &S1, const S2Ty &S2) |
| set_union(A, B) - Compute A := A u B, return whether A changed.
|
|
template<class S1Ty , class S2Ty > |
void | set_intersect (S1Ty &S1, const S2Ty &S2) |
| set_intersect(A, B) - Compute A := A ^ B Identical to set_intersection, except that it works on set<>'s and is nicer to use.
|
|
template<class S1Ty , class S2Ty > |
S1Ty | set_intersection_impl (const S1Ty &S1, const S2Ty &S2) |
|
template<class S1Ty , class S2Ty > |
S1Ty | set_intersection (const S1Ty &S1, const S2Ty &S2) |
| set_intersection(A, B) - Return A ^ B
|
|
template<class S1Ty , class S2Ty > |
S1Ty | set_difference (const S1Ty &S1, const S2Ty &S2) |
| set_difference(A, B) - Return A - B
|
|
template<class S1Ty , class S2Ty > |
void | set_subtract (S1Ty &S1, const S2Ty &S2) |
| set_subtract(A, B) - Compute A := A - B
|
|
template<class S1Ty , class S2Ty > |
void | set_subtract (S1Ty &S1, const S2Ty &S2, S1Ty &Removed, S1Ty &Remaining) |
| set_subtract(A, B, C, D) - Compute A := A - B, set C to the elements of B removed from A (A ^ B), and D to the elements of B not found in and removed from A (B - A).
|
|
template<class S1Ty , class S2Ty > |
bool | set_is_subset (const S1Ty &S1, const S2Ty &S2) |
| set_is_subset(A, B) - Return true iff A in B
|
|
SmallBitVector | operator& (const SmallBitVector &LHS, const SmallBitVector &RHS) |
|
SmallBitVector | operator| (const SmallBitVector &LHS, const SmallBitVector &RHS) |
|
SmallBitVector | operator^ (const SmallBitVector &LHS, const SmallBitVector &RHS) |
|
template<typename PtrType > |
bool | operator== (const SmallPtrSetImpl< PtrType > &LHS, const SmallPtrSetImpl< PtrType > &RHS) |
| Equality comparison for SmallPtrSet.
|
|
template<typename PtrType > |
bool | operator!= (const SmallPtrSetImpl< PtrType > &LHS, const SmallPtrSetImpl< PtrType > &RHS) |
| Inequality comparison for SmallPtrSet.
|
|
template<typename T , unsigned LN, unsigned RN, typename C > |
bool | operator== (const SmallSet< T, LN, C > &LHS, const SmallSet< T, RN, C > &RHS) |
| Equality comparison for SmallSet.
|
|
template<typename T , unsigned LN, unsigned RN, typename C > |
bool | operator!= (const SmallSet< T, LN, C > &LHS, const SmallSet< T, RN, C > &RHS) |
| Inequality comparison for SmallSet.
|
|
template<typename T , unsigned N> |
size_t | capacity_in_bytes (const SmallVector< T, N > &X) |
|
template<unsigned Size, typename R > |
SmallVector< ValueTypeFromRangeType< R >, Size > | to_vector (R &&Range) |
| Given a range of type R, iterate the entire range and return a SmallVector with elements of the vector.
|
|
template<typename R > |
SmallVector< ValueTypeFromRangeType< R > > | to_vector (R &&Range) |
|
template<typename Out , unsigned Size, typename R > |
SmallVector< Out, Size > | to_vector_of (R &&Range) |
|
template<typename Out , typename R > |
SmallVector< Out > | to_vector_of (R &&Range) |
|
template<unsigned Size, class ContainerTy , class PredicateFn > |
auto | filter_to_vector (ContainerTy &&C, PredicateFn &&Pred) |
| Filter a range to a SmallVector with the element types deduced.
|
|
template<class ContainerTy , class PredicateFn > |
auto | filter_to_vector (ContainerTy &&C, PredicateFn &&Pred) |
| Filter a range to a SmallVector with the element types deduced.
|
|
template<unsigned Size, class ContainerTy , class FuncTy > |
auto | map_to_vector (ContainerTy &&C, FuncTy &&F) |
| Map a range to a SmallVector with element types deduced from the mapping.
|
|
template<class ContainerTy , class FuncTy > |
auto | map_to_vector (ContainerTy &&C, FuncTy &&F) |
| Map a range to a SmallVector with element types deduced from the mapping.
|
|
template<unsigned ElementSize> |
bool | operator|= (SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > *RHS) |
|
template<unsigned ElementSize> |
bool | operator|= (SparseBitVector< ElementSize > *LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
bool | operator&= (SparseBitVector< ElementSize > *LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
bool | operator&= (SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > *RHS) |
|
template<unsigned ElementSize> |
SparseBitVector< ElementSize > | operator| (const SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
SparseBitVector< ElementSize > | operator& (const SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
SparseBitVector< ElementSize > | operator- (const SparseBitVector< ElementSize > &LHS, const SparseBitVector< ElementSize > &RHS) |
|
template<unsigned ElementSize> |
void | dump (const SparseBitVector< ElementSize > &LHS, raw_ostream &out) |
|
stable_hash | stable_hash_combine (ArrayRef< stable_hash > Buffer) |
|
stable_hash | stable_hash_combine (stable_hash A, stable_hash B) |
|
stable_hash | stable_hash_combine (stable_hash A, stable_hash B, stable_hash C) |
|
stable_hash | stable_hash_combine (stable_hash A, stable_hash B, stable_hash C, stable_hash D) |
|
StringRef | get_stable_name (StringRef Name) |
|
stable_hash | stable_hash_name (StringRef Name) |
|
void | EnableStatistics (bool DoPrintOnExit=true) |
| Enable the collection and printing of statistics.
|
|
bool | AreStatisticsEnabled () |
| Check if statistics are enabled.
|
|
std::unique_ptr< raw_ostream > | CreateInfoOutputFile () |
| Return a stream to print our output on.
|
|
void | PrintStatistics () |
| Print statistics to the file returned by CreateInfoOutputFile().
|
|
void | PrintStatistics (raw_ostream &OS) |
| Print statistics to the given output stream.
|
|
void | PrintStatisticsJSON (raw_ostream &OS) |
| Print statistics in JSON format.
|
|
std::vector< std::pair< StringRef, uint64_t > > | GetStatistics () |
| Get the statistics.
|
|
void | ResetStatistics () |
| Reset the statistics.
|
|
template<typename EnumTy1 , typename EnumTy2 , typename UT1 = std::enable_if_t<std::is_enum<EnumTy1>::value, std::underlying_type_t<EnumTy1>>, typename UT2 = std::enable_if_t<std::is_enum<EnumTy2>::value, std::underlying_type_t<EnumTy2>>> |
constexpr auto | addEnumValues (EnumTy1 LHS, EnumTy2 RHS) |
| Helper which adds two underlying types of enumeration type.
|
|
template<typename ContainerTy > |
bool | hasSingleElement (ContainerTy &&C) |
| Returns true if the given container only contains a single element.
|
|
template<typename T > |
auto | drop_begin (T &&RangeOrContainer, size_t N=1) |
| Return a range covering RangeOrContainer with the first N elements excluded.
|
|
template<typename T > |
auto | drop_end (T &&RangeOrContainer, size_t N=1) |
| Return a range covering RangeOrContainer with the last N elements excluded.
|
|
template<class ItTy , class FuncTy > |
mapped_iterator< ItTy, FuncTy > | map_iterator (ItTy I, FuncTy F) |
|
template<class ContainerTy , class FuncTy > |
auto | map_range (ContainerTy &&C, FuncTy F) |
|
template<typename ContainerTy > |
auto | reverse (ContainerTy &&C) |
|
template<typename RangeT , typename PredicateT > |
iterator_range< filter_iterator< detail::IterOfRange< RangeT >, PredicateT > > | make_filter_range (RangeT &&Range, PredicateT Pred) |
| Convenience function that takes a range of elements and a predicate, and return a new filter_iterator range.
|
|
template<typename RangeT > |
iterator_range< early_inc_iterator_impl< detail::IterOfRange< RangeT > > > | make_early_inc_range (RangeT &&Range) |
| Make a range that does early increment to allow mutation of the underlying range without disrupting iteration.
|
|
template<typename R , typename UnaryPredicate > |
bool | all_of (R &&Range, UnaryPredicate P) |
| Provide wrappers to std::all_of which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename UnaryPredicate > |
bool | any_of (R &&Range, UnaryPredicate P) |
| Provide wrappers to std::any_of which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename T > |
bool | all_equal (std::initializer_list< T > Values) |
| Returns true if all Values in the initializer lists are equal or the list.
|
|
template<typename R > |
constexpr size_t | range_size (R &&Range) |
| Returns the size of the Range , i.e., the number of elements.
|
|
template<typename T , typename U , typename... Args> |
detail::zippy< detail::zip_shortest, T, U, Args... > | zip (T &&t, U &&u, Args &&...args) |
| zip iterator for two or more iteratable types.
|
|
template<typename T , typename U , typename... Args> |
detail::zippy< detail::zip_first, T, U, Args... > | zip_equal (T &&t, U &&u, Args &&...args) |
| zip iterator that assumes that all iteratees have the same length.
|
|
template<typename T , typename U , typename... Args> |
detail::zippy< detail::zip_first, T, U, Args... > | zip_first (T &&t, U &&u, Args &&...args) |
| zip iterator that, for the sake of efficiency, assumes the first iteratee to be the shortest.
|
|
template<typename T , typename U , typename... Args> |
detail::zip_longest_range< T, U, Args... > | zip_longest (T &&t, U &&u, Args &&... args) |
| Iterate over two or more iterators at the same time.
|
|
template<typename ValueT , typename... RangeTs> |
detail::concat_range< ValueT, RangeTs... > | concat (RangeTs &&...Ranges) |
| Returns a concatenated range across two or more ranges.
|
|
template<typename ContainerTy > |
auto | make_first_range (ContainerTy &&c) |
| Given a container of pairs, return a range over the first elements.
|
|
template<typename ContainerTy > |
auto | make_second_range (ContainerTy &&c) |
| Given a container of pairs, return a range over the second elements.
|
|
template<typename... CallableTs> |
constexpr decltype(auto) | makeVisitor (CallableTs &&...Callables) |
| Returns an opaquely-typed Callable object whose operator() overload set is the sum of the operator() overload sets of each CallableT in CallableTs.
|
|
template<class Iterator , class RNG > |
void | shuffle (Iterator first, Iterator last, RNG &&g) |
|
template<typename T > |
int | array_pod_sort_comparator (const void *P1, const void *P2) |
| Adapt std::less<T> for array_pod_sort.
|
|
template<class IteratorTy > |
void | array_pod_sort (IteratorTy Start, IteratorTy End) |
| array_pod_sort - This sorts an array with the specified start and end extent.
|
|
template<class IteratorTy > |
void | array_pod_sort (IteratorTy Start, IteratorTy End, int(*Compare)(const typename std::iterator_traits< IteratorTy >::value_type *, const typename std::iterator_traits< IteratorTy >::value_type *)) |
|
template<typename IteratorTy > |
void | sort (IteratorTy Start, IteratorTy End) |
|
template<typename Container > |
void | sort (Container &&C) |
|
template<typename IteratorTy , typename Compare > |
void | sort (IteratorTy Start, IteratorTy End, Compare Comp) |
|
template<typename Container , typename Compare > |
void | sort (Container &&C, Compare Comp) |
|
template<typename R > |
auto | size (R &&Range, std::enable_if_t< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< decltype(Range.begin())>::iterator_category >::value, void > *=nullptr) |
| Get the size of a range.
|
|
template<typename R , typename UnaryFunction > |
UnaryFunction | for_each (R &&Range, UnaryFunction F) |
| Provide wrappers to std::for_each which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename UnaryPredicate > |
bool | none_of (R &&Range, UnaryPredicate P) |
| Provide wrappers to std::none_of which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename T > |
auto | find (R &&Range, const T &Val) |
| Provide wrappers to std::find which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename UnaryPredicate > |
auto | find_if (R &&Range, UnaryPredicate P) |
| Provide wrappers to std::find_if which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename UnaryPredicate > |
auto | find_if_not (R &&Range, UnaryPredicate P) |
|
template<typename R , typename UnaryPredicate > |
auto | remove_if (R &&Range, UnaryPredicate P) |
| Provide wrappers to std::remove_if which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename OutputIt , typename UnaryPredicate > |
OutputIt | copy_if (R &&Range, OutputIt Out, UnaryPredicate P) |
| Provide wrappers to std::copy_if which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename T , typename R , typename Predicate > |
T * | find_singleton (R &&Range, Predicate P, bool AllowRepeats=false) |
| Return the single value in Range that satisfies P (<member of Range> *, AllowRepeats)->T * returning nullptr when no values or multiple values were found.
|
|
template<typename T , typename R , typename Predicate > |
std::pair< T *, bool > | find_singleton_nested (R &&Range, Predicate P, bool AllowRepeats=false) |
| Return a pair consisting of the single value in Range that satisfies P (<member of Range> *, AllowRepeats)->std::pair<T*, bool> returning nullptr when no values or multiple values were found, and a bool indicating whether multiple values were found to cause the nullptr.
|
|
template<typename R , typename OutputIt > |
OutputIt | copy (R &&Range, OutputIt Out) |
|
template<typename R , typename OutputIt , typename UnaryPredicate , typename T > |
OutputIt | replace_copy_if (R &&Range, OutputIt Out, UnaryPredicate P, const T &NewValue) |
| Provide wrappers to std::replace_copy_if which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename OutputIt , typename T > |
OutputIt | replace_copy (R &&Range, OutputIt Out, const T &OldValue, const T &NewValue) |
| Provide wrappers to std::replace_copy which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename T > |
void | replace (R &&Range, const T &OldValue, const T &NewValue) |
| Provide wrappers to std::replace which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename OutputIt > |
OutputIt | move (R &&Range, OutputIt Out) |
| Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename E > |
bool | is_contained (R &&Range, const E &Element) |
| Returns true if Element is found in Range .
|
|
template<typename T , typename E > |
constexpr bool | is_contained (std::initializer_list< T > Set, const E &Element) |
| Returns true iff Element exists in Set .
|
|
template<typename R , typename Compare > |
bool | is_sorted (R &&Range, Compare C) |
| Wrapper function around std::is_sorted to check if elements in a range R are sorted with respect to a comparator C .
|
|
template<typename R > |
bool | is_sorted (R &&Range) |
| Wrapper function around std::is_sorted to check if elements in a range R are sorted in non-descending order.
|
|
template<typename R , typename E > |
auto | count (R &&Range, const E &Element) |
| Wrapper function around std::count to count the number of times an element Element occurs in the given range Range .
|
|
template<typename R , typename UnaryPredicate > |
auto | count_if (R &&Range, UnaryPredicate P) |
| Wrapper function around std::count_if to count the number of times an element satisfying a given predicate occurs in a range.
|
|
template<typename R , typename OutputIt , typename UnaryFunction > |
OutputIt | transform (R &&Range, OutputIt d_first, UnaryFunction F) |
| Wrapper function around std::transform to apply a function to a range and store the result elsewhere.
|
|
template<typename R , typename UnaryPredicate > |
auto | partition (R &&Range, UnaryPredicate P) |
| Provide wrappers to std::partition which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename T > |
auto | binary_search (R &&Range, T &&Value) |
| Provide wrappers to std::binary_search which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename T , typename Compare > |
auto | binary_search (R &&Range, T &&Value, Compare C) |
|
template<typename R , typename T > |
auto | lower_bound (R &&Range, T &&Value) |
| Provide wrappers to std::lower_bound which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename T , typename Compare > |
auto | lower_bound (R &&Range, T &&Value, Compare C) |
|
template<typename R , typename T > |
auto | upper_bound (R &&Range, T &&Value) |
| Provide wrappers to std::upper_bound which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename T , typename Compare > |
auto | upper_bound (R &&Range, T &&Value, Compare C) |
|
template<typename R > |
auto | min_element (R &&Range) |
| Provide wrappers to std::min_element which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename Compare > |
auto | min_element (R &&Range, Compare C) |
|
template<typename R > |
auto | max_element (R &&Range) |
| Provide wrappers to std::max_element which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R , typename Compare > |
auto | max_element (R &&Range, Compare C) |
|
template<typename R1 , typename R2 > |
auto | mismatch (R1 &&Range1, R2 &&Range2) |
| Provide wrappers to std::mismatch which take ranges instead of having to pass begin/end explicitly.
|
|
template<typename R > |
void | stable_sort (R &&Range) |
|
template<typename R , typename Compare > |
void | stable_sort (R &&Range, Compare C) |
|
template<typename R , typename Predicate , typename Val = decltype(*adl_begin(std::declval<R>()))> |
auto | partition_point (R &&Range, Predicate P) |
| Binary search for the first iterator in a range where a predicate is false.
|
|
template<typename Range , typename Predicate > |
auto | unique (Range &&R, Predicate P) |
|
template<typename Range > |
auto | unique (Range &&R) |
| Wrapper function around std::unique to allow calling unique on a container without having to specify the begin/end iterators.
|
|
template<typename L , typename R > |
bool | equal (L &&LRange, R &&RRange) |
| Wrapper function around std::equal to detect if pair-wise elements between two ranges are the same.
|
|
template<typename L , typename R , typename BinaryPredicate > |
bool | equal (L &&LRange, R &&RRange, BinaryPredicate P) |
|
template<typename R > |
bool | all_equal (R &&Range) |
| Returns true if all elements in Range are equal or when the Range is empty.
|
|
template<typename Container , typename UnaryPredicate > |
void | erase_if (Container &C, UnaryPredicate P) |
| Provide a container algorithm similar to C++ Library Fundamentals v2's erase_if which is equivalent to:
|
|
template<typename Container , typename ValueType > |
void | erase (Container &C, ValueType V) |
| Wrapper function to remove a value from a container:
|
|
template<typename Container , typename Range > |
void | append_range (Container &C, Range &&R) |
| Wrapper function to append range R to container C .
|
|
template<typename Container , typename... Args> |
void | append_values (Container &C, Args &&...Values) |
| Appends all Values to container C .
|
|
template<typename Container , typename RandomAccessIterator > |
void | replace (Container &Cont, typename Container::iterator ContIt, typename Container::iterator ContEnd, RandomAccessIterator ValIt, RandomAccessIterator ValEnd) |
| Given a sequence container Cont, replace the range [ContIt, ContEnd) with the range [ValIt, ValEnd) (which is not from the same container).
|
|
template<typename Container , typename Range = std::initializer_list< typename Container::value_type>> |
void | replace (Container &Cont, typename Container::iterator ContIt, typename Container::iterator ContEnd, Range R) |
| Given a sequence container Cont, replace the range [ContIt, ContEnd) with the range R.
|
|
template<typename ForwardIterator , typename UnaryFunctor , typename NullaryFunctor , typename = std::enable_if_t< !std::is_constructible<StringRef, UnaryFunctor>::value && !std::is_constructible<StringRef, NullaryFunctor>::value>> |
void | interleave (ForwardIterator begin, ForwardIterator end, UnaryFunctor each_fn, NullaryFunctor between_fn) |
| An STL-style algorithm similar to std::for_each that applies a second functor between every pair of elements.
|
|
template<typename Container , typename UnaryFunctor , typename NullaryFunctor , typename = std::enable_if_t< !std::is_constructible<StringRef, UnaryFunctor>::value && !std::is_constructible<StringRef, NullaryFunctor>::value>> |
void | interleave (const Container &c, UnaryFunctor each_fn, NullaryFunctor between_fn) |
|
template<typename Container , typename UnaryFunctor , typename StreamT , typename T = detail::ValueOfRange<Container>> |
void | interleave (const Container &c, StreamT &os, UnaryFunctor each_fn, const StringRef &separator) |
| Overload of interleave for the common case of string separator.
|
|
template<typename Container , typename StreamT , typename T = detail::ValueOfRange<Container>> |
void | interleave (const Container &c, StreamT &os, const StringRef &separator) |
|
template<typename Container , typename UnaryFunctor , typename StreamT , typename T = detail::ValueOfRange<Container>> |
void | interleaveComma (const Container &c, StreamT &os, UnaryFunctor each_fn) |
|
template<typename Container , typename StreamT , typename T = detail::ValueOfRange<Container>> |
void | interleaveComma (const Container &c, StreamT &os) |
|
template<typename FirstRange , typename... RestRanges> |
auto | enumerate (FirstRange &&First, RestRanges &&...Rest) |
| Given two or more input ranges, returns a new range whose values are tuples (A, B, C, ...), such that A is the 0-based index of the item in the sequence, and B, C, ..., are the values from the original input ranges.
|
|
template<typename... ArgsAndPredicate> |
bool | all_of_zip (ArgsAndPredicate &&...argsAndPredicate) |
| Compare two zipped ranges using the provided predicate (as last argument).
|
|
template<typename IterTy , typename Pred = bool (*)(const decltype(*std::declval<IterTy>()) &)> |
bool | hasNItems (IterTy &&Begin, IterTy &&End, unsigned N, Pred &&ShouldBeCounted=[](const decltype(*std::declval< IterTy >()) &) { return true;}, std::enable_if_t< !std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< std::remove_reference_t< decltype(Begin)> >::iterator_category >::value, void > *=nullptr) |
| Return true if the sequence [Begin, End) has exactly N items.
|
|
template<typename IterTy , typename Pred = bool (*)(const decltype(*std::declval<IterTy>()) &)> |
bool | hasNItemsOrMore (IterTy &&Begin, IterTy &&End, unsigned N, Pred &&ShouldBeCounted=[](const decltype(*std::declval< IterTy >()) &) { return true;}, std::enable_if_t< !std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< std::remove_reference_t< decltype(Begin)> >::iterator_category >::value, void > *=nullptr) |
| Return true if the sequence [Begin, End) has N or more items.
|
|
template<typename IterTy , typename Pred = bool (*)(const decltype(*std::declval<IterTy>()) &)> |
bool | hasNItemsOrLess (IterTy &&Begin, IterTy &&End, unsigned N, Pred &&ShouldBeCounted=[](const decltype(*std::declval< IterTy >()) &) { return true;}) |
| Returns true if the sequence [Begin, End) has N or less items.
|
|
template<typename ContainerTy > |
bool | hasNItems (ContainerTy &&C, unsigned N) |
| Returns true if the given container has exactly N items.
|
|
template<typename ContainerTy > |
bool | hasNItemsOrMore (ContainerTy &&C, unsigned N) |
| Returns true if the given container has N or more items.
|
|
template<typename ContainerTy > |
bool | hasNItemsOrLess (ContainerTy &&C, unsigned N) |
| Returns true if the given container has N or less items.
|
|
template<class Ptr > |
auto | to_address (const Ptr &P) |
| Returns a raw pointer that represents the same address as the argument.
|
|
template<class T > |
constexpr T * | to_address (T *P) |
|
template<typename T , typename Function > |
auto | transformOptional (const std::optional< T > &O, const Function &F) -> std::optional< decltype(F(*O))> |
|
template<typename T , typename Function > |
auto | transformOptional (std::optional< T > &&O, const Function &F) -> std::optional< decltype(F(*std::move(O)))> |
|
template<typename Enum > |
constexpr std::underlying_type_t< Enum > | to_underlying (Enum E) |
| Returns underlying integer value of an enum.
|
|
template<std::size_t Index, typename ValueTy > |
decltype(auto) | get (StringMapEntry< ValueTy > &E) |
|
template<std::size_t Index, typename ValueTy > |
decltype(auto) | get (const StringMapEntry< ValueTy > &E) |
|
bool | getAsUnsignedInteger (StringRef Str, unsigned Radix, unsigned long long &Result) |
| Helper functions for StringRef::getAsInteger.
|
|
bool | getAsSignedInteger (StringRef Str, unsigned Radix, long long &Result) |
|
bool | consumeUnsignedInteger (StringRef &Str, unsigned Radix, unsigned long long &Result) |
|
bool | consumeSignedInteger (StringRef &Str, unsigned Radix, long long &Result) |
|
hash_code | hash_value (StringRef S) |
| Compute a hash_code for a StringRef.
|
|
raw_ostream & | operator<< (raw_ostream &OS, AliasResult AR) |
| << operator for AliasResult.
|
|
bool | isNoAliasCall (const Value *V) |
| Return true if this pointer is returned by a noalias function.
|
|
bool | isIdentifiedObject (const Value *V) |
| Return true if this pointer refers to a distinct and identifiable object.
|
|
bool | isIdentifiedFunctionLocal (const Value *V) |
| Return true if V is umabigously identified at the function-level.
|
|
bool | isBaseOfObject (const Value *V) |
| Return true if we know V to the base address of the corresponding memory object.
|
|
bool | isEscapeSource (const Value *V) |
| Returns true if the pointer is one which would have been considered an escape by isNonEscapingLocalObject.
|
|
bool | isNotVisibleOnUnwind (const Value *Object, bool &RequiresNoCaptureBeforeUnwind) |
| Return true if Object memory is not visible after an unwind, in the sense that program semantics cannot depend on Object containing any particular value on unwind.
|
|
bool | isWritableObject (const Value *Object, bool &ExplicitlyDereferenceableOnly) |
| Return true if the Object is writable, in the sense that any location based on this pointer that can be loaded can also be stored to without trapping.
|
|
ImmutablePass * | createExternalAAWrapperPass (std::function< void(Pass &, Function &, AAResults &)> Callback) |
| A wrapper pass around a callback which can be used to populate the AAResults in the AAResultsWrapperPass from an external AA.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const AliasSet &AS) |
|
raw_ostream & | operator<< (raw_ostream &OS, const AliasSetTracker &AST) |
|
bool | hasAttributeInAssume (AssumeInst &Assume, Value *IsOn, StringRef AttrName, uint64_t *ArgVal=nullptr) |
| Query the operand bundle of an llvm.assume to find a single attribute of the specified kind applied on a specified Value.
|
|
bool | hasAttributeInAssume (AssumeInst &Assume, Value *IsOn, Attribute::AttrKind Kind, uint64_t *ArgVal=nullptr) |
|
void | fillMapFromAssume (AssumeInst &Assume, RetainedKnowledgeMap &Result) |
| Insert into the map all the informations contained in the operand bundles of the llvm.assume.
|
|
RetainedKnowledge | getKnowledgeFromOperandInAssume (AssumeInst &Assume, unsigned Idx) |
| Retreive the information help by Assume on the operand at index Idx.
|
|
RetainedKnowledge | getKnowledgeFromUseInAssume (const Use *U) |
| Retreive the information help by the Use U of an llvm.assume.
|
|
bool | isAssumeWithEmptyBundle (const AssumeInst &Assume) |
| Return true iff the operand bundles of the provided llvm.assume doesn't contain any valuable information.
|
|
RetainedKnowledge | getKnowledgeFromUse (const Use *U, ArrayRef< Attribute::AttrKind > AttrKinds) |
| Return a valid Knowledge associated to the Use U if its Attribute kind is in AttrKinds.
|
|
RetainedKnowledge | getKnowledgeForValue (const Value *V, ArrayRef< Attribute::AttrKind > AttrKinds, AssumptionCache *AC=nullptr, function_ref< bool(RetainedKnowledge, Instruction *, const CallBase::BundleOpInfo *)> Filter=[](auto...) { return true;}) |
| Return a valid Knowledge associated to the Value V if its Attribute kind is in AttrKinds and it matches the Filter.
|
|
RetainedKnowledge | getKnowledgeValidInContext (const Value *V, ArrayRef< Attribute::AttrKind > AttrKinds, const Instruction *CtxI, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr) |
| Return a valid Knowledge associated to the Value V if its Attribute kind is in AttrKinds and the knowledge is suitable to be used in the context of CtxI.
|
|
RetainedKnowledge | getKnowledgeFromBundle (AssumeInst &Assume, const CallBase::BundleOpInfo &BOI) |
| This extracts the Knowledge from an element of an operand bundle.
|
|
FunctionPass * | createBasicAAWrapperPass () |
|
Printable | printBlockFreq (const BlockFrequencyInfo &BFI, BlockFrequency Freq) |
| Print the block frequency Freq relative to the current functions entry frequency.
|
|
Printable | printBlockFreq (const BlockFrequencyInfo &BFI, const BasicBlock &BB) |
| Convenience function equivalent to calling printBlockFreq(BFI, BFI.getBlocakFreq(&BB)) .
|
|
uint32_t | getWeightFromBranchProb (const BranchProbability Prob) |
|
void | initializeDummyCGSCCPassPass (PassRegistry &) |
|
ModulePass * | createCallGraphViewerPass () |
|
ModulePass * | createCallGraphDOTPrinterPass () |
|
unsigned | getDefaultMaxUsesToExploreForCaptureTracking () |
| getDefaultMaxUsesToExploreForCaptureTracking - Return default value of the maximal number of uses to explore before giving up.
|
|
bool | PointerMayBeCaptured (const Value *V, bool ReturnCaptures, bool StoreCaptures, unsigned MaxUsesToExplore=0) |
| PointerMayBeCaptured - Return true if this pointer value may be captured by the enclosing function (which is required to exist).
|
|
bool | PointerMayBeCapturedBefore (const Value *V, bool ReturnCaptures, bool StoreCaptures, const Instruction *I, const DominatorTree *DT, bool IncludeI=false, unsigned MaxUsesToExplore=0, const LoopInfo *LI=nullptr) |
| PointerMayBeCapturedBefore - Return true if this pointer value may be captured by the enclosing function (which is required to exist).
|
|
Instruction * | FindEarliestCapture (const Value *V, Function &F, bool ReturnCaptures, bool StoreCaptures, const DominatorTree &DT, unsigned MaxUsesToExplore=0) |
|
UseCaptureKind | DetermineUseCaptureKind (const Use &U, llvm::function_ref< bool(Value *, const DataLayout &)> IsDereferenceableOrNull) |
| Determine what kind of capture behaviour U may exhibit.
|
|
void | PointerMayBeCaptured (const Value *V, CaptureTracker *Tracker, unsigned MaxUsesToExplore=0) |
| PointerMayBeCaptured - Visit the value and the values derived from it and find values which appear to be capturing the pointer value.
|
|
bool | isNonEscapingLocalObject (const Value *V, SmallDenseMap< const Value *, bool, 8 > *IsCapturedCache=nullptr) |
| Returns true if the pointer is to a function-local object that never escapes from the function.
|
|
void | FindFunctionBackedges (const Function &F, SmallVectorImpl< std::pair< const BasicBlock *, const BasicBlock * > > &Result) |
| Analyze the specified function to find all of the loop backedges in the function and return them.
|
|
unsigned | GetSuccessorNumber (const BasicBlock *BB, const BasicBlock *Succ) |
| Search for the specified successor of basic block BB and return its position in the terminator instruction's list of successors.
|
|
bool | isCriticalEdge (const Instruction *TI, unsigned SuccNum, bool AllowIdenticalEdges=false) |
| Return true if the specified edge is a critical edge.
|
|
bool | isCriticalEdge (const Instruction *TI, const BasicBlock *Succ, bool AllowIdenticalEdges=false) |
|
bool | isPotentiallyReachable (const Instruction *From, const Instruction *To, const SmallPtrSetImpl< BasicBlock * > *ExclusionSet=nullptr, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether instruction 'To' is reachable from 'From', without passing through any blocks in ExclusionSet, returning true if uncertain.
|
|
bool | isPotentiallyReachable (const BasicBlock *From, const BasicBlock *To, const SmallPtrSetImpl< BasicBlock * > *ExclusionSet=nullptr, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether block 'To' is reachable from 'From', returning true if uncertain.
|
|
bool | isPotentiallyReachableFromMany (SmallVectorImpl< BasicBlock * > &Worklist, const BasicBlock *StopBB, const SmallPtrSetImpl< BasicBlock * > *ExclusionSet, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether there is at least one path from a block in 'Worklist' to 'StopBB' without passing through any blocks in 'ExclusionSet', returning true if uncertain.
|
|
bool | isManyPotentiallyReachableFromMany (SmallVectorImpl< BasicBlock * > &Worklist, const SmallPtrSetImpl< const BasicBlock * > &StopSet, const SmallPtrSetImpl< BasicBlock * > *ExclusionSet, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether there is a potentially a path from at least one block in 'Worklist' to at least one block in 'StopSet' within a single function without passing through any of the blocks in 'ExclusionSet'.
|
|
template<class NodeT , class RPOTraversalT , class LoopInfoT , class GT = GraphTraits<NodeT>> |
bool | containsIrreducibleCFG (RPOTraversalT &RPOTraversal, const LoopInfoT &LI) |
| Return true if the control flow in RPOTraversal is irreducible.
|
|
template<typename BasicBlockT > |
std::string | SimpleNodeLabelString (const BasicBlockT *Node) |
|
template<typename BasicBlockT > |
std::string | CompleteNodeLabelString (const BasicBlockT *Node, function_ref< void(raw_string_ostream &, const BasicBlockT &)> HandleBasicBlock, function_ref< void(std::string &, unsigned &, unsigned)> HandleComment) |
|
template<typename CGSCCPassT > |
ModuleToPostOrderCGSCCPassAdaptor | createModuleToPostOrderCGSCCPassAdaptor (CGSCCPassT &&Pass) |
| A function to deduce a function pass type and wrap it in the templated adaptor.
|
|
LazyCallGraph::SCC & | updateCGAndAnalysisManagerForFunctionPass (LazyCallGraph &G, LazyCallGraph::SCC &C, LazyCallGraph::Node &N, CGSCCAnalysisManager &AM, CGSCCUpdateResult &UR, FunctionAnalysisManager &FAM) |
| Helper to update the call graph after running a function pass.
|
|
LazyCallGraph::SCC & | updateCGAndAnalysisManagerForCGSCCPass (LazyCallGraph &G, LazyCallGraph::SCC &C, LazyCallGraph::Node &N, CGSCCAnalysisManager &AM, CGSCCUpdateResult &UR, FunctionAnalysisManager &FAM) |
| Helper to update the call graph after running a CGSCC pass.
|
|
template<typename FunctionPassT > |
CGSCCToFunctionPassAdaptor | createCGSCCToFunctionPassAdaptor (FunctionPassT &&Pass, bool EagerlyInvalidate=false, bool NoRerun=false) |
| A function to deduce a function pass type and wrap it in the templated adaptor.
|
|
template<typename CGSCCPassT > |
DevirtSCCRepeatedPass | createDevirtSCCRepeatedPass (CGSCCPassT &&Pass, int MaxIterations) |
| A function to deduce a function pass type and wrap it in the templated adaptor.
|
|
unsigned | getICmpCode (CmpInst::Predicate Pred) |
| Encode a icmp predicate into a three bit mask.
|
|
Constant * | getPredForICmpCode (unsigned Code, bool Sign, Type *OpTy, CmpInst::Predicate &Pred) |
| This is the complement of getICmpCode.
|
|
bool | predicatesFoldable (CmpInst::Predicate P1, CmpInst::Predicate P2) |
| Return true if both predicates match sign or if at least one of them is an equality comparison (which is signless).
|
|
unsigned | getFCmpCode (CmpInst::Predicate CC) |
| Similar to getICmpCode but for FCmpInst.
|
|
Constant * | getPredForFCmpCode (unsigned Code, Type *OpTy, CmpInst::Predicate &Pred) |
| This is the complement of getFCmpCode.
|
|
std::optional< DecomposedBitTest > | decomposeBitTestICmp (Value *LHS, Value *RHS, CmpInst::Predicate Pred, bool LookThroughTrunc=true, bool AllowNonZeroC=false) |
| Decompose an icmp into the form ((X & Mask) pred C) if possible.
|
|
bool | IsConstantOffsetFromGlobal (Constant *C, GlobalValue *&GV, APInt &Offset, const DataLayout &DL, DSOLocalEquivalent **DSOEquiv=nullptr) |
| If this constant is a constant offset from a global, return the global and the constant.
|
|
Constant * | ConstantFoldInstruction (Instruction *I, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr) |
| ConstantFoldInstruction - Try to constant fold the specified instruction.
|
|
Constant * | ConstantFoldConstant (const Constant *C, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr) |
| ConstantFoldConstant - Fold the constant using the specified DataLayout.
|
|
Constant * | ConstantFoldInstOperands (Instruction *I, ArrayRef< Constant * > Ops, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, bool AllowNonDeterministic=true) |
| ConstantFoldInstOperands - Attempt to constant fold an instruction with the specified operands.
|
|
Constant * | ConstantFoldCompareInstOperands (unsigned Predicate, Constant *LHS, Constant *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const Instruction *I=nullptr) |
| Attempt to constant fold a compare instruction (icmp/fcmp) with the specified operands.
|
|
Constant * | ConstantFoldUnaryOpOperand (unsigned Opcode, Constant *Op, const DataLayout &DL) |
| Attempt to constant fold a unary operation with the specified operand.
|
|
Constant * | ConstantFoldBinaryOpOperands (unsigned Opcode, Constant *LHS, Constant *RHS, const DataLayout &DL) |
| Attempt to constant fold a binary operation with the specified operands.
|
|
Constant * | ConstantFoldFPInstOperands (unsigned Opcode, Constant *LHS, Constant *RHS, const DataLayout &DL, const Instruction *I, bool AllowNonDeterministic=true) |
| Attempt to constant fold a floating point binary operation with the specified operands, applying the denormal handling mod to the operands.
|
|
Constant * | FlushFPConstant (Constant *Operand, const Instruction *I, bool IsOutput) |
| Attempt to flush float point constant according to denormal mode set in the instruction's parent function attributes.
|
|
Constant * | ConstantFoldSelectInstruction (Constant *Cond, Constant *V1, Constant *V2) |
| Attempt to constant fold a select instruction with the specified operands.
|
|
Constant * | ConstantFoldCastOperand (unsigned Opcode, Constant *C, Type *DestTy, const DataLayout &DL) |
| Attempt to constant fold a cast with the specified operand.
|
|
Constant * | ConstantFoldIntegerCast (Constant *C, Type *DestTy, bool IsSigned, const DataLayout &DL) |
| Constant fold a zext, sext or trunc, depending on IsSigned and whether the DestTy is wider or narrower than C.
|
|
Constant * | ConstantFoldInsertValueInstruction (Constant *Agg, Constant *Val, ArrayRef< unsigned > Idxs) |
| ConstantFoldInsertValueInstruction - Attempt to constant fold an insertvalue instruction with the specified operands and indices.
|
|
Constant * | ConstantFoldExtractValueInstruction (Constant *Agg, ArrayRef< unsigned > Idxs) |
| Attempt to constant fold an extractvalue instruction with the specified operands and indices.
|
|
Constant * | ConstantFoldInsertElementInstruction (Constant *Val, Constant *Elt, Constant *Idx) |
| Attempt to constant fold an insertelement instruction with the specified operands and indices.
|
|
Constant * | ConstantFoldExtractElementInstruction (Constant *Val, Constant *Idx) |
| Attempt to constant fold an extractelement instruction with the specified operands and indices.
|
|
Constant * | ConstantFoldShuffleVectorInstruction (Constant *V1, Constant *V2, ArrayRef< int > Mask) |
| Attempt to constant fold a shufflevector instruction with the specified operands and mask.
|
|
Constant * | ConstantFoldLoadFromConst (Constant *C, Type *Ty, const APInt &Offset, const DataLayout &DL) |
| Extract value of C at the given Offset reinterpreted as Ty.
|
|
Constant * | ConstantFoldLoadFromConst (Constant *C, Type *Ty, const DataLayout &DL) |
| Extract value of C reinterpreted as Ty.
|
|
Constant * | ConstantFoldLoadFromConstPtr (Constant *C, Type *Ty, APInt Offset, const DataLayout &DL) |
| Return the value that a load from C with offset Offset would produce if it is constant and determinable.
|
|
Constant * | ConstantFoldLoadFromConstPtr (Constant *C, Type *Ty, const DataLayout &DL) |
| Return the value that a load from C would produce if it is constant and determinable.
|
|
Constant * | ConstantFoldLoadFromUniformValue (Constant *C, Type *Ty, const DataLayout &DL) |
| If C is a uniform value where all bits are the same (either all zero, all ones, all undef or all poison), return the corresponding uniform value in the new type.
|
|
bool | canConstantFoldCallTo (const CallBase *Call, const Function *F) |
| canConstantFoldCallTo - Return true if its even possible to fold a call to the specified function.
|
|
Constant * | ConstantFoldCall (const CallBase *Call, Function *F, ArrayRef< Constant * > Operands, const TargetLibraryInfo *TLI=nullptr, bool AllowNonDeterministic=true) |
| ConstantFoldCall - Attempt to constant fold a call to the specified function with the specified arguments, returning null if unsuccessful.
|
|
Constant * | ConstantFoldBinaryIntrinsic (Intrinsic::ID ID, Constant *LHS, Constant *RHS, Type *Ty, Instruction *FMFSource) |
|
Constant * | ConstantFoldLoadThroughBitcast (Constant *C, Type *DestTy, const DataLayout &DL) |
| ConstantFoldLoadThroughBitcast - try to cast constant to destination type returning null if unsuccessful.
|
|
bool | isMathLibCallNoop (const CallBase *Call, const TargetLibraryInfo *TLI) |
| Check whether the given call has no side-effects.
|
|
Constant * | ReadByteArrayFromGlobal (const GlobalVariable *GV, uint64_t Offset) |
|
raw_ostream & | operator<< (raw_ostream &OS, const DDGNode &N) |
|
raw_ostream & | operator<< (raw_ostream &OS, const DDGNode::NodeKind K) |
|
raw_ostream & | operator<< (raw_ostream &OS, const DDGEdge &E) |
|
raw_ostream & | operator<< (raw_ostream &OS, const DDGEdge::EdgeKind K) |
|
raw_ostream & | operator<< (raw_ostream &OS, const DataDependenceGraph &G) |
|
void | findArrayDimensions (ScalarEvolution &SE, SmallVectorImpl< const SCEV * > &Terms, SmallVectorImpl< const SCEV * > &Sizes, const SCEV *ElementSize) |
| Compute the array dimensions Sizes from the set of Terms extracted from the memory access function of this SCEVAddRecExpr (second step of delinearization).
|
|
void | collectParametricTerms (ScalarEvolution &SE, const SCEV *Expr, SmallVectorImpl< const SCEV * > &Terms) |
| Collect parametric terms occurring in step expressions (first step of delinearization).
|
|
void | computeAccessFunctions (ScalarEvolution &SE, const SCEV *Expr, SmallVectorImpl< const SCEV * > &Subscripts, SmallVectorImpl< const SCEV * > &Sizes) |
| Return in Subscripts the access functions for each dimension in Sizes (third step of delinearization).
|
|
void | delinearize (ScalarEvolution &SE, const SCEV *Expr, SmallVectorImpl< const SCEV * > &Subscripts, SmallVectorImpl< const SCEV * > &Sizes, const SCEV *ElementSize) |
| Split this SCEVAddRecExpr into two vectors of SCEVs representing the subscripts and sizes of an array access.
|
|
bool | getIndexExpressionsFromGEP (ScalarEvolution &SE, const GetElementPtrInst *GEP, SmallVectorImpl< const SCEV * > &Subscripts, SmallVectorImpl< int > &Sizes) |
| Gathers the individual index expressions from a GEP instruction.
|
|
bool | tryDelinearizeFixedSizeImpl (ScalarEvolution *SE, Instruction *Inst, const SCEV *AccessFn, SmallVectorImpl< const SCEV * > &Subscripts, SmallVectorImpl< int > &Sizes) |
| Implementation of fixed size array delinearization.
|
|
FunctionPass * | createDependenceAnalysisWrapperPass () |
| createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis wrapper pass.
|
|
FunctionPass * | createDomPrinterWrapperPassPass () |
|
FunctionPass * | createDomOnlyPrinterWrapperPassPass () |
|
FunctionPass * | createDomViewerWrapperPassPass () |
|
FunctionPass * | createDomOnlyViewerWrapperPassPass () |
|
FunctionPass * | createPostDomPrinterWrapperPassPass () |
|
FunctionPass * | createPostDomOnlyPrinterWrapperPassPass () |
|
FunctionPass * | createPostDomViewerWrapperPassPass () |
|
FunctionPass * | createPostDomOnlyViewerWrapperPassPass () |
|
template<typename GraphT > |
void | viewGraphForFunction (Function &F, GraphT Graph, StringRef Name, bool IsSimple) |
|
static void | shortenFileName (std::string &FN, unsigned char len=250) |
|
template<typename GraphT > |
void | printGraphForFunction (Function &F, GraphT Graph, StringRef Name, bool IsSimple) |
|
template<typename GraphT > |
void | WriteDOTGraphToFile (Function &F, GraphT &&Graph, std::string FileNamePrefix, bool IsSimple) |
|
ModulePass * | createDXILResourceTypeWrapperPassPass () |
|
ModulePass * | createDXILResourceBindingWrapperPassPass () |
|
template<typename FunctionT , typename BlockT > |
static void | computeEHOnlyBlocks (FunctionT &F, DenseSet< BlockT * > &EHBlocks) |
| Compute a list of blocks that are only reachable via EH paths.
|
|
ModulePass * | createGlobalsAAWrapperPass () |
|
bool | isGuard (const User *U) |
| Returns true iff U has semantics of a guard expressed in a form of call of llvm.experimental.guard intrinsic.
|
|
bool | isWidenableCondition (const Value *V) |
| Returns true iff V has semantics of llvm.experimental.widenable.condition call.
|
|
bool | isWidenableBranch (const User *U) |
| Returns true iff U is a widenable branch (that is, extractWidenableCondition returns widenable condition).
|
|
bool | isGuardAsWidenableBranch (const User *U) |
| Returns true iff U has semantics of a guard expressed in a form of a widenable conditional branch to deopt block.
|
|
bool | parseWidenableBranch (const User *U, Value *&Condition, Value *&WidenableCondition, BasicBlock *&IfTrueBB, BasicBlock *&IfFalseBB) |
| If U is widenable branch looking like: cond = ... wc = call i1 @llvm.experimental.widenable.condition() branch_cond = and i1 cond, wc br i1 branch_cond, label if_true_bb, label if_false_bb ; <— U The function returns true, and the values cond and wc and blocks if_true_bb, if_false_bb are returned in the parameters (Condition, WidenableCondition, IfTrueBB and IfFalseFF) respectively.
|
|
bool | parseWidenableBranch (User *U, Use *&Cond, Use *&WC, BasicBlock *&IfTrueBB, BasicBlock *&IfFalseBB) |
| Analogous to the above, but return the Uses so that they can be modified.
|
|
void | parseWidenableGuard (const User *U, llvm::SmallVectorImpl< Value * > &Checks) |
|
Value * | extractWidenableCondition (const User *U) |
|
uint64_t | getNumOfCalls (Function &callerFunction, Function &calledFunction) |
|
uint64_t | getMaxFreq (const Function &F, const BlockFrequencyInfo *BFI) |
|
std::string | getHeatColor (uint64_t freq, uint64_t maxFreq) |
|
std::string | getHeatColor (double percent) |
|
std::vector< CallBase * > | findIndirectCalls (Function &F) |
|
std::vector< Instruction * > | findVTableAddrs (Function &F) |
|
std::string | AnnotateInlinePassName (InlineContext IC) |
|
std::unique_ptr< InlineAdvisor > | getReleaseModeAdvisor (Module &M, ModuleAnalysisManager &MAM, std::function< bool(CallBase &)> GetDefaultAdvice) |
|
std::unique_ptr< InlineAdvisor > | getDevelopmentModeAdvisor (Module &M, ModuleAnalysisManager &MAM, std::function< bool(CallBase &)> GetDefaultAdvice) |
|
std::optional< InlineCost > | shouldInline (CallBase &CB, TargetTransformInfo &CalleeTTI, function_ref< InlineCost(CallBase &CB)> GetInlineCost, OptimizationRemarkEmitter &ORE, bool EnableDeferral=true) |
| Return the cost only if the inliner should attempt to inline at the given CallSite.
|
|
void | emitInlinedInto (OptimizationRemarkEmitter &ORE, DebugLoc DLoc, const BasicBlock *Block, const Function &Callee, const Function &Caller, bool IsMandatory, function_ref< void(OptimizationRemark &)> ExtraContext={}, const char *PassName=nullptr) |
| Emit ORE message.
|
|
void | emitInlinedIntoBasedOnCost (OptimizationRemarkEmitter &ORE, DebugLoc DLoc, const BasicBlock *Block, const Function &Callee, const Function &Caller, const InlineCost &IC, bool ForProfileContext=false, const char *PassName=nullptr) |
| Emit ORE message based in cost (default heuristic).
|
|
void | addLocationToRemarks (OptimizationRemark &Remark, DebugLoc DLoc) |
| Add location info to ORE message.
|
|
void | setInlineRemark (CallBase &CB, StringRef Message) |
| Set the inline-remark attribute.
|
|
std::string | inlineCostStr (const InlineCost &IC) |
| Utility for extracting the inline cost message to a string.
|
|
std::optional< int > | getStringFnAttrAsInt (CallBase &CB, StringRef AttrKind) |
|
InlineParams | getInlineParams () |
| Generate the parameters to tune the inline cost analysis based only on the commandline options.
|
|
InlineParams | getInlineParams (int Threshold) |
| Generate the parameters to tune the inline cost analysis based on command line options.
|
|
InlineParams | getInlineParams (unsigned OptLevel, unsigned SizeOptLevel) |
| Generate the parameters to tune the inline cost analysis based on command line options.
|
|
int | getCallsiteCost (const TargetTransformInfo &TTI, const CallBase &Call, const DataLayout &DL) |
| Return the cost associated with a callsite, including parameter passing and the call/return instruction.
|
|
InlineCost | getInlineCost (CallBase &Call, const InlineParams &Params, TargetTransformInfo &CalleeTTI, function_ref< AssumptionCache &(Function &)> GetAssumptionCache, function_ref< const TargetLibraryInfo &(Function &)> GetTLI, function_ref< BlockFrequencyInfo &(Function &)> GetBFI=nullptr, ProfileSummaryInfo *PSI=nullptr, OptimizationRemarkEmitter *ORE=nullptr) |
| Get an InlineCost object representing the cost of inlining this callsite.
|
|
InlineCost | getInlineCost (CallBase &Call, Function *Callee, const InlineParams &Params, TargetTransformInfo &CalleeTTI, function_ref< AssumptionCache &(Function &)> GetAssumptionCache, function_ref< const TargetLibraryInfo &(Function &)> GetTLI, function_ref< BlockFrequencyInfo &(Function &)> GetBFI=nullptr, ProfileSummaryInfo *PSI=nullptr, OptimizationRemarkEmitter *ORE=nullptr) |
| Get an InlineCost with the callee explicitly specified.
|
|
std::optional< InlineResult > | getAttributeBasedInliningDecision (CallBase &Call, Function *Callee, TargetTransformInfo &CalleeTTI, function_ref< const TargetLibraryInfo &(Function &)> GetTLI) |
| Returns InlineResult::success() if the call site should be always inlined because of user directives, and the inlining is viable.
|
|
std::optional< int > | getInliningCostEstimate (CallBase &Call, TargetTransformInfo &CalleeTTI, function_ref< AssumptionCache &(Function &)> GetAssumptionCache, function_ref< BlockFrequencyInfo &(Function &)> GetBFI=nullptr, function_ref< const TargetLibraryInfo &(Function &)> GetTLI=nullptr, ProfileSummaryInfo *PSI=nullptr, OptimizationRemarkEmitter *ORE=nullptr) |
| Get the cost estimate ignoring thresholds.
|
|
std::optional< InlineCostFeatures > | getInliningCostFeatures (CallBase &Call, TargetTransformInfo &CalleeTTI, function_ref< AssumptionCache &(Function &)> GetAssumptionCache, function_ref< BlockFrequencyInfo &(Function &)> GetBFI=nullptr, function_ref< const TargetLibraryInfo &(Function &)> GetTLI=nullptr, ProfileSummaryInfo *PSI=nullptr, OptimizationRemarkEmitter *ORE=nullptr) |
| Get the expanded cost features.
|
|
InlineResult | isInlineViable (Function &Callee) |
| Minimal filter to detect invalid constructs for inlining.
|
|
constexpr bool | isHeuristicInlineCostFeature (InlineCostFeatureIndex Feature) |
|
constexpr FeatureIndex | inlineCostFeatureToMlFeature (InlineCostFeatureIndex Feature) |
|
std::unique_ptr< InlineOrder< std::pair< CallBase *, int > > > | getDefaultInlineOrder (FunctionAnalysisManager &FAM, const InlineParams &Params, ModuleAnalysisManager &MAM, Module &M) |
|
std::unique_ptr< InlineOrder< std::pair< CallBase *, int > > > | getInlineOrder (FunctionAnalysisManager &FAM, const InlineParams &Params, ModuleAnalysisManager &MAM, Module &M) |
|
Value * | simplifyAddInst (Value *LHS, Value *RHS, bool IsNSW, bool IsNUW, const SimplifyQuery &Q) |
| Given operands for an Add, fold the result or return null.
|
|
Value * | simplifySubInst (Value *LHS, Value *RHS, bool IsNSW, bool IsNUW, const SimplifyQuery &Q) |
| Given operands for a Sub, fold the result or return null.
|
|
Value * | simplifyMulInst (Value *LHS, Value *RHS, bool IsNSW, bool IsNUW, const SimplifyQuery &Q) |
| Given operands for a Mul, fold the result or return null.
|
|
Value * | simplifySDivInst (Value *LHS, Value *RHS, bool IsExact, const SimplifyQuery &Q) |
| Given operands for an SDiv, fold the result or return null.
|
|
Value * | simplifyUDivInst (Value *LHS, Value *RHS, bool IsExact, const SimplifyQuery &Q) |
| Given operands for a UDiv, fold the result or return null.
|
|
Value * | simplifySRemInst (Value *LHS, Value *RHS, const SimplifyQuery &Q) |
| Given operands for an SRem, fold the result or return null.
|
|
Value * | simplifyURemInst (Value *LHS, Value *RHS, const SimplifyQuery &Q) |
| Given operands for a URem, fold the result or return null.
|
|
Value * | simplifyFNegInst (Value *Op, FastMathFlags FMF, const SimplifyQuery &Q) |
| Given operand for an FNeg, fold the result or return null.
|
|
Value * | simplifyFAddInst (Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q, fp::ExceptionBehavior ExBehavior=fp::ebIgnore, RoundingMode Rounding=RoundingMode::NearestTiesToEven) |
| Given operands for an FAdd, fold the result or return null.
|
|
Value * | simplifyFSubInst (Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q, fp::ExceptionBehavior ExBehavior=fp::ebIgnore, RoundingMode Rounding=RoundingMode::NearestTiesToEven) |
| Given operands for an FSub, fold the result or return null.
|
|
Value * | simplifyFMulInst (Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q, fp::ExceptionBehavior ExBehavior=fp::ebIgnore, RoundingMode Rounding=RoundingMode::NearestTiesToEven) |
| Given operands for an FMul, fold the result or return null.
|
|
Value * | simplifyFMAFMul (Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q, fp::ExceptionBehavior ExBehavior=fp::ebIgnore, RoundingMode Rounding=RoundingMode::NearestTiesToEven) |
| Given operands for the multiplication of a FMA, fold the result or return null.
|
|
Value * | simplifyFDivInst (Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q, fp::ExceptionBehavior ExBehavior=fp::ebIgnore, RoundingMode Rounding=RoundingMode::NearestTiesToEven) |
| Given operands for an FDiv, fold the result or return null.
|
|
Value * | simplifyFRemInst (Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q, fp::ExceptionBehavior ExBehavior=fp::ebIgnore, RoundingMode Rounding=RoundingMode::NearestTiesToEven) |
| Given operands for an FRem, fold the result or return null.
|
|
Value * | simplifyShlInst (Value *Op0, Value *Op1, bool IsNSW, bool IsNUW, const SimplifyQuery &Q) |
| Given operands for a Shl, fold the result or return null.
|
|
Value * | simplifyLShrInst (Value *Op0, Value *Op1, bool IsExact, const SimplifyQuery &Q) |
| Given operands for a LShr, fold the result or return null.
|
|
Value * | simplifyAShrInst (Value *Op0, Value *Op1, bool IsExact, const SimplifyQuery &Q) |
| Given operands for a AShr, fold the result or return nulll.
|
|
Value * | simplifyAndInst (Value *LHS, Value *RHS, const SimplifyQuery &Q) |
| Given operands for an And, fold the result or return null.
|
|
Value * | simplifyOrInst (Value *LHS, Value *RHS, const SimplifyQuery &Q) |
| Given operands for an Or, fold the result or return null.
|
|
Value * | simplifyXorInst (Value *LHS, Value *RHS, const SimplifyQuery &Q) |
| Given operands for an Xor, fold the result or return null.
|
|
Value * | simplifyICmpInst (CmpPredicate Pred, Value *LHS, Value *RHS, const SimplifyQuery &Q) |
| Given operands for an ICmpInst, fold the result or return null.
|
|
Value * | simplifyFCmpInst (CmpPredicate Predicate, Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q) |
| Given operands for an FCmpInst, fold the result or return null.
|
|
Value * | simplifySelectInst (Value *Cond, Value *TrueVal, Value *FalseVal, const SimplifyQuery &Q) |
| Given operands for a SelectInst, fold the result or return null.
|
|
Value * | simplifyGEPInst (Type *SrcTy, Value *Ptr, ArrayRef< Value * > Indices, GEPNoWrapFlags NW, const SimplifyQuery &Q) |
| Given operands for a GetElementPtrInst, fold the result or return null.
|
|
Value * | simplifyInsertValueInst (Value *Agg, Value *Val, ArrayRef< unsigned > Idxs, const SimplifyQuery &Q) |
| Given operands for an InsertValueInst, fold the result or return null.
|
|
Value * | simplifyInsertElementInst (Value *Vec, Value *Elt, Value *Idx, const SimplifyQuery &Q) |
| Given operands for an InsertElement, fold the result or return null.
|
|
Value * | simplifyExtractValueInst (Value *Agg, ArrayRef< unsigned > Idxs, const SimplifyQuery &Q) |
| Given operands for an ExtractValueInst, fold the result or return null.
|
|
Value * | simplifyExtractElementInst (Value *Vec, Value *Idx, const SimplifyQuery &Q) |
| Given operands for an ExtractElementInst, fold the result or return null.
|
|
Value * | simplifyCastInst (unsigned CastOpc, Value *Op, Type *Ty, const SimplifyQuery &Q) |
| Given operands for a CastInst, fold the result or return null.
|
|
Value * | simplifyBinaryIntrinsic (Intrinsic::ID IID, Type *ReturnType, Value *Op0, Value *Op1, const SimplifyQuery &Q, const CallBase *Call) |
| Given operands for a BinaryIntrinsic, fold the result or return null.
|
|
Value * | simplifyShuffleVectorInst (Value *Op0, Value *Op1, ArrayRef< int > Mask, Type *RetTy, const SimplifyQuery &Q) |
| Given operands for a ShuffleVectorInst, fold the result or return null.
|
|
Value * | simplifyCmpInst (CmpPredicate Predicate, Value *LHS, Value *RHS, const SimplifyQuery &Q) |
| Given operands for a CmpInst, fold the result or return null.
|
|
Value * | simplifyUnOp (unsigned Opcode, Value *Op, const SimplifyQuery &Q) |
| Given operand for a UnaryOperator, fold the result or return null.
|
|
Value * | simplifyUnOp (unsigned Opcode, Value *Op, FastMathFlags FMF, const SimplifyQuery &Q) |
| Given operand for a UnaryOperator, fold the result or return null.
|
|
Value * | simplifyBinOp (unsigned Opcode, Value *LHS, Value *RHS, const SimplifyQuery &Q) |
| Given operands for a BinaryOperator, fold the result or return null.
|
|
Value * | simplifyBinOp (unsigned Opcode, Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q) |
| Given operands for a BinaryOperator, fold the result or return null.
|
|
Value * | simplifyCall (CallBase *Call, Value *Callee, ArrayRef< Value * > Args, const SimplifyQuery &Q) |
| Given a callsite, callee, and arguments, fold the result or return null.
|
|
Value * | simplifyConstrainedFPCall (CallBase *Call, const SimplifyQuery &Q) |
| Given a constrained FP intrinsic call, tries to compute its simplified version.
|
|
Value * | simplifyFreezeInst (Value *Op, const SimplifyQuery &Q) |
| Given an operand for a Freeze, see if we can fold the result.
|
|
Value * | simplifyLoadInst (LoadInst *LI, Value *PtrOp, const SimplifyQuery &Q) |
| Given a load instruction and its pointer operand, fold the result or return null.
|
|
Value * | simplifyInstruction (Instruction *I, const SimplifyQuery &Q) |
| See if we can compute a simplified version of this instruction.
|
|
Value * | simplifyInstructionWithOperands (Instruction *I, ArrayRef< Value * > NewOps, const SimplifyQuery &Q) |
| Like simplifyInstruction but the operands of I are replaced with NewOps .
|
|
Value * | simplifyWithOpReplaced (Value *V, Value *Op, Value *RepOp, const SimplifyQuery &Q, bool AllowRefinement, SmallVectorImpl< Instruction * > *DropFlags=nullptr) |
| See if V simplifies when its operand Op is replaced with RepOp.
|
|
bool | replaceAndRecursivelySimplify (Instruction *I, Value *SimpleV, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, SmallSetVector< Instruction *, 8 > *UnsimplifiedUsers=nullptr) |
| Replace all uses of 'I' with 'SimpleV' and simplify the uses recursively.
|
|
const SimplifyQuery | getBestSimplifyQuery (Pass &, Function &) |
|
template<class T , class... TArgs> |
const SimplifyQuery | getBestSimplifyQuery (AnalysisManager< T, TArgs... > &, Function &) |
|
const SimplifyQuery | getBestSimplifyQuery (LoopStandardAnalysisResults &, const DataLayout &) |
|
Pass * | createIVUsersPass () |
|
void | initializeLazyBFIPassPass (PassRegistry &Registry) |
| Helper for client passes to initialize dependent passes for LBFI.
|
|
void | initializeLazyBPIPassPass (PassRegistry &Registry) |
| Helper for client passes to initialize dependent passes for LBPI.
|
|
void | lintModule (const Module &M) |
| Lint a module.
|
|
void | lintFunction (const Function &F) |
| lintFunction - Check a function for errors, printing messages on stderr.
|
|
bool | isDereferenceablePointer (const Value *V, Type *Ty, const DataLayout &DL, const Instruction *CtxI=nullptr, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr) |
| Return true if this is always a dereferenceable pointer.
|
|
bool | isDereferenceableAndAlignedPointer (const Value *V, Type *Ty, Align Alignment, const DataLayout &DL, const Instruction *CtxI=nullptr, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr) |
| Returns true if V is always a dereferenceable pointer with alignment greater or equal than requested.
|
|
bool | isDereferenceableAndAlignedPointer (const Value *V, Align Alignment, const APInt &Size, const DataLayout &DL, const Instruction *CtxI=nullptr, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr) |
| Returns true if V is always dereferenceable for Size byte with alignment greater or equal than requested.
|
|
bool | isSafeToLoadUnconditionally (Value *V, Align Alignment, const APInt &Size, const DataLayout &DL, Instruction *ScanFrom, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr) |
| Return true if we know that executing a load from this value cannot trap.
|
|
bool | isDereferenceableAndAlignedInLoop (LoadInst *LI, Loop *L, ScalarEvolution &SE, DominatorTree &DT, AssumptionCache *AC=nullptr, SmallVectorImpl< const SCEVPredicate * > *Predicates=nullptr) |
| Return true if we can prove that the given load (which is assumed to be within the specified loop) would access only dereferenceable memory, and be properly aligned on every iteration of the specified loop regardless of its placement within the loop.
|
|
bool | isDereferenceableReadOnlyLoop (Loop *L, ScalarEvolution *SE, DominatorTree *DT, AssumptionCache *AC, SmallVectorImpl< const SCEVPredicate * > *Predicates=nullptr) |
| Return true if the loop L cannot fault on any iteration and only contains read-only memory accesses.
|
|
bool | isSafeToLoadUnconditionally (Value *V, Type *Ty, Align Alignment, const DataLayout &DL, Instruction *ScanFrom, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr) |
| Return true if we know that executing a load from this value cannot trap.
|
|
bool | mustSuppressSpeculation (const LoadInst &LI) |
| Return true if speculation of the given load must be suppressed to avoid ordering or interfering with an active sanitizer.
|
|
Value * | FindAvailableLoadedValue (LoadInst *Load, BasicBlock *ScanBB, BasicBlock::iterator &ScanFrom, unsigned MaxInstsToScan=DefMaxInstsToScan, BatchAAResults *AA=nullptr, bool *IsLoadCSE=nullptr, unsigned *NumScanedInst=nullptr) |
| Scan backwards to see if we have the value of the given load available locally within a small number of instructions.
|
|
Value * | FindAvailableLoadedValue (LoadInst *Load, BatchAAResults &AA, bool *IsLoadCSE, unsigned MaxInstsToScan=DefMaxInstsToScan) |
| This overload provides a more efficient implementation of FindAvailableLoadedValue() for the case where we are not interested in finding the closest clobbering instruction if no available load is found.
|
|
Value * | findAvailablePtrLoadStore (const MemoryLocation &Loc, Type *AccessTy, bool AtLeastAtomic, BasicBlock *ScanBB, BasicBlock::iterator &ScanFrom, unsigned MaxInstsToScan, BatchAAResults *AA, bool *IsLoadCSE, unsigned *NumScanedInst) |
| Scan backwards to see if we have the value of the given pointer available locally within a small number of instructions.
|
|
bool | canReplacePointersIfEqual (const Value *From, const Value *To, const DataLayout &DL) |
| Returns true if a pointer value From can be replaced with another pointer value \To if they are deemed equal through some means (e.g.
|
|
bool | canReplacePointersInUseIfEqual (const Use &U, const Value *To, const DataLayout &DL) |
|
const SCEV * | replaceSymbolicStrideSCEV (PredicatedScalarEvolution &PSE, const DenseMap< Value *, const SCEV * > &PtrToStride, Value *Ptr) |
| Return the SCEV corresponding to a pointer with the symbolic stride replaced with constant one, assuming the SCEV predicate associated with PSE is true.
|
|
std::optional< int64_t > | getPtrStride (PredicatedScalarEvolution &PSE, Type *AccessTy, Value *Ptr, const Loop *Lp, const DenseMap< Value *, const SCEV * > &StridesMap=DenseMap< Value *, const SCEV * >(), bool Assume=false, bool ShouldCheckWrap=true) |
| If the pointer has a constant stride return it in units of the access type size.
|
|
std::optional< int > | getPointersDiff (Type *ElemTyA, Value *PtrA, Type *ElemTyB, Value *PtrB, const DataLayout &DL, ScalarEvolution &SE, bool StrictCheck=false, bool CheckType=true) |
| Returns the distance between the pointers PtrA and PtrB iff they are compatible and it is possible to calculate the distance between them.
|
|
bool | sortPtrAccesses (ArrayRef< Value * > VL, Type *ElemTy, const DataLayout &DL, ScalarEvolution &SE, SmallVectorImpl< unsigned > &SortedIndices) |
| Attempt to sort the pointers in VL and return the sorted indices in SortedIndices , if reordering is required.
|
|
bool | isConsecutiveAccess (Value *A, Value *B, const DataLayout &DL, ScalarEvolution &SE, bool CheckType=true) |
| Returns true if the memory operations A and B are consecutive.
|
|
PreservedAnalyses | getLoopPassPreservedAnalyses () |
| Returns the minimum set of Analyses that all loop passes must preserve.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const IndexedReference &R) |
|
raw_ostream & | operator<< (raw_ostream &OS, const CacheCost &CC) |
|
void | printLoop (Loop &L, raw_ostream &OS, const std::string &Banner="") |
| Function to print a loop's contents as LLVM's text IR assembly.
|
|
MDNode * | findOptionMDForLoopID (MDNode *LoopID, StringRef Name) |
| Find and return the loop attribute node for the attribute Name in LoopID .
|
|
MDNode * | findOptionMDForLoop (const Loop *TheLoop, StringRef Name) |
| Find string metadata for a loop.
|
|
std::optional< bool > | getOptionalBoolLoopAttribute (const Loop *TheLoop, StringRef Name) |
|
bool | getBooleanLoopAttribute (const Loop *TheLoop, StringRef Name) |
| Returns true if Name is applied to TheLoop and enabled.
|
|
std::optional< int > | getOptionalIntLoopAttribute (const Loop *TheLoop, StringRef Name) |
| Find named metadata for a loop with an integer value.
|
|
int | getIntLoopAttribute (const Loop *TheLoop, StringRef Name, int Default=0) |
| Find named metadata for a loop with an integer value.
|
|
std::optional< const MDOperand * > | findStringMetadataForLoop (const Loop *TheLoop, StringRef Name) |
| Find string metadata for loop.
|
|
CallBase * | getLoopConvergenceHeart (const Loop *TheLoop) |
| Find the convergence heart of the loop.
|
|
bool | hasMustProgress (const Loop *L) |
| Look for the loop attribute that requires progress within the loop.
|
|
bool | isMustProgress (const Loop *L) |
| Return true if this loop can be assumed to make progress.
|
|
bool | isFinite (const Loop *L) |
| Return true if this loop can be assumed to run for a finite number of iterations.
|
|
bool | isValidAsAccessGroup (MDNode *AccGroup) |
| Return whether an MDNode might represent an access group.
|
|
llvm::MDNode * | makePostTransformationMetadata (llvm::LLVMContext &Context, MDNode *OrigLoopID, llvm::ArrayRef< llvm::StringRef > RemovePrefixes, llvm::ArrayRef< llvm::MDNode * > AddAttrs) |
| Create a new LoopID after the loop has been transformed.
|
|
raw_ostream & | operator<< (raw_ostream &, const LoopNest &) |
|
bool | isAllocationFn (const Value *V, const TargetLibraryInfo *TLI) |
| Tests if a value is a call or invoke to a library function that allocates or reallocates memory (either malloc, calloc, realloc, or strdup like).
|
|
bool | isAllocationFn (const Value *V, function_ref< const TargetLibraryInfo &(Function &)> GetTLI) |
|
bool | isNewLikeFn (const Value *V, const TargetLibraryInfo *TLI) |
| Tests if a value is a call or invoke to a library function that allocates memory via new.
|
|
bool | isMallocOrCallocLikeFn (const Value *V, const TargetLibraryInfo *TLI) |
| Tests if a value is a call or invoke to a library function that allocates memory similar to malloc or calloc.
|
|
bool | isAllocLikeFn (const Value *V, const TargetLibraryInfo *TLI) |
| Tests if a value is a call or invoke to a library function that allocates memory (either malloc, calloc, or strdup like).
|
|
bool | isReallocLikeFn (const Function *F) |
| Tests if a function is a call or invoke to a library function that reallocates memory (e.g., realloc).
|
|
Value * | getReallocatedOperand (const CallBase *CB) |
| If this is a call to a realloc function, return the reallocated operand.
|
|
bool | isLibFreeFunction (const Function *F, const LibFunc TLIFn) |
| isLibFreeFunction - Returns true if the function is a builtin free()
|
|
Value * | getFreedOperand (const CallBase *CB, const TargetLibraryInfo *TLI) |
| If this if a call to a free function, return the freed operand.
|
|
bool | isRemovableAlloc (const CallBase *V, const TargetLibraryInfo *TLI) |
| Return true if this is a call to an allocation function that does not have side effects that we are required to preserve beyond the effect of allocating a new object.
|
|
Value * | getAllocAlignment (const CallBase *V, const TargetLibraryInfo *TLI) |
| Gets the alignment argument for an aligned_alloc-like function, using either built-in knowledge based on fuction names/signatures or allocalign attributes.
|
|
std::optional< APInt > | getAllocSize (const CallBase *CB, const TargetLibraryInfo *TLI, function_ref< const Value *(const Value *)> Mapper=[](const Value *V) { return V;}) |
| Return the size of the requested allocation.
|
|
Constant * | getInitialValueOfAllocation (const Value *V, const TargetLibraryInfo *TLI, Type *Ty) |
| If this is a call to an allocation function that initializes memory to a fixed value, return said value in the requested type.
|
|
std::optional< StringRef > | getAllocationFamily (const Value *I, const TargetLibraryInfo *TLI) |
| If a function is part of an allocation family (e.g.
|
|
bool | getObjectSize (const Value *Ptr, uint64_t &Size, const DataLayout &DL, const TargetLibraryInfo *TLI, ObjectSizeOpts Opts={}) |
| Compute the size of the object pointed by Ptr.
|
|
Value * | lowerObjectSizeCall (IntrinsicInst *ObjectSize, const DataLayout &DL, const TargetLibraryInfo *TLI, bool MustSucceed) |
| Try to turn a call to @llvm.objectsize into an integer value of the given Type.
|
|
Value * | lowerObjectSizeCall (IntrinsicInst *ObjectSize, const DataLayout &DL, const TargetLibraryInfo *TLI, AAResults *AA, bool MustSucceed, SmallVectorImpl< Instruction * > *InsertedInstructions=nullptr) |
|
raw_ostream & | operator<< (raw_ostream &OS, LocationSize Size) |
|
raw_ostream & | operator<< (raw_ostream &OS, const MemoryAccess &MA) |
|
upward_defs_iterator | upward_defs_begin (const MemoryAccessPair &Pair, DominatorTree &DT) |
|
upward_defs_iterator | upward_defs_end () |
|
iterator_range< upward_defs_iterator > | upward_defs (const MemoryAccessPair &Pair, DominatorTree &DT) |
|
template<class T > |
iterator_range< def_chain_iterator< T > > | def_chain (T MA, MemoryAccess *UpTo=nullptr) |
|
template<class T > |
iterator_range< def_chain_iterator< T, true > > | optimized_def_chain (T MA) |
|
ModuleSummaryIndex | buildModuleSummaryIndex (const Module &M, std::function< BlockFrequencyInfo *(const Function &F)> GetBFICallback, ProfileSummaryInfo *PSI, std::function< const StackSafetyInfo *(const Function &F)> GetSSICallback=[](const Function &F) -> const StackSafetyInfo *{ return nullptr;}) |
| Direct function to compute a ModuleSummaryIndex from a given module.
|
|
ModulePass * | createModuleSummaryIndexWrapperPass () |
|
ImmutablePass * | createImmutableModuleSummaryIndexWrapperPass (const ModuleSummaryIndex *Index) |
|
bool | mayHaveMemprofSummary (const CallBase *CB) |
| Returns true if the instruction could have memprof metadata, used to ensure consistency between summary analysis and the ThinLTO backend processing.
|
|
bool | mayContainIrreducibleControl (const Function &F, const LoopInfo *LI) |
|
bool | isCheckForZeroAndMulWithOverflow (Value *Op0, Value *Op1, bool IsAnd, Use *&Y) |
| Match one of the patterns up to the select/logic op: Op0 = icmp ne i4 X, 0 Agg = call { i4, i1 } @llvm.
|
|
bool | isCheckForZeroAndMulWithOverflow (Value *Op0, Value *Op1, bool IsAnd) |
|
FunctionPass * | createLazyValueInfoPass () |
| createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.
|
|
FunctionPass * | createRegionInfoPass () |
|
FunctionPass * | createPostDomTree () |
|
template<class Tr > |
raw_ostream & | operator<< (raw_ostream &OS, const RegionNodeBase< Tr > &Node) |
| Print a RegionNode.
|
|
template<class NodeRef , class BlockT , class RegionT > |
RNSuccIterator< NodeRef, BlockT, RegionT > | succ_begin (NodeRef Node) |
|
template<class NodeRef , class BlockT , class RegionT > |
RNSuccIterator< NodeRef, BlockT, RegionT > | succ_end (NodeRef Node) |
|
| RegionNodeGraphTraits (RegionNode, BasicBlock, Region) |
|
| RegionGraphTraits (Region, RegionNode) |
|
FunctionPass * | createRegionViewerPass () |
|
FunctionPass * | createRegionOnlyViewerPass () |
|
FunctionPass * | createRegionPrinterPass () |
|
FunctionPass * | createRegionOnlyPrinterPass () |
|
void | viewRegion (llvm::RegionInfo *RI) |
| Open a viewer to display the GraphViz vizualization of the analysis result.
|
|
void | viewRegion (const llvm::Function *F) |
| Analyze the regions of a function and open its GraphViz visualization in a viewer.
|
|
void | viewRegionOnly (llvm::RegionInfo *RI) |
| Open a viewer to display the GraphViz vizualization of the analysis result.
|
|
void | viewRegionOnly (const llvm::Function *F) |
| Analyze the regions of a function and open its GraphViz visualization in a viewer.
|
|
template<class T > |
bool | isEmbeddedModelEvaluatorValid () |
|
template<> |
bool | isEmbeddedModelEvaluatorValid< NoopSavedModelImpl > () |
|
std::string | formatCallSiteLocation (DebugLoc DLoc, const CallSiteFormat &Format) |
| Get call site location as a string with the given format.
|
|
std::unique_ptr< InlineAdvisor > | getReplayInlineAdvisor (Module &M, FunctionAnalysisManager &FAM, LLVMContext &Context, std::unique_ptr< InlineAdvisor > OriginalAdvisor, const ReplayInlinerSettings &ReplaySettings, bool EmitRemarks, InlineContext IC) |
|
raw_ostream & | operator<< (raw_ostream &OS, const SCEV &S) |
|
raw_ostream & | operator<< (raw_ostream &OS, const SCEVPredicate &P) |
|
FunctionPass * | createSCEVAAWrapperPass () |
| Creates an instance of SCEVAAWrapperPass .
|
|
unsigned short | computeExpressionSize (ArrayRef< const SCEV * > Args) |
|
template<typename SV > |
void | visitAll (const SCEV *Root, SV &Visitor) |
| Use SCEVTraversal to visit all nodes in the given expression tree.
|
|
template<typename PredTy > |
bool | SCEVExprContains (const SCEV *Root, PredTy Pred) |
| Return true if any node in Root satisfies the predicate Pred .
|
|
const SCEV * | normalizeForPostIncUse (const SCEV *S, const PostIncLoopSet &Loops, ScalarEvolution &SE, bool CheckInvertible=true) |
| Normalize S to be post-increment for all loops present in Loops .
|
|
const SCEV * | normalizeForPostIncUseIf (const SCEV *S, NormalizePredTy Pred, ScalarEvolution &SE) |
| Normalize S for all add recurrence sub-expressions for which Pred returns true.
|
|
const SCEV * | denormalizeForPostIncUse (const SCEV *S, const PostIncLoopSet &Loops, ScalarEvolution &SE) |
| Denormalize S to be post-increment for all loops present in Loops .
|
|
ImmutablePass * | createScopedNoAliasAAWrapperPass () |
|
static raw_ostream & | operator<< (raw_ostream &OS, const BitVector &V) |
|
raw_ostream & | operator<< (raw_ostream &OS, const StackLifetime::LiveRange &R) |
|
bool | needsParamAccessSummary (const Module &M) |
|
void | generateParamAccessSummary (ModuleSummaryIndex &Index) |
|
ImmutablePass * | createTargetTransformInfoWrapperPass (TargetIRAnalysis TIRA) |
| Create an analysis pass wrapper around a TTI object.
|
|
std::string | tensorValueToString (const char *Buffer, const TensorSpec &Spec) |
| For debugging.
|
|
std::optional< TensorSpec > | getTensorSpecFromJSON (LLVMContext &Ctx, const json::Value &Value) |
| Construct a TensorSpec from a JSON dictionary of the form: { "name": <string>, "port": <int>, "type": <string.
|
|
ImmutablePass * | createTypeBasedAAWrapperPass () |
|
void | findDevirtualizableCallsForTypeTest (SmallVectorImpl< DevirtCallSite > &DevirtCalls, SmallVectorImpl< CallInst * > &Assumes, const CallInst *CI, DominatorTree &DT) |
| Given a call to the intrinsic @llvm.type.test, find all devirtualizable call sites based on the call and return them in DevirtCalls.
|
|
void | findDevirtualizableCallsForTypeCheckedLoad (SmallVectorImpl< DevirtCallSite > &DevirtCalls, SmallVectorImpl< Instruction * > &LoadedPtrs, SmallVectorImpl< Instruction * > &Preds, bool &HasNonCallUses, const CallInst *CI, DominatorTree &DT) |
| Given a call to the intrinsic @llvm.type.checked.load, find all devirtualizable call sites based on the call and return them in DevirtCalls.
|
|
Constant * | getPointerAtOffset (Constant *I, uint64_t Offset, Module &M, Constant *TopLevelGlobal=nullptr) |
| Processes a Constant recursively looking into elements of arrays, structs and expressions to find a trivial pointer element that is located at the given offset (relative to the beginning of the whole outer Constant).
|
|
std::pair< Function *, Constant * > | getFunctionAtVTableOffset (GlobalVariable *GV, uint64_t Offset, Module &M) |
| Given a vtable and a specified offset, returns the function and the trivial pointer at the specified offset in pair iff the pointer at the specified offset is a function or an alias to a function.
|
|
void | replaceRelativePointerUsersWithZero (Constant *C) |
| Finds the same "relative pointer" pattern as described above, where the target is C , and replaces the entire pattern with a constant zero.
|
|
Value * | emitGEPOffset (IRBuilderBase *Builder, const DataLayout &DL, User *GEP, bool NoAssumptions=false) |
| Given a getelementptr instruction/constantexpr, emit the code necessary to compute the offset from the base pointer (without adding in the base pointer).
|
|
raw_ostream & | operator<< (raw_ostream &OS, const ValueLatticeElement &Val) |
|
bool | canTrackArgumentsInterprocedurally (Function *F) |
| Determine if the values of the given function's arguments can be tracked interprocedurally.
|
|
bool | canTrackReturnsInterprocedurally (Function *F) |
| Determine if the values of the given function's returns can be tracked interprocedurally.
|
|
bool | canTrackGlobalVariableInterprocedurally (GlobalVariable *GV) |
| Determine if the value maintained in the given global variable can be tracked interprocedurally.
|
|
void | computeKnownBits (const Value *V, KnownBits &Known, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr, bool UseInstrInfo=true) |
| Determine which bits of V are known to be either zero or one and return them in the KnownZero/KnownOne bit sets.
|
|
KnownBits | computeKnownBits (const Value *V, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr, bool UseInstrInfo=true) |
| Returns the known bits rather than passing by reference.
|
|
KnownBits | computeKnownBits (const Value *V, const APInt &DemandedElts, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr, bool UseInstrInfo=true) |
| Returns the known bits rather than passing by reference.
|
|
KnownBits | computeKnownBits (const Value *V, const APInt &DemandedElts, unsigned Depth, const SimplifyQuery &Q) |
| Determine which bits of V are known to be either zero or one and return them.
|
|
KnownBits | computeKnownBits (const Value *V, unsigned Depth, const SimplifyQuery &Q) |
| Determine which bits of V are known to be either zero or one and return them.
|
|
void | computeKnownBits (const Value *V, KnownBits &Known, unsigned Depth, const SimplifyQuery &Q) |
|
void | computeKnownBitsFromRangeMetadata (const MDNode &Ranges, KnownBits &Known) |
| Compute known bits from the range metadata.
|
|
void | computeKnownBitsFromContext (const Value *V, KnownBits &Known, unsigned Depth, const SimplifyQuery &Q) |
| Merge bits known from context-dependent facts into Known.
|
|
KnownBits | analyzeKnownBitsFromAndXorOr (const Operator *I, const KnownBits &KnownLHS, const KnownBits &KnownRHS, unsigned Depth, const SimplifyQuery &SQ) |
| Using KnownBits LHS/RHS produce the known bits for logic op (and/xor/or).
|
|
void | adjustKnownBitsForSelectArm (KnownBits &Known, Value *Cond, Value *Arm, bool Invert, unsigned Depth, const SimplifyQuery &Q) |
| Adjust Known for the given select Arm to include information from the select Cond .
|
|
bool | haveNoCommonBitsSet (const WithCache< const Value * > &LHSCache, const WithCache< const Value * > &RHSCache, const SimplifyQuery &SQ) |
| Return true if LHS and RHS have no common bits set.
|
|
bool | isKnownToBeAPowerOfTwo (const Value *V, const DataLayout &DL, bool OrZero=false, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr, bool UseInstrInfo=true) |
| Return true if the given value is known to have exactly one bit set when defined.
|
|
bool | isKnownToBeAPowerOfTwo (const Value *V, bool OrZero, unsigned Depth, const SimplifyQuery &Q) |
| Return true if the given value is known to have exactly one bit set when defined.
|
|
bool | isOnlyUsedInZeroComparison (const Instruction *CxtI) |
|
bool | isOnlyUsedInZeroEqualityComparison (const Instruction *CxtI) |
|
bool | isKnownNonZero (const Value *V, const SimplifyQuery &Q, unsigned Depth=0) |
| Return true if the given value is known to be non-zero when defined.
|
|
bool | isKnownNegation (const Value *X, const Value *Y, bool NeedNSW=false, bool AllowPoison=true) |
| Return true if the two given values are negation.
|
|
bool | isKnownInversion (const Value *X, const Value *Y) |
| Return true iff:
|
|
bool | isKnownNonNegative (const Value *V, const SimplifyQuery &SQ, unsigned Depth=0) |
| Returns true if the give value is known to be non-negative.
|
|
bool | isKnownPositive (const Value *V, const SimplifyQuery &SQ, unsigned Depth=0) |
| Returns true if the given value is known be positive (i.e.
|
|
bool | isKnownNegative (const Value *V, const SimplifyQuery &SQ, unsigned Depth=0) |
| Returns true if the given value is known be negative (i.e.
|
|
bool | isKnownNonEqual (const Value *V1, const Value *V2, const DataLayout &DL, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr, bool UseInstrInfo=true) |
| Return true if the given values are known to be non-equal when defined.
|
|
bool | MaskedValueIsZero (const Value *V, const APInt &Mask, const SimplifyQuery &SQ, unsigned Depth=0) |
| Return true if 'V & Mask' is known to be zero.
|
|
unsigned | ComputeNumSignBits (const Value *Op, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr, bool UseInstrInfo=true) |
| Return the number of times the sign bit of the register is replicated into the other bits.
|
|
unsigned | ComputeMaxSignificantBits (const Value *Op, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr) |
| Get the upper bound on bit size for this Value Op as a signed integer.
|
|
Intrinsic::ID | getIntrinsicForCallSite (const CallBase &CB, const TargetLibraryInfo *TLI) |
| Map a call instruction to an intrinsic ID.
|
|
bool | isSignBitCheck (ICmpInst::Predicate Pred, const APInt &RHS, bool &TrueIfSigned) |
| Given an exploded icmp instruction, return true if the comparison only checks the sign bit.
|
|
std::pair< Value *, FPClassTest > | fcmpToClassTest (CmpInst::Predicate Pred, const Function &F, Value *LHS, Value *RHS, bool LookThroughSrc=true) |
| Returns a pair of values, which if passed to llvm.is.fpclass, returns the same result as an fcmp with the given operands.
|
|
std::pair< Value *, FPClassTest > | fcmpToClassTest (CmpInst::Predicate Pred, const Function &F, Value *LHS, const APFloat *ConstRHS, bool LookThroughSrc=true) |
|
std::tuple< Value *, FPClassTest, FPClassTest > | fcmpImpliesClass (CmpInst::Predicate Pred, const Function &F, Value *LHS, Value *RHS, bool LookThroughSrc=true) |
| Compute the possible floating-point classes that LHS could be based on fcmp \Pred LHS , RHS .
|
|
std::tuple< Value *, FPClassTest, FPClassTest > | fcmpImpliesClass (CmpInst::Predicate Pred, const Function &F, Value *LHS, FPClassTest RHS, bool LookThroughSrc=true) |
|
std::tuple< Value *, FPClassTest, FPClassTest > | fcmpImpliesClass (CmpInst::Predicate Pred, const Function &F, Value *LHS, const APFloat &RHS, bool LookThroughSrc=true) |
|
KnownFPClass | operator| (KnownFPClass LHS, const KnownFPClass &RHS) |
|
KnownFPClass | operator| (const KnownFPClass &LHS, KnownFPClass &&RHS) |
|
KnownFPClass | computeKnownFPClass (const Value *V, const APInt &DemandedElts, FPClassTest InterestedClasses, unsigned Depth, const SimplifyQuery &SQ) |
| Determine which floating-point classes are valid for V , and return them in KnownFPClass bit sets.
|
|
KnownFPClass | computeKnownFPClass (const Value *V, FPClassTest InterestedClasses, unsigned Depth, const SimplifyQuery &SQ) |
|
KnownFPClass | computeKnownFPClass (const Value *V, const DataLayout &DL, FPClassTest InterestedClasses=fcAllFlags, unsigned Depth=0, const TargetLibraryInfo *TLI=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr, bool UseInstrInfo=true) |
|
KnownFPClass | computeKnownFPClass (const Value *V, const APInt &DemandedElts, FastMathFlags FMF, FPClassTest InterestedClasses, unsigned Depth, const SimplifyQuery &SQ) |
| Wrapper to account for known fast math flags at the use instruction.
|
|
KnownFPClass | computeKnownFPClass (const Value *V, FastMathFlags FMF, FPClassTest InterestedClasses, unsigned Depth, const SimplifyQuery &SQ) |
|
bool | cannotBeNegativeZero (const Value *V, unsigned Depth, const SimplifyQuery &SQ) |
| Return true if we can prove that the specified FP value is never equal to -0.0.
|
|
bool | cannotBeOrderedLessThanZero (const Value *V, unsigned Depth, const SimplifyQuery &SQ) |
| Return true if we can prove that the specified FP value is either NaN or never less than -0.0.
|
|
bool | isKnownNeverInfinity (const Value *V, unsigned Depth, const SimplifyQuery &SQ) |
| Return true if the floating-point scalar value is not an infinity or if the floating-point vector value has no infinities.
|
|
bool | isKnownNeverInfOrNaN (const Value *V, unsigned Depth, const SimplifyQuery &SQ) |
| Return true if the floating-point value can never contain a NaN or infinity.
|
|
bool | isKnownNeverNaN (const Value *V, unsigned Depth, const SimplifyQuery &SQ) |
| Return true if the floating-point scalar value is not a NaN or if the floating-point vector value has no NaN elements.
|
|
std::optional< bool > | computeKnownFPSignBit (const Value *V, unsigned Depth, const SimplifyQuery &SQ) |
| Return false if we can prove that the specified FP value's sign bit is 0.
|
|
Value * | isBytewiseValue (Value *V, const DataLayout &DL) |
| If the specified value can be set by repeating the same byte in memory, return the i8 value that it is represented with.
|
|
Value * | FindInsertedValue (Value *V, ArrayRef< unsigned > idx_range, std::optional< BasicBlock::iterator > InsertBefore=std::nullopt) |
| Given an aggregate and an sequence of indices, see if the scalar value indexed is already around as a register, for example if it were inserted directly into the aggregate.
|
|
Value * | GetPointerBaseWithConstantOffset (Value *Ptr, int64_t &Offset, const DataLayout &DL, bool AllowNonInbounds=true) |
| Analyze the specified pointer to see if it can be expressed as a base pointer plus a constant offset.
|
|
const Value * | GetPointerBaseWithConstantOffset (const Value *Ptr, int64_t &Offset, const DataLayout &DL, bool AllowNonInbounds=true) |
|
bool | isGEPBasedOnPointerToString (const GEPOperator *GEP, unsigned CharSize=8) |
| Returns true if the GEP is based on a pointer to a string (array of.
|
|
bool | getConstantDataArrayInfo (const Value *V, ConstantDataArraySlice &Slice, unsigned ElementSize, uint64_t Offset=0) |
| Returns true if the value V is a pointer into a ConstantDataArray.
|
|
bool | getConstantStringInfo (const Value *V, StringRef &Str, bool TrimAtNul=true) |
| This function computes the length of a null-terminated C string pointed to by V.
|
|
uint64_t | GetStringLength (const Value *V, unsigned CharSize=8) |
| If we can compute the length of the string pointed to by the specified pointer, return 'len+1'.
|
|
const Value * | getArgumentAliasingToReturnedPointer (const CallBase *Call, bool MustPreserveNullness) |
| This function returns call pointer argument that is considered the same by aliasing rules.
|
|
Value * | getArgumentAliasingToReturnedPointer (CallBase *Call, bool MustPreserveNullness) |
|
bool | isIntrinsicReturningPointerAliasingArgumentWithoutCapturing (const CallBase *Call, bool MustPreserveNullness) |
| {launder,strip}.invariant.group returns pointer that aliases its argument, and it only captures pointer by returning it.
|
|
const Value * | getUnderlyingObject (const Value *V, unsigned MaxLookup=6) |
| This method strips off any GEP address adjustments, pointer casts or llvm.threadlocal.address from the specified value V , returning the original object being addressed.
|
|
Value * | getUnderlyingObject (Value *V, unsigned MaxLookup=6) |
|
const Value * | getUnderlyingObjectAggressive (const Value *V) |
| Like getUnderlyingObject(), but will try harder to find a single underlying object.
|
|
void | getUnderlyingObjects (const Value *V, SmallVectorImpl< const Value * > &Objects, const LoopInfo *LI=nullptr, unsigned MaxLookup=6) |
| This method is similar to getUnderlyingObject except that it can look through phi and select instructions and return multiple objects.
|
|
bool | getUnderlyingObjectsForCodeGen (const Value *V, SmallVectorImpl< Value * > &Objects) |
| This is a wrapper around getUnderlyingObjects and adds support for basic ptrtoint+arithmetic+inttoptr sequences.
|
|
AllocaInst * | findAllocaForValue (Value *V, bool OffsetZero=false) |
| Returns unique alloca where the value comes from, or nullptr.
|
|
const AllocaInst * | findAllocaForValue (const Value *V, bool OffsetZero=false) |
|
bool | onlyUsedByLifetimeMarkers (const Value *V) |
| Return true if the only users of this pointer are lifetime markers.
|
|
bool | onlyUsedByLifetimeMarkersOrDroppableInsts (const Value *V) |
| Return true if the only users of this pointer are lifetime markers or droppable instructions.
|
|
bool | isNotCrossLaneOperation (const Instruction *I) |
| Return true if the instruction doesn't potentially cross vector lanes.
|
|
bool | isSafeToSpeculativelyExecute (const Instruction *I, const Instruction *CtxI=nullptr, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr, bool UseVariableInfo=true) |
| Return true if the instruction does not have any effects besides calculating the result and does not have undefined behavior.
|
|
bool | isSafeToSpeculativelyExecute (const Instruction *I, BasicBlock::iterator CtxI, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr, bool UseVariableInfo=true) |
|
bool | isSafeToSpeculativelyExecuteWithVariableReplaced (const Instruction *I) |
| Don't use information from its non-constant operands.
|
|
bool | isSafeToSpeculativelyExecuteWithOpcode (unsigned Opcode, const Instruction *Inst, const Instruction *CtxI=nullptr, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr, bool UseVariableInfo=true) |
| This returns the same result as isSafeToSpeculativelyExecute if Opcode is the actual opcode of Inst.
|
|
bool | mayHaveNonDefUseDependency (const Instruction &I) |
| Returns true if the result or effects of the given instructions I depend values not reachable through the def use graph.
|
|
bool | isAssumeLikeIntrinsic (const Instruction *I) |
| Return true if it is an intrinsic that cannot be speculated but also cannot trap.
|
|
bool | isValidAssumeForContext (const Instruction *I, const Instruction *CxtI, const DominatorTree *DT=nullptr, bool AllowEphemerals=false) |
| Return true if it is valid to use the assumptions provided by an assume intrinsic, I, at the point in the control-flow identified by the context instruction, CxtI.
|
|
OverflowResult | computeOverflowForUnsignedMul (const Value *LHS, const Value *RHS, const SimplifyQuery &SQ, bool IsNSW=false) |
|
OverflowResult | computeOverflowForSignedMul (const Value *LHS, const Value *RHS, const SimplifyQuery &SQ) |
|
OverflowResult | computeOverflowForUnsignedAdd (const WithCache< const Value * > &LHS, const WithCache< const Value * > &RHS, const SimplifyQuery &SQ) |
|
OverflowResult | computeOverflowForSignedAdd (const WithCache< const Value * > &LHS, const WithCache< const Value * > &RHS, const SimplifyQuery &SQ) |
|
OverflowResult | computeOverflowForSignedAdd (const AddOperator *Add, const SimplifyQuery &SQ) |
| This version also leverages the sign bit of Add if known.
|
|
OverflowResult | computeOverflowForUnsignedSub (const Value *LHS, const Value *RHS, const SimplifyQuery &SQ) |
|
OverflowResult | computeOverflowForSignedSub (const Value *LHS, const Value *RHS, const SimplifyQuery &SQ) |
|
bool | isOverflowIntrinsicNoWrap (const WithOverflowInst *WO, const DominatorTree &DT) |
| Returns true if the arithmetic part of the WO 's result is used only along the paths control dependent on the computation not overflowing, WO being an <op>.with.overflow intrinsic.
|
|
ConstantRange | getVScaleRange (const Function *F, unsigned BitWidth) |
| Determine the possible constant range of vscale with the given bit width, based on the vscale_range function attribute.
|
|
ConstantRange | computeConstantRange (const Value *V, bool ForSigned, bool UseInstrInfo=true, AssumptionCache *AC=nullptr, const Instruction *CtxI=nullptr, const DominatorTree *DT=nullptr, unsigned Depth=0) |
| Determine the possible constant range of an integer or vector of integer value.
|
|
ConstantRange | computeConstantRangeIncludingKnownBits (const WithCache< const Value * > &V, bool ForSigned, const SimplifyQuery &SQ) |
| Combine constant ranges from computeConstantRange() and computeKnownBits().
|
|
bool | isGuaranteedToTransferExecutionToSuccessor (const Instruction *I) |
| Return true if this function can prove that the instruction I will always transfer execution to one of its successors (including the next instruction that follows within a basic block).
|
|
bool | isGuaranteedToTransferExecutionToSuccessor (const BasicBlock *BB) |
| Returns true if this block does not contain a potential implicit exit.
|
|
bool | isGuaranteedToTransferExecutionToSuccessor (BasicBlock::const_iterator Begin, BasicBlock::const_iterator End, unsigned ScanLimit=32) |
| Return true if every instruction in the range (Begin, End) is guaranteed to transfer execution to its static successor.
|
|
bool | isGuaranteedToTransferExecutionToSuccessor (iterator_range< BasicBlock::const_iterator > Range, unsigned ScanLimit=32) |
| Same as previous, but with range expressed via iterator_range.
|
|
bool | isGuaranteedToExecuteForEveryIteration (const Instruction *I, const Loop *L) |
| Return true if this function can prove that the instruction I is executed for every iteration of the loop L.
|
|
bool | propagatesPoison (const Use &PoisonOp) |
| Return true if PoisonOp's user yields poison or raises UB if its operand PoisonOp is poison.
|
|
void | getGuaranteedNonPoisonOps (const Instruction *I, SmallVectorImpl< const Value * > &Ops) |
| Insert operands of I into Ops such that I will trigger undefined behavior if I is executed and that operand has a poison value.
|
|
void | getGuaranteedWellDefinedOps (const Instruction *I, SmallVectorImpl< const Value * > &Ops) |
| Insert operands of I into Ops such that I will trigger undefined behavior if I is executed and that operand is not a well-defined value (i.e.
|
|
bool | mustTriggerUB (const Instruction *I, const SmallPtrSetImpl< const Value * > &KnownPoison) |
| Return true if the given instruction must trigger undefined behavior when I is executed with any operands which appear in KnownPoison holding a poison value at the point of execution.
|
|
bool | programUndefinedIfUndefOrPoison (const Instruction *Inst) |
| Return true if this function can prove that if Inst is executed and yields a poison value or undef bits, then that will trigger undefined behavior.
|
|
bool | programUndefinedIfPoison (const Instruction *Inst) |
|
bool | canCreateUndefOrPoison (const Operator *Op, bool ConsiderFlagsAndMetadata=true) |
| canCreateUndefOrPoison returns true if Op can create undef or poison from non-undef & non-poison operands.
|
|
bool | canCreatePoison (const Operator *Op, bool ConsiderFlagsAndMetadata=true) |
|
bool | impliesPoison (const Value *ValAssumedPoison, const Value *V) |
| Return true if V is poison given that ValAssumedPoison is already poison.
|
|
bool | isGuaranteedNotToBeUndefOrPoison (const Value *V, AssumptionCache *AC=nullptr, const Instruction *CtxI=nullptr, const DominatorTree *DT=nullptr, unsigned Depth=0) |
| Return true if this function can prove that V does not have undef bits and is never poison.
|
|
bool | isGuaranteedNotToBePoison (const Value *V, AssumptionCache *AC=nullptr, const Instruction *CtxI=nullptr, const DominatorTree *DT=nullptr, unsigned Depth=0) |
| Returns true if V cannot be poison, but may be undef.
|
|
bool | isGuaranteedNotToBePoison (const Value *V, AssumptionCache *AC, BasicBlock::iterator CtxI, const DominatorTree *DT=nullptr, unsigned Depth=0) |
|
bool | isGuaranteedNotToBeUndef (const Value *V, AssumptionCache *AC=nullptr, const Instruction *CtxI=nullptr, const DominatorTree *DT=nullptr, unsigned Depth=0) |
| Returns true if V cannot be undef, but may be poison.
|
|
bool | mustExecuteUBIfPoisonOnPathTo (Instruction *Root, Instruction *OnPathTo, DominatorTree *DT) |
| Return true if undefined behavior would provable be executed on the path to OnPathTo if Root produced a posion result.
|
|
std::optional< std::pair< CmpPredicate, Constant * > > | getFlippedStrictnessPredicateAndConstant (CmpPredicate Pred, Constant *C) |
| Convert an integer comparison with a constant RHS into an equivalent form with the strictness flipped predicate.
|
|
SelectPatternResult | matchSelectPattern (Value *V, Value *&LHS, Value *&RHS, Instruction::CastOps *CastOp=nullptr, unsigned Depth=0) |
| Pattern match integer [SU]MIN, [SU]MAX and ABS idioms, returning the kind and providing the out parameter results if we successfully match.
|
|
SelectPatternResult | matchSelectPattern (const Value *V, const Value *&LHS, const Value *&RHS) |
|
SelectPatternResult | matchDecomposedSelectPattern (CmpInst *CmpI, Value *TrueVal, Value *FalseVal, Value *&LHS, Value *&RHS, Instruction::CastOps *CastOp=nullptr, unsigned Depth=0) |
| Determine the pattern that a select with the given compare as its predicate and given values as its true/false operands would match.
|
|
SelectPatternResult | getSelectPattern (CmpInst::Predicate Pred, SelectPatternNaNBehavior NaNBehavior=SPNB_NA, bool Ordered=false) |
| Determine the pattern for predicate X Pred Y ? X : Y .
|
|
CmpInst::Predicate | getMinMaxPred (SelectPatternFlavor SPF, bool Ordered=false) |
| Return the canonical comparison predicate for the specified minimum/maximum flavor.
|
|
Intrinsic::ID | getMinMaxIntrinsic (SelectPatternFlavor SPF) |
| Convert given SPF to equivalent min/max intrinsic.
|
|
SelectPatternFlavor | getInverseMinMaxFlavor (SelectPatternFlavor SPF) |
| Return the inverse minimum/maximum flavor of the specified flavor.
|
|
Intrinsic::ID | getInverseMinMaxIntrinsic (Intrinsic::ID MinMaxID) |
|
APInt | getMinMaxLimit (SelectPatternFlavor SPF, unsigned BitWidth) |
| Return the minimum or maximum constant value for the specified integer min/max flavor and type.
|
|
std::pair< Intrinsic::ID, bool > | canConvertToMinOrMaxIntrinsic (ArrayRef< Value * > VL) |
| Check if the values in VL are select instructions that can be converted to a min or max (vector) intrinsic.
|
|
bool | matchSimpleRecurrence (const PHINode *P, BinaryOperator *&BO, Value *&Start, Value *&Step) |
| Attempt to match a simple first order recurrence cycle of the form: iv = phi Ty [Start, Entry], [Inc, backedge] inc = binop iv, step OR iv = phi Ty [Start, Entry], [Inc, backedge] inc = binop step, iv.
|
|
bool | matchSimpleRecurrence (const BinaryOperator *I, PHINode *&P, Value *&Start, Value *&Step) |
| Analogous to the above, but starting from the binary operator.
|
|
std::optional< bool > | isImpliedCondition (const Value *LHS, const Value *RHS, const DataLayout &DL, bool LHSIsTrue=true, unsigned Depth=0) |
| Return true if RHS is known to be implied true by LHS.
|
|
std::optional< bool > | isImpliedCondition (const Value *LHS, CmpPredicate RHSPred, const Value *RHSOp0, const Value *RHSOp1, const DataLayout &DL, bool LHSIsTrue=true, unsigned Depth=0) |
|
std::optional< bool > | isImpliedByDomCondition (const Value *Cond, const Instruction *ContextI, const DataLayout &DL) |
| Return the boolean condition value in the context of the given instruction if it is known based on dominating conditions.
|
|
std::optional< bool > | isImpliedByDomCondition (CmpPredicate Pred, const Value *LHS, const Value *RHS, const Instruction *ContextI, const DataLayout &DL) |
|
void | findValuesAffectedByCondition (Value *Cond, bool IsAssume, function_ref< void(Value *)> InsertAffected) |
| Call InsertAffected on all Values whose known bits / value may be affected by the condition Cond .
|
|
bool | isTriviallyVectorizable (Intrinsic::ID ID) |
| Identify if the intrinsic is trivially vectorizable.
|
|
bool | isTriviallyScalarizable (Intrinsic::ID ID, const TargetTransformInfo *TTI) |
| Identify if the intrinsic is trivially scalarizable.
|
|
bool | isVectorIntrinsicWithScalarOpAtArg (Intrinsic::ID ID, unsigned ScalarOpdIdx, const TargetTransformInfo *TTI) |
| Identifies if the vector form of the intrinsic has a scalar operand.
|
|
bool | isVectorIntrinsicWithOverloadTypeAtArg (Intrinsic::ID ID, int OpdIdx, const TargetTransformInfo *TTI) |
| Identifies if the vector form of the intrinsic is overloaded on the type of the operand at index OpdIdx , or on the return type if OpdIdx is -1.
|
|
bool | isVectorIntrinsicWithStructReturnOverloadAtField (Intrinsic::ID ID, int RetIdx, const TargetTransformInfo *TTI) |
| Identifies if the vector form of the intrinsic that returns a struct is overloaded at the struct element index RetIdx .
|
|
Intrinsic::ID | getVectorIntrinsicIDForCall (const CallInst *CI, const TargetLibraryInfo *TLI) |
| Returns intrinsic ID for call.
|
|
Value * | findScalarElement (Value *V, unsigned EltNo) |
| Given a vector and an element number, see if the scalar value is already around as a register, for example if it were inserted then extracted from the vector.
|
|
int | getSplatIndex (ArrayRef< int > Mask) |
| If all non-negative Mask elements are the same value, return that value.
|
|
Value * | getSplatValue (const Value *V) |
| Get splat value if the input is a splat vector or return nullptr.
|
|
bool | isSplatValue (const Value *V, int Index=-1, unsigned Depth=0) |
| Return true if each element of the vector value V is poisoned or equal to every other non-poisoned element.
|
|
bool | getShuffleDemandedElts (int SrcWidth, ArrayRef< int > Mask, const APInt &DemandedElts, APInt &DemandedLHS, APInt &DemandedRHS, bool AllowUndefElts=false) |
| Transform a shuffle mask's output demanded element mask into demanded element masks for the 2 operands, returns false if the mask isn't valid.
|
|
void | narrowShuffleMaskElts (int Scale, ArrayRef< int > Mask, SmallVectorImpl< int > &ScaledMask) |
| Replace each shuffle mask index with the scaled sequential indices for an equivalent mask of narrowed elements.
|
|
bool | widenShuffleMaskElts (int Scale, ArrayRef< int > Mask, SmallVectorImpl< int > &ScaledMask) |
| Try to transform a shuffle mask by replacing elements with the scaled index for an equivalent mask of widened elements.
|
|
bool | widenShuffleMaskElts (ArrayRef< int > M, SmallVectorImpl< int > &NewMask) |
| A variant of the previous method which is specialized for Scale=2, and treats -1 as undef and allows widening when a wider element is partially undef in the narrow form of the mask.
|
|
bool | scaleShuffleMaskElts (unsigned NumDstElts, ArrayRef< int > Mask, SmallVectorImpl< int > &ScaledMask) |
| Attempt to narrow/widen the Mask shuffle mask to the NumDstElts target width.
|
|
void | getShuffleMaskWithWidestElts (ArrayRef< int > Mask, SmallVectorImpl< int > &ScaledMask) |
| Repetitively apply widenShuffleMaskElts() for as long as it succeeds, to get the shuffle mask with widest possible elements.
|
|
void | processShuffleMasks (ArrayRef< int > Mask, unsigned NumOfSrcRegs, unsigned NumOfDestRegs, unsigned NumOfUsedRegs, function_ref< void()> NoInputAction, function_ref< void(ArrayRef< int >, unsigned, unsigned)> SingleInputAction, function_ref< void(ArrayRef< int >, unsigned, unsigned)> ManyInputsAction) |
| Splits and processes shuffle mask depending on the number of input and output registers.
|
|
void | getHorizDemandedEltsForFirstOperand (unsigned VectorBitWidth, const APInt &DemandedElts, APInt &DemandedLHS, APInt &DemandedRHS) |
| Compute the demanded elements mask of horizontal binary operations.
|
|
MapVector< Instruction *, uint64_t > | computeMinimumValueSizes (ArrayRef< BasicBlock * > Blocks, DemandedBits &DB, const TargetTransformInfo *TTI=nullptr) |
| Compute a map of integer instructions to their minimum legal type size.
|
|
MDNode * | uniteAccessGroups (MDNode *AccGroups1, MDNode *AccGroups2) |
| Compute the union of two access-group lists.
|
|
MDNode * | intersectAccessGroups (const Instruction *Inst1, const Instruction *Inst2) |
| Compute the access-group list of access groups that Inst1 and Inst2 are both in.
|
|
Instruction * | propagateMetadata (Instruction *I, ArrayRef< Value * > VL) |
| Specifically, let Kinds = [MD_tbaa, MD_alias_scope, MD_noalias, MD_fpmath, MD_nontemporal, MD_access_group, MD_mmra].
|
|
Constant * | createBitMaskForGaps (IRBuilderBase &Builder, unsigned VF, const InterleaveGroup< Instruction > &Group) |
| Create a mask that filters the members of an interleave group where there are gaps.
|
|
llvm::SmallVector< int, 16 > | createReplicatedMask (unsigned ReplicationFactor, unsigned VF) |
| Create a mask with replicated elements.
|
|
llvm::SmallVector< int, 16 > | createInterleaveMask (unsigned VF, unsigned NumVecs) |
| Create an interleave shuffle mask.
|
|
llvm::SmallVector< int, 16 > | createStrideMask (unsigned Start, unsigned Stride, unsigned VF) |
| Create a stride shuffle mask.
|
|
llvm::SmallVector< int, 16 > | createSequentialMask (unsigned Start, unsigned NumInts, unsigned NumUndefs) |
| Create a sequential shuffle mask.
|
|
llvm::SmallVector< int, 16 > | createUnaryMask (ArrayRef< int > Mask, unsigned NumElts) |
| Given a shuffle mask for a binary shuffle, create the equivalent shuffle mask assuming both operands are identical.
|
|
Value * | concatenateVectors (IRBuilderBase &Builder, ArrayRef< Value * > Vecs) |
| Concatenate a list of vectors.
|
|
bool | maskIsAllZeroOrUndef (Value *Mask) |
| Given a mask vector of i1, Return true if all of the elements of this predicate mask are known to be false or undef.
|
|
bool | maskIsAllOneOrUndef (Value *Mask) |
| Given a mask vector of i1, Return true if all of the elements of this predicate mask are known to be true or undef.
|
|
bool | maskContainsAllOneOrUndef (Value *Mask) |
| Given a mask vector of i1, Return true if any of the elements of this predicate mask are known to be true or undef.
|
|
APInt | possiblyDemandedEltsInMask (Value *Mask) |
| Given a mask vector of the form <Y x i1>, return an APInt (of bitwidth Y) for each lane which may be active.
|
|
std::unique_ptr< Module > | parseAssemblyFile (StringRef Filename, SMDiagnostic &Err, LLVMContext &Context, SlotMapping *Slots=nullptr) |
| This function is a main interface to the LLVM Assembly Parser.
|
|
std::unique_ptr< Module > | parseAssemblyString (StringRef AsmString, SMDiagnostic &Err, LLVMContext &Context, SlotMapping *Slots=nullptr) |
| The function is a secondary interface to the LLVM Assembly Parser.
|
|
ParsedModuleAndIndex | parseAssemblyFileWithIndex (StringRef Filename, SMDiagnostic &Err, LLVMContext &Context, SlotMapping *Slots=nullptr, DataLayoutCallbackTy DataLayoutCallback=[](StringRef, StringRef) { return std::nullopt;}) |
| This function is a main interface to the LLVM Assembly Parser.
|
|
ParsedModuleAndIndex | parseAssemblyFileWithIndexNoUpgradeDebugInfo (StringRef Filename, SMDiagnostic &Err, LLVMContext &Context, SlotMapping *Slots, DataLayoutCallbackTy DataLayoutCallback) |
| Only for use in llvm-as for testing; this does not produce a valid module.
|
|
std::unique_ptr< ModuleSummaryIndex > | parseSummaryIndexAssemblyFile (StringRef Filename, SMDiagnostic &Err) |
| This function is a main interface to the LLVM Assembly Parser.
|
|
std::unique_ptr< ModuleSummaryIndex > | parseSummaryIndexAssemblyString (StringRef AsmString, SMDiagnostic &Err) |
| The function is a secondary interface to the LLVM Assembly Parser.
|
|
std::unique_ptr< Module > | parseAssembly (MemoryBufferRef F, SMDiagnostic &Err, LLVMContext &Context, SlotMapping *Slots=nullptr, DataLayoutCallbackTy DataLayoutCallback=[](StringRef, StringRef) { return std::nullopt;}) |
| parseAssemblyFile and parseAssemblyString are wrappers around this function.
|
|
ParsedModuleAndIndex | parseAssemblyWithIndex (MemoryBufferRef F, SMDiagnostic &Err, LLVMContext &Context, SlotMapping *Slots=nullptr) |
| Parse LLVM Assembly including the summary index from a MemoryBuffer.
|
|
std::unique_ptr< ModuleSummaryIndex > | parseSummaryIndexAssembly (MemoryBufferRef F, SMDiagnostic &Err) |
| Parse LLVM Assembly for summary index from a MemoryBuffer.
|
|
bool | parseAssemblyInto (MemoryBufferRef F, Module *M, ModuleSummaryIndex *Index, SMDiagnostic &Err, SlotMapping *Slots=nullptr, DataLayoutCallbackTy DataLayoutCallback=[](StringRef, StringRef) { return std::nullopt;}) |
| This function is the low-level interface to the LLVM Assembly Parser.
|
|
Constant * | parseConstantValue (StringRef Asm, SMDiagnostic &Err, const Module &M, const SlotMapping *Slots=nullptr) |
| Parse a type and a constant value in the given string.
|
|
Type * | parseType (StringRef Asm, SMDiagnostic &Err, const Module &M, const SlotMapping *Slots=nullptr) |
| Parse a type in the given string.
|
|
Type * | parseTypeAtBeginning (StringRef Asm, unsigned &Read, SMDiagnostic &Err, const Module &M, const SlotMapping *Slots=nullptr) |
| Parse a string Asm that starts with a type.
|
|
DIExpression * | parseDIExpressionBodyAtBeginning (StringRef Asm, unsigned &Read, SMDiagnostic &Err, const Module &M, const SlotMapping *Slots) |
|
file_magic | identify_magic (StringRef magic) |
| Identify the type of a binary file based on how magical it is.
|
|
std::error_code | identify_magic (const Twine &path, file_magic &result) |
| Get and identify path's type based on its content.
|
|
std::error_code | errorToErrorCodeAndEmitErrors (LLVMContext &Ctx, Error Err) |
|
template<typename T > |
ErrorOr< T > | expectedToErrorOrAndEmitErrors (LLVMContext &Ctx, Expected< T > Val) |
|
Expected< BitcodeFileContents > | getBitcodeFileContents (MemoryBufferRef Buffer) |
| Returns the contents of a bitcode file.
|
|
Expected< std::vector< BitcodeModule > > | getBitcodeModuleList (MemoryBufferRef Buffer) |
| Returns a list of modules in the specified bitcode buffer.
|
|
Expected< std::unique_ptr< Module > > | getLazyBitcodeModule (MemoryBufferRef Buffer, LLVMContext &Context, bool ShouldLazyLoadMetadata=false, bool IsImporting=false, ParserCallbacks Callbacks={}) |
| Read the header of the specified bitcode buffer and prepare for lazy deserialization of function bodies.
|
|
Expected< std::unique_ptr< Module > > | getOwningLazyBitcodeModule (std::unique_ptr< MemoryBuffer > &&Buffer, LLVMContext &Context, bool ShouldLazyLoadMetadata=false, bool IsImporting=false, ParserCallbacks Callbacks={}) |
| Like getLazyBitcodeModule, except that the module takes ownership of the memory buffer if successful.
|
|
Expected< std::string > | getBitcodeTargetTriple (MemoryBufferRef Buffer) |
| Read the header of the specified bitcode buffer and extract just the triple information.
|
|
Expected< bool > | isBitcodeContainingObjCCategory (MemoryBufferRef Buffer) |
| Return true if Buffer contains a bitcode file with ObjC code (category or class) in it.
|
|
Expected< std::string > | getBitcodeProducerString (MemoryBufferRef Buffer) |
| Read the header of the specified bitcode buffer and extract just the producer string information.
|
|
Expected< std::unique_ptr< Module > > | parseBitcodeFile (MemoryBufferRef Buffer, LLVMContext &Context, ParserCallbacks Callbacks={}) |
| Read the specified bitcode file, returning the module.
|
|
Expected< BitcodeLTOInfo > | getBitcodeLTOInfo (MemoryBufferRef Buffer) |
| Returns LTO information for the specified bitcode file.
|
|
Expected< std::unique_ptr< ModuleSummaryIndex > > | getModuleSummaryIndex (MemoryBufferRef Buffer) |
| Parse the specified bitcode buffer, returning the module summary index.
|
|
Error | readModuleSummaryIndex (MemoryBufferRef Buffer, ModuleSummaryIndex &CombinedIndex) |
| Parse the specified bitcode buffer and merge the index into CombinedIndex.
|
|
Expected< std::unique_ptr< ModuleSummaryIndex > > | getModuleSummaryIndexForFile (StringRef Path, bool IgnoreEmptyThinLTOIndexFile=false) |
| Parse the module summary index out of an IR file and return the module summary index object if found, or an empty summary if not.
|
|
bool | isBitcodeWrapper (const unsigned char *BufPtr, const unsigned char *BufEnd) |
| isBitcodeWrapper - Return true if the given bytes are the magic bytes for an LLVM IR bitcode wrapper.
|
|
bool | isRawBitcode (const unsigned char *BufPtr, const unsigned char *BufEnd) |
| isRawBitcode - Return true if the given bytes are the magic bytes for raw LLVM IR bitcode (without a wrapper).
|
|
bool | isBitcode (const unsigned char *BufPtr, const unsigned char *BufEnd) |
| isBitcode - Return true if the given bytes are the magic bytes for LLVM IR bitcode, either with or without a wrapper.
|
|
bool | SkipBitcodeWrapperHeader (const unsigned char *&BufPtr, const unsigned char *&BufEnd, bool VerifyBufferSize) |
| SkipBitcodeWrapperHeader - Some systems wrap bc files with a special header for padding or other reasons.
|
|
APInt | readWideAPInt (ArrayRef< uint64_t > Vals, unsigned TypeBits) |
|
const std::error_category & | BitcodeErrorCategory () |
|
std::error_code | make_error_code (BitcodeError E) |
|
void | WriteBitcodeToFile (const Module &M, raw_ostream &Out, bool ShouldPreserveUseListOrder=false, const ModuleSummaryIndex *Index=nullptr, bool GenerateHash=false, ModuleHash *ModHash=nullptr) |
| Write the specified module to the specified raw output stream.
|
|
void | writeThinLinkBitcodeToFile (const Module &M, raw_ostream &Out, const ModuleSummaryIndex &Index, const ModuleHash &ModHash) |
| Write the specified thin link bitcode file (i.e., the minimized bitcode file) to the given raw output stream, where it will be written in a new bitcode block.
|
|
void | writeIndexToFile (const ModuleSummaryIndex &Index, raw_ostream &Out, const ModuleToSummariesForIndexTy *ModuleToSummariesForIndex=nullptr, const GVSummaryPtrSet *DecSummaries=nullptr) |
| Write the specified module summary index to the given raw output stream, where it will be written in a new bitcode block.
|
|
void | embedBitcodeInModule (Module &M, MemoryBufferRef Buf, bool EmbedBitcode, bool EmbedCmdline, const std::vector< uint8_t > &CmdArgs) |
| If EmbedBitcode is set, save a copy of the llvm IR as data in the __LLVM,__bitcode section (.llvmbc on non-MacOS).
|
|
ModulePass * | createBitcodeWriterPass (raw_ostream &Str, bool ShouldPreserveUseListOrder=false) |
| Create and return a pass that writes the module to the specified ostream.
|
|
bool | isBitcodeWriterPass (Pass *P) |
| Check whether a pass is a BitcodeWriterPass.
|
|
std::string | getCodeGenDataSectionName (CGDataSectKind CGSK, Triple::ObjectFormatType OF, bool AddSegmentInfo=true) |
|
const std::error_category & | cgdata_category () |
|
std::error_code | make_error_code (cgdata_error E) |
|
void | emitAppleAccelTableImpl (AsmPrinter *Asm, AccelTableBase &Contents, StringRef Prefix, const MCSymbol *SecBegin, ArrayRef< AppleAccelTableData::Atom > Atoms) |
|
template<typename DataT > |
void | emitAppleAccelTable (AsmPrinter *Asm, AccelTable< DataT > &Contents, StringRef Prefix, const MCSymbol *SecBegin) |
| Emit an Apple Accelerator Table consisting of entries in the specified AccelTable.
|
|
void | emitDWARF5AccelTable (AsmPrinter *Asm, DWARF5AccelTable &Contents, const DwarfDebug &DD, ArrayRef< std::unique_ptr< DwarfCompileUnit > > CUs) |
|
void | emitDWARF5AccelTable (AsmPrinter *Asm, DWARF5AccelTable &Contents, ArrayRef< std::variant< MCSymbol *, uint64_t > > CUs, llvm::function_ref< std::optional< DWARF5AccelTable::UnitIndexAndEncoding >(const DWARF5AccelTableData &)> getIndexForEntry) |
| Emit a DWARFv5 Accelerator Table consisting of entries in the specified AccelTable.
|
|
unsigned | ComputeLinearIndex (Type *Ty, const unsigned *Indices, const unsigned *IndicesEnd, unsigned CurIndex=0) |
| Compute the linearized index of a member in a nested aggregate/struct/array.
|
|
unsigned | ComputeLinearIndex (Type *Ty, ArrayRef< unsigned > Indices, unsigned CurIndex=0) |
|
void | ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< EVT > *MemVTs, SmallVectorImpl< TypeSize > *Offsets=nullptr, TypeSize StartingOffset=TypeSize::getZero()) |
| ComputeValueVTs - Given an LLVM IR type, compute a sequence of EVTs that represent all the individual underlying non-aggregate types that comprise it.
|
|
void | ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< EVT > *MemVTs, SmallVectorImpl< uint64_t > *FixedOffsets, uint64_t StartingOffset) |
|
void | ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< TypeSize > *Offsets=nullptr, TypeSize StartingOffset=TypeSize::getZero()) |
| Variant of ComputeValueVTs that don't produce memory VTs.
|
|
void | ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< uint64_t > *FixedOffsets, uint64_t StartingOffset) |
|
void | computeValueLLTs (const DataLayout &DL, Type &Ty, SmallVectorImpl< LLT > &ValueTys, SmallVectorImpl< uint64_t > *Offsets=nullptr, uint64_t StartingOffset=0) |
| computeValueLLTs - Given an LLVM IR type, compute a sequence of LLTs that represent all the individual underlying non-aggregate types that comprise it.
|
|
GlobalValue * | ExtractTypeInfo (Value *V) |
| ExtractTypeInfo - Returns the type info, possibly bitcast, encoded in V.
|
|
ISD::CondCode | getFCmpCondCode (FCmpInst::Predicate Pred) |
| getFCmpCondCode - Return the ISD condition code corresponding to the given LLVM IR floating-point condition code.
|
|
ISD::CondCode | getFCmpCodeWithoutNaN (ISD::CondCode CC) |
| getFCmpCodeWithoutNaN - Given an ISD condition code comparing floats, return the equivalent code if we're allowed to assume that NaNs won't occur.
|
|
ISD::CondCode | getICmpCondCode (ICmpInst::Predicate Pred) |
| getICmpCondCode - Return the ISD condition code corresponding to the given LLVM IR integer condition code.
|
|
ICmpInst::Predicate | getICmpCondCode (ISD::CondCode Pred) |
| getICmpCondCode - Return the LLVM IR integer condition code corresponding to the given ISD integer condition code.
|
|
bool | isInTailCallPosition (const CallBase &Call, const TargetMachine &TM, bool ReturnsFirstArg=false) |
| Test if the given instruction is in a position to be optimized with a tail-call.
|
|
bool | attributesPermitTailCall (const Function *F, const Instruction *I, const ReturnInst *Ret, const TargetLoweringBase &TLI, bool *AllowDifferingSizes=nullptr) |
| Test if given that the input instruction is in the tail call position, if there is an attribute mismatch between the caller and the callee that will inhibit tail call optimizations.
|
|
bool | returnTypeIsEligibleForTailCall (const Function *F, const Instruction *I, const ReturnInst *Ret, const TargetLoweringBase &TLI, bool ReturnsFirstArg=false) |
| Test if given that the input instruction is in the tail call position if the return type or any attributes of the function will inhibit tail call optimization.
|
|
bool | funcReturnsFirstArgOfCall (const CallInst &CI) |
| Returns true if the parent of CI returns CI's first argument after calling CI .
|
|
DenseMap< const MachineBasicBlock *, int > | getEHScopeMembership (const MachineFunction &MF) |
|
AntiDepBreaker * | createAggressiveAntiDepBreaker (MachineFunction &MFi, const RegisterClassInfo &RCI, TargetSubtargetInfo::RegClassVector &CriticalPathRCs) |
|
AntiDepBreaker * | createCriticalAntiDepBreaker (MachineFunction &MFi, const RegisterClassInfo &RCI) |
|
bool | expandAtomicRMWToCmpXchg (AtomicRMWInst *AI, CreateCmpXchgInstFun CreateCmpXchg) |
| Expand an atomic RMW instruction into a loop utilizing cmpxchg.
|
|
ImmutablePass * | createBasicBlockSectionsProfileReaderWrapperPass (const MemoryBuffer *Buf) |
|
void | sortBasicBlocksAndUpdateBranches (MachineFunction &MF, MachineBasicBlockComparator MBBCmp) |
|
void | avoidZeroOffsetLandingPad (MachineFunction &MF) |
|
bool | hasInstrProfHashMismatch (MachineFunction &MF) |
| This checks if the source of this function has drifted since this binary was profiled previously.
|
|
static float | normalizeSpillWeight (float UseDefFreq, unsigned Size, unsigned NumInstr) |
| Normalize the spill weight of a live interval.
|
|
MachineBasicBlock::iterator | findSplitPointForStackProtector (MachineBasicBlock *BB, const TargetInstrInfo &TII) |
| Find the split point at which to splice the end of BB into its success stack protector check machine basic block.
|
|
FPClassTest | invertFPClassTestIfSimpler (FPClassTest Test, bool UseFCmp) |
| Evaluates if the specified FP class test is better performed as the inverse (i.e.
|
|
void | salvageDebugInfoForDbgValue (const MachineRegisterInfo &MRI, MachineInstr &MI, ArrayRef< MachineOperand * > DbgUsers) |
| Assuming the instruction MI is going to be deleted, attempt to salvage debug users of MI by writing the effect of MI in a DIExpression.
|
|
CodeModel::Model | getEffectiveCodeModel (std::optional< CodeModel::Model > CM, CodeModel::Model Default) |
| Helper method for getting the code model, returning Default if CM does not have a value.
|
|
template<class CostType > |
const CostTblEntryT< CostType > * | CostTableLookup (ArrayRef< CostTblEntryT< CostType > > Tbl, int ISD, MVT Ty) |
| Find in cost table.
|
|
template<size_t N, class CostType > |
const CostTblEntryT< CostType > * | CostTableLookup (const CostTblEntryT< CostType >(&Table)[N], int ISD, MVT Ty) |
|
template<class CostType > |
const TypeConversionCostTblEntryT< CostType > * | ConvertCostTableLookup (ArrayRef< TypeConversionCostTblEntryT< CostType > > Tbl, int ISD, MVT Dst, MVT Src) |
| Find in type conversion cost table.
|
|
template<size_t N, class CostType > |
const TypeConversionCostTblEntryT< CostType > * | ConvertCostTableLookup (const TypeConversionCostTblEntryT< CostType >(&Table)[N], int ISD, MVT Dst, MVT Src) |
|
void | calculateDbgEntityHistory (const MachineFunction *MF, const TargetRegisterInfo *TRI, DbgValueHistoryMap &DbgValues, DbgLabelInstrMap &DbgLabels) |
|
VPExpansionDetails | expandVectorPredicationIntrinsic (VPIntrinsic &VPI, const TargetTransformInfo &TTI) |
| Expand a vector predication intrinsic.
|
|
std::unique_ptr< CSEConfigBase > | getStandardCSEConfigForOpt (CodeGenOptLevel Level) |
|
raw_ostream & | operator<< (raw_ostream &OS, LegacyLegalizeActions::LegacyLegalizeAction Action) |
|
LegalizerHelper::LegalizeResult | createLibcall (MachineIRBuilder &MIRBuilder, const char *Name, const CallLowering::ArgInfo &Result, ArrayRef< CallLowering::ArgInfo > Args, CallingConv::ID CC, LostDebugLocObserver &LocObserver, MachineInstr *MI=nullptr) |
| Helper function that creates a libcall to the given Name using the given calling convention CC .
|
|
LegalizerHelper::LegalizeResult | createLibcall (MachineIRBuilder &MIRBuilder, RTLIB::Libcall Libcall, const CallLowering::ArgInfo &Result, ArrayRef< CallLowering::ArgInfo > Args, LostDebugLocObserver &LocObserver, MachineInstr *MI=nullptr) |
| Helper function that creates the given libcall.
|
|
LegalizerHelper::LegalizeResult | createMemLibcall (MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI, MachineInstr &MI, LostDebugLocObserver &LocObserver) |
| Create a libcall to memcpy et al.
|
|
raw_ostream & | operator<< (raw_ostream &OS, LegalizeActions::LegalizeAction Action) |
|
const MachineInstr * | machineFunctionIsIllegal (const MachineFunction &MF) |
| Checks that MIR is fully legal, returns an illegal instruction if it's not, nullptr otherwise.
|
|
Register | constrainRegToClass (MachineRegisterInfo &MRI, const TargetInstrInfo &TII, const RegisterBankInfo &RBI, Register Reg, const TargetRegisterClass &RegClass) |
| Try to constrain Reg to the specified register class.
|
|
Register | constrainOperandRegClass (const MachineFunction &MF, const TargetRegisterInfo &TRI, MachineRegisterInfo &MRI, const TargetInstrInfo &TII, const RegisterBankInfo &RBI, MachineInstr &InsertPt, const TargetRegisterClass &RegClass, MachineOperand &RegMO) |
| Constrain the Register operand OpIdx, so that it is now constrained to the TargetRegisterClass passed as an argument (RegClass).
|
|
Register | constrainOperandRegClass (const MachineFunction &MF, const TargetRegisterInfo &TRI, MachineRegisterInfo &MRI, const TargetInstrInfo &TII, const RegisterBankInfo &RBI, MachineInstr &InsertPt, const MCInstrDesc &II, MachineOperand &RegMO, unsigned OpIdx) |
| Try to constrain Reg so that it is usable by argument OpIdx of the provided MCInstrDesc II .
|
|
bool | constrainSelectedInstRegOperands (MachineInstr &I, const TargetInstrInfo &TII, const TargetRegisterInfo &TRI, const RegisterBankInfo &RBI) |
| Mutate the newly-selected instruction I to constrain its (possibly generic) virtual register operands to the instruction's register class.
|
|
bool | canReplaceReg (Register DstReg, Register SrcReg, MachineRegisterInfo &MRI) |
| Check if DstReg can be replaced with SrcReg depending on the register constraints.
|
|
bool | isTriviallyDead (const MachineInstr &MI, const MachineRegisterInfo &MRI) |
| Check whether an instruction MI is dead: it only defines dead virtual registers, and doesn't have other side effects.
|
|
void | reportGISelFailure (MachineFunction &MF, const TargetPassConfig &TPC, MachineOptimizationRemarkEmitter &MORE, MachineOptimizationRemarkMissed &R) |
| Report an ISel error as a missed optimization remark to the LLVMContext's diagnostic stream.
|
|
void | reportGISelFailure (MachineFunction &MF, const TargetPassConfig &TPC, MachineOptimizationRemarkEmitter &MORE, const char *PassName, StringRef Msg, const MachineInstr &MI) |
|
void | reportGISelWarning (MachineFunction &MF, const TargetPassConfig &TPC, MachineOptimizationRemarkEmitter &MORE, MachineOptimizationRemarkMissed &R) |
| Report an ISel warning as a missed optimization remark to the LLVMContext's diagnostic stream.
|
|
unsigned | getInverseGMinMaxOpcode (unsigned MinMaxOpc) |
| Returns the inverse opcode of MinMaxOpc , which is a generic min/max opcode like G_SMIN.
|
|
std::optional< APInt > | getIConstantVRegVal (Register VReg, const MachineRegisterInfo &MRI) |
| If VReg is defined by a G_CONSTANT, return the corresponding value.
|
|
std::optional< int64_t > | getIConstantVRegSExtVal (Register VReg, const MachineRegisterInfo &MRI) |
| If VReg is defined by a G_CONSTANT fits in int64_t returns it.
|
|
const APInt & | getIConstantFromReg (Register VReg, const MachineRegisterInfo &MRI) |
| VReg is defined by a G_CONSTANT, return the corresponding value.
|
|
std::optional< ValueAndVReg > | getIConstantVRegValWithLookThrough (Register VReg, const MachineRegisterInfo &MRI, bool LookThroughInstrs=true) |
| If VReg is defined by a statically evaluable chain of instructions rooted on a G_CONSTANT returns its APInt value and def register.
|
|
std::optional< ValueAndVReg > | getAnyConstantVRegValWithLookThrough (Register VReg, const MachineRegisterInfo &MRI, bool LookThroughInstrs=true, bool LookThroughAnyExt=false) |
| If VReg is defined by a statically evaluable chain of instructions rooted on a G_CONSTANT or G_FCONSTANT returns its value as APInt and def register.
|
|
std::optional< FPValueAndVReg > | getFConstantVRegValWithLookThrough (Register VReg, const MachineRegisterInfo &MRI, bool LookThroughInstrs=true) |
| If VReg is defined by a statically evaluable chain of instructions rooted on a G_FCONSTANT returns its APFloat value and def register.
|
|
const ConstantFP * | getConstantFPVRegVal (Register VReg, const MachineRegisterInfo &MRI) |
|
MachineInstr * | getOpcodeDef (unsigned Opcode, Register Reg, const MachineRegisterInfo &MRI) |
| See if Reg is defined by an single def instruction that is Opcode.
|
|
std::optional< DefinitionAndSourceRegister > | getDefSrcRegIgnoringCopies (Register Reg, const MachineRegisterInfo &MRI) |
| Find the def instruction for Reg , and underlying value Register folding away any copies.
|
|
MachineInstr * | getDefIgnoringCopies (Register Reg, const MachineRegisterInfo &MRI) |
| Find the def instruction for Reg , folding away any trivial copies.
|
|
Register | getSrcRegIgnoringCopies (Register Reg, const MachineRegisterInfo &MRI) |
| Find the source register for Reg , folding away any trivial copies.
|
|
void | extractParts (Register Reg, LLT Ty, int NumParts, SmallVectorImpl< Register > &VRegs, MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI) |
| Helper function to split a wide generic register into bitwise blocks with the given Type (which implies the number of blocks needed).
|
|
bool | extractParts (Register Reg, LLT RegTy, LLT MainTy, LLT &LeftoverTy, SmallVectorImpl< Register > &VRegs, SmallVectorImpl< Register > &LeftoverVRegs, MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI) |
| Version which handles irregular splits.
|
|
void | extractVectorParts (Register Reg, unsigned NumElts, SmallVectorImpl< Register > &VRegs, MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI) |
| Version which handles irregular sub-vector splits.
|
|
template<class T > |
T * | getOpcodeDef (Register Reg, const MachineRegisterInfo &MRI) |
| See if Reg is defined by an single def instruction of type T Also try to do trivial folding if it's a COPY with same types.
|
|
APFloat | getAPFloatFromSize (double Val, unsigned Size) |
| Returns an APFloat from Val converted to the appropriate size.
|
|
void | getSelectionDAGFallbackAnalysisUsage (AnalysisUsage &AU) |
| Modify analysis usage so it preserves passes required for the SelectionDAG fallback.
|
|
std::optional< APInt > | ConstantFoldBinOp (unsigned Opcode, const Register Op1, const Register Op2, const MachineRegisterInfo &MRI) |
|
std::optional< APFloat > | ConstantFoldFPBinOp (unsigned Opcode, const Register Op1, const Register Op2, const MachineRegisterInfo &MRI) |
|
SmallVector< APInt > | ConstantFoldVectorBinop (unsigned Opcode, const Register Op1, const Register Op2, const MachineRegisterInfo &MRI) |
| Tries to constant fold a vector binop with sources Op1 and Op2 .
|
|
std::optional< APInt > | ConstantFoldCastOp (unsigned Opcode, LLT DstTy, const Register Op0, const MachineRegisterInfo &MRI) |
|
std::optional< APInt > | ConstantFoldExtOp (unsigned Opcode, const Register Op1, uint64_t Imm, const MachineRegisterInfo &MRI) |
|
std::optional< APFloat > | ConstantFoldIntToFloat (unsigned Opcode, LLT DstTy, Register Src, const MachineRegisterInfo &MRI) |
|
std::optional< SmallVector< unsigned > > | ConstantFoldCountZeros (Register Src, const MachineRegisterInfo &MRI, std::function< unsigned(APInt)> CB) |
| Tries to constant fold a counting-zero operation (G_CTLZ or G_CTTZ) on Src .
|
|
std::optional< SmallVector< APInt > > | ConstantFoldICmp (unsigned Pred, const Register Op1, const Register Op2, const MachineRegisterInfo &MRI) |
|
bool | isKnownToBeAPowerOfTwo (Register Val, const MachineRegisterInfo &MRI, GISelKnownBits *KnownBits=nullptr) |
| Test if the given value is known to have exactly one bit set.
|
|
bool | isKnownNeverNaN (Register Val, const MachineRegisterInfo &MRI, bool SNaN=false) |
| Returns true if Val can be assumed to never be a NaN.
|
|
bool | isKnownNeverSNaN (Register Val, const MachineRegisterInfo &MRI) |
| Returns true if Val can be assumed to never be a signaling NaN.
|
|
Align | inferAlignFromPtrInfo (MachineFunction &MF, const MachinePointerInfo &MPO) |
|
Register | getFunctionLiveInPhysReg (MachineFunction &MF, const TargetInstrInfo &TII, MCRegister PhysReg, const TargetRegisterClass &RC, const DebugLoc &DL, LLT RegTy=LLT()) |
| Return a virtual register corresponding to the incoming argument register PhysReg .
|
|
LLVM_READNONE LLT | getLCMType (LLT OrigTy, LLT TargetTy) |
| Return the least common multiple type of OrigTy and TargetTy , by changing the number of vector elements or scalar bitwidth.
|
|
LLVM_READNONE LLT | getCoverTy (LLT OrigTy, LLT TargetTy) |
| Return smallest type that covers both OrigTy and TargetTy and is multiple of TargetTy.
|
|
LLVM_READNONE LLT | getGCDType (LLT OrigTy, LLT TargetTy) |
| Return a type where the total size is the greatest common divisor of OrigTy and TargetTy .
|
|
std::optional< int > | getSplatIndex (MachineInstr &MI) |
|
std::optional< APInt > | getIConstantSplatVal (const Register Reg, const MachineRegisterInfo &MRI) |
|
std::optional< APInt > | getIConstantSplatVal (const MachineInstr &MI, const MachineRegisterInfo &MRI) |
|
std::optional< int64_t > | getIConstantSplatSExtVal (const Register Reg, const MachineRegisterInfo &MRI) |
|
std::optional< int64_t > | getIConstantSplatSExtVal (const MachineInstr &MI, const MachineRegisterInfo &MRI) |
|
std::optional< FPValueAndVReg > | getFConstantSplat (Register VReg, const MachineRegisterInfo &MRI, bool AllowUndef=true) |
| Returns a floating point scalar constant of a build vector splat if it exists.
|
|
bool | isBuildVectorConstantSplat (const Register Reg, const MachineRegisterInfo &MRI, int64_t SplatValue, bool AllowUndef) |
| Return true if the specified register is defined by G_BUILD_VECTOR or G_BUILD_VECTOR_TRUNC where all of the elements are SplatValue or undef.
|
|
bool | isBuildVectorConstantSplat (const MachineInstr &MI, const MachineRegisterInfo &MRI, int64_t SplatValue, bool AllowUndef) |
| Return true if the specified instruction is a G_BUILD_VECTOR or G_BUILD_VECTOR_TRUNC where all of the elements are SplatValue or undef.
|
|
bool | isBuildVectorAllZeros (const MachineInstr &MI, const MachineRegisterInfo &MRI, bool AllowUndef=false) |
| Return true if the specified instruction is a G_BUILD_VECTOR or G_BUILD_VECTOR_TRUNC where all of the elements are 0 or undef.
|
|
bool | isBuildVectorAllOnes (const MachineInstr &MI, const MachineRegisterInfo &MRI, bool AllowUndef=false) |
| Return true if the specified instruction is a G_BUILD_VECTOR or G_BUILD_VECTOR_TRUNC where all of the elements are ~0 or undef.
|
|
bool | isConstantOrConstantVector (const MachineInstr &MI, const MachineRegisterInfo &MRI, bool AllowFP=true, bool AllowOpaqueConstants=true) |
| Return true if the specified instruction is known to be a constant, or a vector of constants.
|
|
bool | isNullOrNullSplat (const MachineInstr &MI, const MachineRegisterInfo &MRI, bool AllowUndefs=false) |
| Return true if the value is a constant 0 integer or a splatted vector of a constant 0 integer (with no undefs if AllowUndefs is false).
|
|
bool | isAllOnesOrAllOnesSplat (const MachineInstr &MI, const MachineRegisterInfo &MRI, bool AllowUndefs=false) |
| Return true if the value is a constant -1 integer or a splatted vector of a constant -1 integer (with no undefs if AllowUndefs is false).
|
|
std::optional< RegOrConstant > | getVectorSplat (const MachineInstr &MI, const MachineRegisterInfo &MRI) |
|
bool | isConstantOrConstantVector (MachineInstr &MI, const MachineRegisterInfo &MRI) |
| Determines if MI defines a constant integer or a build vector of constant integers.
|
|
std::optional< APInt > | isConstantOrConstantSplatVector (MachineInstr &MI, const MachineRegisterInfo &MRI) |
| Determines if MI defines a constant integer or a splat vector of constant integers.
|
|
std::optional< APFloat > | isConstantOrConstantSplatVectorFP (MachineInstr &MI, const MachineRegisterInfo &MRI) |
| Determines if MI defines a float constant integer or a splat vector of float constant integers.
|
|
bool | matchUnaryPredicate (const MachineRegisterInfo &MRI, Register Reg, std::function< bool(const Constant *ConstVal)> Match, bool AllowUndefs=false) |
| Attempt to match a unary predicate against a scalar/splat constant or every element of a constant G_BUILD_VECTOR.
|
|
bool | isConstTrueVal (const TargetLowering &TLI, int64_t Val, bool IsVector, bool IsFP) |
| Returns true if given the TargetLowering's boolean contents information, the value Val contains a true value.
|
|
bool | isConstFalseVal (const TargetLowering &TLI, int64_t Val, bool IsVector, bool IsFP) |
|
int64_t | getICmpTrueVal (const TargetLowering &TLI, bool IsVector, bool IsFP) |
| Returns an integer representing true, as defined by the TargetBooleanContents.
|
|
void | saveUsesAndErase (MachineInstr &MI, MachineRegisterInfo &MRI, LostDebugLocObserver *LocObserver, SmallInstListTy &DeadInstChain) |
|
void | eraseInstrs (ArrayRef< MachineInstr * > DeadInstrs, MachineRegisterInfo &MRI, LostDebugLocObserver *LocObserver=nullptr) |
|
void | eraseInstr (MachineInstr &MI, MachineRegisterInfo &MRI, LostDebugLocObserver *LocObserver=nullptr) |
|
void | salvageDebugInfo (const MachineRegisterInfo &MRI, MachineInstr &MI) |
| Assuming the instruction MI is going to be deleted, attempt to salvage debug users of MI by writing the effect of MI in a DIExpression.
|
|
bool | isPreISelGenericFloatingPointOpcode (unsigned Opc) |
| Returns whether opcode Opc is a pre-isel generic floating-point opcode, having only floating-point operands.
|
|
bool | canCreateUndefOrPoison (Register Reg, const MachineRegisterInfo &MRI, bool ConsiderFlagsAndMetadata=true) |
| Returns true if Reg can create undef or poison from non-undef & non-poison operands.
|
|
bool | canCreatePoison (Register Reg, const MachineRegisterInfo &MRI, bool ConsiderFlagsAndMetadata=true) |
| Returns true if Reg can create poison from non-poison operands.
|
|
bool | isGuaranteedNotToBeUndefOrPoison (Register Reg, const MachineRegisterInfo &MRI, unsigned Depth=0) |
| Returns true if Reg cannot be poison and undef.
|
|
bool | isGuaranteedNotToBePoison (Register Reg, const MachineRegisterInfo &MRI, unsigned Depth=0) |
| Returns true if Reg cannot be poison, but may be undef.
|
|
bool | isGuaranteedNotToBeUndef (Register Reg, const MachineRegisterInfo &MRI, unsigned Depth=0) |
| Returns true if Reg cannot be undef, but may be poison.
|
|
Type * | getTypeForLLT (LLT Ty, LLVMContext &C) |
| Get the type back from LLT.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const LiveRange &LR) |
|
raw_ostream & | operator<< (raw_ostream &OS, const LiveInterval::SubRange &SR) |
|
raw_ostream & | operator<< (raw_ostream &OS, const LiveInterval &LI) |
|
raw_ostream & | operator<< (raw_ostream &OS, const LiveRange::Segment &S) |
|
bool | operator< (SlotIndex V, const LiveRange::Segment &S) |
|
bool | operator< (const LiveRange::Segment &S, SlotIndex V) |
|
raw_ostream & | operator<< (raw_ostream &OS, const LiveRangeUpdater &X) |
|
raw_ostream & | operator<< (raw_ostream &OS, const LivePhysRegs &LR) |
|
void | computeLiveIns (LivePhysRegs &LiveRegs, const MachineBasicBlock &MBB) |
| Computes registers live-in to MBB assuming all of its successors live-in lists are up-to-date.
|
|
void | recomputeLivenessFlags (MachineBasicBlock &MBB) |
| Recomputes dead and kill flags in MBB .
|
|
void | addLiveIns (MachineBasicBlock &MBB, const LivePhysRegs &LiveRegs) |
| Adds registers contained in LiveRegs to the block live-in list of MBB .
|
|
void | computeAndAddLiveIns (LivePhysRegs &LiveRegs, MachineBasicBlock &MBB) |
| Convenience function combining computeLiveIns() and addLiveIns().
|
|
static bool | recomputeLiveIns (MachineBasicBlock &MBB) |
| Convenience function for recomputing live-in's for a MBB.
|
|
void | fullyRecomputeLiveIns (ArrayRef< MachineBasicBlock * > MBBs) |
| Convenience function for recomputing live-in's for a set of MBBs until the computation converges.
|
|
iterator_range< filter_iterator< ConstMIBundleOperands, bool(*)(const MachineOperand &)> > | phys_regs_and_masks (const MachineInstr &MI) |
| Returns an iterator range over all physical register and mask operands for MI and bundled instructions.
|
|
LLT | getLLTForType (Type &Ty, const DataLayout &DL) |
| Construct a low-level type based on an LLVM type.
|
|
MVT | getMVTForLLT (LLT Ty) |
| Get a rough equivalent of an MVT for a given LLT.
|
|
EVT | getApproximateEVTForLLT (LLT Ty, LLVMContext &Ctx) |
|
LLT | getLLTForMVT (MVT Ty) |
| Get a rough equivalent of an LLT for a given MVT.
|
|
const llvm::fltSemantics & | getFltSemanticForLLT (LLT Ty) |
| Get the appropriate floating point arithmetic semantic based on the bit size of the given scalar LLT.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const MachineBasicBlock &MBB) |
|
Printable | printMBBReference (const MachineBasicBlock &MBB) |
| Prints a machine basic block reference.
|
|
auto | successors (const MachineBasicBlock *BB) |
|
auto | predecessors (const MachineBasicBlock *BB) |
|
auto | succ_size (const MachineBasicBlock *BB) |
|
auto | pred_size (const MachineBasicBlock *BB) |
|
auto | succ_begin (const MachineBasicBlock *BB) |
|
auto | pred_begin (const MachineBasicBlock *BB) |
|
auto | succ_end (const MachineBasicBlock *BB) |
|
auto | pred_end (const MachineBasicBlock *BB) |
|
template<typename IterT > |
IterT | skipDebugInstructionsForward (IterT It, IterT End, bool SkipPseudoOp=true) |
| Increment It until it points to a non-debug instruction or to End and return the resulting iterator.
|
|
template<class IterT > |
IterT | skipDebugInstructionsBackward (IterT It, IterT Begin, bool SkipPseudoOp=true) |
| Decrement It until it points to a non-debug instruction or to Begin and return the resulting iterator.
|
|
template<typename IterT > |
IterT | next_nodbg (IterT It, IterT End, bool SkipPseudoOp=true) |
| Increment It , then continue incrementing it while it points to a debug instruction.
|
|
template<typename IterT > |
IterT | prev_nodbg (IterT It, IterT Begin, bool SkipPseudoOp=true) |
| Decrement It , then continue decrementing it while it points to a debug instruction.
|
|
template<typename IterT > |
auto | instructionsWithoutDebug (IterT It, IterT End, bool SkipPseudoOp=true) |
| Construct a range iterator which begins at It and moves forwards until End is reached, skipping any debug instructions.
|
|
Printable | printBlockFreq (const MachineBlockFrequencyInfo &MBFI, BlockFrequency Freq) |
| Print the block frequency Freq relative to the current functions entry frequency.
|
|
Printable | printBlockFreq (const MachineBlockFrequencyInfo &MBFI, const MachineBasicBlock &MBB) |
| Convenience function equivalent to calling printBlockFreq(MBFI, MBFI.getBlockFreq(&MBB)) .
|
|
raw_ostream & | operator<< (raw_ostream &OS, const MachineConstantPoolValue &V) |
|
bool | isCycleInvariant (const MachineCycle *Cycle, MachineInstr &I) |
|
void | verifyMachineFunction (const std::string &Banner, const MachineFunction &MF) |
|
raw_ostream & | operator<< (raw_ostream &OS, const MachineInstr &MI) |
|
MachineInstrBuilder | BuildMI (MachineFunction &MF, const MIMetadata &MIMD, const MCInstrDesc &MCID) |
| Builder interface. Specify how to create the initial instruction itself.
|
|
MachineInstrBuilder | BuildMI (MachineFunction &MF, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg) |
| This version of the builder sets up the first operand as a destination virtual register.
|
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg) |
| This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and sets up the first operand as a destination virtual register.
|
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineBasicBlock::instr_iterator I, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg) |
| This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and sets up the first operand as a destination virtual register.
|
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineInstr &I, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg) |
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineInstr *I, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg) |
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const MIMetadata &MIMD, const MCInstrDesc &MCID) |
| This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and does NOT take a destination register.
|
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineBasicBlock::instr_iterator I, const MIMetadata &MIMD, const MCInstrDesc &MCID) |
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineInstr &I, const MIMetadata &MIMD, const MCInstrDesc &MCID) |
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineInstr *I, const MIMetadata &MIMD, const MCInstrDesc &MCID) |
|
MachineInstrBuilder | BuildMI (MachineBasicBlock *BB, const MIMetadata &MIMD, const MCInstrDesc &MCID) |
| This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and does NOT take a destination register.
|
|
MachineInstrBuilder | BuildMI (MachineBasicBlock *BB, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg) |
| This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and sets up the first operand as a destination virtual register.
|
|
MachineInstrBuilder | BuildMI (MachineFunction &MF, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, Register Reg, const MDNode *Variable, const MDNode *Expr) |
| This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect address.
|
|
MachineInstrBuilder | BuildMI (MachineFunction &MF, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, ArrayRef< MachineOperand > MOs, const MDNode *Variable, const MDNode *Expr) |
| This version of the builder builds a DBG_VALUE or DBG_VALUE_LIST intrinsic for a MachineOperand.
|
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, Register Reg, const MDNode *Variable, const MDNode *Expr) |
| This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect address and inserts it at position I.
|
|
MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, ArrayRef< MachineOperand > MOs, const MDNode *Variable, const MDNode *Expr) |
| This version of the builder builds a DBG_VALUE, DBG_INSTR_REF, or DBG_VALUE_LIST intrinsic for a machine operand and inserts it at position I.
|
|
MachineInstr * | buildDbgValueForSpill (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const MachineInstr &Orig, int FrameIndex, Register SpillReg) |
| Clone a DBG_VALUE whose value has been spilled to FrameIndex.
|
|
MachineInstr * | buildDbgValueForSpill (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const MachineInstr &Orig, int FrameIndex, const SmallVectorImpl< const MachineOperand * > &SpilledOperands) |
|
void | updateDbgValueForSpill (MachineInstr &Orig, int FrameIndex, Register Reg) |
| Update a DBG_VALUE whose value has been spilled to FrameIndex.
|
|
unsigned | getDefRegState (bool B) |
|
unsigned | getImplRegState (bool B) |
|
unsigned | getKillRegState (bool B) |
|
unsigned | getDeadRegState (bool B) |
|
unsigned | getUndefRegState (bool B) |
|
unsigned | getInternalReadRegState (bool B) |
|
unsigned | getDebugRegState (bool B) |
|
unsigned | getRenamableRegState (bool B) |
|
unsigned | getRegState (const MachineOperand &RegOp) |
| Get all register state flags from machine operand RegOp .
|
|
void | finalizeBundle (MachineBasicBlock &MBB, MachineBasicBlock::instr_iterator FirstMI, MachineBasicBlock::instr_iterator LastMI) |
| finalizeBundle - Finalize a machine instruction bundle which includes a sequence of instructions starting from FirstMI to LastMI (exclusive).
|
|
MachineBasicBlock::instr_iterator | finalizeBundle (MachineBasicBlock &MBB, MachineBasicBlock::instr_iterator FirstMI) |
| finalizeBundle - Same functionality as the previous finalizeBundle except the last instruction in the bundle is not provided as an input.
|
|
bool | finalizeBundles (MachineFunction &MF) |
| finalizeBundles - Finalize instruction bundles in the specified MachineFunction.
|
|
MachineBasicBlock::instr_iterator | getBundleStart (MachineBasicBlock::instr_iterator I) |
| Returns an iterator to the first instruction in the bundle containing I .
|
|
MachineBasicBlock::const_instr_iterator | getBundleStart (MachineBasicBlock::const_instr_iterator I) |
| Returns an iterator to the first instruction in the bundle containing I .
|
|
MachineBasicBlock::instr_iterator | getBundleEnd (MachineBasicBlock::instr_iterator I) |
| Returns an iterator pointing beyond the bundle containing I .
|
|
MachineBasicBlock::const_instr_iterator | getBundleEnd (MachineBasicBlock::const_instr_iterator I) |
| Returns an iterator pointing beyond the bundle containing I .
|
|
iterator_range< ConstMIBundleOperands > | const_mi_bundle_ops (const MachineInstr &MI) |
|
iterator_range< MIBundleOperands > | mi_bundle_ops (MachineInstr &MI) |
|
VirtRegInfo | AnalyzeVirtRegInBundle (MachineInstr &MI, Register Reg, SmallVectorImpl< std::pair< MachineInstr *, unsigned > > *Ops=nullptr) |
| AnalyzeVirtRegInBundle - Analyze how the current instruction or bundle uses a virtual register.
|
|
std::pair< LaneBitmask, LaneBitmask > | AnalyzeVirtRegLanesInBundle (const MachineInstr &MI, Register Reg, const MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI) |
| Return a pair of lane masks (reads, writes) indicating which lanes this instruction uses with Reg.
|
|
PhysRegInfo | AnalyzePhysRegInBundle (const MachineInstr &MI, Register Reg, const TargetRegisterInfo *TRI) |
| AnalyzePhysRegInBundle - Analyze how the current instruction or bundle uses a physical register.
|
|
Printable | printJumpTableEntryReference (unsigned Idx) |
| Prints a jump table entry reference.
|
|
MachineBasicBlock * | PeelSingleBlockLoop (LoopPeelDirection Direction, MachineBasicBlock *Loop, MachineRegisterInfo &MRI, const TargetInstrInfo *TII) |
| Peels a single block loop.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const MachineOperand &MO) |
|
hash_code | hash_value (const MachineOperand &MO) |
|
template<typename PassT > |
| MFPropsModifier (PassT &P, MachineFunction &MF) -> MFPropsModifier< PassT > |
|
template<typename MachineFunctionPassT > |
FunctionToMachineFunctionPassAdaptor | createFunctionToMachineFunctionPassAdaptor (MachineFunctionPassT &&Pass) |
|
PreservedAnalyses | getMachineFunctionPassPreservedAnalyses () |
| Returns the minimum set of Analyses that all machine function passes must preserve.
|
|
| RegionNodeGraphTraits (MachineRegionNode, MachineBasicBlock, MachineRegion) |
|
| RegionGraphTraits (MachineRegion, MachineRegionNode) |
|
bool | tryLess (int TryVal, int CandVal, GenericSchedulerBase::SchedCandidate &TryCand, GenericSchedulerBase::SchedCandidate &Cand, GenericSchedulerBase::CandReason Reason) |
| Return true if this heuristic determines order.
|
|
bool | tryGreater (int TryVal, int CandVal, GenericSchedulerBase::SchedCandidate &TryCand, GenericSchedulerBase::SchedCandidate &Cand, GenericSchedulerBase::CandReason Reason) |
|
bool | tryLatency (GenericSchedulerBase::SchedCandidate &TryCand, GenericSchedulerBase::SchedCandidate &Cand, SchedBoundary &Zone) |
|
bool | tryPressure (const PressureChange &TryP, const PressureChange &CandP, GenericSchedulerBase::SchedCandidate &TryCand, GenericSchedulerBase::SchedCandidate &Cand, GenericSchedulerBase::CandReason Reason, const TargetRegisterInfo *TRI, const MachineFunction &MF) |
|
unsigned | getWeakLeft (const SUnit *SU, bool isTop) |
|
int | biasPhysReg (const SUnit *SU, bool isTop) |
| Minimize physical register live ranges.
|
|
ScheduleDAGMILive * | createGenericSchedLive (MachineSchedContext *C) |
| Create the standard converging machine scheduler.
|
|
ScheduleDAGMI * | createGenericSchedPostRA (MachineSchedContext *C) |
| Create a generic scheduler with no vreg liveness or DAG mutation passes.
|
|
std::unique_ptr< ScheduleDAGMutation > | createLoadClusterDAGMutation (const TargetInstrInfo *TII, const TargetRegisterInfo *TRI, bool ReorderWhileClustering=false) |
| If ReorderWhileClustering is set to true, no attempt will be made to reduce reordering due to store clustering.
|
|
std::unique_ptr< ScheduleDAGMutation > | createStoreClusterDAGMutation (const TargetInstrInfo *TII, const TargetRegisterInfo *TRI, bool ReorderWhileClustering=false) |
| If ReorderWhileClustering is set to true, no attempt will be made to reduce reordering due to store clustering.
|
|
std::unique_ptr< ScheduleDAGMutation > | createCopyConstrainDAGMutation (const TargetInstrInfo *TII, const TargetRegisterInfo *TRI) |
|
bool | shouldOptimizeForSize (const MachineFunction *MF, ProfileSummaryInfo *PSI, const MachineBlockFrequencyInfo *BFI, PGSOQueryType QueryType=PGSOQueryType::Other) |
| Returns true if machine function MF is suggested to be size-optimized based on the profile.
|
|
bool | shouldOptimizeForSize (const MachineBasicBlock *MBB, ProfileSummaryInfo *PSI, const MachineBlockFrequencyInfo *MBFI, PGSOQueryType QueryType=PGSOQueryType::Other) |
| Returns true if machine basic block MBB is suggested to be size-optimized based on the profile.
|
|
bool | shouldOptimizeForSize (const MachineBasicBlock *MBB, ProfileSummaryInfo *PSI, MBFIWrapper *MBFIWrapper, PGSOQueryType QueryType=PGSOQueryType::Other) |
| Returns true if machine basic block MBB is suggested to be size-optimized based on the profile.
|
|
auto | instrs (const MachineBasicBlock &BB) |
|
stable_hash | stableHashValue (const MachineOperand &MO) |
|
stable_hash | stableHashValue (const MachineInstr &MI, bool HashVRegs=false, bool HashConstantPoolIndices=false, bool HashMemOperands=false) |
| A stable hash value for machine instructions.
|
|
stable_hash | stableHashValue (const MachineBasicBlock &MBB) |
|
stable_hash | stableHashValue (const MachineFunction &MF) |
|
raw_ostream & | operator<< (raw_ostream &OS, const MachineTraceMetrics::Trace &Tr) |
|
raw_ostream & | operator<< (raw_ostream &OS, const MachineTraceMetrics::Ensemble &En) |
|
MachineUniformityInfo | computeMachineUniformityInfo (MachineFunction &F, const MachineCycleInfo &cycleInfo, const MachineDominatorTree &domTree, bool HasBranchDivergence) |
| Compute uniformity information for a Machine IR function.
|
|
bool | hasLessThanNumFused (const SUnit &SU, unsigned FuseLimit) |
| Checks if the number of cluster edges between SU and its predecessors is less than FuseLimit.
|
|
bool | fuseInstructionPair (ScheduleDAGInstrs &DAG, SUnit &FirstSU, SUnit &SecondSU) |
| Create an artificial edge between FirstSU and SecondSU.
|
|
std::unique_ptr< ScheduleDAGMutation > | createMacroFusionDAGMutation (ArrayRef< MacroFusionPredTy > Predicates, bool BranchOnly=false) |
| Create a DAG scheduling mutation to pair instructions back to back for instructions that benefit according to the target-specific predicate functions.
|
|
bool | parseMachineBasicBlockDefinitions (PerFunctionMIParsingState &PFS, StringRef Src, SMDiagnostic &Error) |
| Parse the machine basic block definitions, and skip the machine instructions.
|
|
bool | parseMachineInstructions (PerFunctionMIParsingState &PFS, StringRef Src, SMDiagnostic &Error) |
| Parse the machine instructions.
|
|
bool | parseMBBReference (PerFunctionMIParsingState &PFS, MachineBasicBlock *&MBB, StringRef Src, SMDiagnostic &Error) |
|
bool | parseRegisterReference (PerFunctionMIParsingState &PFS, Register &Reg, StringRef Src, SMDiagnostic &Error) |
|
bool | parseNamedRegisterReference (PerFunctionMIParsingState &PFS, Register &Reg, StringRef Src, SMDiagnostic &Error) |
|
bool | parseVirtualRegisterReference (PerFunctionMIParsingState &PFS, VRegInfo *&Info, StringRef Src, SMDiagnostic &Error) |
|
bool | parseStackObjectReference (PerFunctionMIParsingState &PFS, int &FI, StringRef Src, SMDiagnostic &Error) |
|
bool | parseMDNode (PerFunctionMIParsingState &PFS, MDNode *&Node, StringRef Src, SMDiagnostic &Error) |
|
bool | parseMachineMetadata (PerFunctionMIParsingState &PFS, StringRef Src, SMRange SourceRange, SMDiagnostic &Error) |
|
std::unique_ptr< MIRParser > | createMIRParserFromFile (StringRef Filename, SMDiagnostic &Error, LLVMContext &Context, std::function< void(Function &)> ProcessIRFunction=nullptr) |
| This function is the main interface to the MIR serialization format parser.
|
|
std::unique_ptr< MIRParser > | createMIRParser (std::unique_ptr< MemoryBuffer > Contents, LLVMContext &Context, std::function< void(Function &)> ProcessIRFunction=nullptr) |
| This function is another interface to the MIR serialization format parser.
|
|
void | printMIR (raw_ostream &OS, const Module &M) |
| Print LLVM IR using the MIR serialization format to the given output stream.
|
|
void | printMIR (raw_ostream &OS, const MachineModuleInfo &MMI, const MachineFunction &MF) |
| Print a machine function using the MIR serialization format to the given output stream.
|
|
void | guessSuccessors (const MachineBasicBlock &MBB, SmallVectorImpl< MachineBasicBlock * > &Result, bool &IsFallthrough) |
| Determine a possible list of successors of a basic block based on the basic block machine operand being used inside the block.
|
|
FunctionPass * | createAtomicExpandLegacyPass () |
| AtomicExpandPass - At IR level this pass replace atomic instructions with __atomic_* library calls, or target specific instruction which implement the same semantics in a way which better fits the target backend.
|
|
FunctionPass * | createUnreachableBlockEliminationPass () |
| createUnreachableBlockEliminationPass - The LLVM code generator does not work well with unreachable basic blocks (what live ranges make sense for a block that cannot be reached?).
|
|
MachineFunctionPass * | createGCEmptyBasicBlocksPass () |
| createGCEmptyBasicblocksPass - Empty basic blocks (basic blocks without real code) appear as the result of optimization passes removing instructions.
|
|
MachineFunctionPass * | createBasicBlockSectionsPass () |
| createBasicBlockSections Pass - This pass assigns sections to machine basic blocks and is enabled with -fbasic-block-sections.
|
|
MachineFunctionPass * | createBasicBlockPathCloningPass () |
|
MachineFunctionPass * | createMachineFunctionSplitterPass () |
| createMachineFunctionSplitterPass - This pass splits machine functions using profile information.
|
|
MachineFunctionPass * | createMachineFunctionPrinterPass (raw_ostream &OS, const std::string &Banner="") |
| MachineFunctionPrinter pass - This pass prints out the machine function to the given stream as a debugging tool.
|
|
MachineFunctionPass * | createStackFrameLayoutAnalysisPass () |
| StackFramePrinter pass - This pass prints out the machine function's stack frame to the given stream as a debugging tool.
|
|
MachineFunctionPass * | createPrintMIRPass (raw_ostream &OS) |
| MIRPrinting pass - this pass prints out the LLVM IR into the given stream using the MIR serialization format.
|
|
MachineFunctionPass * | createResetMachineFunctionPass (bool EmitFallbackDiag, bool AbortOnFailedISel) |
| This pass resets a MachineFunction when it has the FailedISel property as if it was just created.
|
|
FunctionPass * | createCodeGenPrepareLegacyPass () |
| createCodeGenPrepareLegacyPass - Transform the code to expose more pattern matching during instruction selection.
|
|
FunctionPass * | createComplexDeinterleavingPass (const TargetMachine *TM) |
| This pass implements generation of target-specific intrinsics to support handling of complex number arithmetic.
|
|
FunctionPass * | createVirtRegRewriter (bool ClearVirtRegs=true) |
|
FunctionPass * | createFastRegisterAllocator () |
| FastRegisterAllocation Pass - This pass register allocates as fast as possible.
|
|
FunctionPass * | createFastRegisterAllocator (RegAllocFilterFunc F, bool ClearVirtRegs) |
|
FunctionPass * | createBasicRegisterAllocator () |
| BasicRegisterAllocation Pass - This pass implements a degenerate global register allocator using the basic regalloc framework.
|
|
FunctionPass * | createBasicRegisterAllocator (RegAllocFilterFunc F) |
|
FunctionPass * | createGreedyRegisterAllocator () |
| Greedy register allocation pass - This pass implements a global register allocator for optimized builds.
|
|
FunctionPass * | createGreedyRegisterAllocator (RegAllocFilterFunc F) |
|
FunctionPass * | createDefaultPBQPRegisterAllocator () |
| PBQPRegisterAllocation Pass - This pass implements the Partitioned Boolean Quadratic Prograaming (PBQP) based register allocator.
|
|
MachineFunctionPass * | createPrologEpilogInserterPass () |
|
FunctionPass * | createIfConverter (std::function< bool(const MachineFunction &)> Ftor) |
|
FunctionPass * | createGCLoweringPass () |
| GCLowering Pass - Used by gc.root to perform its default lowering operations.
|
|
FunctionPass * | createShadowStackGCLoweringPass () |
| ShadowStackGCLowering - Implements the custom lowering mechanism used by the shadow stack GC.
|
|
MachineFunctionPass * | createMachineCopyPropagationPass (bool UseCopyInstr) |
|
FunctionPass * | createStackProtectorPass () |
| createStackProtectorPass - This pass adds stack protectors to functions.
|
|
FunctionPass * | createMachineVerifierPass (const std::string &Banner) |
| createMachineVerifierPass - This pass verifies cenerated machine code instructions for correctness.
|
|
FunctionPass * | createDwarfEHPass (CodeGenOptLevel OptLevel) |
| createDwarfEHPass - This pass mulches exception handling code into a form adapted to code generation.
|
|
FunctionPass * | createWinEHPass (bool DemoteCatchSwitchPHIOnly=false) |
| createWinEHPass - Prepares personality functions used by MSVC on Windows, in addition to the Itanium LSDA based personalities.
|
|
FunctionPass * | createSjLjEHPreparePass (const TargetMachine *TM) |
| createSjLjEHPreparePass - This pass adapts exception handling code to use the GCC-style builtin setjmp/longjmp (sjlj) to handling EH control flow.
|
|
FunctionPass * | createWasmEHPass () |
| createWasmEHPass - This pass adapts exception handling code to use WebAssembly's exception handling scheme.
|
|
FunctionPass * | createUnpackMachineBundles (std::function< bool(const MachineFunction &)> Ftor) |
|
FunctionPass * | createInterleavedAccessPass () |
| InterleavedAccess Pass - This pass identifies and matches interleaved memory accesses to target specific intrinsics.
|
|
FunctionPass * | createInterleavedLoadCombinePass () |
| InterleavedLoadCombines Pass - This pass identifies interleaved loads and combines them into wide loads detectable by InterleavedAccessPass.
|
|
ModulePass * | createLowerEmuTLSPass () |
| LowerEmuTLS - This pass generates __emutls_[vt].xyz variables for all TLS variables for the emulated TLS model.
|
|
ModulePass * | createPreISelIntrinsicLoweringPass () |
| This pass lowers the @llvm.load.relative and @llvm.objc.
|
|
Pass * | createGlobalMergePass (const TargetMachine *TM, unsigned MaximalOffset, bool OnlyOptimizeForSize=false, bool MergeExternalByDefault=false, bool MergeConstantByDefault=false, bool MergeConstAggressiveByDefault=false) |
| GlobalMerge - This pass merges internal (by default) globals into structs to enable reuse of a base pointer by indexed addressing modes.
|
|
FunctionPass * | createSafeStackPass () |
| This pass splits the stack into a safe stack and an unsafe stack to protect against stack-based overflow vulnerabilities.
|
|
FunctionPass * | createRegUsageInfoCollector () |
| This pass is executed POST-RA to collect which physical registers are preserved by given machine function.
|
|
FunctionPass * | createRegUsageInfoPropPass () |
| Return a MachineFunction pass that identifies call sites and propagates register usage information of callee to caller if available with PysicalRegisterUsageInfo pass.
|
|
FunctionPass * | createFreeMachineFunctionPass () |
| This pass frees the memory occupied by the MachineFunction.
|
|
ModulePass * | createGlobalMergeFuncPass () |
| This pass performs merging similar functions globally.
|
|
ModulePass * | createMachineOutlinerPass (bool RunOnAllFunctions=true) |
| This pass performs outlining on machine instructions directly before printing assembly.
|
|
FunctionPass * | createExpandReductionsPass () |
| This pass expands the reduction intrinsics into sequences of shuffles.
|
|
FunctionPass * | createReplaceWithVeclibLegacyPass () |
|
FunctionPass * | createExpandLargeDivRemPass () |
|
FunctionPass * | createExpandLargeFpConvertPass () |
|
FunctionPass * | createExpandMemCmpLegacyPass () |
|
FunctionPass * | createBreakFalseDeps () |
| Creates Break False Dependencies pass.
|
|
FunctionPass * | createIndirectBrExpandPass () |
|
FunctionPass * | createCFIFixup () |
| Creates CFI Fixup pass.
|
|
FunctionPass * | createCFIInstrInserter () |
| Creates CFI Instruction Inserter pass.
|
|
FunctionPass * | createCFGuardLongjmpPass () |
| Creates CFGuard longjmp target identification pass.
|
|
FunctionPass * | createEHContGuardCatchretPass () |
| Creates EHContGuard catchret target identification pass.
|
|
FunctionPass * | createHardwareLoopsLegacyPass () |
| Create Hardware Loop pass.
|
|
FunctionPass * | createPseudoProbeInserter () |
| This pass inserts pseudo probe annotation for callsite profiling.
|
|
FunctionPass * | createTypePromotionLegacyPass () |
| Create IR Type Promotion pass.
|
|
FunctionPass * | createMIRAddFSDiscriminatorsPass (sampleprof::FSDiscriminatorPass P) |
| Add Flow Sensitive Discriminators.
|
|
FunctionPass * | createMIRProfileLoaderPass (std::string File, std::string RemappingFile, sampleprof::FSDiscriminatorPass P, IntrusiveRefCntPtr< vfs::FileSystem > FS) |
| Read Flow Sensitive Profile.
|
|
ModulePass * | createDebugifyMachineModulePass () |
| Creates MIR Debugify pass.
|
|
ModulePass * | createStripDebugMachineModulePass (bool OnlyDebugified) |
| Creates MIR Strip Debug pass.
|
|
ModulePass * | createCheckDebugMachineModulePass () |
| Creates MIR Check Debug pass.
|
|
FunctionPass * | createX86LowerAMXTypePass () |
| The pass transforms load/store <256 x i32> to AMX load/store intrinsics or split the data to two <128 x i32>.
|
|
FunctionPass * | createX86LowerAMXIntrinsicsPass () |
| The pass transforms amx intrinsics to scalar operation if the function has optnone attribute or it is O0.
|
|
FunctionPass * | createRegAllocScoringPass () |
| When learning an eviction policy, extract score(reward) information, otherwise this does nothing.
|
|
ModulePass * | createJMCInstrumenterPass () |
| JMC instrument pass.
|
|
FunctionPass * | createSelectOptimizePass () |
| This pass converts conditional moves to conditional jumps when profitable.
|
|
FunctionPass * | createCallBrPass () |
|
FunctionPass * | createKCFIPass () |
| Lowers KCFI operand bundles for indirect calls.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const PseudoSourceValue *PSV) |
|
FunctionPass * | createPBQPRegisterAllocator (char *customPassID=nullptr) |
| Create a PBQP register allocator instance.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const RegisterBank &RegBank) |
|
raw_ostream & | operator<< (raw_ostream &OS, const RegisterBankInfo::PartialMapping &PartMapping) |
|
raw_ostream & | operator<< (raw_ostream &OS, const RegisterBankInfo::ValueMapping &ValMapping) |
|
raw_ostream & | operator<< (raw_ostream &OS, const RegisterBankInfo::InstructionMapping &InstrMapping) |
|
raw_ostream & | operator<< (raw_ostream &OS, const RegisterBankInfo::OperandsMapper &OpdMapper) |
|
hash_code | hash_value (const RegisterBankInfo::PartialMapping &PartMapping) |
| Hashing function for PartialMapping.
|
|
void | dumpRegSetPressure (ArrayRef< unsigned > SetPressure, const TargetRegisterInfo *TRI) |
|
void | scavengeFrameVirtualRegs (MachineFunction &MF, RegScavenger &RS) |
| Replaces all frame index virtual registers with physical registers.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const ILPValue &Val) |
|
ScheduleDAGSDNodes * | createBURRListDAGScheduler (SelectionDAGISel *IS, CodeGenOptLevel OptLevel) |
| createBURRListDAGScheduler - This creates a bottom up register usage reduction list scheduler.
|
|
ScheduleDAGSDNodes * | createSourceListDAGScheduler (SelectionDAGISel *IS, CodeGenOptLevel OptLevel) |
| createSourceListDAGScheduler - This creates a bottom up list scheduler that schedules nodes in source code order when possible.
|
|
ScheduleDAGSDNodes * | createHybridListDAGScheduler (SelectionDAGISel *IS, CodeGenOptLevel) |
| createHybridListDAGScheduler - This creates a bottom up register pressure aware list scheduler that make use of latency information to avoid stalls for long latency instructions in low register pressure mode.
|
|
ScheduleDAGSDNodes * | createILPListDAGScheduler (SelectionDAGISel *IS, CodeGenOptLevel) |
| createILPListDAGScheduler - This creates a bottom up register pressure aware list scheduler that tries to increase instruction level parallelism in low register pressure mode.
|
|
ScheduleDAGSDNodes * | createFastDAGScheduler (SelectionDAGISel *IS, CodeGenOptLevel OptLevel) |
| createFastDAGScheduler - This creates a "fast" scheduler.
|
|
ScheduleDAGSDNodes * | createVLIWDAGScheduler (SelectionDAGISel *IS, CodeGenOptLevel OptLevel) |
| createVLIWDAGScheduler - Scheduler for VLIW targets.
|
|
ScheduleDAGSDNodes * | createDefaultScheduler (SelectionDAGISel *IS, CodeGenOptLevel OptLevel) |
| createDefaultScheduler - This creates an instruction scheduler appropriate for the target.
|
|
ScheduleDAGSDNodes * | createDAGLinearizer (SelectionDAGISel *IS, CodeGenOptLevel OptLevel) |
| createDAGLinearizer - This creates a "no-scheduling" scheduler which linearize the DAG using topological order.
|
|
void | checkForCycles (const SelectionDAG *DAG, bool force=false) |
|
void | checkForCycles (const SDNode *N, const SelectionDAG *DAG=nullptr, bool force=false) |
|
| LLVM_DECLARE_ENUM_AS_BITMASK (decltype(SDNodeFlags::None), SDNodeFlags::SameSign) |
|
SDNodeFlags | operator| (SDNodeFlags LHS, SDNodeFlags RHS) |
|
SDNodeFlags | operator& (SDNodeFlags LHS, SDNodeFlags RHS) |
|
bool | isNullConstant (SDValue V) |
| Returns true if V is a constant integer zero.
|
|
bool | isNullConstantOrUndef (SDValue V) |
| Returns true if V is a constant integer zero or an UNDEF node.
|
|
bool | isNullFPConstant (SDValue V) |
| Returns true if V is an FP constant with a value of positive zero.
|
|
bool | isAllOnesConstant (SDValue V) |
| Returns true if V is an integer constant with all bits set.
|
|
bool | isOneConstant (SDValue V) |
| Returns true if V is a constant integer one.
|
|
bool | isMinSignedConstant (SDValue V) |
| Returns true if V is a constant min signed integer value.
|
|
bool | isNeutralConstant (unsigned Opc, SDNodeFlags Flags, SDValue V, unsigned OperandNo) |
| Returns true if V is a neutral element of Opc with Flags.
|
|
SDValue | peekThroughBitcasts (SDValue V) |
| Return the non-bitcasted source operand of V if it exists.
|
|
SDValue | peekThroughOneUseBitcasts (SDValue V) |
| Return the non-bitcasted and one-use source operand of V if it exists.
|
|
SDValue | peekThroughExtractSubvectors (SDValue V) |
| Return the non-extracted vector source operand of V if it exists.
|
|
SDValue | peekThroughTruncates (SDValue V) |
| Return the non-truncated source operand of V if it exists.
|
|
bool | isBitwiseNot (SDValue V, bool AllowUndefs=false) |
| Returns true if V is a bitwise not operation.
|
|
SDValue | getBitwiseNotOperand (SDValue V, SDValue Mask, bool AllowUndefs) |
| If V is a bitwise not, returns the inverted operand.
|
|
ConstantSDNode * | isConstOrConstSplat (SDValue N, bool AllowUndefs=false, bool AllowTruncation=false) |
| Returns the SDNode if it is a constant splat BuildVector or constant int.
|
|
ConstantSDNode * | isConstOrConstSplat (SDValue N, const APInt &DemandedElts, bool AllowUndefs=false, bool AllowTruncation=false) |
| Returns the SDNode if it is a demanded constant splat BuildVector or constant int.
|
|
ConstantFPSDNode * | isConstOrConstSplatFP (SDValue N, bool AllowUndefs=false) |
| Returns the SDNode if it is a constant splat BuildVector or constant float.
|
|
ConstantFPSDNode * | isConstOrConstSplatFP (SDValue N, const APInt &DemandedElts, bool AllowUndefs=false) |
| Returns the SDNode if it is a demanded constant splat BuildVector or constant float.
|
|
bool | isNullOrNullSplat (SDValue V, bool AllowUndefs=false) |
| Return true if the value is a constant 0 integer or a splatted vector of a constant 0 integer (with no undefs by default).
|
|
bool | isOneOrOneSplat (SDValue V, bool AllowUndefs=false) |
| Return true if the value is a constant 1 integer or a splatted vector of a constant 1 integer (with no undefs).
|
|
bool | isAllOnesOrAllOnesSplat (SDValue V, bool AllowUndefs=false) |
| Return true if the value is a constant -1 integer or a splatted vector of a constant -1 integer (with no undefs).
|
|
bool | isIntOrFPConstant (SDValue V) |
| Return true if V is either a integer or FP constant.
|
|
raw_ostream & | operator<< (raw_ostream &os, SlotIndex li) |
|
Spiller * | createInlineSpiller (const Spiller::RequiredAnalyses &Analyses, MachineFunction &MF, VirtRegMap &VRM, VirtRegAuxInfo &VRAI) |
| Create and return a spiller that will insert spill code directly instead of deferring though VirtRegMap.
|
|
void | GetReturnInfo (CallingConv::ID CC, Type *ReturnType, AttributeList attr, SmallVectorImpl< ISD::OutputArg > &Outs, const TargetLowering &TLI, const DataLayout &DL) |
| Given an LLVM IR type and return type attributes, compute the return value EVTs and flags, and optionally also the offsets, if the return value is being lowered to memory.
|
|
bool | isPreISelGenericOpcode (unsigned Opcode) |
| Check whether the given Opcode is a generic opcode that is not supposed to appear after ISel.
|
|
bool | isTargetSpecificOpcode (unsigned Opcode) |
| Check whether the given Opcode is a target-specific opcode.
|
|
bool | isPreISelGenericOptimizationHint (unsigned Opcode) |
|
void | registerCodeGenCallback (PassInstrumentationCallbacks &PIC, TargetMachine &) |
|
Printable | printReg (Register Reg, const TargetRegisterInfo *TRI=nullptr, unsigned SubIdx=0, const MachineRegisterInfo *MRI=nullptr) |
| Prints virtual and physical registers with or without a TRI instance.
|
|
Printable | printRegUnit (unsigned Unit, const TargetRegisterInfo *TRI) |
| Create Printable object to print register units on a raw_ostream.
|
|
Printable | printVRegOrUnit (unsigned VRegOrUnit, const TargetRegisterInfo *TRI) |
| Create Printable object to print virtual registers and physical registers on a raw_ostream.
|
|
Printable | printRegClassOrBank (Register Reg, const MachineRegisterInfo &RegInfo, const TargetRegisterInfo *TRI) |
| Create Printable object to print register classes or register banks on a raw_ostream.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const EVT &V) |
|
raw_ostream & | operator<< (raw_ostream &OS, const VirtRegMap &VRM) |
|
void | calculateWasmEHInfo (const Function *F, WasmEHFuncInfo &EHInfo) |
|
void | calculateWinCXXEHStateNumbers (const Function *ParentFn, WinEHFuncInfo &FuncInfo) |
| Analyze the IR in ParentFn and it's handlers to build WinEHFuncInfo, which describes the state numbers and tables used by __CxxFrameHandler3.
|
|
void | calculateSEHStateNumbers (const Function *ParentFn, WinEHFuncInfo &FuncInfo) |
|
void | calculateClrEHStateNumbers (const Function *Fn, WinEHFuncInfo &FuncInfo) |
|
void | calculateCXXStateForAsynchEH (const BasicBlock *BB, int State, WinEHFuncInfo &FuncInfo) |
|
void | calculateSEHStateForAsynchEH (const BasicBlock *BB, int State, WinEHFuncInfo &FuncInfo) |
|
raw_ostream & | operator<< (raw_ostream &OS, const LLT &Ty) |
|
raw_ostream & | operator<< (raw_ostream &OS, const MVT &VT) |
|
std::optional< StringRef > | StripTemplateParameters (StringRef Name) |
| If Name is the name of a templated function that includes template parameters, returns a substring of Name containing no template parameters.
|
|
std::optional< ObjCSelectorNames > | getObjCNamesIfSelector (StringRef Name) |
| If Name is the AT_name of a DIE which refers to an Objective-C selector, returns an instance of ObjCSelectorNames.
|
|
bool | operator< (const DWARFAddressRange &LHS, const DWARFAddressRange &RHS) |
|
bool | operator== (const DWARFAddressRange &LHS, const DWARFAddressRange &RHS) |
|
raw_ostream & | operator<< (raw_ostream &OS, const DWARFAddressRange &R) |
|
bool | operator== (const DWARFDie::attribute_iterator &LHS, const DWARFDie::attribute_iterator &RHS) |
|
bool | operator!= (const DWARFDie::attribute_iterator &LHS, const DWARFDie::attribute_iterator &RHS) |
|
bool | operator== (const DWARFDie &LHS, const DWARFDie &RHS) |
|
bool | operator!= (const DWARFDie &LHS, const DWARFDie &RHS) |
|
bool | operator< (const DWARFDie &LHS, const DWARFDie &RHS) |
|
bool | operator== (const DWARFDie::iterator &LHS, const DWARFDie::iterator &RHS) |
|
bool | operator== (const std::reverse_iterator< DWARFDie::iterator > &LHS, const std::reverse_iterator< DWARFDie::iterator > &RHS) |
|
bool | operator!= (const std::reverse_iterator< DWARFDie::iterator > &LHS, const std::reverse_iterator< DWARFDie::iterator > &RHS) |
|
void | dumpTypeQualifiedName (const DWARFDie &DIE, raw_ostream &OS) |
|
void | dumpTypeUnqualifiedName (const DWARFDie &DIE, raw_ostream &OS, std::string *OriginalFullName=nullptr) |
|
bool | operator== (const DWARFExpression::iterator &LHS, const DWARFExpression::iterator &RHS) |
|
bool | operator== (const DWARFLocationExpression &L, const DWARFLocationExpression &R) |
|
bool | operator!= (const DWARFLocationExpression &L, const DWARFLocationExpression &R) |
|
raw_ostream & | operator<< (raw_ostream &OS, const DWARFLocationExpression &Loc) |
|
const DWARFUnitIndex & | getDWARFUnitIndex (DWARFContext &Context, DWARFSectionKind Kind) |
|
bool | isCompileUnit (const std::unique_ptr< DWARFUnit > &U) |
|
const char * | toString (DWARFSectionKind Kind) |
|
uint32_t | serializeSectionKind (DWARFSectionKind Kind, unsigned IndexVersion) |
| Convert the internal value for a section kind to an on-disk value.
|
|
DWARFSectionKind | deserializeSectionKind (uint32_t Value, unsigned IndexVersion) |
| Convert a value read from an index section to the internal representation.
|
|
static bool | operator< (const DWARFVerifier::DieRangeInfo &LHS, const DWARFVerifier::DieRangeInfo &RHS) |
|
raw_ostream & | operator<< (raw_ostream &OS, const AddressRange &R) |
|
raw_ostream & | operator<< (raw_ostream &OS, const AddressRanges &AR) |
|
bool | canUseDebuginfod () |
| Returns false if a debuginfod lookup can be determined to have no chance of succeeding.
|
|
SmallVector< StringRef > | getDefaultDebuginfodUrls () |
| Finds default array of Debuginfod server URLs by checking DEBUGINFOD_URLS environment variable.
|
|
std::string | getDebuginfodCacheKey (StringRef UrlPath) |
| Returns the cache key for a given debuginfod URL path.
|
|
void | setDefaultDebuginfodUrls (const SmallVector< StringRef > &URLs) |
| Sets the list of debuginfod server URLs to query.
|
|
Expected< std::string > | getDefaultDebuginfodCacheDirectory () |
| Finds a default local file caching directory for the debuginfod client, first checking DEBUGINFOD_CACHE_PATH.
|
|
std::chrono::milliseconds | getDefaultDebuginfodTimeout () |
| Finds a default timeout for debuginfod HTTP requests.
|
|
std::string | getDebuginfodSourceUrlPath (object::BuildIDRef ID, StringRef SourceFilePath) |
| Get the full URL path for a source request of a given BuildID and file path.
|
|
Expected< std::string > | getCachedOrDownloadSource (object::BuildIDRef ID, StringRef SourceFilePath) |
| Fetches a specified source file by searching the default local cache directory and server URLs.
|
|
std::string | getDebuginfodExecutableUrlPath (object::BuildIDRef ID) |
| Get the full URL path for an executable request of a given BuildID.
|
|
Expected< std::string > | getCachedOrDownloadExecutable (object::BuildIDRef ID) |
| Fetches an executable by searching the default local cache directory and server URLs.
|
|
std::string | getDebuginfodDebuginfoUrlPath (object::BuildIDRef ID) |
| Get the full URL path for a debug binary request of a given BuildID.
|
|
Expected< std::string > | getCachedOrDownloadDebuginfo (object::BuildIDRef ID) |
| Fetches a debug binary by searching the default local cache directory and server URLs.
|
|
Expected< std::string > | getCachedOrDownloadArtifact (StringRef UniqueKey, StringRef UrlPath) |
| Fetches any debuginfod artifact using the default local cache directory and server URLs.
|
|
Expected< std::string > | getCachedOrDownloadArtifact (StringRef UniqueKey, StringRef UrlPath, StringRef CacheDirectoryPath, ArrayRef< StringRef > DebuginfodUrls, std::chrono::milliseconds Timeout, llvm::CachePruningPolicy policy) |
| Fetches any debuginfod artifact using the specified local cache directory, server URLs, and request timeout (in milliseconds).
|
|
bool | operator== (const HTTPRequest &A, const HTTPRequest &B) |
|
bool | streamFile (HTTPServerRequest &Request, StringRef FilePath) |
| Sets the response to stream the file at FilePath, if available, and otherwise an HTTP 404 error response.
|
|
char * | itaniumDemangle (std::string_view mangled_name, bool ParseParams=true) |
| Returns a non-NULL pointer to a NUL-terminated C style string that should be explicitly freed, if successful.
|
|
char * | microsoftDemangle (std::string_view mangled_name, size_t *n_read, int *status, MSDemangleFlags Flags=MSDF_None) |
| Demangles the Microsoft symbol pointed at by mangled_name and returns it.
|
|
std::optional< size_t > | getArm64ECInsertionPointInMangledName (std::string_view MangledName) |
|
char * | rustDemangle (std::string_view MangledName) |
|
char * | dlangDemangle (std::string_view MangledName) |
|
std::string | demangle (std::string_view MangledName) |
| Attempt to demangle a string using different demangling schemes.
|
|
bool | nonMicrosoftDemangle (std::string_view MangledName, std::string &Result, bool CanHaveLeadingDot=true, bool ParseParams=true) |
|
Error | write (MCStreamer &Out, ArrayRef< std::string > Inputs, OnCuIndexOverflow OverflowOptValue) |
|
unsigned | getContributionIndex (DWARFSectionKind Kind, uint32_t IndexVersion) |
|
Error | handleSection (const StringMap< std::pair< MCSection *, DWARFSectionKind > > &KnownSections, const MCSection *StrSection, const MCSection *StrOffsetSection, const MCSection *TypesSection, const MCSection *CUIndexSection, const MCSection *TUIndexSection, const MCSection *InfoSection, const object::SectionRef &Section, MCStreamer &Out, std::deque< SmallString< 32 > > &UncompressedSections, uint32_t(&ContributionOffsets)[8], UnitIndexEntry &CurEntry, StringRef &CurStrSection, StringRef &CurStrOffsetSection, std::vector< StringRef > &CurTypesSection, std::vector< StringRef > &CurInfoSection, StringRef &AbbrevSection, StringRef &CurCUIndexSection, StringRef &CurTUIndexSection, std::vector< std::pair< DWARFSectionKind, uint32_t > > &SectionLength) |
|
Expected< InfoSectionUnitHeader > | parseInfoSectionUnitHeader (StringRef Info) |
|
void | writeStringsAndOffsets (MCStreamer &Out, DWPStringPool &Strings, MCSection *StrOffsetSection, StringRef CurStrSection, StringRef CurStrOffsetSection, uint16_t Version) |
|
Error | buildDuplicateError (const std::pair< uint64_t, UnitIndexEntry > &PrevE, const CompileUnitIdentifiers &ID, StringRef DWPName) |
|
void | writeIndex (MCStreamer &Out, MCSection *Section, ArrayRef< unsigned > ContributionOffsets, const MapVector< uint64_t, UnitIndexEntry > &IndexEntries, uint32_t IndexVersion) |
|
GenericValue | PTOGV (void *P) |
|
void * | GVTOP (const GenericValue &GV) |
|
template<typename T > |
T | jitTargetAddressToPointer (JITTargetAddress Addr) |
| Convert a JITTargetAddress to a pointer.
|
|
template<typename T > |
T | jitTargetAddressToFunction (JITTargetAddress Addr) |
| Convert a JITTargetAddress to a callable function pointer.
|
|
template<typename T > |
JITTargetAddress | pointerToJITTargetAddress (T *Ptr) |
| Convert a pointer to a JITTargetAddress.
|
|
JITSymbolFlags | operator& (const JITSymbolFlags &LHS, const JITSymbolFlags::FlagNames &RHS) |
|
JITSymbolFlags | operator| (const JITSymbolFlags &LHS, const JITSymbolFlags::FlagNames &RHS) |
|
void | jitLinkForORC (object::OwningBinary< object::ObjectFile > O, RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver, bool ProcessAllSections, unique_function< Error(const object::ObjectFile &Obj, RuntimeDyld::LoadedObjectInfo &, std::map< StringRef, JITEvaluatedSymbol >)> OnLoaded, unique_function< void(object::OwningBinary< object::ObjectFile >, std::unique_ptr< RuntimeDyld::LoadedObjectInfo >, Error)> OnEmitted) |
|
void | spliceBB (IRBuilderBase::InsertPoint IP, BasicBlock *New, bool CreateBranch) |
| Move the instruction after an InsertPoint to the beginning of another BasicBlock.
|
|
void | spliceBB (IRBuilder<> &Builder, BasicBlock *New, bool CreateBranch) |
| Splice a BasicBlock at an IRBuilder's current insertion point.
|
|
BasicBlock * | splitBB (IRBuilderBase::InsertPoint IP, bool CreateBranch, llvm::Twine Name={}) |
| Split a BasicBlock at an InsertPoint, even if the block is degenerate (missing the terminator).
|
|
BasicBlock * | splitBB (IRBuilderBase &Builder, bool CreateBranch, llvm::Twine Name={}) |
| Split a BasicBlock at Builder's insertion point, even if the block is degenerate (missing the terminator).
|
|
BasicBlock * | splitBB (IRBuilder<> &Builder, bool CreateBranch, llvm::Twine Name) |
| Split a BasicBlock at Builder's insertion point, even if the block is degenerate (missing the terminator).
|
|
BasicBlock * | splitBBWithSuffix (IRBuilderBase &Builder, bool CreateBranch, llvm::Twine Suffix=".split") |
| Like splitBB, but reuses the current block's name for the new name.
|
|
void | parseFuzzerCLOpts (int ArgC, char *ArgV[]) |
| Parse cl::opts from a fuzz target commandline.
|
|
void | handleExecNameEncodedBEOpts (StringRef ExecName) |
| Handle backend options that are encoded in the executable name.
|
|
void | handleExecNameEncodedOptimizerOpts (StringRef ExecName) |
| Handle optimizer options which are encoded in the executable name.
|
|
int | runFuzzerOnInputs (int ArgC, char *ArgV[], FuzzerTestFun TestOne, FuzzerInitFun Init=[](int *, char ***) { return 0;}) |
| Runs a fuzz target on the inputs specified on the command line.
|
|
std::unique_ptr< Module > | parseModule (const uint8_t *Data, size_t Size, LLVMContext &Context) |
| Fuzzer friendly interface for the llvm bitcode parser.
|
|
size_t | writeModule (const Module &M, uint8_t *Dest, size_t MaxSize) |
| Fuzzer friendly interface for the llvm bitcode printer.
|
|
std::unique_ptr< Module > | parseAndVerify (const uint8_t *Data, size_t Size, LLVMContext &Context) |
| Try to parse module and verify it.
|
|
template<typename T , typename GenT > |
T | uniform (GenT &Gen, T Min, T Max) |
| Return a uniformly distributed random value between Min and Max .
|
|
template<typename T , typename GenT > |
T | uniform (GenT &Gen) |
| Return a uniformly distributed random value of type T .
|
|
template<typename GenT , typename RangeT , typename ElT = std::remove_reference_t< decltype(*std::begin(std::declval<RangeT>()))>> |
ReservoirSampler< ElT, GenT > | makeSampler (GenT &RandGen, RangeT &&Items) |
|
template<typename GenT , typename T > |
ReservoirSampler< T, GenT > | makeSampler (GenT &RandGen, const T &Item, uint64_t Weight) |
|
template<typename T , typename GenT > |
ReservoirSampler< T, GenT > | makeSampler (GenT &RandGen) |
|
void | initializeCore (PassRegistry &) |
| Initialize all passes linked into the Core library.
|
|
void | initializeTransformUtils (PassRegistry &) |
| Initialize all passes linked into the TransformUtils library.
|
|
void | initializeScalarOpts (PassRegistry &) |
| Initialize all passes linked into the ScalarOpts library.
|
|
void | initializeVectorization (PassRegistry &) |
| Initialize all passes linked into the Vectorize library.
|
|
void | initializeInstCombine (PassRegistry &) |
| Initialize all passes linked into the InstCombine library.
|
|
void | initializeIPO (PassRegistry &) |
| Initialize all passes linked into the IPO library.
|
|
void | initializeAnalysis (PassRegistry &) |
| Initialize all passes linked into the Analysis library.
|
|
void | initializeCodeGen (PassRegistry &) |
| Initialize all passes linked into the CodeGen library.
|
|
void | initializeGlobalISel (PassRegistry &) |
| Initialize all passes linked into the GlobalISel library.
|
|
void | initializeTarget (PassRegistry &) |
| Initialize all passes linked into the CodeGen library.
|
|
void | initializeAAResultsWrapperPassPass (PassRegistry &) |
|
void | initializeAlwaysInlinerLegacyPassPass (PassRegistry &) |
|
void | initializeAssignmentTrackingAnalysisPass (PassRegistry &) |
|
void | initializeAssumptionCacheTrackerPass (PassRegistry &) |
|
void | initializeAtomicExpandLegacyPass (PassRegistry &) |
|
void | initializeBasicBlockPathCloningPass (PassRegistry &) |
|
void | initializeBasicBlockSectionsProfileReaderWrapperPassPass (PassRegistry &) |
|
void | initializeBasicBlockSectionsPass (PassRegistry &) |
|
void | initializeBarrierNoopPass (PassRegistry &) |
|
void | initializeBasicAAWrapperPassPass (PassRegistry &) |
|
void | initializeBlockFrequencyInfoWrapperPassPass (PassRegistry &) |
|
void | initializeBranchFolderPassPass (PassRegistry &) |
|
void | initializeBranchProbabilityInfoWrapperPassPass (PassRegistry &) |
|
void | initializeBranchRelaxationPass (PassRegistry &) |
|
void | initializeBreakCriticalEdgesPass (PassRegistry &) |
|
void | initializeBreakFalseDepsPass (PassRegistry &) |
|
void | initializeCanonicalizeFreezeInLoopsPass (PassRegistry &) |
|
void | initializeCFGSimplifyPassPass (PassRegistry &) |
|
void | initializeCFGuardPass (PassRegistry &) |
|
void | initializeCFGuardLongjmpPass (PassRegistry &) |
|
void | initializeCFIFixupPass (PassRegistry &) |
|
void | initializeCFIInstrInserterPass (PassRegistry &) |
|
void | initializeCallBrPreparePass (PassRegistry &) |
|
void | initializeCallGraphDOTPrinterPass (PassRegistry &) |
|
void | initializeCallGraphViewerPass (PassRegistry &) |
|
void | initializeCallGraphWrapperPassPass (PassRegistry &) |
|
void | initializeCheckDebugMachineModulePass (PassRegistry &) |
|
void | initializeCodeGenPrepareLegacyPassPass (PassRegistry &) |
|
void | initializeComplexDeinterleavingLegacyPassPass (PassRegistry &) |
|
void | initializeConstantHoistingLegacyPassPass (PassRegistry &) |
|
void | initializeCycleInfoWrapperPassPass (PassRegistry &) |
|
void | initializeDAEPass (PassRegistry &) |
|
void | initializeDAHPass (PassRegistry &) |
|
void | initializeDCELegacyPassPass (PassRegistry &) |
|
void | initializeDXILMetadataAnalysisWrapperPassPass (PassRegistry &) |
|
void | initializeDXILMetadataAnalysisWrapperPrinterPass (PassRegistry &) |
|
void | initializeDXILResourceBindingWrapperPassPass (PassRegistry &) |
|
void | initializeDXILResourceTypeWrapperPassPass (PassRegistry &) |
|
void | initializeDeadMachineInstructionElimPass (PassRegistry &) |
|
void | initializeDebugifyMachineModulePass (PassRegistry &) |
|
void | initializeDependenceAnalysisWrapperPassPass (PassRegistry &) |
|
void | initializeDetectDeadLanesPass (PassRegistry &) |
|
void | initializeDomOnlyPrinterWrapperPassPass (PassRegistry &) |
|
void | initializeDomOnlyViewerWrapperPassPass (PassRegistry &) |
|
void | initializeDomPrinterWrapperPassPass (PassRegistry &) |
|
void | initializeDomViewerWrapperPassPass (PassRegistry &) |
|
void | initializeDominanceFrontierWrapperPassPass (PassRegistry &) |
|
void | initializeDominatorTreeWrapperPassPass (PassRegistry &) |
|
void | initializeDwarfEHPrepareLegacyPassPass (PassRegistry &) |
|
void | initializeEarlyCSELegacyPassPass (PassRegistry &) |
|
void | initializeEarlyCSEMemSSALegacyPassPass (PassRegistry &) |
|
void | initializeEarlyIfConverterLegacyPass (PassRegistry &) |
|
void | initializeEarlyIfPredicatorPass (PassRegistry &) |
|
void | initializeEarlyMachineLICMPass (PassRegistry &) |
|
void | initializeEarlyTailDuplicateLegacyPass (PassRegistry &) |
|
void | initializeEdgeBundlesWrapperLegacyPass (PassRegistry &) |
|
void | initializeEHContGuardCatchretPass (PassRegistry &) |
|
void | initializeExpandLargeFpConvertLegacyPassPass (PassRegistry &) |
|
void | initializeExpandLargeDivRemLegacyPassPass (PassRegistry &) |
|
void | initializeExpandMemCmpLegacyPassPass (PassRegistry &) |
|
void | initializeExpandPostRAPass (PassRegistry &) |
|
void | initializeExpandReductionsPass (PassRegistry &) |
|
void | initializeExpandVariadicsPass (PassRegistry &) |
|
void | initializeExpandVectorPredicationPass (PassRegistry &) |
|
void | initializeExternalAAWrapperPassPass (PassRegistry &) |
|
void | initializeFEntryInserterPass (PassRegistry &) |
|
void | initializeFinalizeISelPass (PassRegistry &) |
|
void | initializeFinalizeMachineBundlesPass (PassRegistry &) |
|
void | initializeFixIrreduciblePass (PassRegistry &) |
|
void | initializeFixupStatepointCallerSavedPass (PassRegistry &) |
|
void | initializeFlattenCFGLegacyPassPass (PassRegistry &) |
|
void | initializeFuncletLayoutPass (PassRegistry &) |
|
void | initializeGCEmptyBasicBlocksPass (PassRegistry &) |
|
void | initializeGCMachineCodeAnalysisPass (PassRegistry &) |
|
void | initializeGCModuleInfoPass (PassRegistry &) |
|
void | initializeGVNLegacyPassPass (PassRegistry &) |
|
void | initializeGlobalMergeFuncPassWrapperPass (PassRegistry &) |
|
void | initializeGlobalMergePass (PassRegistry &) |
|
void | initializeGlobalsAAWrapperPassPass (PassRegistry &) |
|
void | initializeHardwareLoopsLegacyPass (PassRegistry &) |
|
void | initializeMIRProfileLoaderPassPass (PassRegistry &) |
|
void | initializeIRSimilarityIdentifierWrapperPassPass (PassRegistry &) |
|
void | initializeIRTranslatorPass (PassRegistry &) |
|
void | initializeIVUsersWrapperPassPass (PassRegistry &) |
|
void | initializeIfConverterPass (PassRegistry &) |
|
void | initializeImmutableModuleSummaryIndexWrapperPassPass (PassRegistry &) |
|
void | initializeImplicitNullChecksPass (PassRegistry &) |
|
void | initializeIndirectBrExpandLegacyPassPass (PassRegistry &) |
|
void | initializeInferAddressSpacesPass (PassRegistry &) |
|
void | initializeInstSimplifyLegacyPassPass (PassRegistry &) |
|
void | initializeInstructionCombiningPassPass (PassRegistry &) |
|
void | initializeInstructionSelectPass (PassRegistry &) |
|
void | initializeInterleavedAccessPass (PassRegistry &) |
|
void | initializeInterleavedLoadCombinePass (PassRegistry &) |
|
void | initializeJMCInstrumenterPass (PassRegistry &) |
|
void | initializeKCFIPass (PassRegistry &) |
|
void | initializeLCSSAVerificationPassPass (PassRegistry &) |
|
void | initializeLCSSAWrapperPassPass (PassRegistry &) |
|
void | initializeLazyBlockFrequencyInfoPassPass (PassRegistry &) |
|
void | initializeLazyBranchProbabilityInfoPassPass (PassRegistry &) |
|
void | initializeLazyMachineBlockFrequencyInfoPassPass (PassRegistry &) |
|
void | initializeLazyValueInfoWrapperPassPass (PassRegistry &) |
|
void | initializeLegacyLICMPassPass (PassRegistry &) |
|
void | initializeLegalizerPass (PassRegistry &) |
|
void | initializeGISelCSEAnalysisWrapperPassPass (PassRegistry &) |
|
void | initializeGISelKnownBitsAnalysisPass (PassRegistry &) |
|
void | initializeLiveDebugValuesPass (PassRegistry &) |
|
void | initializeLiveDebugVariablesWrapperLegacyPass (PassRegistry &) |
|
void | initializeLiveIntervalsWrapperPassPass (PassRegistry &) |
|
void | initializeLiveRangeShrinkPass (PassRegistry &) |
|
void | initializeLiveRegMatrixWrapperLegacyPass (PassRegistry &) |
|
void | initializeLiveStacksWrapperLegacyPass (PassRegistry &) |
|
void | initializeLiveVariablesWrapperPassPass (PassRegistry &) |
|
void | initializeLoadStoreOptPass (PassRegistry &) |
|
void | initializeLoadStoreVectorizerLegacyPassPass (PassRegistry &) |
|
void | initializeLocalStackSlotPassPass (PassRegistry &) |
|
void | initializeLocalizerPass (PassRegistry &) |
|
void | initializeLoopDataPrefetchLegacyPassPass (PassRegistry &) |
|
void | initializeLoopExtractorLegacyPassPass (PassRegistry &) |
|
void | initializeLoopInfoWrapperPassPass (PassRegistry &) |
|
void | initializeLoopPassPass (PassRegistry &) |
| Manually defined generic "LoopPass" dependency initialization.
|
|
void | initializeLoopSimplifyPass (PassRegistry &) |
|
void | initializeLoopStrengthReducePass (PassRegistry &) |
|
void | initializeLoopTermFoldPass (PassRegistry &) |
|
void | initializeLoopUnrollPass (PassRegistry &) |
|
void | initializeLowerAtomicLegacyPassPass (PassRegistry &) |
|
void | initializeLowerConstantIntrinsicsPass (PassRegistry &) |
|
void | initializeLowerEmuTLSPass (PassRegistry &) |
|
void | initializeLowerGlobalDtorsLegacyPassPass (PassRegistry &) |
|
void | initializeLowerIntrinsicsPass (PassRegistry &) |
|
void | initializeLowerInvokeLegacyPassPass (PassRegistry &) |
|
void | initializeLowerSwitchLegacyPassPass (PassRegistry &) |
|
void | initializeMIRAddFSDiscriminatorsPass (PassRegistry &) |
|
void | initializeMIRCanonicalizerPass (PassRegistry &) |
|
void | initializeMIRNamerPass (PassRegistry &) |
|
void | initializeMIRPrintingPassPass (PassRegistry &) |
|
void | initializeMachineBlockFrequencyInfoWrapperPassPass (PassRegistry &) |
|
void | initializeMachineBlockPlacementPass (PassRegistry &) |
|
void | initializeMachineBlockPlacementStatsPass (PassRegistry &) |
|
void | initializeMachineBranchProbabilityInfoWrapperPassPass (PassRegistry &) |
|
void | initializeMachineCFGPrinterPass (PassRegistry &) |
|
void | initializeMachineCSELegacyPass (PassRegistry &) |
|
void | initializeMachineCombinerPass (PassRegistry &) |
|
void | initializeMachineCopyPropagationPass (PassRegistry &) |
|
void | initializeMachineCycleInfoPrinterPassPass (PassRegistry &) |
|
void | initializeMachineCycleInfoWrapperPassPass (PassRegistry &) |
|
void | initializeMachineDominanceFrontierPass (PassRegistry &) |
|
void | initializeMachineDominatorTreeWrapperPassPass (PassRegistry &) |
|
void | initializeMachineFunctionPrinterPassPass (PassRegistry &) |
|
void | initializeMachineFunctionSplitterPass (PassRegistry &) |
|
void | initializeMachineLateInstrsCleanupPass (PassRegistry &) |
|
void | initializeMachineLICMPass (PassRegistry &) |
|
void | initializeMachineLoopInfoWrapperPassPass (PassRegistry &) |
|
void | initializeMachineModuleInfoWrapperPassPass (PassRegistry &) |
|
void | initializeMachineOptimizationRemarkEmitterPassPass (PassRegistry &) |
|
void | initializeMachineOutlinerPass (PassRegistry &) |
|
void | initializeMachinePipelinerPass (PassRegistry &) |
|
void | initializeMachinePostDominatorTreeWrapperPassPass (PassRegistry &) |
|
void | initializeMachineRegionInfoPassPass (PassRegistry &) |
|
void | initializeMachineSanitizerBinaryMetadataPass (PassRegistry &) |
|
void | initializeMachineSchedulerPass (PassRegistry &) |
|
void | initializeMachineSinkingPass (PassRegistry &) |
|
void | initializeMachineTraceMetricsWrapperPassPass (PassRegistry &) |
|
void | initializeMachineUniformityInfoPrinterPassPass (PassRegistry &) |
|
void | initializeMachineUniformityAnalysisPassPass (PassRegistry &) |
|
void | initializeMachineVerifierLegacyPassPass (PassRegistry &) |
|
void | initializeMemoryDependenceWrapperPassPass (PassRegistry &) |
|
void | initializeMemorySSAWrapperPassPass (PassRegistry &) |
|
void | initializeMergeICmpsLegacyPassPass (PassRegistry &) |
|
void | initializeModuleSummaryIndexWrapperPassPass (PassRegistry &) |
|
void | initializeModuloScheduleTestPass (PassRegistry &) |
|
void | initializeNaryReassociateLegacyPassPass (PassRegistry &) |
|
void | initializeObjCARCContractLegacyPassPass (PassRegistry &) |
|
void | initializeOptimizationRemarkEmitterWrapperPassPass (PassRegistry &) |
|
void | initializeOptimizePHIsLegacyPass (PassRegistry &) |
|
void | initializePEIPass (PassRegistry &) |
|
void | initializePHIEliminationPass (PassRegistry &) |
|
void | initializePartiallyInlineLibCallsLegacyPassPass (PassRegistry &) |
|
void | initializePatchableFunctionPass (PassRegistry &) |
|
void | initializePeepholeOptimizerLegacyPass (PassRegistry &) |
|
void | initializePhiValuesWrapperPassPass (PassRegistry &) |
|
void | initializePhysicalRegisterUsageInfoWrapperLegacyPass (PassRegistry &) |
|
void | initializePlaceBackedgeSafepointsLegacyPassPass (PassRegistry &) |
|
void | initializePostDomOnlyPrinterWrapperPassPass (PassRegistry &) |
|
void | initializePostDomOnlyViewerWrapperPassPass (PassRegistry &) |
|
void | initializePostDomPrinterWrapperPassPass (PassRegistry &) |
|
void | initializePostDomViewerWrapperPassPass (PassRegistry &) |
|
void | initializePostDominatorTreeWrapperPassPass (PassRegistry &) |
|
void | initializePostInlineEntryExitInstrumenterPass (PassRegistry &) |
|
void | initializePostMachineSchedulerPass (PassRegistry &) |
|
void | initializePostRAHazardRecognizerPass (PassRegistry &) |
|
void | initializePostRAMachineSinkingPass (PassRegistry &) |
|
void | initializePostRASchedulerPass (PassRegistry &) |
|
void | initializePreISelIntrinsicLoweringLegacyPassPass (PassRegistry &) |
|
void | initializePrintFunctionPassWrapperPass (PassRegistry &) |
|
void | initializePrintModulePassWrapperPass (PassRegistry &) |
|
void | initializeProcessImplicitDefsPass (PassRegistry &) |
|
void | initializeProfileSummaryInfoWrapperPassPass (PassRegistry &) |
|
void | initializePromoteLegacyPassPass (PassRegistry &) |
|
void | initializeRABasicPass (PassRegistry &) |
|
void | initializePseudoProbeInserterPass (PassRegistry &) |
|
void | initializeRAGreedyPass (PassRegistry &) |
|
void | initializeReachingDefAnalysisPass (PassRegistry &) |
|
void | initializeReassociateLegacyPassPass (PassRegistry &) |
|
void | initializeRegAllocEvictionAdvisorAnalysisPass (PassRegistry &) |
|
void | initializeRegAllocFastPass (PassRegistry &) |
|
void | initializeRegAllocPriorityAdvisorAnalysisPass (PassRegistry &) |
|
void | initializeRegAllocScoringPass (PassRegistry &) |
|
void | initializeRegBankSelectPass (PassRegistry &) |
|
void | initializeRegToMemWrapperPassPass (PassRegistry &) |
|
void | initializeRegUsageInfoCollectorLegacyPass (PassRegistry &) |
|
void | initializeRegUsageInfoPropagationLegacyPass (PassRegistry &) |
|
void | initializeRegionInfoPassPass (PassRegistry &) |
|
void | initializeRegionOnlyPrinterPass (PassRegistry &) |
|
void | initializeRegionOnlyViewerPass (PassRegistry &) |
|
void | initializeRegionPrinterPass (PassRegistry &) |
|
void | initializeRegionViewerPass (PassRegistry &) |
|
void | initializeRegisterCoalescerPass (PassRegistry &) |
|
void | initializeRemoveLoadsIntoFakeUsesPass (PassRegistry &) |
|
void | initializeRemoveRedundantDebugValuesPass (PassRegistry &) |
|
void | initializeRenameIndependentSubregsPass (PassRegistry &) |
|
void | initializeReplaceWithVeclibLegacyPass (PassRegistry &) |
|
void | initializeResetMachineFunctionPass (PassRegistry &) |
|
void | initializeSCEVAAWrapperPassPass (PassRegistry &) |
|
void | initializeSROALegacyPassPass (PassRegistry &) |
|
void | initializeSafeStackLegacyPassPass (PassRegistry &) |
|
void | initializeSafepointIRVerifierPass (PassRegistry &) |
|
void | initializeSelectOptimizePass (PassRegistry &) |
|
void | initializeScalarEvolutionWrapperPassPass (PassRegistry &) |
|
void | initializeScalarizeMaskedMemIntrinLegacyPassPass (PassRegistry &) |
|
void | initializeScalarizerLegacyPassPass (PassRegistry &) |
|
void | initializeScavengerTestPass (PassRegistry &) |
|
void | initializeScopedNoAliasAAWrapperPassPass (PassRegistry &) |
|
void | initializeSeparateConstOffsetFromGEPLegacyPassPass (PassRegistry &) |
|
void | initializeShadowStackGCLoweringPass (PassRegistry &) |
|
void | initializeShrinkWrapPass (PassRegistry &) |
|
void | initializeSingleLoopExtractorPass (PassRegistry &) |
|
void | initializeSinkingLegacyPassPass (PassRegistry &) |
|
void | initializeSjLjEHPreparePass (PassRegistry &) |
|
void | initializeSlotIndexesWrapperPassPass (PassRegistry &) |
|
void | initializeSpeculativeExecutionLegacyPassPass (PassRegistry &) |
|
void | initializeSpillPlacementWrapperLegacyPass (PassRegistry &) |
|
void | initializeStackColoringLegacyPass (PassRegistry &) |
|
void | initializeStackFrameLayoutAnalysisPassPass (PassRegistry &) |
|
void | initializeStackMapLivenessPass (PassRegistry &) |
|
void | initializeStackProtectorPass (PassRegistry &) |
|
void | initializeStackSafetyGlobalInfoWrapperPassPass (PassRegistry &) |
|
void | initializeStackSafetyInfoWrapperPassPass (PassRegistry &) |
|
void | initializeStackSlotColoringPass (PassRegistry &) |
|
void | initializeStraightLineStrengthReduceLegacyPassPass (PassRegistry &) |
|
void | initializeStripDebugMachineModulePass (PassRegistry &) |
|
void | initializeStructurizeCFGLegacyPassPass (PassRegistry &) |
|
void | initializeTailCallElimPass (PassRegistry &) |
|
void | initializeTailDuplicateLegacyPass (PassRegistry &) |
|
void | initializeTargetLibraryInfoWrapperPassPass (PassRegistry &) |
|
void | initializeTargetPassConfigPass (PassRegistry &) |
|
void | initializeTargetTransformInfoWrapperPassPass (PassRegistry &) |
|
void | initializeTwoAddressInstructionLegacyPassPass (PassRegistry &) |
|
void | initializeTypeBasedAAWrapperPassPass (PassRegistry &) |
|
void | initializeTypePromotionLegacyPass (PassRegistry &) |
|
void | initializeInitUndefPass (PassRegistry &) |
|
void | initializeUniformityInfoWrapperPassPass (PassRegistry &) |
|
void | initializeUnifyLoopExitsLegacyPassPass (PassRegistry &) |
|
void | initializeUnpackMachineBundlesPass (PassRegistry &) |
|
void | initializeUnreachableBlockElimLegacyPassPass (PassRegistry &) |
|
void | initializeUnreachableMachineBlockElimPass (PassRegistry &) |
|
void | initializeVerifierLegacyPassPass (PassRegistry &) |
|
void | initializeVirtRegMapWrapperLegacyPass (PassRegistry &) |
|
void | initializeVirtRegRewriterPass (PassRegistry &) |
|
void | initializeWasmEHPreparePass (PassRegistry &) |
|
void | initializeWinEHPreparePass (PassRegistry &) |
|
void | initializeWriteBitcodePassPass (PassRegistry &) |
|
void | initializeXRayInstrumentationPass (PassRegistry &) |
|
template<typename UnaryFunction > |
void | forEachCallbackCallSite (const CallBase &CB, UnaryFunction Func) |
| Apply function Func to each CB's callback call site.
|
|
template<typename UnaryFunction > |
void | forEachCallbackFunction (const CallBase &CB, UnaryFunction Func) |
| Apply function Func to each CB's callback function.
|
|
bool | hasAssumption (const Function &F, const KnownAssumptionString &AssumptionStr) |
| Return true if F has the assumption AssumptionStr attached.
|
|
bool | hasAssumption (const CallBase &CB, const KnownAssumptionString &AssumptionStr) |
| Return true if CB or the callee has the assumption AssumptionStr attached.
|
|
DenseSet< StringRef > | getAssumptions (const Function &F) |
| Return the set of all assumptions for the function F .
|
|
DenseSet< StringRef > | getAssumptions (const CallBase &CB) |
| Return the set of all assumptions for the call CB .
|
|
bool | addAssumptions (Function &F, const DenseSet< StringRef > &Assumptions) |
| Appends the set of assumptions Assumptions to \F.
|
|
bool | addAssumptions (CallBase &CB, const DenseSet< StringRef > &Assumptions) |
| Appends the set of assumptions Assumptions to \CB.
|
|
LLVMAttributeRef | wrap (Attribute Attr) |
|
Attribute | unwrap (LLVMAttributeRef Attr) |
|
bool | UpgradeIntrinsicFunction (Function *F, Function *&NewFn, bool CanUpgradeDebugIntrinsicsToRecords=true) |
| This is a more granular function that simply checks an intrinsic function for upgrading, and returns true if it requires upgrading.
|
|
void | UpgradeIntrinsicCall (CallBase *CB, Function *NewFn) |
| This is the complement to the above, replacing a specific call to an intrinsic function with a call to the specified new function.
|
|
void | UpgradeInlineAsmString (std::string *AsmStr) |
| Upgrade comment in call to inline asm that represents an objc retain release marker.
|
|
void | UpgradeCallsToIntrinsic (Function *F) |
| This is an auto-upgrade hook for any old intrinsic function syntaxes which need to have both the function updated as well as all calls updated to the new function.
|
|
GlobalVariable * | UpgradeGlobalVariable (GlobalVariable *GV) |
| This checks for global variables which should be upgraded.
|
|
bool | UpgradeModuleFlags (Module &M) |
| This checks for module flags which should be upgraded.
|
|
void | UpgradeARCRuntime (Module &M) |
| Convert calls to ARC runtime functions to intrinsic calls and upgrade the old retain release marker to new module flag format.
|
|
void | UpgradeSectionAttributes (Module &M) |
|
void | UpgradeFunctionAttributes (Function &F) |
| Correct any IR that is relying on old function attribute behavior.
|
|
MDNode * | UpgradeTBAANode (MDNode &TBAANode) |
| If the given TBAA tag uses the scalar TBAA format, create a new node corresponding to the upgrade to the struct-path aware TBAA format.
|
|
Instruction * | UpgradeBitCastInst (unsigned Opc, Value *V, Type *DestTy, Instruction *&Temp) |
| This is an auto-upgrade for bitcast between pointers with different address spaces: the instruction is replaced by a pair ptrtoint+inttoptr.
|
|
Constant * | UpgradeBitCastExpr (unsigned Opc, Constant *C, Type *DestTy) |
| This is an auto-upgrade for bitcast constant expression between pointers with different address spaces: the instruction is replaced by a pair ptrtoint+inttoptr.
|
|
bool | UpgradeDebugInfo (Module &M) |
| Check the debug info version number, if it is out-dated, drop the debug info.
|
|
bool | mayBeOldLoopAttachmentTag (StringRef Name) |
| Check whether a string looks like an old loop attachment tag.
|
|
MDNode * | upgradeInstructionLoopAttachment (MDNode &N) |
| Upgrade the loop attachment metadata node.
|
|
std::string | UpgradeDataLayoutString (StringRef DL, StringRef Triple) |
| Upgrade the datalayout string by adding a section for address space pointers.
|
|
void | UpgradeAttributes (AttrBuilder &B) |
| Upgrade attributes that changed format or kind.
|
|
void | UpgradeOperandBundles (std::vector< OperandBundleDef > &OperandBundles) |
| Upgrade operand bundles (without knowing about their user instruction).
|
|
BasicBlock::iterator | skipDebugIntrinsics (BasicBlock::iterator It) |
| Advance It while it points to a debug instruction and return the result.
|
|
void | linkAllBuiltinGCs () |
| FIXME: Collector instances are not useful on their own.
|
|
void | linkOcamlGCPrinter () |
| Creates an ocaml-compatible metadata printer.
|
|
void | linkErlangGCPrinter () |
| Creates an erlang-compatible metadata printer.
|
|
pred_iterator | pred_begin (BasicBlock *BB) |
|
const_pred_iterator | pred_begin (const BasicBlock *BB) |
|
pred_iterator | pred_end (BasicBlock *BB) |
|
const_pred_iterator | pred_end (const BasicBlock *BB) |
|
bool | pred_empty (const BasicBlock *BB) |
|
unsigned | pred_size (const BasicBlock *BB) |
| Get the number of predecessors of BB .
|
|
pred_range | predecessors (BasicBlock *BB) |
|
const_pred_range | predecessors (const BasicBlock *BB) |
|
succ_iterator | succ_begin (Instruction *I) |
|
const_succ_iterator | succ_begin (const Instruction *I) |
|
succ_iterator | succ_end (Instruction *I) |
|
const_succ_iterator | succ_end (const Instruction *I) |
|
bool | succ_empty (const Instruction *I) |
|
unsigned | succ_size (const Instruction *I) |
|
succ_range | successors (Instruction *I) |
|
const_succ_range | successors (const Instruction *I) |
|
succ_iterator | succ_begin (BasicBlock *BB) |
|
const_succ_iterator | succ_begin (const BasicBlock *BB) |
|
succ_iterator | succ_end (BasicBlock *BB) |
|
const_succ_iterator | succ_end (const BasicBlock *BB) |
|
bool | succ_empty (const BasicBlock *BB) |
|
unsigned | succ_size (const BasicBlock *BB) |
|
succ_range | successors (BasicBlock *BB) |
|
const_succ_range | successors (const BasicBlock *BB) |
|
raw_ostream & | operator<< (raw_ostream &OS, const Comdat &C) |
|
Constant * | ConstantFoldCastInstruction (unsigned opcode, Constant *V, Type *DestTy) |
|
Constant * | ConstantFoldUnaryInstruction (unsigned Opcode, Constant *V) |
|
Constant * | ConstantFoldBinaryInstruction (unsigned Opcode, Constant *V1, Constant *V2) |
|
Constant * | ConstantFoldCompareInstruction (CmpInst::Predicate Predicate, Constant *C1, Constant *C2) |
|
Constant * | ConstantFoldGetElementPtr (Type *Ty, Constant *C, std::optional< ConstantRange > InRange, ArrayRef< Value * > Idxs) |
|
raw_ostream & | operator<< (raw_ostream &OS, const ConstantFPRange &CR) |
|
raw_ostream & | operator<< (raw_ostream &OS, const ConstantRange &CR) |
|
ConstantRange | getConstantRangeFromMetadata (const MDNode &RangeMD) |
| Parse out a conservative ConstantRange from !range metadata.
|
|
DataLayout * | unwrap (LLVMTargetDataRef P) |
|
LLVMTargetDataRef | wrap (const DataLayout *P) |
|
TinyPtrVector< DbgDeclareInst * > | findDbgDeclares (Value *V) |
| Finds dbg.declare intrinsics declaring local variables as living in the memory that 'V' points to.
|
|
TinyPtrVector< DbgVariableRecord * > | findDVRDeclares (Value *V) |
| As above, for DVRDeclares.
|
|
TinyPtrVector< DbgVariableRecord * > | findDVRValues (Value *V) |
| As above, for DVRValues.
|
|
void | findDbgValues (SmallVectorImpl< DbgValueInst * > &DbgValues, Value *V, SmallVectorImpl< DbgVariableRecord * > *DbgVariableRecords=nullptr) |
| Finds the llvm.dbg.value intrinsics describing a value.
|
|
void | findDbgUsers (SmallVectorImpl< DbgVariableIntrinsic * > &DbgInsts, Value *V, SmallVectorImpl< DbgVariableRecord * > *DbgVariableRecords=nullptr) |
| Finds the debug info intrinsics describing a value.
|
|
DISubprogram * | getDISubprogram (const MDNode *Scope) |
| Find subprogram that is enclosing this scope.
|
|
DebugLoc | getDebugValueLoc (DbgVariableIntrinsic *DII) |
| Produce a DebugLoc to use for each dbg.declare that is promoted to a dbg.value.
|
|
DebugLoc | getDebugValueLoc (DbgVariableRecord *DVR) |
|
bool | StripDebugInfo (Module &M) |
| Strip debug info in the module if it exists.
|
|
bool | stripDebugInfo (Function &F) |
|
bool | stripNonLineTableDebugInfo (Module &M) |
| Downgrade the debug info in a module to contain only line table information.
|
|
void | updateLoopMetadataDebugLocations (Instruction &I, function_ref< Metadata *(Metadata *)> Updater) |
| Update the debug locations contained within the MD_loop metadata attached to the instruction I , if one exists.
|
|
unsigned | getDebugMetadataVersionFromModule (const Module &M) |
| Return Debug Info Metadata Version by checking module flags.
|
|
bool | isAssignmentTrackingEnabled (const Module &M) |
| Return true if assignment tracking is enabled for module M .
|
|
bool | operator== (DIDerivedType::PtrAuthData Lhs, DIDerivedType::PtrAuthData Rhs) |
|
bool | operator!= (DIDerivedType::PtrAuthData Lhs, DIDerivedType::PtrAuthData Rhs) |
|
bool | operator== (const DIExpression::FragmentInfo &A, const DIExpression::FragmentInfo &B) |
|
bool | operator< (const DIExpression::FragmentInfo &A, const DIExpression::FragmentInfo &B) |
|
raw_ostream & | operator<< (raw_ostream &OS, const DbgRecord &R) |
|
static auto | filterDbgVars (iterator_range< simple_ilist< DbgRecord >::iterator > R) |
| Filter the DbgRecord range to DbgVariableRecord types only and downcast.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const DbgMarker &Marker) |
|
iterator_range< simple_ilist< DbgRecord >::iterator > | getDbgRecordRange (DbgMarker *DebugMarker) |
| Inline helper to return a range of DbgRecords attached to a marker.
|
|
template<typename T > |
| ScopedDbgInfoFormatSetter (T &Obj, bool NewState) -> ScopedDbgInfoFormatSetter< T > |
|
int | getNextAvailablePluginDiagnosticKind () |
| Get the next available kind ID for a plugin diagnostic.
|
|
template<class RemarkT > |
RemarkT & | operator<< (RemarkT &R, std::enable_if_t< std::is_base_of< DiagnosticInfoOptimizationBase, RemarkT >::value, StringRef > S) |
| Allow the insertion operator to return the actual remark type rather than a common base class.
|
|
template<class RemarkT > |
RemarkT & | operator<< (RemarkT &&R, std::enable_if_t< std::is_base_of< DiagnosticInfoOptimizationBase, RemarkT >::value, StringRef > S) |
| Also allow r-value for the remark to allow insertion into a temporarily-constructed remark.
|
|
template<class RemarkT > |
RemarkT & | operator<< (RemarkT &R, std::enable_if_t< std::is_base_of< DiagnosticInfoOptimizationBase, RemarkT >::value, DiagnosticInfoOptimizationBase::Argument > A) |
|
template<class RemarkT > |
RemarkT & | operator<< (RemarkT &&R, std::enable_if_t< std::is_base_of< DiagnosticInfoOptimizationBase, RemarkT >::value, DiagnosticInfoOptimizationBase::Argument > A) |
|
template<class RemarkT > |
RemarkT & | operator<< (RemarkT &R, std::enable_if_t< std::is_base_of< DiagnosticInfoOptimizationBase, RemarkT >::value, DiagnosticInfoOptimizationBase::setIsVerbose > V) |
|
template<class RemarkT > |
RemarkT & | operator<< (RemarkT &&R, std::enable_if_t< std::is_base_of< DiagnosticInfoOptimizationBase, RemarkT >::value, DiagnosticInfoOptimizationBase::setIsVerbose > V) |
|
template<class RemarkT > |
RemarkT & | operator<< (RemarkT &R, std::enable_if_t< std::is_base_of< DiagnosticInfoOptimizationBase, RemarkT >::value, DiagnosticInfoOptimizationBase::setExtraArgs > EA) |
|
static DiagnosticSeverity | getDiagnosticSeverity (SourceMgr::DiagKind DK) |
|
void | diagnoseDontCall (const CallInst &CI) |
|
EHPersonality | classifyEHPersonality (const Value *Pers) |
| See if the given exception handling personality function is one that we understand.
|
|
StringRef | getEHPersonalityName (EHPersonality Pers) |
|
EHPersonality | getDefaultEHPersonality (const Triple &T) |
|
bool | isAsynchronousEHPersonality (EHPersonality Pers) |
| Returns true if this personality function catches asynchronous exceptions.
|
|
bool | isFuncletEHPersonality (EHPersonality Pers) |
| Returns true if this is a personality function that invokes handler funclets (which must return to it).
|
|
bool | isScopedEHPersonality (EHPersonality Pers) |
| Returns true if this personality uses scope-style EH IR instructions: catchswitch, catchpad/ret, and cleanuppad/ret.
|
|
bool | isNoOpWithoutInvoke (EHPersonality Pers) |
| Return true if this personality may be safely removed if there are no invoke instructions remaining in the current function.
|
|
bool | canSimplifyInvokeNoUnwind (const Function *F) |
|
DenseMap< BasicBlock *, ColorVector > | colorEHFunclets (Function &F) |
| If an EH funclet personality is in use (see isFuncletEHPersonality), this will recompute which blocks are in which funclet.
|
|
FastMathFlags | operator| (FastMathFlags LHS, FastMathFlags RHS) |
|
FastMathFlags | operator& (FastMathFlags LHS, FastMathFlags RHS) |
|
raw_ostream & | operator<< (raw_ostream &O, FastMathFlags FMF) |
|
std::optional< RoundingMode > | convertStrToRoundingMode (StringRef) |
| Returns a valid RoundingMode enumerator when given a string that is valid as input in constrained intrinsic rounding mode metadata.
|
|
std::optional< StringRef > | convertRoundingModeToStr (RoundingMode) |
| For any RoundingMode enumerator, returns a string valid as input in constrained intrinsic rounding mode metadata.
|
|
std::optional< fp::ExceptionBehavior > | convertStrToExceptionBehavior (StringRef) |
| Returns a valid ExceptionBehavior enumerator when given a string valid as input in constrained intrinsic exception behavior metadata.
|
|
std::optional< StringRef > | convertExceptionBehaviorToStr (fp::ExceptionBehavior) |
| For any ExceptionBehavior enumerator, returns a string valid as input in constrained intrinsic exception behavior metadata.
|
|
bool | isDefaultFPEnvironment (fp::ExceptionBehavior EB, RoundingMode RM) |
| Returns true if the exception handling behavior and rounding mode match what is used in the default floating point environment.
|
|
Intrinsic::ID | getConstrainedIntrinsicID (const Instruction &Instr) |
| Returns constrained intrinsic id to represent the given instruction in strictfp function.
|
|
bool | canRoundingModeBe (RoundingMode RM, RoundingMode QRM) |
| Returns true if the rounding mode RM may be QRM at compile time or at run time.
|
|
bool | canIgnoreSNaN (fp::ExceptionBehavior EB, FastMathFlags FMF) |
| Returns true if the possibility of a signaling NaN can be safely ignored.
|
|
bool | NullPointerIsDefined (const Function *F, unsigned AS=0) |
| Check whether null pointer dereferencing is considered undefined behavior for a given function or an address space.
|
|
std::unique_ptr< GCStrategy > | getGCStrategy (const StringRef Name) |
| Lookup the GCStrategy object associated with the given gc name.
|
|
gep_type_iterator | gep_type_begin (const User *GEP) |
|
gep_type_iterator | gep_type_end (const User *GEP) |
|
gep_type_iterator | gep_type_begin (const User &GEP) |
|
gep_type_iterator | gep_type_end (const User &GEP) |
|
template<typename T > |
generic_gep_type_iterator< const T * > | gep_type_begin (Type *Op0, ArrayRef< T > A) |
|
template<typename T > |
generic_gep_type_iterator< const T * > | gep_type_end (Type *, ArrayRef< T > A) |
|
inst_iterator | inst_begin (Function *F) |
|
inst_iterator | inst_end (Function *F) |
|
inst_range | instructions (Function *F) |
|
const_inst_iterator | inst_begin (const Function *F) |
|
const_inst_iterator | inst_end (const Function *F) |
|
const_inst_range | instructions (const Function *F) |
|
inst_iterator | inst_begin (Function &F) |
|
inst_iterator | inst_end (Function &F) |
|
inst_range | instructions (Function &F) |
|
const_inst_iterator | inst_begin (const Function &F) |
|
const_inst_iterator | inst_end (const Function &F) |
|
const_inst_range | instructions (const Function &F) |
|
raw_ostream & | operator<< (raw_ostream &OS, CmpInst::Predicate Pred) |
|
Type * | checkGEPType (Type *Ty) |
|
const Value * | getLoadStorePointerOperand (const Value *V) |
| A helper function that returns the pointer operand of a load or store instruction.
|
|
Value * | getLoadStorePointerOperand (Value *V) |
|
const Value * | getPointerOperand (const Value *V) |
| A helper function that returns the pointer operand of a load, store or GEP instruction.
|
|
Value * | getPointerOperand (Value *V) |
|
Align | getLoadStoreAlignment (const Value *I) |
| A helper function that returns the alignment of load or store instruction.
|
|
void | setLoadStoreAlignment (Value *I, Align NewAlign) |
| A helper function that set the alignment of load or store instruction.
|
|
unsigned | getLoadStoreAddressSpace (const Value *I) |
| A helper function that returns the address space of the pointer operand of load or store instruction.
|
|
Type * | getLoadStoreType (const Value *I) |
| A helper function that returns the type of a load or store instruction.
|
|
std::optional< SyncScope::ID > | getAtomicSyncScopeID (const Instruction *I) |
| A helper function that returns an atomic operation's sync scope; returns std::nullopt if it is not an atomic operation.
|
|
void | setAtomicSyncScopeID (Instruction *I, SyncScope::ID SSID) |
| A helper function that sets an atomic operation's sync scope.
|
|
static bool | isLifetimeIntrinsic (Intrinsic::ID ID) |
| Check if ID corresponds to a lifetime intrinsic.
|
|
static bool | isDbgInfoIntrinsic (Intrinsic::ID ID) |
| Check if ID corresponds to a debug info intrinsic.
|
|
static bool | isConvergenceControlIntrinsic (unsigned IntrinsicID) |
| Check if ID corresponds to a convergence control intrinsic.
|
|
template<typename FolderTy , typename InserterTy > |
| IRBuilder (LLVMContext &, FolderTy, InserterTy, MDNode *, ArrayRef< OperandBundleDef >) -> IRBuilder< FolderTy, InserterTy > |
|
| IRBuilder (LLVMContext &, MDNode *, ArrayRef< OperandBundleDef >) -> IRBuilder<> |
|
template<typename FolderTy > |
| IRBuilder (BasicBlock *, FolderTy, MDNode *, ArrayRef< OperandBundleDef >) -> IRBuilder< FolderTy > |
|
| IRBuilder (BasicBlock *, MDNode *, ArrayRef< OperandBundleDef >) -> IRBuilder<> |
|
| IRBuilder (Instruction *, MDNode *, ArrayRef< OperandBundleDef >) -> IRBuilder<> |
|
template<typename FolderTy > |
| IRBuilder (BasicBlock *, BasicBlock::iterator, FolderTy, MDNode *, ArrayRef< OperandBundleDef >) -> IRBuilder< FolderTy > |
|
| IRBuilder (BasicBlock *, BasicBlock::iterator, MDNode *, ArrayRef< OperandBundleDef >) -> IRBuilder<> |
|
ModulePass * | createPrintModulePass (raw_ostream &OS, const std::string &Banner="", bool ShouldPreserveUseListOrder=false) |
| Create and return a pass that writes the module to the specified raw_ostream .
|
|
FunctionPass * | createPrintFunctionPass (raw_ostream &OS, const std::string &Banner="") |
| Create and return a pass that prints functions to the specified raw_ostream as they are processed.
|
|
void | printLLVMNameWithoutPrefix (raw_ostream &OS, StringRef Name) |
| Print out a name of an LLVM value without any prefixes.
|
|
bool | isIRPrintingPass (Pass *P) |
| Return true if a pass is for IR printing.
|
|
LLVMContext ** | unwrap (LLVMContextRef *Tys) |
|
LLVMContextRef * | wrap (const LLVMContext **Tys) |
|
Expected< std::unique_ptr< ToolOutputFile > > | setupLLVMOptimizationRemarks (LLVMContext &Context, StringRef RemarksFilename, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, std::optional< uint64_t > RemarksHotnessThreshold=0) |
| Setup optimization remarks that output to a file.
|
|
Error | setupLLVMOptimizationRemarks (LLVMContext &Context, raw_ostream &OS, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, std::optional< uint64_t > RemarksHotnessThreshold=0) |
| Setup optimization remarks that output directly to a raw_ostream.
|
|
void | emitLinkerFlagsForGlobalCOFF (raw_ostream &OS, const GlobalValue *GV, const Triple &TT, Mangler &Mangler) |
|
void | emitLinkerFlagsForUsedCOFF (raw_ostream &OS, const GlobalValue *GV, const Triple &T, Mangler &M) |
|
std::optional< std::string > | getArm64ECMangledFunctionName (StringRef Name) |
| Returns the ARM64EC mangled function name unless the input is already mangled.
|
|
std::optional< std::string > | getArm64ECDemangledFunctionName (StringRef Name) |
| Returns the ARM64EC demangled function name, unless the input is not mangled.
|
|
bool | isArm64ECMangledFunctionName (StringRef Name) |
| Check if an ARM64EC function name is mangled.
|
|
bool | canInstructionHaveMMRAs (const Instruction &I) |
|
Metadata ** | unwrap (LLVMMetadataRef *MDs) |
|
raw_ostream & | operator<< (raw_ostream &OS, const Metadata &MD) |
|
GlobalVariable * | collectUsedGlobalVariables (const Module &M, SmallVectorImpl< GlobalValue * > &Vec, bool CompilerUsed) |
| Given "llvm.used" or "llvm.compiler.used" as a global name, collect the initializer elements of that global in a SmallVector and return the global itself.
|
|
raw_ostream & | operator<< (raw_ostream &O, const Module &M) |
| An raw_ostream inserter for modules.
|
|
Module * | unwrap (LLVMModuleProviderRef MP) |
|
const char * | getHotnessName (CalleeInfo::HotnessType HT) |
|
raw_ostream & | operator<< (raw_ostream &OS, const ValueInfo &VI) |
|
bool | operator== (const ValueInfo &A, const ValueInfo &B) |
|
bool | operator!= (const ValueInfo &A, const ValueInfo &B) |
|
bool | operator< (const ValueInfo &A, const ValueInfo &B) |
|
raw_ostream & | operator<< (raw_ostream &OS, const CallsiteInfo &SNI) |
|
raw_ostream & | operator<< (raw_ostream &OS, const MIBInfo &MIB) |
|
raw_ostream & | operator<< (raw_ostream &OS, const AllocInfo &AE) |
|
OptPassGate & | getGlobalPassGate () |
| Singleton instance of the OptBisect class, so multiple pass managers don't need to coordinate their uses of OptBisect.
|
|
bool | isSpecialPass (StringRef PassID, const std::vector< StringRef > &Specials) |
|
template<typename IRUnitT > |
void | printIRUnitNameForStackTrace (raw_ostream &OS, const IRUnitT &IR) |
|
template<> |
void | printIRUnitNameForStackTrace< Module > (raw_ostream &OS, const Module &IR) |
|
template<> |
void | printIRUnitNameForStackTrace< Function > (raw_ostream &OS, const Function &IR) |
|
template<typename FunctionPassT > |
ModuleToFunctionPassAdaptor | createModuleToFunctionPassAdaptor (FunctionPassT &&Pass, bool EagerlyInvalidate=false) |
| A function to deduce a function pass type and wrap it in the templated adaptor.
|
|
void | reportAndResetTimings (raw_ostream *OutStream=nullptr) |
| If -time-passes has been specified, report the timings immediately and then reset the timers to zero.
|
|
Timer * | getPassTimer (Pass *) |
| Request the timer for this legacy-pass-manager's pass instance.
|
|
bool | shouldPrintBeforeSomePass () |
| This is a helper to determine whether to print IR before or after a pass.
|
|
bool | shouldPrintAfterSomePass () |
|
bool | shouldPrintBeforePass (StringRef PassID) |
|
bool | shouldPrintAfterPass (StringRef PassID) |
|
bool | shouldPrintBeforeAll () |
|
bool | shouldPrintAfterAll () |
|
std::vector< std::string > | printBeforePasses () |
|
std::vector< std::string > | printAfterPasses () |
|
bool | forcePrintModuleIR () |
|
bool | isPassInPrintList (StringRef PassName) |
|
bool | isFilterPassesEmpty () |
|
bool | isFunctionInPrintList (StringRef FunctionName) |
|
std::error_code | prepareTempFiles (SmallVector< int > &FD, ArrayRef< StringRef > SR, SmallVector< std::string > &FileName) |
|
std::error_code | cleanUpTempFiles (ArrayRef< std::string > FileName) |
|
std::string | doSystemDiff (StringRef Before, StringRef After, StringRef OldLineFormat, StringRef NewLineFormat, StringRef UnchangedLineFormat) |
|
bool | hasProfMD (const Instruction &I) |
| Checks if an Instruction has MD_prof Metadata.
|
|
bool | isBranchWeightMD (const MDNode *ProfileData) |
| Checks if an MDNode contains Branch Weight Metadata.
|
|
bool | hasBranchWeightMD (const Instruction &I) |
| Checks if an instructions has Branch Weight Metadata.
|
|
bool | hasValidBranchWeightMD (const Instruction &I) |
| Checks if an instructions has valid Branch Weight Metadata.
|
|
MDNode * | getBranchWeightMDNode (const Instruction &I) |
| Get the branch weights metadata node.
|
|
MDNode * | getValidBranchWeightMDNode (const Instruction &I) |
| Get the valid branch weights metadata node.
|
|
bool | hasBranchWeightOrigin (const Instruction &I) |
| Check if Branch Weight Metadata has an "expected" field from an llvm.expect* intrinsic.
|
|
bool | hasBranchWeightOrigin (const MDNode *ProfileData) |
| Check if Branch Weight Metadata has an "expected" field from an llvm.expect* intrinsic.
|
|
unsigned | getBranchWeightOffset (const MDNode *ProfileData) |
| Return the offset to the first branch weight data.
|
|
unsigned | getNumBranchWeights (const MDNode &ProfileData) |
|
bool | extractBranchWeights (const MDNode *ProfileData, SmallVectorImpl< uint32_t > &Weights) |
| Extract branch weights from MD_prof metadata.
|
|
void | extractFromBranchWeightMD32 (const MDNode *ProfileData, SmallVectorImpl< uint32_t > &Weights) |
| Faster version of extractBranchWeights() that skips checks and must only be called with "branch_weights" metadata nodes.
|
|
void | extractFromBranchWeightMD64 (const MDNode *ProfileData, SmallVectorImpl< uint64_t > &Weights) |
| Faster version of extractBranchWeights() that skips checks and must only be called with "branch_weights" metadata nodes.
|
|
bool | extractBranchWeights (const Instruction &I, SmallVectorImpl< uint32_t > &Weights) |
| Extract branch weights attatched to an Instruction.
|
|
bool | extractBranchWeights (const Instruction &I, uint64_t &TrueVal, uint64_t &FalseVal) |
| Extract branch weights from a conditional branch or select Instruction.
|
|
bool | extractProfTotalWeight (const MDNode *ProfileData, uint64_t &TotalWeights) |
| Retrieve the total of all weights from MD_prof data.
|
|
bool | extractProfTotalWeight (const Instruction &I, uint64_t &TotalWeights) |
| Retrieve the total of all weights from an instruction.
|
|
void | setBranchWeights (Instruction &I, ArrayRef< uint32_t > Weights, bool IsExpected) |
| Create a new branch_weights metadata node and add or overwrite a prof metadata reference to instruction I .
|
|
void | scaleProfData (Instruction &I, uint64_t S, uint64_t T) |
| Scaling the profile data attached to 'I' using the ratio of S/T.
|
|
static bool | isSentinelProbe (uint32_t Flags) |
|
static bool | hasDiscriminator (uint32_t Flags) |
|
std::optional< PseudoProbe > | extractProbe (const Instruction &Inst) |
|
void | setProbeDistributionFactor (Instruction &Inst, float Factor) |
|
bool | convertUsersOfConstantsToInstructions (ArrayRef< Constant * > Consts, Function *RestrictToFunc=nullptr, bool RemoveDeadConstants=true, bool IncludeSelf=false) |
| Replace constant expressions users of the given constants with instructions.
|
|
void | verifySafepointIR (Function &F) |
| Run the safepoint verifier over a single function. Crashes on failure.
|
|
FunctionPass * | createSafepointIRVerifierPass () |
| Create an instance of the safepoint verifier pass which can be added to a pass pipeline to check for relocation bugs.
|
|
auto | instrs (const BasicBlock &BB) |
|
StatepointDirectives | parseStatepointDirectivesFromAttrs (AttributeList AS) |
| Parse out statepoint directives from the function attributes present in AS .
|
|
bool | isStatepointDirectiveAttr (Attribute Attr) |
| Return true if the Attr is an attribute that is a statepoint directive.
|
|
stable_hash | StructuralHash (const Function &F, bool DetailedHash=false) |
| Returns a hash of the function F .
|
|
stable_hash | StructuralHash (const GlobalVariable &G) |
| Returns a hash of the global variable G .
|
|
stable_hash | StructuralHash (const Module &M, bool DetailedHash=false) |
| Returns a hash of the module M by hashing all functions and global variables contained within.
|
|
FunctionHashInfo | StructuralHashWithDifferences (const Function &F, IgnoreOperandFunc IgnoreOp) |
| Computes a structural hash of a given function, considering the structure and content of the function's instructions while allowing for selective ignoring of certain operands based on custom criteria.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const Type &T) |
|
Type ** | unwrap (LLVMTypeRef *Tys) |
|
LLVMTypeRef * | wrap (Type **Tys) |
|
raw_ostream & | operator<< (raw_ostream &OS, const Value &V) |
|
Value ** | unwrap (LLVMValueRef *Vals) |
|
template<typename T > |
T ** | unwrap (LLVMValueRef *Vals, unsigned Length) |
|
LLVMValueRef * | wrap (const Value **Vals) |
|
Type * | toVectorTy (Type *Scalar, ElementCount EC) |
| A helper function for converting Scalar types to vector types.
|
|
Type * | toVectorTy (Type *Scalar, unsigned VF) |
|
Type * | toVectorizedStructTy (StructType *StructTy, ElementCount EC) |
| A helper for converting structs of scalar types to structs of vector types.
|
|
Type * | toScalarizedStructTy (StructType *StructTy) |
| A helper for converting structs of vector types to structs of scalar types.
|
|
bool | isVectorizedStructTy (StructType *StructTy) |
| Returns true if StructTy is an unpacked literal struct where all elements are vectors of matching element count.
|
|
bool | canVectorizeStructTy (StructType *StructTy) |
| Returns true if StructTy is an unpacked literal struct where all elements are scalars that can be used as vector element types.
|
|
Type * | toVectorizedTy (Type *Ty, ElementCount EC) |
| A helper for converting to vectorized types.
|
|
Type * | toScalarizedTy (Type *Ty) |
| A helper for converting vectorized types to scalarized (non-vector) types.
|
|
bool | isVectorizedTy (Type *Ty) |
| Returns true if Ty is a vector type or a struct of vector types where all vector types share the same VF.
|
|
bool | canVectorizeTy (Type *Ty) |
| Returns true if Ty is a valid vector element type, void, or an unpacked literal struct where all elements are valid vector element types.
|
|
ArrayRef< Type * > | getContainedTypes (Type *const &Ty) |
| Returns the types contained in Ty .
|
|
ElementCount | getVectorizedTypeVF (Type *Ty) |
| Returns the number of vector elements for a vectorized type.
|
|
bool | isUnpackedStructLiteral (StructType *StructTy) |
|
bool | verifyFunction (const Function &F, raw_ostream *OS=nullptr) |
| Check a function for errors, useful for use when debugging a pass.
|
|
bool | verifyModule (const Module &M, raw_ostream *OS=nullptr, bool *BrokenDebugInfo=nullptr) |
| Check a module for errors.
|
|
FunctionPass * | createVerifierPass (bool FatalErrors=true) |
|
std::unique_ptr< Module > | getLazyIRModule (std::unique_ptr< MemoryBuffer > Buffer, SMDiagnostic &Err, LLVMContext &Context, bool ShouldLazyLoadMetadata=false) |
| If the given MemoryBuffer holds a bitcode image, return a Module for it which does lazy deserialization of function bodies.
|
|
std::unique_ptr< Module > | getLazyIRFileModule (StringRef Filename, SMDiagnostic &Err, LLVMContext &Context, bool ShouldLazyLoadMetadata=false) |
| If the given file holds a bitcode image, return a Module for it which does lazy deserialization of function bodies.
|
|
std::unique_ptr< Module > | parseIR (MemoryBufferRef Buffer, SMDiagnostic &Err, LLVMContext &Context, ParserCallbacks Callbacks={}) |
| If the given MemoryBuffer holds a bitcode image, return a Module for it.
|
|
std::unique_ptr< Module > | parseIRFile (StringRef Filename, SMDiagnostic &Err, LLVMContext &Context, ParserCallbacks Callbacks={}) |
| If the given file holds a bitcode image, return a Module for it.
|
|
void | parseCommandLineOptions (std::vector< std::string > &Options) |
| A convenience function that calls cl::ParseCommandLineOptions on the given set of options.
|
|
void | updateCompilerUsed (Module &TheModule, const TargetMachine &TM, const StringSet<> &AsmUndefinedRefs) |
| Find all globals in TheModule that are referenced in AsmUndefinedRefs , as well as the user-supplied functions definitions that are also libcalls, and create or update the magic "llvm.compiler_used" global in TheModule .
|
|
void | thinLTOResolvePrevailingInIndex (const lto::Config &C, ModuleSummaryIndex &Index, function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing, function_ref< void(StringRef, GlobalValue::GUID, GlobalValue::LinkageTypes)> recordNewLinkage, const DenseSet< GlobalValue::GUID > &GUIDPreservedSymbols) |
| Resolve linkage for prevailing symbols in the Index .
|
|
void | thinLTOInternalizeAndPromoteInIndex (ModuleSummaryIndex &Index, function_ref< bool(StringRef, ValueInfo)> isExported, function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing) |
| Update the linkages in the given Index to mark exported values as external and non-exported values as internal.
|
|
std::string | computeLTOCacheKey (const lto::Config &Conf, const ModuleSummaryIndex &Index, StringRef ModuleID, const FunctionImporter::ImportMapTy &ImportList, const FunctionImporter::ExportSetTy &ExportList, const std::map< GlobalValue::GUID, GlobalValue::LinkageTypes > &ResolvedODR, const GVSummaryMapTy &DefinedGlobals, const DenseSet< GlobalValue::GUID > &CfiFunctionDefs={}, const DenseSet< GlobalValue::GUID > &CfiFunctionDecls={}) |
| Computes a unique hash for the Module considering the current list of export/import and other global analysis results.
|
|
std::string | recomputeLTOCacheKey (const std::string &Key, StringRef ExtraID) |
| Recomputes the LTO cache key for a given key with an extra identifier.
|
|
Printable | PrintLaneMask (LaneBitmask LaneMask) |
| Create Printable object to print LaneBitmasks on a raw_ostream.
|
|
bool | operator!= (const MachineLocation &LHS, const MachineLocation &RHS) |
|
MCELFStreamer * | createARMELFStreamer (MCContext &Context, std::unique_ptr< MCAsmBackend > TAB, std::unique_ptr< MCObjectWriter > OW, std::unique_ptr< MCCodeEmitter > Emitter, bool IsThumb, bool IsAndroid) |
|
raw_ostream & | operator<< (raw_ostream &OS, const MCExpr &E) |
|
std::unique_ptr< MCObjectWriter > | createGOFFObjectWriter (std::unique_ptr< MCGOFFObjectTargetWriter > MOTW, raw_pwrite_stream &OS) |
| Construct a new GOFF writer instance.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const MCOperand &MO) |
|
raw_ostream & | operator<< (raw_ostream &OS, const MCInst &MI) |
|
void | dumpBytes (ArrayRef< uint8_t > Bytes, raw_ostream &OS) |
| Convert ‘Bytes’ to a hex string and output to ‘OS’.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const MCLabel &Label) |
|
static StringRef | MCLOHDirectiveName () |
|
static bool | isValidMCLOHType (unsigned Kind) |
|
static int | MCLOHNameToId (StringRef Name) |
|
static StringRef | MCLOHIdToName (MCLOHType Kind) |
|
static int | MCLOHIdToNbArgs (MCLOHType Kind) |
|
MCAsmParser * | createMCAsmParser (SourceMgr &, MCContext &, MCStreamer &, const MCAsmInfo &, unsigned CB=0) |
| Create an MCAsmParser instance for parsing assembly similar to gas syntax.
|
|
MCAsmParser * | createMCMasmParser (SourceMgr &, MCContext &, MCStreamer &, const MCAsmInfo &, struct tm, unsigned CB=0) |
| Create an MCAsmParser instance for parsing Microsoft MASM-style assembly.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const MCParsedAsmOperand &MO) |
|
hash_code | hash_value (const MCRegister &Reg) |
|
std::unique_ptr< MCObjectWriter > | createSPIRVObjectWriter (std::unique_ptr< MCSPIRVObjectTargetWriter > MOTW, raw_pwrite_stream &OS) |
| Construct a new SPIR-V writer instance.
|
|
MCStreamer * | createNullStreamer (MCContext &Ctx) |
| Create a dummy machine code streamer, which does nothing.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const MCSymbol &Sym) |
|
std::unique_ptr< MCObjectWriter > | createWasmObjectWriter (std::unique_ptr< MCWasmObjectTargetWriter > MOTW, raw_pwrite_stream &OS) |
| Construct a new Wasm writer instance.
|
|
std::unique_ptr< MCObjectWriter > | createWasmDwoObjectWriter (std::unique_ptr< MCWasmObjectTargetWriter > MOTW, raw_pwrite_stream &OS, raw_pwrite_stream &DwoOS) |
|
std::unique_ptr< MCObjectWriter > | createWinCOFFObjectWriter (std::unique_ptr< MCWinCOFFObjectTargetWriter > MOTW, raw_pwrite_stream &OS) |
| Construct a new Win COFF writer instance.
|
|
std::unique_ptr< MCObjectWriter > | createWinCOFFDwoObjectWriter (std::unique_ptr< MCWinCOFFObjectTargetWriter > MOTW, raw_pwrite_stream &OS, raw_pwrite_stream &DwoOS) |
|
std::unique_ptr< MCObjectWriter > | createXCOFFObjectWriter (std::unique_ptr< MCXCOFFObjectTargetWriter > MOTW, raw_pwrite_stream &OS) |
|
MCStreamer * | createAsmStreamer (MCContext &Ctx, std::unique_ptr< formatted_raw_ostream > OS, MCInstPrinter *InstPrint, std::unique_ptr< MCCodeEmitter > &&CE, std::unique_ptr< MCAsmBackend > &&TAB) |
| Create a machine code streamer which will print out assembly for the native target, suitable for compiling with a native assembler.
|
|
MCStreamer * | createELFStreamer (MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&CE) |
|
MCStreamer * | createGOFFStreamer (MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&CE) |
|
MCStreamer * | createMachOStreamer (MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&CE, bool DWARFMustBeAtTheEnd, bool LabelSections=false) |
|
MCStreamer * | createWasmStreamer (MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&CE) |
|
MCStreamer * | createSPIRVStreamer (MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&CE) |
|
MCStreamer * | createDXContainerStreamer (MCContext &Ctx, std::unique_ptr< MCAsmBackend > &&TAB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&CE) |
|
MCRelocationInfo * | createMCRelocationInfo (const Triple &TT, MCContext &Ctx) |
|
MCSymbolizer * | createMCSymbolizer (const Triple &TT, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx, std::unique_ptr< MCRelocationInfo > &&RelInfo) |
|
mca::CustomBehaviour * | createCustomBehaviour (const MCSubtargetInfo &STI, const mca::SourceMgr &SrcMgr, const MCInstrInfo &MCII) |
|
mca::InstrPostProcess * | createInstrPostProcess (const MCSubtargetInfo &STI, const MCInstrInfo &MCII) |
|
mca::InstrumentManager * | createInstrumentManager (const MCSubtargetInfo &STI, const MCInstrInfo &MCII) |
|
Expected< std::string > | computeArchiveRelativePath (StringRef From, StringRef To) |
|
void | warnToStderr (Error Err) |
|
Error | writeArchiveToStream (raw_ostream &Out, ArrayRef< NewArchiveMember > NewMembers, SymtabWritingMode WriteSymtab, object::Archive::Kind Kind, bool Deterministic, bool Thin, std::optional< bool > IsEC=std::nullopt, function_ref< void(Error)> Warn=warnToStderr) |
|
Error | writeArchive (StringRef ArcName, ArrayRef< NewArchiveMember > NewMembers, SymtabWritingMode WriteSymtab, object::Archive::Kind Kind, bool Deterministic, bool Thin, std::unique_ptr< MemoryBuffer > OldArchiveBuf=nullptr, std::optional< bool > IsEC=std::nullopt, function_ref< void(Error)> Warn=warnToStderr) |
|
Expected< std::unique_ptr< MemoryBuffer > > | writeArchiveToBuffer (ArrayRef< NewArchiveMember > NewMembers, SymtabWritingMode WriteSymtab, object::Archive::Kind Kind, bool Deterministic, bool Thin, function_ref< void(Error)> Warn=warnToStderr) |
|
raw_ostream & | operator<< (raw_ostream &OS, const FaultMapParser::FunctionFaultInfoAccessor &) |
|
raw_ostream & | operator<< (raw_ostream &OS, const FaultMapParser::FunctionInfoAccessor &) |
|
raw_ostream & | operator<< (raw_ostream &OS, const FaultMapParser &) |
|
raw_ostream & | operator<< (raw_ostream &OS, const object::WasmSymbol &Sym) |
|
StringRef | machineToStr (COFF::MachineTypes MT) |
|
COFF::MachineTypes | getMachineType (StringRef S) |
|
template<typename T > |
Triple::ArchType | getMachineArchType (T machine) |
|
template<typename AnalysisT , typename IRUnitT , typename AnalysisManagerT , typename... ExtraArgTs> |
bool | parseAnalysisUtilityPasses (StringRef AnalysisName, StringRef PipelineName, PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs... > &PM) |
| This utility template takes care of adding require<> and invalidate<> passes for an analysis to a given PassManager .
|
|
template<class PassName , std::enable_if_t< std::is_default_constructible< PassName >{}, bool > = true> |
Pass * | callDefaultCtor () |
|
void | gcovOneInput (const GCOV::Options &options, StringRef filename, StringRef gcno, StringRef gcda, GCOVFile &file) |
|
uint64_t | getInstrMaxCountValue () |
| Return the max count value. We reserver a few large values for special use.
|
|
std::string | getInstrProfSectionName (InstrProfSectKind IPSK, Triple::ObjectFormatType OF, bool AddSegmentInfo=true) |
| Return the name of the profile section corresponding to IPSK .
|
|
StringRef | getInstrProfValueProfFuncName () |
| Return the name profile runtime entry point to do value profiling for a given site.
|
|
StringRef | getInstrProfValueProfMemOpFuncName () |
| Return the name profile runtime entry point to do memop size value profiling.
|
|
StringRef | getInstrProfNameVarPrefix () |
| Return the name prefix of variables containing instrumented function names.
|
|
StringRef | getInstrProfVTableVarPrefix () |
| Return the name prefix of variables containing virtual table profile data.
|
|
StringRef | getInstrProfDataVarPrefix () |
| Return the name prefix of variables containing per-function control data.
|
|
StringRef | getInstrProfCountersVarPrefix () |
| Return the name prefix of profile counter variables.
|
|
StringRef | getInstrProfBitmapVarPrefix () |
| Return the name prefix of profile bitmap variables.
|
|
StringRef | getInstrProfValuesVarPrefix () |
| Return the name prefix of value profile variables.
|
|
StringRef | getInstrProfVNodesVarName () |
| Return the name of value profile node array variables:
|
|
StringRef | getInstrProfNamesVarName () |
| Return the name of the variable holding the strings (possibly compressed) of all function's PGO names.
|
|
StringRef | getInstrProfVTableNamesVarName () |
|
StringRef | getCoverageMappingVarName () |
| Return the name of a covarage mapping variable (internal linkage) for each instrumented source module.
|
|
StringRef | getCoverageUnusedNamesVarName () |
| Return the name of the internal variable recording the array of PGO name vars referenced by the coverage mapping.
|
|
StringRef | getInstrProfRegFuncsName () |
| Return the name of function that registers all the per-function control data at program startup time by calling __llvm_register_function.
|
|
StringRef | getInstrProfRegFuncName () |
| Return the name of the runtime interface that registers per-function control data for one instrumented function.
|
|
StringRef | getInstrProfNamesRegFuncName () |
| Return the name of the runtime interface that registers the PGO name strings.
|
|
StringRef | getInstrProfInitFuncName () |
| Return the name of the runtime initialization method that is generated by the compiler.
|
|
StringRef | getInstrProfRuntimeHookVarName () |
| Return the name of the hook variable defined in profile runtime library.
|
|
StringRef | getInstrProfRuntimeHookVarUseFuncName () |
| Return the name of the compiler generated function that references the runtime hook variable.
|
|
StringRef | getInstrProfCounterBiasVarName () |
|
StringRef | getInstrProfBitmapBiasVarName () |
|
StringRef | getInstrProfNameSeparator () |
| Return the marker used to separate PGO names during serialization.
|
|
bool | isGPUProfTarget (const Module &M) |
| Determines whether module targets a GPU eligable for PGO instrumentation.
|
|
std::string | getPGOFuncName (const Function &F, bool InLTO=false, uint64_t Version=INSTR_PROF_INDEX_VERSION) |
| Please use getIRPGOFuncName for LLVM IR instrumentation.
|
|
std::string | getPGOFuncName (StringRef RawFuncName, GlobalValue::LinkageTypes Linkage, StringRef FileName, uint64_t Version=INSTR_PROF_INDEX_VERSION) |
| Return the modified name for a function suitable to be used the key for profile lookup.
|
|
std::string | getIRPGOFuncName (const Function &F, bool InLTO=false) |
|
std::pair< StringRef, StringRef > | getParsedIRPGOName (StringRef IRPGOName) |
|
std::string | getPGOFuncNameVarName (StringRef FuncName, GlobalValue::LinkageTypes Linkage) |
| Return the name of the global variable used to store a function name in PGO instrumentation.
|
|
GlobalVariable * | createPGOFuncNameVar (Function &F, StringRef PGOFuncName) |
| Create and return the global variable for function name used in PGO instrumentation.
|
|
GlobalVariable * | createPGOFuncNameVar (Module &M, GlobalValue::LinkageTypes Linkage, StringRef PGOFuncName) |
| Create and return the global variable for function name used in PGO instrumentation.
|
|
StringRef | getPGOFuncNameVarInitializer (GlobalVariable *NameVar) |
| Return the initializer in string of the PGO name var NameVar .
|
|
StringRef | getFuncNameWithoutPrefix (StringRef PGOFuncName, StringRef FileName="<unknown>") |
| Given a PGO function name, remove the filename prefix and return the original (static) function name.
|
|
Error | collectGlobalObjectNameStrings (ArrayRef< std::string > NameStrs, bool doCompression, std::string &Result) |
| Given a vector of strings (names of global objects like functions or, virtual tables) NameStrs , the method generates a combined string Result that is ready to be serialized.
|
|
Error | collectPGOFuncNameStrings (ArrayRef< GlobalVariable * > NameVars, std::string &Result, bool doCompression=true) |
| Produce Result string with the same format described above.
|
|
Error | collectVTableStrings (ArrayRef< GlobalVariable * > VTables, std::string &Result, bool doCompression) |
|
bool | isIRPGOFlagSet (const Module *M) |
| Check if INSTR_PROF_RAW_VERSION_VAR is defined.
|
|
bool | canRenameComdatFunc (const Function &F, bool CheckAddressTaken=false) |
| Check if we can safely rename this Comdat function.
|
|
void | annotateValueSite (Module &M, Instruction &Inst, const InstrProfRecord &InstrProfR, InstrProfValueKind ValueKind, uint32_t SiteIndx, uint32_t MaxMDCount=3) |
| Get the value profile data for value site SiteIdx from InstrProfR and annotate the instruction Inst with the value profile meta data.
|
|
void | annotateValueSite (Module &M, Instruction &Inst, ArrayRef< InstrProfValueData > VDs, uint64_t Sum, InstrProfValueKind ValueKind, uint32_t MaxMDCount) |
| Same as the above interface but using an ArrayRef, as well as Sum .
|
|
SmallVector< InstrProfValueData, 4 > | getValueProfDataFromInst (const Instruction &Inst, InstrProfValueKind ValueKind, uint32_t MaxNumValueData, uint64_t &TotalC, bool GetNoICPValue=false) |
| Extract the value profile data from Inst and returns them if Inst is annotated with value profile data.
|
|
StringRef | getPGOFuncNameMetadataName () |
|
StringRef | getPGONameMetadataName () |
|
MDNode * | getPGOFuncNameMetadata (const Function &F) |
| Return the PGOFuncName meta data associated with a function.
|
|
std::string | getPGOName (const GlobalVariable &V, bool InLTO=false) |
|
void | createPGOFuncNameMetadata (Function &F, StringRef PGOFuncName) |
| Create the PGOFuncName meta data if PGOFuncName is different from function's raw name.
|
|
void | createPGONameMetadata (GlobalObject &GO, StringRef PGOName) |
| Create the PGOName metadata if a global object's PGO name is different from its mangled name.
|
|
bool | needsComdatForCounter (const GlobalObject &GV, const Module &M) |
| Check if we can use Comdat for profile variables.
|
|
const std::error_category & | instrprof_category () |
|
std::error_code | make_error_code (instrprof_error E) |
|
void | createProfileFileNameVar (Module &M, StringRef InstrProfileOutput) |
|
Error | createCtxProfFromYAML (StringRef Profile, raw_ostream &Out) |
|
const std::error_category & | sampleprof_category () |
|
std::error_code | make_error_code (sampleprof_error E) |
|
sampleprof_error | mergeSampleProfErrors (sampleprof_error &Accumulator, sampleprof_error Result) |
|
std::string | getUniqueInternalLinkagePostfix (const StringRef &FName) |
|
Align | assumeAligned (uint64_t Value) |
| Treats the value 0 as a 1, so Align is always at least 1.
|
|
bool | isAligned (Align Lhs, uint64_t SizeInBytes) |
| Checks that SizeInBytes is a multiple of the alignment.
|
|
bool | isAddrAligned (Align Lhs, const void *Addr) |
| Checks that Addr is a multiple of the alignment.
|
|
uint64_t | alignTo (uint64_t Size, Align A) |
| Returns a multiple of A needed to store Size bytes.
|
|
uint64_t | alignTo (uint64_t Size, Align A, uint64_t Skew) |
| If non-zero Skew is specified, the return value will be a minimal integer that is greater than or equal to Size and equal to A * N + Skew for some integer N.
|
|
uintptr_t | alignAddr (const void *Addr, Align Alignment) |
| Aligns Addr to Alignment bytes, rounding up.
|
|
uint64_t | offsetToAlignment (uint64_t Value, Align Alignment) |
| Returns the offset to the next integer (mod 2**64) that is greater than or equal to Value and is a multiple of Align .
|
|
uint64_t | offsetToAlignedAddr (const void *Addr, Align Alignment) |
| Returns the necessary adjustment for aligning Addr to Alignment bytes, rounding up.
|
|
unsigned | Log2 (Align A) |
| Returns the log2 of the alignment.
|
|
Align | commonAlignment (Align A, uint64_t Offset) |
| Returns the alignment that satisfies both alignments.
|
|
unsigned | encode (MaybeAlign A) |
| Returns a representation of the alignment that encodes undefined as 0.
|
|
MaybeAlign | decodeMaybeAlign (unsigned Value) |
| Dual operation of the encode function above.
|
|
unsigned | encode (Align A) |
| Returns a representation of the alignment, the encoded value is positive by definition.
|
|
bool | operator== (Align Lhs, uint64_t Rhs) |
| Comparisons between Align and scalars. Rhs must be positive.
|
|
bool | operator!= (Align Lhs, uint64_t Rhs) |
|
bool | operator<= (Align Lhs, uint64_t Rhs) |
|
bool | operator>= (Align Lhs, uint64_t Rhs) |
|
bool | operator< (Align Lhs, uint64_t Rhs) |
|
bool | operator> (Align Lhs, uint64_t Rhs) |
|
bool | operator== (Align Lhs, Align Rhs) |
| Comparisons operators between Align.
|
|
bool | operator!= (Align Lhs, Align Rhs) |
|
bool | operator<= (Align Lhs, Align Rhs) |
|
bool | operator>= (Align Lhs, Align Rhs) |
|
bool | operator< (Align Lhs, Align Rhs) |
|
bool | operator> (Align Lhs, Align Rhs) |
|
bool | operator<= (Align Lhs, MaybeAlign Rhs)=delete |
|
bool | operator>= (Align Lhs, MaybeAlign Rhs)=delete |
|
bool | operator< (Align Lhs, MaybeAlign Rhs)=delete |
|
bool | operator> (Align Lhs, MaybeAlign Rhs)=delete |
|
bool | operator<= (MaybeAlign Lhs, Align Rhs)=delete |
|
bool | operator>= (MaybeAlign Lhs, Align Rhs)=delete |
|
bool | operator< (MaybeAlign Lhs, Align Rhs)=delete |
|
bool | operator> (MaybeAlign Lhs, Align Rhs)=delete |
|
bool | operator<= (MaybeAlign Lhs, MaybeAlign Rhs)=delete |
|
bool | operator>= (MaybeAlign Lhs, MaybeAlign Rhs)=delete |
|
bool | operator< (MaybeAlign Lhs, MaybeAlign Rhs)=delete |
|
bool | operator> (MaybeAlign Lhs, MaybeAlign Rhs)=delete |
|
bool | operator== (MaybeAlign Lhs, Align Rhs) |
|
bool | operator!= (MaybeAlign Lhs, Align Rhs) |
|
bool | operator== (Align Lhs, MaybeAlign Rhs) |
|
bool | operator!= (Align Lhs, MaybeAlign Rhs) |
|
bool | operator== (MaybeAlign Lhs, MaybeAlign Rhs) |
|
bool | operator!= (MaybeAlign Lhs, MaybeAlign Rhs) |
|
bool | operator== (MaybeAlign Lhs, std::nullopt_t) |
|
bool | operator!= (MaybeAlign Lhs, std::nullopt_t) |
|
bool | operator== (std::nullopt_t, MaybeAlign Rhs) |
|
bool | operator!= (std::nullopt_t, MaybeAlign Rhs) |
|
std::string | DebugStr (const Align &A) |
|
std::string | DebugStr (const MaybeAlign &MA) |
|
bool | operator< (AtomicOrderingCABI, AtomicOrderingCABI)=delete |
|
bool | operator> (AtomicOrderingCABI, AtomicOrderingCABI)=delete |
|
bool | operator<= (AtomicOrderingCABI, AtomicOrderingCABI)=delete |
|
bool | operator>= (AtomicOrderingCABI, AtomicOrderingCABI)=delete |
|
template<typename Int > |
bool | isValidAtomicOrderingCABI (Int I) |
|
bool | operator< (AtomicOrdering, AtomicOrdering)=delete |
|
bool | operator> (AtomicOrdering, AtomicOrdering)=delete |
|
bool | operator<= (AtomicOrdering, AtomicOrdering)=delete |
|
bool | operator>= (AtomicOrdering, AtomicOrdering)=delete |
|
template<typename Int > |
bool | isValidAtomicOrdering (Int I) |
|
const char * | toIRString (AtomicOrdering ao) |
| String used by LLVM IR to represent atomic ordering.
|
|
bool | isStrongerThan (AtomicOrdering AO, AtomicOrdering Other) |
| Returns true if ao is stronger than other as defined by the AtomicOrdering lattice, which is based on C++'s definition.
|
|
bool | isAtLeastOrStrongerThan (AtomicOrdering AO, AtomicOrdering Other) |
|
bool | isStrongerThanUnordered (AtomicOrdering AO) |
|
bool | isStrongerThanMonotonic (AtomicOrdering AO) |
|
bool | isAcquireOrStronger (AtomicOrdering AO) |
|
bool | isReleaseOrStronger (AtomicOrdering AO) |
|
AtomicOrdering | getMergedAtomicOrdering (AtomicOrdering AO, AtomicOrdering Other) |
| Return a single atomic ordering that is at least as strong as both the AO and Other orderings for an atomic operation.
|
|
AtomicOrderingCABI | toCABI (AtomicOrdering AO) |
|
template<class InputBytes > |
std::string | encodeBase64 (InputBytes const &Bytes) |
|
llvm::Error | decodeBase64 (llvm::StringRef Input, std::vector< char > &Output) |
|
int64_t | decodePackedBCD (const uint8_t *Ptr, size_t ByteLen, bool IsSigned=true) |
|
template<typename ResultT , typename ValT > |
ResultT | decodePackedBCD (const ValT Val, bool IsSigned=true) |
|
void | printRelativeBlockFreq (raw_ostream &OS, BlockFrequency EntryFreq, BlockFrequency Freq) |
|
raw_ostream & | operator<< (raw_ostream &OS, BranchProbability Prob) |
|
void | BuryPointer (const void *Ptr) |
|
template<typename T > |
void | BuryPointer (std::unique_ptr< T > Ptr) |
|
Expected< CachePruningPolicy > | parseCachePruningPolicy (StringRef PolicyStr) |
| Parse the given string as a cache pruning policy.
|
|
bool | pruneCache (StringRef Path, CachePruningPolicy Policy, const std::vector< std::unique_ptr< MemoryBuffer > > &Files={}) |
| Peform pruning using the supplied policy, returns true if pruning occurred, i.e.
|
|
Expected< FileCache > | localCache (const Twine &CacheNameRef, const Twine &TempFilePrefixRef, const Twine &CacheDirectoryPathRef, AddBufferFn AddBuffer=[](size_t Task, const Twine &ModuleName, std::unique_ptr< MemoryBuffer > MB) {}) |
| Create a local file system cache which uses the given cache name, temporary file prefix, cache directory and file callback.
|
|
template<typename T > |
static size_t | capacity_in_bytes (const T &x) |
|
template<typename To , typename From > |
bool | isa (const From &Val) |
| isa<X> - Return true if the parameter to the template is an instance of one of the template type arguments.
|
|
template<typename First , typename Second , typename... Rest, typename From > |
bool | isa (const From &Val) |
|
template<typename To , typename From > |
decltype(auto) | cast (const From &Val) |
| cast<X> - Return the argument parameter cast to the specified type.
|
|
template<typename To , typename From > |
decltype(auto) | cast (From &Val) |
|
template<typename To , typename From > |
decltype(auto) | cast (From *Val) |
|
template<typename To , typename From > |
decltype(auto) | cast (std::unique_ptr< From > &&Val) |
|
template<typename To , typename From > |
decltype(auto) | dyn_cast (const From &Val) |
| dyn_cast<X> - Return the argument parameter cast to the specified type.
|
|
template<typename To , typename From > |
decltype(auto) | dyn_cast (From &Val) |
|
template<typename To , typename From > |
decltype(auto) | dyn_cast (From *Val) |
|
template<typename To , typename From > |
decltype(auto) | dyn_cast (std::unique_ptr< From > &Val) |
|
template<typename... X, class Y > |
bool | isa_and_present (const Y &Val) |
| isa_and_present<X> - Functionally identical to isa, except that a null value is accepted.
|
|
template<typename... X, class Y > |
bool | isa_and_nonnull (const Y &Val) |
|
template<class X , class Y > |
auto | cast_if_present (const Y &Val) |
| cast_if_present<X> - Functionally identical to cast, except that a null value is accepted.
|
|
template<class X , class Y > |
auto | cast_if_present (Y &Val) |
|
template<class X , class Y > |
auto | cast_if_present (Y *Val) |
|
template<class X , class Y > |
auto | cast_if_present (std::unique_ptr< Y > &&Val) |
|
template<class X , class Y > |
auto | cast_or_null (const Y &Val) |
|
template<class X , class Y > |
auto | cast_or_null (Y &Val) |
|
template<class X , class Y > |
auto | cast_or_null (Y *Val) |
|
template<class X , class Y > |
auto | cast_or_null (std::unique_ptr< Y > &&Val) |
|
template<class X , class Y > |
auto | dyn_cast_if_present (const Y &Val) |
| dyn_cast_if_present<X> - Functionally identical to dyn_cast, except that a null (or none in the case of optionals) value is accepted.
|
|
template<class X , class Y > |
auto | dyn_cast_if_present (Y &Val) |
|
template<class X , class Y > |
auto | dyn_cast_if_present (Y *Val) |
|
template<class X , class Y > |
auto | dyn_cast_or_null (const Y &Val) |
|
template<class X , class Y > |
auto | dyn_cast_or_null (Y &Val) |
|
template<class X , class Y > |
auto | dyn_cast_or_null (Y *Val) |
|
template<class X , class Y > |
CastInfo< X, std::unique_ptr< Y > >::CastResultType | unique_dyn_cast (std::unique_ptr< Y > &Val) |
| unique_dyn_cast<X> - Given a unique_ptr<Y>, try to return a unique_ptr<X>, taking ownership of the input pointer iff isa<X>(Val) is true.
|
|
template<class X , class Y > |
auto | unique_dyn_cast (std::unique_ptr< Y > &&Val) |
|
template<class X , class Y > |
CastInfo< X, std::unique_ptr< Y > >::CastResultType | unique_dyn_cast_or_null (std::unique_ptr< Y > &Val) |
|
template<class X , class Y > |
auto | unique_dyn_cast_or_null (std::unique_ptr< Y > &&Val) |
|
template<typename T > |
std::enable_if_t< std::is_signed_v< T >, std::optional< T > > | checkedAdd (T LHS, T RHS) |
| Add two signed integers LHS and RHS .
|
|
template<typename T > |
std::enable_if_t< std::is_signed_v< T >, std::optional< T > > | checkedSub (T LHS, T RHS) |
| Subtract two signed integers LHS and RHS .
|
|
template<typename T > |
std::enable_if_t< std::is_signed_v< T >, std::optional< T > > | checkedMul (T LHS, T RHS) |
| Multiply two signed integers LHS and RHS .
|
|
template<typename T > |
std::enable_if_t< std::is_signed_v< T >, std::optional< T > > | checkedMulAdd (T A, T B, T C) |
| Multiply A and B, and add C to the resulting product.
|
|
template<typename T > |
std::enable_if_t< std::is_unsigned_v< T >, std::optional< T > > | checkedAddUnsigned (T LHS, T RHS) |
| Add two unsigned integers LHS and RHS .
|
|
template<typename T > |
std::enable_if_t< std::is_unsigned_v< T >, std::optional< T > > | checkedMulUnsigned (T LHS, T RHS) |
| Multiply two unsigned integers LHS and RHS .
|
|
template<typename T > |
std::enable_if_t< std::is_unsigned_v< T >, std::optional< T > > | checkedMulAddUnsigned (T A, T B, T C) |
| Multiply unsigned integers A and B, and add C to the resulting product.
|
|
raw_ostream & | operator<< (raw_ostream &OS, sys::TimePoint<> TP) |
|
raw_ostream & | operator<< (raw_ostream &OS, sys::UtcTime<> TP) |
|
ConversionResult | ConvertUTF8toUTF16 (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags) |
|
ConversionResult | ConvertUTF8toUTF32Partial (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags) |
| Convert a partial UTF8 sequence to UTF32.
|
|
ConversionResult | ConvertUTF8toUTF32 (const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags) |
| Convert a partial UTF8 sequence to UTF32.
|
|
ConversionResult | ConvertUTF16toUTF8 (const UTF16 **sourceStart, const UTF16 *sourceEnd, UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags) |
|
ConversionResult | ConvertUTF32toUTF8 (const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags) |
|
ConversionResult | ConvertUTF16toUTF32 (const UTF16 **sourceStart, const UTF16 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags) |
|
ConversionResult | ConvertUTF32toUTF16 (const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags) |
|
Boolean | isLegalUTF8Sequence (const UTF8 *source, const UTF8 *sourceEnd) |
|
Boolean | isLegalUTF8String (const UTF8 **source, const UTF8 *sourceEnd) |
|
unsigned | getUTF8SequenceSize (const UTF8 *source, const UTF8 *sourceEnd) |
|
unsigned | getNumBytesForUTF8 (UTF8 firstByte) |
|
bool | ConvertUTF8toWide (unsigned WideCharWidth, llvm::StringRef Source, char *&ResultPtr, const UTF8 *&ErrorPtr) |
| Convert an UTF8 StringRef to UTF8, UTF16, or UTF32 depending on WideCharWidth.
|
|
bool | ConvertUTF8toWide (llvm::StringRef Source, std::wstring &Result) |
| Converts a UTF-8 StringRef to a std::wstring.
|
|
bool | ConvertUTF8toWide (const char *Source, std::wstring &Result) |
| Converts a UTF-8 C-string to a std::wstring.
|
|
bool | convertWideToUTF8 (const std::wstring &Source, std::string &Result) |
| Converts a std::wstring to a UTF-8 encoded std::string.
|
|
bool | ConvertCodePointToUTF8 (unsigned Source, char *&ResultPtr) |
| Convert an Unicode code point to UTF8 sequence.
|
|
ConversionResult | convertUTF8Sequence (const UTF8 **source, const UTF8 *sourceEnd, UTF32 *target, ConversionFlags flags) |
| Convert the first UTF8 sequence in the given source buffer to a UTF32 code point.
|
|
bool | hasUTF16ByteOrderMark (ArrayRef< char > SrcBytes) |
| Returns true if a blob of text starts with a UTF-16 big or little endian byte order mark.
|
|
bool | convertUTF16ToUTF8String (ArrayRef< char > SrcBytes, std::string &Out) |
| Converts a stream of raw bytes assumed to be UTF16 into a UTF8 std::string.
|
|
bool | convertUTF16ToUTF8String (ArrayRef< UTF16 > Src, std::string &Out) |
| Converts a UTF16 string into a UTF8 std::string.
|
|
bool | convertUTF32ToUTF8String (ArrayRef< char > SrcBytes, std::string &Out) |
| Converts a stream of raw bytes assumed to be UTF32 into a UTF8 std::string.
|
|
bool | convertUTF32ToUTF8String (ArrayRef< UTF32 > Src, std::string &Out) |
| Converts a UTF32 string into a UTF8 std::string.
|
|
bool | convertUTF8ToUTF16String (StringRef SrcUTF8, SmallVectorImpl< UTF16 > &DstUTF16) |
| Converts a UTF-8 string into a UTF-16 string with native endianness.
|
|
uint32_t | crc32 (ArrayRef< uint8_t > Data) |
|
uint32_t | crc32 (uint32_t CRC, ArrayRef< uint8_t > Data) |
|
uint24_t | getSwappedBytes (uint24_t C) |
| Needed by swapByteOrder().
|
|
bool | isCurrentDebugType (const char *Type) |
| isCurrentDebugType - Return true if the specified string is the debug type specified on the command line, or if none was specified on the command line with the -debug-only=X option.
|
|
void | setCurrentDebugType (const char *Type) |
| setCurrentDebugType - Set the current debug type, as if the -debug-only=X option were specified.
|
|
void | setCurrentDebugTypes (const char **Types, unsigned Count) |
| setCurrentDebugTypes - Set the current debug type, as if the -debug-only=X,Y,Z option were specified.
|
|
raw_ostream & | dbgs () |
| dbgs() - This returns a reference to a raw_ostream for debugging messages.
|
|
static unsigned | getNumFSPasses () |
|
static unsigned | getFSPassBitEnd (sampleprof::FSDiscriminatorPass P) |
|
static unsigned | getFSPassBitBegin (sampleprof::FSDiscriminatorPass P) |
|
static int | getLastFSPassBitBegin () |
|
static unsigned | getLastFSPassBitEnd () |
|
static unsigned | getBaseFSBitBegin () |
|
static unsigned | getBaseFSBitEnd () |
|
static unsigned | getN1Bits (int N) |
|
uint32_t | djbHash (StringRef Buffer, uint32_t H=5381) |
| The Bernstein hash function used by the DWARF accelerator tables.
|
|
uint32_t | caseFoldingDjbHash (StringRef Buffer, uint32_t H=5381) |
| Computes the Bernstein hash after folding the input according to the Dwarf 5 standard case folding rules.
|
|
std::error_code | make_error_code (errc E) |
|
template<typename ErrT , typename... ArgTs> |
Error | make_error (ArgTs &&... Args) |
| Make a Error instance representing failure using the given error info type.
|
|
Error | joinErrors (Error E1, Error E2) |
| Concatenate errors.
|
|
void | report_fatal_error (Error Err, bool gen_crash_diag=true) |
| Report a serious error, calling any installed error handler.
|
|
void | cantFail (Error Err, const char *Msg=nullptr) |
| Report a fatal error if Err is a failure value.
|
|
template<typename T > |
T | cantFail (Expected< T > ValOrErr, const char *Msg=nullptr) |
| Report a fatal error if ValOrErr is a failure value, otherwise unwraps and returns the contained value.
|
|
template<typename T > |
T & | cantFail (Expected< T & > ValOrErr, const char *Msg=nullptr) |
| Report a fatal error if ValOrErr is a failure value, otherwise unwraps and returns the contained reference.
|
|
Error | handleErrorImpl (std::unique_ptr< ErrorInfoBase > Payload) |
|
template<typename HandlerT , typename... HandlerTs> |
Error | handleErrorImpl (std::unique_ptr< ErrorInfoBase > Payload, HandlerT &&Handler, HandlerTs &&... Handlers) |
|
template<typename... HandlerTs> |
Error | handleErrors (Error E, HandlerTs &&... Hs) |
| Pass the ErrorInfo(s) contained in E to their respective handlers.
|
|
template<typename... HandlerTs> |
void | handleAllErrors (Error E, HandlerTs &&... Handlers) |
| Behaves the same as handleErrors, except that by contract all errors must be handled by the given handlers (i.e.
|
|
void | handleAllErrors (Error E) |
| Check that E is a non-error, then drop it.
|
|
template<typename HandlerT > |
void | visitErrors (const Error &E, HandlerT H) |
| Visit all the ErrorInfo(s) contained in E by passing them to the respective handler, without consuming the error.
|
|
template<typename T , typename RecoveryFtor , typename... HandlerTs> |
Expected< T > | handleExpected (Expected< T > ValOrErr, RecoveryFtor &&RecoveryPath, HandlerTs &&... Handlers) |
| Handle any errors (if present) in an Expected<T>, then try a recovery path.
|
|
void | logAllUnhandledErrors (Error E, raw_ostream &OS, Twine ErrorBanner={}) |
| Log all errors (if any) in E to OS.
|
|
std::string | toString (Error E) |
| Write all error messages (if any) in E to a string.
|
|
std::string | toStringWithoutConsuming (const Error &E) |
| Like toString(), but does not consume the error.
|
|
void | consumeError (Error Err) |
| Consume a Error without doing anything.
|
|
template<typename T > |
std::optional< T > | expectedToOptional (Expected< T > &&E) |
| Convert an Expected to an Optional without doing anything.
|
|
template<typename T > |
std::optional< T > | expectedToStdOptional (Expected< T > &&E) |
|
bool | errorToBool (Error Err) |
| Helper for converting an Error to a bool.
|
|
std::error_code | inconvertibleErrorCode () |
| The value returned by this function can be returned from convertToErrorCode for Error values where no sensible translation to std::error_code exists.
|
|
Error | errorCodeToError (std::error_code EC) |
| Helper for converting an std::error_code to a Error.
|
|
std::error_code | errorToErrorCode (Error Err) |
| Helper for converting an ECError to a std::error_code.
|
|
std::error_code | errnoAsErrorCode () |
| Helper to get errno as an std::error_code.
|
|
template<typename T > |
Expected< T > | errorOrToExpected (ErrorOr< T > &&EO) |
| Convert an ErrorOr<T> to an Expected<T>.
|
|
template<typename T > |
ErrorOr< T > | expectedToErrorOr (Expected< T > &&E) |
| Convert an Expected<T> to an ErrorOr<T>.
|
|
template<typename... Ts> |
Error | createStringError (std::error_code EC, char const *Fmt, const Ts &... Vals) |
| Create formatted StringError object.
|
|
Error | createStringError (std::string &&Msg, std::error_code EC) |
|
Error | createStringError (std::error_code EC, const char *S) |
|
Error | createStringError (std::error_code EC, const Twine &S) |
|
Error | createStringError (const Twine &S) |
| Create a StringError with an inconvertible error code.
|
|
template<typename... Ts> |
Error | createStringError (char const *Fmt, const Ts &...Vals) |
|
template<typename... Ts> |
Error | createStringError (std::errc EC, char const *Fmt, const Ts &... Vals) |
|
Error | createFileError (const Twine &F, Error E) |
| Concatenate a source file path and/or name with an Error.
|
|
Error | createFileError (const Twine &F, size_t Line, Error E) |
| Concatenate a source file path and/or name with line number and an Error.
|
|
Error | createFileError (const Twine &F, std::error_code EC) |
| Concatenate a source file path and/or name with a std::error_code to form an Error object.
|
|
Error | createFileError (const Twine &F, size_t Line, std::error_code EC) |
| Concatenate a source file path and/or name with line number and std::error_code to form an Error object.
|
|
Error | createFileError (const Twine &F, ErrorSuccess)=delete |
|
LLVMErrorRef | wrap (Error Err) |
| Conversion from Error to LLVMErrorRef for C error bindings.
|
|
Error | unwrap (LLVMErrorRef ErrRef) |
| Conversion from LLVMErrorRef to Error for C error bindings.
|
|
void | install_fatal_error_handler (fatal_error_handler_t handler, void *user_data=nullptr) |
| install_fatal_error_handler - Installs a new error handler to be used whenever a serious (non-recoverable) error is encountered by LLVM.
|
|
void | remove_fatal_error_handler () |
| Restores default error handling behaviour.
|
|
void | report_fatal_error (const char *reason, bool gen_crash_diag=true) |
| Reports a serious error, calling any installed error handler.
|
|
void | report_fatal_error (StringRef reason, bool gen_crash_diag=true) |
|
void | report_fatal_error (const Twine &reason, bool gen_crash_diag=true) |
|
void | install_bad_alloc_error_handler (fatal_error_handler_t handler, void *user_data=nullptr) |
| Installs a new bad alloc error handler that should be used whenever a bad alloc error, e.g.
|
|
void | remove_bad_alloc_error_handler () |
| Restores default bad alloc error handling behavior.
|
|
void | install_out_of_memory_new_handler () |
|
void | report_bad_alloc_error (const char *Reason, bool GenCrashDiag=true) |
| Reports a bad alloc error, calling any user defined bad alloc error handler.
|
|
void | llvm_unreachable_internal (const char *msg=nullptr, const char *file=nullptr, unsigned line=0) |
| This function calls abort(), and prints the optional message to stderr.
|
|
template<class T , class E > |
std::enable_if_t< std::is_error_code_enum< E >::value||std::is_error_condition_enum< E >::value, bool > | operator== (const ErrorOr< T > &Err, E Code) |
|
int | DiffFilesWithTolerance (StringRef FileA, StringRef FileB, double AbsTol, double RelTol, std::string *Error=nullptr) |
| DiffFilesWithTolerance - Compare the two files specified, returning 0 if the files match, 1 if they are different, and 2 if there is a file error.
|
|
template<typename... Ts> |
format_object< Ts... > | format (const char *Fmt, const Ts &... Vals) |
| These are helper functions used to produce formatted output.
|
|
FormattedString | left_justify (StringRef Str, unsigned Width) |
| left_justify - append spaces after string so total output is Width characters.
|
|
FormattedString | right_justify (StringRef Str, unsigned Width) |
| right_justify - add spaces before string so total output is Width characters.
|
|
FormattedString | center_justify (StringRef Str, unsigned Width) |
| center_justify - add spaces before and after string so total output is Width characters.
|
|
FormattedNumber | format_hex (uint64_t N, unsigned Width, bool Upper=false) |
| format_hex - Output N as a fixed width hexadecimal.
|
|
FormattedNumber | format_hex_no_prefix (uint64_t N, unsigned Width, bool Upper=false) |
| format_hex_no_prefix - Output N as a fixed width hexadecimal.
|
|
FormattedNumber | format_decimal (int64_t N, unsigned Width) |
| format_decimal - Output N as a right justified, fixed-width decimal.
|
|
FormattedBytes | format_bytes (ArrayRef< uint8_t > Bytes, std::optional< uint64_t > FirstByteOffset=std::nullopt, uint32_t NumPerLine=16, uint8_t ByteGroupSize=4, uint32_t IndentLevel=0, bool Upper=false) |
|
FormattedBytes | format_bytes_with_ascii (ArrayRef< uint8_t > Bytes, std::optional< uint64_t > FirstByteOffset=std::nullopt, uint32_t NumPerLine=16, uint8_t ByteGroupSize=4, uint32_t IndentLevel=0, bool Upper=false) |
|
template<typename T > |
support::detail::AlignAdapter< T > | fmt_align (T &&Item, AlignStyle Where, size_t Amount, char Fill=' ') |
|
template<typename T > |
support::detail::PadAdapter< T > | fmt_pad (T &&Item, size_t Left, size_t Right) |
|
template<typename T > |
support::detail::RepeatAdapter< T > | fmt_repeat (T &&Item, size_t Count) |
|
support::detail::ErrorAdapter | fmt_consume (Error &&Item) |
|
formatted_raw_ostream & | fouts () |
| fouts() - This returns a reference to a formatted_raw_ostream for standard output.
|
|
formatted_raw_ostream & | ferrs () |
| ferrs() - This returns a reference to a formatted_raw_ostream for standard error.
|
|
formatted_raw_ostream & | fdbgs () |
| fdbgs() - This returns a reference to a formatted_raw_ostream for debug output.
|
|
template<typename... Ts> |
auto | formatv (bool Validate, const char *Fmt, Ts &&...Vals) |
|
template<typename... Ts> |
auto | formatv (const char *Fmt, Ts &&...Vals) |
|
template<class NodeT > |
raw_ostream & | operator<< (raw_ostream &O, const DomTreeNodeBase< NodeT > *Node) |
|
template<class NodeT > |
void | PrintDomTree (const DomTreeNodeBase< NodeT > *N, raw_ostream &O, unsigned Lev) |
|
template<class BlockT , class LoopT > |
raw_ostream & | operator<< (raw_ostream &OS, const LoopBase< BlockT, LoopT > &Loop) |
|
template<class BlockT , class LoopT > |
std::pair< BlockT *, bool > | getExitBlockHelper (const LoopBase< BlockT, LoopT > *L, bool Unique) |
| getExitBlock - If getExitBlocks would return exactly one block, return that block.
|
|
template<class BlockT , class LoopT , typename PredicateT > |
void | getUniqueExitBlocksHelper (const LoopT *L, SmallVectorImpl< BlockT * > &ExitBlocks, PredicateT Pred) |
|
template<class BlockT , class LoopT > |
static void | discoverAndMapSubloop (LoopT *L, ArrayRef< BlockT * > Backedges, LoopInfoBase< BlockT, LoopT > *LI, const DomTreeBase< BlockT > &DomTree) |
| Stable LoopInfo Analysis - Build a loop tree using stable iterators so the result does / not depend on use list (block predecessor) order.
|
|
template<typename T > |
bool | compareVectors (std::vector< T > &BB1, std::vector< T > &BB2) |
|
template<class BlockT , class LoopT > |
void | addInnerLoopsToHeadersMap (DenseMap< BlockT *, const LoopT * > &LoopHeaders, const LoopInfoBase< BlockT, LoopT > &LI, const LoopT &L) |
|
template<class BlockT , class LoopT > |
static void | compareLoops (const LoopT *L, const LoopT *OtherL, DenseMap< BlockT *, const LoopT * > &OtherLoopHeaders) |
|
bool | DisplayGraph (StringRef Filename, bool wait=true, GraphProgram::Name program=GraphProgram::DOT) |
|
template<typename GraphType > |
raw_ostream & | WriteGraph (raw_ostream &O, const GraphType &G, bool ShortNames=false, const Twine &Title="") |
|
std::string | createGraphFilename (const Twine &Name, int &FD) |
|
template<typename GraphType > |
std::string | WriteGraph (const GraphType &G, const Twine &Name, bool ShortNames=false, const Twine &Title="", std::string Filename="") |
| Writes graph into a provided Filename .
|
|
template<typename GraphType > |
LLVM_DUMP_METHOD void | dumpDotGraphToFile (const GraphType &G, const Twine &FileName, const Twine &Title, bool ShortNames=false, const Twine &Name="") |
| DumpDotGraph - Just dump a dot graph to the user-provided file name.
|
|
template<typename GraphType > |
void | ViewGraph (const GraphType &G, const Twine &Name, bool ShortNames=false, const Twine &Title="", GraphProgram::Name Program=GraphProgram::DOT) |
| ViewGraph - Emit a dot graph, run 'dot', run gv on the postscript file, then cleanup.
|
|
template<typename T > |
std::enable_if_t< is_detected< hashbuilder_detail::HashCodeHashBuilder::HasAddHashT, T >::value, hash_code > | hash_value (const T &Value) |
| Provide a default implementation of hash_value when addHash(const T &) is supported.
|
|
InstructionCost | operator+ (const InstructionCost &LHS, const InstructionCost &RHS) |
|
InstructionCost | operator- (const InstructionCost &LHS, const InstructionCost &RHS) |
|
InstructionCost | operator* (const InstructionCost &LHS, const InstructionCost &RHS) |
|
InstructionCost | operator/ (const InstructionCost &LHS, const InstructionCost &RHS) |
|
raw_ostream & | operator<< (raw_ostream &OS, const InstructionCost &V) |
|
KnownBits | operator& (KnownBits LHS, const KnownBits &RHS) |
|
KnownBits | operator& (const KnownBits &LHS, KnownBits &&RHS) |
|
KnownBits | operator| (KnownBits LHS, const KnownBits &RHS) |
|
KnownBits | operator| (const KnownBits &LHS, KnownBits &&RHS) |
|
KnownBits | operator^ (KnownBits LHS, const KnownBits &RHS) |
|
KnownBits | operator^ (const KnownBits &LHS, KnownBits &&RHS) |
|
raw_ostream & | operator<< (raw_ostream &OS, const KnownBits &Known) |
|
unsigned | encodeSLEB128 (int64_t Value, raw_ostream &OS, unsigned PadTo=0) |
| Utility function to encode a SLEB128 value to an output stream.
|
|
unsigned | encodeSLEB128 (int64_t Value, uint8_t *p, unsigned PadTo=0) |
| Utility function to encode a SLEB128 value to a buffer.
|
|
unsigned | encodeULEB128 (uint64_t Value, raw_ostream &OS, unsigned PadTo=0) |
| Utility function to encode a ULEB128 value to an output stream.
|
|
unsigned | encodeULEB128 (uint64_t Value, uint8_t *p, unsigned PadTo=0) |
| Utility function to encode a ULEB128 value to a buffer.
|
|
uint64_t | decodeULEB128 (const uint8_t *p, unsigned *n=nullptr, const uint8_t *end=nullptr, const char **error=nullptr) |
| Utility function to decode a ULEB128 value.
|
|
int64_t | decodeSLEB128 (const uint8_t *p, unsigned *n=nullptr, const uint8_t *end=nullptr, const char **error=nullptr) |
| Utility function to decode a SLEB128 value.
|
|
uint64_t | decodeULEB128AndInc (const uint8_t *&p, const uint8_t *end, const char **error=nullptr) |
|
int64_t | decodeSLEB128AndInc (const uint8_t *&p, const uint8_t *end, const char **error=nullptr) |
|
uint64_t | decodeULEB128AndIncUnsafe (const uint8_t *&p) |
|
unsigned | getULEB128Size (uint64_t Value) |
| Utility function to get the size of the ULEB128-encoded value.
|
|
unsigned | getSLEB128Size (int64_t Value) |
| Utility function to get the size of the SLEB128-encoded value.
|
|
LogicalResult | success (bool IsSuccess=true) |
| Utility function to generate a LogicalResult.
|
|
LogicalResult | failure (bool IsFailure=true) |
| Utility function to generate a LogicalResult.
|
|
bool | succeeded (LogicalResult Result) |
| Utility function that returns true if the provided LogicalResult corresponds to a success value.
|
|
bool | failed (LogicalResult Result) |
| Utility function that returns true if the provided LogicalResult corresponds to a failure value.
|
|
template<typename T , typename = std::enable_if_t<!std::is_convertible_v<T, bool>>> |
auto | success (T &&Y) |
| Wrap a value on the success path in a FailureOr of the same value type.
|
|
void | llvm_shutdown () |
| llvm_shutdown - Deallocate and destroy all ManagedStatic variables.
|
|
template<typename T > |
T | maskTrailingOnes (unsigned N) |
| Create a bitmask with the N right-most bits set to 1, and all other bits set to 0.
|
|
template<typename T > |
T | maskLeadingOnes (unsigned N) |
| Create a bitmask with the N left-most bits set to 1, and all other bits set to 0.
|
|
template<typename T > |
T | maskTrailingZeros (unsigned N) |
| Create a bitmask with the N right-most bits set to 0, and all other bits set to 1.
|
|
template<typename T > |
T | maskLeadingZeros (unsigned N) |
| Create a bitmask with the N left-most bits set to 0, and all other bits set to 1.
|
|
template<typename T > |
T | reverseBits (T Val) |
| Reverse the bits in Val .
|
|
constexpr uint32_t | Hi_32 (uint64_t Value) |
| Return the high 32 bits of a 64 bit value.
|
|
constexpr uint32_t | Lo_32 (uint64_t Value) |
| Return the low 32 bits of a 64 bit value.
|
|
constexpr uint64_t | Make_64 (uint32_t High, uint32_t Low) |
| Make a 64-bit integer from a high / low pair of 32-bit integers.
|
|
template<unsigned N> |
constexpr bool | isInt (int64_t x) |
| Checks if an integer fits into the given bit width.
|
|
template<unsigned N, unsigned S> |
constexpr bool | isShiftedInt (int64_t x) |
| Checks if a signed integer is an N bit number shifted left by S.
|
|
template<unsigned N> |
constexpr bool | isUInt (uint64_t x) |
| Checks if an unsigned integer fits into the given bit width.
|
|
template<unsigned N, unsigned S> |
constexpr bool | isShiftedUInt (uint64_t x) |
| Checks if a unsigned integer is an N bit number shifted left by S.
|
|
uint64_t | maxUIntN (uint64_t N) |
| Gets the maximum value for a N-bit unsigned integer.
|
|
int64_t | minIntN (int64_t N) |
| Gets the minimum value for a N-bit signed integer.
|
|
int64_t | maxIntN (int64_t N) |
| Gets the maximum value for a N-bit signed integer.
|
|
bool | isUIntN (unsigned N, uint64_t x) |
| Checks if an unsigned integer fits into the given (dynamic) bit width.
|
|
bool | isIntN (unsigned N, int64_t x) |
| Checks if an signed integer fits into the given (dynamic) bit width.
|
|
constexpr bool | isMask_32 (uint32_t Value) |
| Return true if the argument is a non-empty sequence of ones starting at the least significant bit with the remainder zero (32 bit version).
|
|
constexpr bool | isMask_64 (uint64_t Value) |
| Return true if the argument is a non-empty sequence of ones starting at the least significant bit with the remainder zero (64 bit version).
|
|
constexpr bool | isShiftedMask_32 (uint32_t Value) |
| Return true if the argument contains a non-empty sequence of ones with the remainder zero (32 bit version.) Ex.
|
|
constexpr bool | isShiftedMask_64 (uint64_t Value) |
| Return true if the argument contains a non-empty sequence of ones with the remainder zero (64 bit version.)
|
|
constexpr bool | isPowerOf2_32 (uint32_t Value) |
| Return true if the argument is a power of two > 0.
|
|
constexpr bool | isPowerOf2_64 (uint64_t Value) |
| Return true if the argument is a power of two > 0 (64 bit edition.)
|
|
bool | isShiftedMask_32 (uint32_t Value, unsigned &MaskIdx, unsigned &MaskLen) |
| Return true if the argument contains a non-empty sequence of ones with the remainder zero (32 bit version.) Ex.
|
|
bool | isShiftedMask_64 (uint64_t Value, unsigned &MaskIdx, unsigned &MaskLen) |
| Return true if the argument contains a non-empty sequence of ones with the remainder zero (64 bit version.) If true, MaskIdx will specify the index of the lowest set bit and MaskLen is updated to specify the length of the mask, else neither are updated.
|
|
template<size_t kValue> |
constexpr size_t | CTLog2 () |
| Compile time Log2.
|
|
template<> |
constexpr size_t | CTLog2< 1 > () |
|
unsigned | Log2_32 (uint32_t Value) |
| Return the floor log base 2 of the specified value, -1 if the value is zero.
|
|
unsigned | Log2_64 (uint64_t Value) |
| Return the floor log base 2 of the specified value, -1 if the value is zero.
|
|
unsigned | Log2_32_Ceil (uint32_t Value) |
| Return the ceil log base 2 of the specified value, 32 if the value is zero.
|
|
unsigned | Log2_64_Ceil (uint64_t Value) |
| Return the ceil log base 2 of the specified value, 64 if the value is zero.
|
|
template<typename U , typename V , typename T = common_uint<U, V>> |
constexpr T | MinAlign (U A, V B) |
| A and B are either alignments or offsets.
|
|
constexpr uint64_t | MinAlign (uint64_t A, uint64_t B) |
| Fallback when arguments aren't integral.
|
|
constexpr uint64_t | NextPowerOf2 (uint64_t A) |
| Returns the next power of two (in 64-bits) that is strictly greater than A.
|
|
uint64_t | PowerOf2Ceil (uint64_t A) |
| Returns the power of two which is greater than or equal to the given value.
|
|
template<typename U , typename V , typename T = common_uint<U, V>> |
constexpr T | divideCeil (U Numerator, V Denominator) |
| Returns the integer ceil(Numerator / Denominator).
|
|
constexpr uint64_t | divideCeil (uint64_t Numerator, uint64_t Denominator) |
| Fallback when arguments aren't integral.
|
|
template<typename U , typename V > |
constexpr bool | divideSignedWouldOverflow (U Numerator, V Denominator) |
|
template<typename U , typename V , typename T = common_sint<U, V>> |
constexpr T | divideCeilSigned (U Numerator, V Denominator) |
| Returns the integer ceil(Numerator / Denominator).
|
|
template<typename U , typename V , typename T = common_sint<U, V>> |
constexpr T | divideFloorSigned (U Numerator, V Denominator) |
| Returns the integer floor(Numerator / Denominator).
|
|
template<typename U , typename V , typename T = common_sint<U, V>> |
constexpr T | mod (U Numerator, V Denominator) |
| Returns the remainder of the Euclidean division of LHS by RHS.
|
|
template<typename U , typename V , typename T = common_uint<U, V>> |
constexpr T | divideNearest (U Numerator, V Denominator) |
| Returns (Numerator / Denominator) rounded by round-half-up.
|
|
template<typename U , typename V , typename T = common_uint<U, V>> |
constexpr T | alignTo (U Value, V Align) |
| Returns the next integer (mod 2**nbits) that is greater than or equal to Value and is a multiple of Align .
|
|
constexpr uint64_t | alignTo (uint64_t Value, uint64_t Align) |
| Fallback when arguments aren't integral.
|
|
template<typename U , typename V , typename T = common_uint<U, V>> |
constexpr T | alignToPowerOf2 (U Value, V Align) |
| Will overflow only if result is not representable in T.
|
|
constexpr uint64_t | alignToPowerOf2 (uint64_t Value, uint64_t Align) |
| Fallback when arguments aren't integral.
|
|
template<typename U , typename V , typename W , typename T = common_uint<common_uint<U, V>, W>> |
constexpr T | alignTo (U Value, V Align, W Skew) |
| If non-zero Skew is specified, the return value will be a minimal integer that is greater than or equal to Size and equal to A * N + Skew for some integer N.
|
|
template<auto Align, typename V , typename T = common_uint<decltype(Align), V>> |
constexpr T | alignTo (V Value) |
| Returns the next integer (mod 2**nbits) that is greater than or equal to Value and is a multiple of Align .
|
|
template<typename U , typename V , typename W = uint8_t, typename T = common_uint<common_uint<U, V>, W>> |
constexpr T | alignDown (U Value, V Align, W Skew=0) |
| Returns the largest unsigned integer less than or equal to Value and is Skew mod Align .
|
|
template<unsigned B> |
constexpr int32_t | SignExtend32 (uint32_t X) |
| Sign-extend the number in the bottom B bits of X to a 32-bit integer.
|
|
int32_t | SignExtend32 (uint32_t X, unsigned B) |
| Sign-extend the number in the bottom B bits of X to a 32-bit integer.
|
|
template<unsigned B> |
constexpr int64_t | SignExtend64 (uint64_t x) |
| Sign-extend the number in the bottom B bits of X to a 64-bit integer.
|
|
int64_t | SignExtend64 (uint64_t X, unsigned B) |
| Sign-extend the number in the bottom B bits of X to a 64-bit integer.
|
|
template<typename U , typename V , typename T = common_uint<U, V>> |
constexpr T | AbsoluteDifference (U X, V Y) |
| Subtract two unsigned integers, X and Y, of type T and return the absolute value of the result.
|
|
template<typename T > |
std::enable_if_t< std::is_unsigned_v< T >, T > | SaturatingAdd (T X, T Y, bool *ResultOverflowed=nullptr) |
| Add two unsigned integers, X and Y, of type T.
|
|
template<class T , class... Ts> |
std::enable_if_t< std::is_unsigned_v< T >, T > | SaturatingAdd (T X, T Y, T Z, Ts... Args) |
| Add multiple unsigned integers of type T.
|
|
template<typename T > |
std::enable_if_t< std::is_unsigned_v< T >, T > | SaturatingMultiply (T X, T Y, bool *ResultOverflowed=nullptr) |
| Multiply two unsigned integers, X and Y, of type T.
|
|
template<typename T > |
std::enable_if_t< std::is_unsigned_v< T >, T > | SaturatingMultiplyAdd (T X, T Y, T A, bool *ResultOverflowed=nullptr) |
| Multiply two unsigned integers, X and Y, and add the unsigned integer, A to the product.
|
|
template<typename T > |
std::enable_if_t< std::is_signed_v< T >, T > | AddOverflow (T X, T Y, T &Result) |
| Add two signed integers, computing the two's complement truncated result, returning true if overflow occurred.
|
|
template<typename T > |
std::enable_if_t< std::is_signed_v< T >, T > | SubOverflow (T X, T Y, T &Result) |
| Subtract two signed integers, computing the two's complement truncated result, returning true if an overflow ocurred.
|
|
template<typename T > |
std::enable_if_t< std::is_signed_v< T >, T > | MulOverflow (T X, T Y, T &Result) |
| Multiply two signed integers, computing the two's complement truncated result, returning true if an overflow ocurred.
|
|
uint64_t | MD5Hash (StringRef Str) |
| Helper to compute and return lower 64 bits of the given string's MD5 hash.
|
|
LLVM_ATTRIBUTE_RETURNS_NONNULL void * | safe_malloc (size_t Sz) |
|
LLVM_ATTRIBUTE_RETURNS_NONNULL void * | safe_calloc (size_t Count, size_t Sz) |
|
LLVM_ATTRIBUTE_RETURNS_NONNULL void * | safe_realloc (void *Ptr, size_t Sz) |
|
LLVM_ATTRIBUTE_RETURNS_NONNULL LLVM_ATTRIBUTE_RETURNS_NOALIAS void * | allocate_buffer (size_t Size, size_t Alignment) |
| Allocate a buffer of memory with the given size and alignment.
|
|
void | deallocate_buffer (void *Ptr, size_t Size, size_t Alignment) |
| Deallocate a buffer of memory with the given size and alignment.
|
|
bool | isNoModRef (const ModRefInfo MRI) |
|
bool | isModOrRefSet (const ModRefInfo MRI) |
|
bool | isModAndRefSet (const ModRefInfo MRI) |
|
bool | isModSet (const ModRefInfo MRI) |
|
bool | isRefSet (const ModRefInfo MRI) |
|
raw_ostream & | operator<< (raw_ostream &OS, ModRefInfo MR) |
| Debug print ModRefInfo.
|
|
raw_ostream & | operator<< (raw_ostream &OS, MemoryEffects RMRB) |
| Debug print MemoryEffects.
|
|
bool | capturesNothing (CaptureComponents CC) |
|
bool | capturesAnything (CaptureComponents CC) |
|
bool | capturesAddressIsNullOnly (CaptureComponents CC) |
|
bool | capturesAddress (CaptureComponents CC) |
|
bool | capturesReadProvenanceOnly (CaptureComponents CC) |
|
bool | capturesFullProvenance (CaptureComponents CC) |
|
raw_ostream & | operator<< (raw_ostream &OS, CaptureComponents CC) |
|
raw_ostream & | operator<< (raw_ostream &OS, CaptureInfo Info) |
|
size_t | getDefaultPrecision (FloatStyle Style) |
|
bool | isPrefixedHexStyle (HexPrintStyle S) |
|
void | write_integer (raw_ostream &S, unsigned int N, size_t MinDigits, IntegerStyle Style) |
|
void | write_integer (raw_ostream &S, int N, size_t MinDigits, IntegerStyle Style) |
|
void | write_integer (raw_ostream &S, unsigned long N, size_t MinDigits, IntegerStyle Style) |
|
void | write_integer (raw_ostream &S, long N, size_t MinDigits, IntegerStyle Style) |
|
void | write_integer (raw_ostream &S, unsigned long long N, size_t MinDigits, IntegerStyle Style) |
|
void | write_integer (raw_ostream &S, long long N, size_t MinDigits, IntegerStyle Style) |
|
void | write_hex (raw_ostream &S, uint64_t N, HexPrintStyle Style, std::optional< size_t > Width=std::nullopt) |
|
void | write_double (raw_ostream &S, double D, FloatStyle Style, std::optional< size_t > Precision=std::nullopt) |
|
std::pair< uint64_t, Align > | performOptimizedStructLayout (MutableArrayRef< OptimizedStructLayoutField > Fields) |
| Compute a layout for a struct containing the given fields, making a best-effort attempt to minimize the amount of space required.
|
|
int | StrCmpOptionName (StringRef A, StringRef B, bool FallbackCaseSensitive=true) |
|
int | StrCmpOptionPrefixes (ArrayRef< StringRef > APrefixes, ArrayRef< StringRef > BPrefixes) |
|
template<class RandomAccessIterator , class Comparator = std::less< typename std::iterator_traits<RandomAccessIterator>::value_type>> |
void | parallelSort (RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp=Comparator()) |
|
void | parallelFor (size_t Begin, size_t End, function_ref< void(size_t)> Fn) |
|
template<class IterTy , class FuncTy > |
void | parallelForEach (IterTy Begin, IterTy End, FuncTy Fn) |
|
template<class IterTy , class ResultTy , class ReduceFuncTy , class TransformFuncTy > |
ResultTy | parallelTransformReduce (IterTy Begin, IterTy End, ResultTy Init, ReduceFuncTy Reduce, TransformFuncTy Transform) |
|
template<class RangeTy , class Comparator = std::less<decltype(*std::begin(RangeTy()))>> |
void | parallelSort (RangeTy &&R, const Comparator &Comp=Comparator()) |
|
template<class RangeTy , class FuncTy > |
void | parallelForEach (RangeTy &&R, FuncTy Fn) |
|
template<class RangeTy , class ResultTy , class ReduceFuncTy , class TransformFuncTy > |
ResultTy | parallelTransformReduce (RangeTy &&R, ResultTy Init, ReduceFuncTy Reduce, TransformFuncTy Transform) |
|
template<class RangeTy , class FuncTy > |
Error | parallelForEachError (RangeTy &&R, FuncTy Fn) |
|
static cl::opt< PluginLoader, false, cl::parser< std::string > > | LoadOpt ("load", cl::value_desc("pluginfilename"), cl::desc("Load the specified plugin")) |
|
void | EnablePrettyStackTrace () |
| Enables dumping a "pretty" stack trace when the program crashes.
|
|
void | EnablePrettyStackTraceOnSigInfoForThisThread (bool ShouldEnable=true) |
| Enables (or disables) dumping a "pretty" stack trace when the user sends SIGINFO or SIGUSR1 to the current process.
|
|
void | setBugReportMsg (const char *Msg) |
| Replaces the generic bug report message that is output upon a crash.
|
|
const char * | getBugReportMsg () |
| Get the bug report message that will be output upon a crash.
|
|
const void * | SavePrettyStackState () |
| Returns the topmost element of the "pretty" stack state.
|
|
void | RestorePrettyStackState (const void *State) |
| Restores the topmost element of the "pretty" stack state to State, which should come from a previous call to SavePrettyStackState().
|
|
raw_ostream & | operator<< (raw_ostream &OS, const Printable &P) |
|
std::error_code | getRandomBytes (void *Buffer, size_t Size) |
|
template<typename OStream , typename T > |
std::enable_if_t<!std::is_reference_v< OStream > &&std::is_base_of_v< raw_ostream, OStream >, OStream && > | operator<< (OStream &&OS, const T &Value) |
| Call the appropriate insertion operator, given an rvalue reference to a raw_ostream object and return a stream of the same type as the argument.
|
|
raw_fd_ostream & | outs () |
| This returns a reference to a raw_fd_ostream for standard output.
|
|
raw_fd_ostream & | errs () |
| This returns a reference to a raw_ostream for standard error.
|
|
raw_ostream & | nulls () |
| This returns a reference to a raw_ostream which simply discards output.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const indent &Indent) |
|
Error | writeToOutput (StringRef OutputFileName, std::function< Error(raw_ostream &)> Write) |
| This helper creates an output stream and then passes it to Write .
|
|
raw_ostream & | operator<< (raw_ostream &OS, std::nullopt_t) |
|
template<typename T , typename = decltype(std::declval<raw_ostream &>() << std::declval<const T &>())> |
raw_ostream & | operator<< (raw_ostream &OS, const std::optional< T > &O) |
|
void | PrintRecyclerStats (size_t Size, size_t Align, size_t FreeListSize) |
| PrintRecyclingAllocatorStats - Helper for RecyclingAllocator for printing statistics.
|
|
template<class T = void *> |
bool | shouldReverseIterate () |
|
template<typename T > |
| SaveAndRestore (T &) -> SaveAndRestore< T > |
|
template<typename T > |
| SaveAndRestore (T &, const T &) -> SaveAndRestore< T > |
|
template<typename T > |
| SaveAndRestore (T &, T &&) -> SaveAndRestore< T > |
|
template<class DigitsT > |
ScaledNumber< DigitsT > | operator<< (const ScaledNumber< DigitsT > &L, int16_t Shift) |
|
template<class DigitsT > |
ScaledNumber< DigitsT > | operator>> (const ScaledNumber< DigitsT > &L, int16_t Shift) |
|
template<class DigitsT > |
raw_ostream & | operator<< (raw_ostream &OS, const ScaledNumber< DigitsT > &X) |
|
raw_ostream & | operator<< (raw_ostream &OS, const HexNumber &Value) |
|
template<class T > |
std::string | to_string (const T &Value) |
|
template<typename T , typename TEnum > |
std::string | enumToString (T Value, ArrayRef< EnumEntry< TEnum > > EnumValues) |
|
template<> |
void | ScopedPrinter::printHex< support::ulittle16_t > (StringRef Label, support::ulittle16_t Value) |
|
void | getSipHash_2_4_64 (ArrayRef< uint8_t > In, const uint8_t(&K)[16], uint8_t(&Out)[8]) |
| Computes a SipHash-2-4 64-bit result.
|
|
void | getSipHash_2_4_128 (ArrayRef< uint8_t > In, const uint8_t(&K)[16], uint8_t(&Out)[16]) |
| Computes a SipHash-2-4 128-bit result.
|
|
uint16_t | getPointerAuthStableSipHash (StringRef S) |
| Compute a stable non-zero 16-bit hash of the given string.
|
|
SMTSolverRef | CreateZ3Solver () |
| Convenience method to create and Z3Solver object.
|
|
bool | CheckBitcodeOutputToConsole (raw_ostream &stream_to_check) |
| Determine if the raw_ostream provided is connected to a terminal.
|
|
void | InitializeAllTargetInfos () |
| InitializeAllTargetInfos - The main program should call this function if it wants access to all available targets that LLVM is configured to support, to make them available via the TargetRegistry.
|
|
void | InitializeAllTargets () |
| InitializeAllTargets - The main program should call this function if it wants access to all available target machines that LLVM is configured to support, to make them available via the TargetRegistry.
|
|
void | InitializeAllTargetMCs () |
| InitializeAllTargetMCs - The main program should call this function if it wants access to all available target MC that LLVM is configured to support, to make them available via the TargetRegistry.
|
|
void | InitializeAllAsmPrinters () |
| InitializeAllAsmPrinters - The main program should call this function if it wants all asm printers that LLVM is configured to support, to make them available via the TargetRegistry.
|
|
void | InitializeAllAsmParsers () |
| InitializeAllAsmParsers - The main program should call this function if it wants all asm parsers that LLVM is configured to support, to make them available via the TargetRegistry.
|
|
void | InitializeAllDisassemblers () |
| InitializeAllDisassemblers - The main program should call this function if it wants all disassemblers that LLVM is configured to support, to make them available via the TargetRegistry.
|
|
bool | InitializeNativeTarget () |
| InitializeNativeTarget - The main program should call this function to initialize the native target corresponding to the host.
|
|
bool | InitializeNativeTargetAsmPrinter () |
| InitializeNativeTargetAsmPrinter - The main program should call this function to initialize the native target asm printer.
|
|
bool | InitializeNativeTargetAsmParser () |
| InitializeNativeTargetAsmParser - The main program should call this function to initialize the native target asm parser.
|
|
bool | InitializeNativeTargetDisassembler () |
| InitializeNativeTargetDisassembler - The main program should call this function to initialize the native target disassembler.
|
|
void | InitializeAllTargetMCAs () |
| InitializeAllTargetMCAs - The main program should call this function to initialize the target CustomBehaviour and InstrPostProcess classes.
|
|
constexpr bool | llvm_is_multithreaded () |
| Returns true if LLVM is compiled with support for multi-threading, and false otherwise.
|
|
template<typename Function , typename... Args> |
void | call_once (once_flag &flag, Function &&F, Args &&... ArgList) |
| Execute the function specified as a parameter once.
|
|
std::optional< ThreadPoolStrategy > | get_threadpool_strategy (StringRef Num, ThreadPoolStrategy Default={}) |
| Build a strategy from a number of threads as a string provided in Num .
|
|
ThreadPoolStrategy | heavyweight_hardware_concurrency (unsigned ThreadCount=0) |
| Returns a thread strategy for tasks requiring significant memory or other resources.
|
|
ThreadPoolStrategy | heavyweight_hardware_concurrency (StringRef Num) |
| Like heavyweight_hardware_concurrency() above, but builds a strategy based on the rules described for get_threadpool_strategy().
|
|
ThreadPoolStrategy | hardware_concurrency (unsigned ThreadCount=0) |
| Returns a default thread strategy where all available hardware resources are to be used, except for those initially excluded by an affinity mask.
|
|
ThreadPoolStrategy | hardware_concurrency (StringRef Num) |
| Like hardware_concurrency() above, but builds a strategy based on the rules described for get_threadpool_strategy().
|
|
ThreadPoolStrategy | optimal_concurrency (unsigned TaskCount=0) |
| Returns an optimal thread strategy to execute specified amount of tasks.
|
|
uint64_t | get_threadid () |
| Return the current thread id, as used in various OS system calls.
|
|
uint32_t | get_max_thread_name_length () |
| Get the maximum length of a thread name on this platform.
|
|
void | set_thread_name (const Twine &Name) |
| Set the name of the current thread.
|
|
void | get_thread_name (SmallVectorImpl< char > &Name) |
| Get the name of the current thread.
|
|
llvm::BitVector | get_thread_affinity_mask () |
| Returns a mask that represents on which hardware thread, core, CPU, NUMA group, the calling thread can be executed.
|
|
unsigned | get_cpus () |
| Returns how many physical CPUs or NUMA groups the system has.
|
|
int | get_physical_cores () |
| Returns how many physical cores (as opposed to logical cores returned from thread::hardware_concurrency(), which includes hyperthreads).
|
|
SetThreadPriorityResult | set_thread_priority (ThreadPriority Priority) |
|
TimeTraceProfiler * | getTimeTraceProfilerInstance () |
|
bool | isTimeTraceVerbose () |
|
void | timeTraceProfilerInitialize (unsigned TimeTraceGranularity, StringRef ProcName, bool TimeTraceVerbose=false) |
| Initialize the time trace profiler.
|
|
void | timeTraceProfilerCleanup () |
| Cleanup the time trace profiler, if it was initialized.
|
|
void | timeTraceProfilerFinishThread () |
| Finish a time trace profiler running on a worker thread.
|
|
bool | timeTraceProfilerEnabled () |
| Is the time trace profiler enabled, i.e. initialized?
|
|
void | timeTraceProfilerWrite (raw_pwrite_stream &OS) |
| Write profiling data to output stream.
|
|
Error | timeTraceProfilerWrite (StringRef PreferredFileName, StringRef FallbackFileName) |
| Write profiling data to a file.
|
|
TimeTraceProfilerEntry * | timeTraceProfilerBegin (StringRef Name, StringRef Detail) |
| Manually begin a time section, with the given Name and Detail .
|
|
TimeTraceProfilerEntry * | timeTraceProfilerBegin (StringRef Name, llvm::function_ref< std::string()> Detail) |
|
TimeTraceProfilerEntry * | timeTraceProfilerBegin (StringRef Name, llvm::function_ref< TimeTraceMetadata()> MetaData) |
|
TimeTraceProfilerEntry * | timeTraceAsyncProfilerBegin (StringRef Name, StringRef Detail) |
| Manually begin a time section, with the given Name and Detail .
|
|
void | timeTraceAddInstantEvent (StringRef Name, llvm::function_ref< std::string()> Detail) |
|
void | timeTraceProfilerEnd () |
| Manually end the last time section.
|
|
void | timeTraceProfilerEnd (TimeTraceProfilerEntry *E) |
|
template<typename DesiredTypeName > |
StringRef | getTypeName () |
| We provide a function which tries to compute the (demangled) name of a type statically.
|
|
void | reportInvalidSizeRequest (const char *Msg) |
| Reports a diagnostic message to indicate an invalid size request has been done on a scalable vector.
|
|
constexpr TypeSize | alignTo (TypeSize Size, uint64_t Align) |
| Returns a TypeSize with a known minimum size that is the next integer (mod 2**64) that is greater than or equal to Quantity and is a multiple of Align .
|
|
template<typename LeafTy , typename ScalarTy > |
raw_ostream & | operator<< (raw_ostream &OS, const details::FixedOrScalableQuantity< LeafTy, ScalarTy > &PS) |
| Stream operator function for FixedOrScalableQuantity .
|
|
raw_ostream & | operator<< (raw_ostream &Out, const VersionTuple &V) |
| Print a version number.
|
|
bool | RunningWindows8OrGreater () |
| Determines if the program is running on Windows 8 or newer.
|
|
bool | RunningWindows11OrGreater () |
| Determines if the program is running on Windows 11 or Windows Server 2022.
|
|
llvm::VersionTuple | GetWindowsOSVersion () |
| Returns the Windows version as Major.Minor.0.BuildNumber.
|
|
bool | MakeErrMsg (std::string *ErrMsg, const std::string &prefix) |
|
void | ReportLastErrorFatal (const char *Msg) |
|
template<class T > |
SmallVectorImpl< T >::const_pointer | c_str (SmallVectorImpl< T > &str) |
|
std::error_code | mapLastWindowsError () |
|
std::error_code | mapWindowsError (unsigned EV) |
|
cl::OptionCategory & | getColorCategory () |
|
uint64_t | xxHash64 (llvm::StringRef Data) |
|
uint64_t | xxHash64 (llvm::ArrayRef< uint8_t > Data) |
|
uint64_t | xxh3_64bits (ArrayRef< uint8_t > data) |
|
uint64_t | xxh3_64bits (StringRef data) |
|
XXH128_hash_t | xxh3_128bits (ArrayRef< uint8_t > data) |
| XXH3's 128-bit variant.
|
|
void | PrintNote (const Twine &Msg) |
|
void | PrintNote (function_ref< void(raw_ostream &OS)> PrintMsg) |
|
void | PrintNote (ArrayRef< SMLoc > NoteLoc, const Twine &Msg) |
|
void | PrintFatalNote (const Twine &Msg) |
|
void | PrintFatalNote (ArrayRef< SMLoc > ErrorLoc, const Twine &Msg) |
|
void | PrintFatalNote (const Record *Rec, const Twine &Msg) |
|
void | PrintFatalNote (const RecordVal *RecVal, const Twine &Msg) |
|
void | PrintWarning (const Twine &Msg) |
|
void | PrintWarning (ArrayRef< SMLoc > WarningLoc, const Twine &Msg) |
|
void | PrintWarning (const char *Loc, const Twine &Msg) |
|
void | PrintError (const Twine &Msg) |
|
void | PrintError (function_ref< void(raw_ostream &OS)> PrintMsg) |
|
void | PrintError (ArrayRef< SMLoc > ErrorLoc, const Twine &Msg) |
|
void | PrintError (const char *Loc, const Twine &Msg) |
|
void | PrintError (const Record *Rec, const Twine &Msg) |
|
void | PrintError (const RecordVal *RecVal, const Twine &Msg) |
|
void | PrintFatalError (const Twine &Msg) |
|
void | PrintFatalError (ArrayRef< SMLoc > ErrorLoc, const Twine &Msg) |
|
void | PrintFatalError (const Record *Rec, const Twine &Msg) |
|
void | PrintFatalError (const RecordVal *RecVal, const Twine &Msg) |
|
void | PrintFatalError (function_ref< void(raw_ostream &OS)> PrintMsg) |
|
bool | CheckAssert (SMLoc Loc, const Init *Condition, const Init *Message) |
|
void | dumpMessage (SMLoc Loc, const Init *Message) |
|
int | TableGenMain (const char *argv0, std::function< TableGenMainFn > MainFn=nullptr) |
|
bool | TableGenParseFile (SourceMgr &InputSrcMgr, RecordKeeper &Records) |
| Parse the TableGen file defined within the main buffer of the given SourceMgr.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const RecTy &Ty) |
|
const RecTy * | resolveTypes (const RecTy *T1, const RecTy *T2) |
| Find a common type that T1 and T2 convert to.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const Init &I) |
|
raw_ostream & | operator<< (raw_ostream &OS, const RecordVal &RV) |
|
raw_ostream & | operator<< (raw_ostream &OS, const Record &R) |
|
raw_ostream & | operator<< (raw_ostream &OS, const RecordKeeper &RK) |
|
void | EmitDetailedRecords (const RecordKeeper &RK, raw_ostream &OS) |
|
void | EmitJSON (const RecordKeeper &RK, raw_ostream &OS) |
|
void | emitSourceFileHeader (StringRef Desc, raw_ostream &OS, const RecordKeeper &Record=RecordKeeper()) |
| emitSourceFileHeader - Output an LLVM style file header to the specified raw_ostream.
|
|
CGPassBuilderOption | getCGPassBuilderOption () |
|
std::optional< CodeModel::Model > | unwrap (LLVMCodeModel Model, bool &JIT) |
|
LLVMCodeModel | wrap (CodeModel::Model Model) |
|
template<typename T > |
std::ostream & | operator<< (std::ostream &OS, const StringMap< T > &M) |
| Support for printing to std::ostream, for use with e.g.
|
|
template<typename T > |
std::ostream & | operator<< (std::ostream &OS, const StringMapEntry< T > &E) |
| Support for printing to std::ostream, for use with e.g.
|
|
template<typename KeyMatcherT , typename ValueMatcherT > |
detail::StringMapEntryMatcher< KeyMatcherT, ValueMatcherT > | IsStringMapEntry (KeyMatcherT KM, ValueMatcherT VM) |
| Returns a gMock matcher that matches a StringMapEntry whose string key matches KeyMatcher , and whose value matches ValueMatcher .
|
|
llvm::raw_ostream & | operator<< (llvm::raw_ostream &O, const llvm::Annotations::Range &R) |
|
| MATCHER (Succeeded, "") |
|
| MATCHER (Failed, "") |
|
template<typename InfoT > |
testing::Matcher< const detail::ErrorHolder & > | Failed () |
|
template<typename InfoT , typename M > |
testing::Matcher< const detail::ErrorHolder & > | Failed (M Matcher) |
|
template<typename... M> |
testing::Matcher< const detail::ErrorHolder & > | FailedWithMessage (M... Matcher) |
|
template<typename M > |
testing::Matcher< const detail::ErrorHolder & > | FailedWithMessageArray (M Matcher) |
|
template<typename M > |
detail::ValueMatchesPoly< M > | HasValue (M Matcher) |
|
template<class InnerMatcher > |
detail::ValueIsMatcher< InnerMatcher > | ValueIs (const InnerMatcher &ValueMatcher) |
| Matches an std::optional<T> with a value that conforms to an inner matcher.
|
|
template<typename DerivedT , typename KeyInfoT , typename BucketT > |
bool | operator== (const DenseMapBase< DerivedT, SymbolsMapKey, MachO::Symbol *, KeyInfoT, BucketT > &LHS, const DenseMapBase< DerivedT, SymbolsMapKey, MachO::Symbol *, KeyInfoT, BucketT > &RHS) |
|
template<typename DerivedT , typename KeyInfoT , typename BucketT > |
bool | operator!= (const DenseMapBase< DerivedT, SymbolsMapKey, MachO::Symbol *, KeyInfoT, BucketT > &LHS, const DenseMapBase< DerivedT, SymbolsMapKey, MachO::Symbol *, KeyInfoT, BucketT > &RHS) |
|
int | dlltoolDriverMain (ArrayRef< const char * > ArgsArr) |
|
int | libDriverMain (ArrayRef< const char * > ARgs) |
|
FunctionPass * | createCFGuardCheckPass () |
| Insert Control FLow Guard checks on indirect function calls.
|
|
FunctionPass * | createCFGuardDispatchPass () |
| Insert Control FLow Guard dispatches on indirect function calls.
|
|
FunctionPass * | createInstructionCombiningPass () |
|
void | getAddressSanitizerParams (const Triple &TargetTriple, int LongSize, bool IsKasan, uint64_t *ShadowBase, int *MappingScale, bool *OrShadowOffset) |
|
void | setProfMetadata (Module *M, Instruction *TI, ArrayRef< uint64_t > EdgeCounts, uint64_t MaxCount) |
|
void | setIrrLoopHeaderMetadata (Module *M, Instruction *TI, uint64_t Count) |
|
ModulePass * | createDeadArgEliminationPass () |
| createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the body of the function.
|
|
ModulePass * | createDeadArgHackingPass () |
| DeadArgHacking pass - Same as DAE, but delete arguments of external functions as well.
|
|
Pass * | createLoopExtractorPass () |
| createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it can.
|
|
Pass * | createSingleLoopExtractorPass () |
| createSingleLoopExtractorPass - This pass extracts one natural loop from the program into a function if it can.
|
|
ModulePass * | createBarrierNoopPass () |
| createBarrierNoopPass - This pass is purely a module pass barrier in a pass manager.
|
|
Pass * | createAlwaysInlinerLegacyPass (bool InsertLifetime=true) |
| Create a legacy pass manager instance of a pass to inline and remove functions marked as "always_inline".
|
|
ChangeStatus | operator| (ChangeStatus l, ChangeStatus r) |
| Logic operators for the change status enum class.
|
|
ChangeStatus & | operator|= (ChangeStatus &l, ChangeStatus r) |
|
ChangeStatus | operator& (ChangeStatus l, ChangeStatus r) |
|
ChangeStatus & | operator&= (ChangeStatus &l, ChangeStatus r) |
|
| DEBUG_COUNTER (NumAbstractAttributes, "num-abstract-attributes", "How many AAs should be initialized") |
| A debug counter to limit the number of AAs created.
|
|
raw_ostream & | operator<< (raw_ostream &OS, const AbstractAttribute &AA) |
| Forward declarations of output streams for debug purposes.
|
|
raw_ostream & | operator<< (raw_ostream &OS, ChangeStatus S) |
| Helpers to ease debugging through output streams and print calls.
|
|
raw_ostream & | operator<< (raw_ostream &OS, IRPosition::Kind) |
|
raw_ostream & | operator<< (raw_ostream &OS, const IRPosition &) |
|
raw_ostream & | operator<< (raw_ostream &OS, const AbstractState &State) |
|
template<typename base_ty , base_ty BestState, base_ty WorstState> |
raw_ostream & | operator<< (raw_ostream &OS, const IntegerStateBase< base_ty, BestState, WorstState > &S) |
|
raw_ostream & | operator<< (raw_ostream &OS, const IntegerRangeState &State) |
|
template<typename StateType > |
ChangeStatus | clampStateAndIndicateChange (StateType &S, const StateType &R) |
| Helper function to clamp a state S of type StateType with the information in R and indicate/return if S did change (as-in update is required to be run again).
|
|
raw_ostream & | operator<< (raw_ostream &OS, const PotentialConstantIntValuesState &R) |
|
raw_ostream & | operator<< (raw_ostream &OS, const PotentialLLVMValuesState &R) |
|
raw_ostream & | operator<< (raw_ostream &, const AAPointerInfo::Access &) |
|
ModulePass * | createExpandVariadicsPass (ExpandVariadicsMode) |
|
MemoryEffects | computeFunctionBodyMemoryAccess (Function &F, AAResults &AAR) |
| Returns the memory access properties of this copy of the function.
|
|
bool | thinLTOPropagateFunctionAttrs (ModuleSummaryIndex &Index, function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing) |
| Propagate function attributes for function summaries along the index's callgraph during thinlink.
|
|
void | ComputeCrossModuleImport (const ModuleSummaryIndex &Index, const DenseMap< StringRef, GVSummaryMapTy > &ModuleToDefinedGVSummaries, function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing, FunctionImporter::ImportListsTy &ImportLists, DenseMap< StringRef, FunctionImporter::ExportSetTy > &ExportLists) |
| Compute all the imports and exports for every module in the Index.
|
|
void | updateIndirectCalls (ModuleSummaryIndex &Index) |
| Update call edges for indirect calls to local functions added from SamplePGO when needed.
|
|
void | computeDeadSymbolsAndUpdateIndirectCalls (ModuleSummaryIndex &Index, const DenseSet< GlobalValue::GUID > &GUIDPreservedSymbols, function_ref< PrevailingType(GlobalValue::GUID)> isPrevailing) |
| Compute all the symbols that are "dead": i.e these that can't be reached in the graph from any of the given symbols listed in GUIDPreservedSymbols .
|
|
void | computeDeadSymbolsWithConstProp (ModuleSummaryIndex &Index, const DenseSet< GlobalValue::GUID > &GUIDPreservedSymbols, function_ref< PrevailingType(GlobalValue::GUID)> isPrevailing, bool ImportEnabled) |
| Compute dead symbols and run constant propagation in combined index after that.
|
|
bool | convertToDeclaration (GlobalValue &GV) |
| Converts value GV to declaration, or replaces with a declaration if it is an alias.
|
|
void | gatherImportedSummariesForModule (StringRef ModulePath, const DenseMap< StringRef, GVSummaryMapTy > &ModuleToDefinedGVSummaries, const FunctionImporter::ImportMapTy &ImportList, ModuleToSummariesForIndexTy &ModuleToSummariesForIndex, GVSummaryPtrSet &DecSummaries) |
| Compute the set of summaries needed for a ThinLTO backend compilation of ModulePath .
|
|
Error | EmitImportsFiles (StringRef ModulePath, StringRef OutputFilename, const ModuleToSummariesForIndexTy &ModuleToSummariesForIndex) |
| Emit into OutputFilename the files module ModulePath will import from.
|
|
void | thinLTOFinalizeInModule (Module &TheModule, const GVSummaryMapTy &DefinedGlobals, bool PropagateAttrs) |
| Based on the information recorded in the summaries during global summary-based analysis:
|
|
void | thinLTOInternalizeModule (Module &TheModule, const GVSummaryMapTy &DefinedGlobals) |
| Internalize TheModule based on the information recorded in the summaries during global summary-based analysis.
|
|
bool | internalizeModule (Module &TheModule, std::function< bool(const GlobalValue &)> MustPreserveGV) |
| Helper function to internalize functions and variables in a Module.
|
|
bool | hasWholeProgramVisibility (bool WholeProgramVisibilityEnabledInLTO) |
|
void | updatePublicTypeTestCalls (Module &M, bool WholeProgramVisibilityEnabledInLTO) |
|
void | updateVCallVisibilityInModule (Module &M, bool WholeProgramVisibilityEnabledInLTO, const DenseSet< GlobalValue::GUID > &DynamicExportSymbols, bool ValidateAllVtablesHaveTypeInfos, function_ref< bool(StringRef)> IsVisibleToRegularObj) |
| If whole program visibility asserted, then upgrade all public vcall visibility metadata on vtable definitions to linkage unit visibility in Module IR (for regular or hybrid LTO).
|
|
void | updateVCallVisibilityInIndex (ModuleSummaryIndex &Index, bool WholeProgramVisibilityEnabledInLTO, const DenseSet< GlobalValue::GUID > &DynamicExportSymbols, const DenseSet< GlobalValue::GUID > &VisibleToRegularObjSymbols) |
| If whole program visibility asserted, then upgrade all public vcall visibility metadata on vtable definition summaries to linkage unit visibility in Module summary index (for ThinLTO).
|
|
void | getVisibleToRegularObjVtableGUIDs (ModuleSummaryIndex &Index, DenseSet< GlobalValue::GUID > &VisibleToRegularObjSymbols, function_ref< bool(StringRef)> IsVisibleToRegularObj) |
| Based on typeID string, get all associated vtable GUIDS that are visible to regular objects.
|
|
void | runWholeProgramDevirtOnIndex (ModuleSummaryIndex &Summary, std::set< GlobalValue::GUID > &ExportedGUIDs, std::map< ValueInfo, std::vector< VTableSlotSummary > > &LocalWPDTargetsMap) |
| Perform index-based whole program devirtualization on the Summary index.
|
|
void | updateIndexWPDForExports (ModuleSummaryIndex &Summary, function_ref< bool(StringRef, ValueInfo)> isExported, std::map< ValueInfo, std::vector< VTableSlotSummary > > &LocalWPDTargetsMap) |
| Call after cross-module importing to update the recorded single impl devirt target names for any locals that were exported.
|
|
Pass * | createObjCARCContractPass () |
|
FunctionPass * | createDeadCodeEliminationPass () |
|
FunctionPass * | createSROAPass (bool PreserveCFG=true) |
|
Pass * | createLICMPass () |
|
Pass * | createLoopStrengthReducePass () |
|
Pass * | createLoopTermFoldPass () |
|
Pass * | createLoopUnrollPass (int OptLevel=2, bool OnlyWhenForced=false, bool ForgetAllSCEV=false, int Threshold=-1, int Count=-1, int AllowPartial=-1, int Runtime=-1, int UpperBound=-1, int AllowPeeling=-1) |
|
FunctionPass * | createReassociatePass () |
|
FunctionPass * | createCFGSimplificationPass (SimplifyCFGOptions Options=SimplifyCFGOptions(), std::function< bool(const Function &)> Ftor=nullptr) |
|
FunctionPass * | createFlattenCFGPass () |
|
Pass * | createStructurizeCFGPass (bool SkipUniformRegions=false) |
| When SkipUniformRegions is true the structizer will not structurize regions that only contain uniform branches.
|
|
FunctionPass * | createTailCallEliminationPass () |
|
FunctionPass * | createEarlyCSEPass (bool UseMemorySSA=false) |
|
FunctionPass * | createConstantHoistingPass () |
|
FunctionPass * | createSinkingPass () |
|
Pass * | createLowerAtomicPass () |
|
Pass * | createMergeICmpsLegacyPass () |
|
FunctionPass * | createInferAddressSpacesPass (unsigned AddressSpace=~0u) |
|
FunctionPass * | createPartiallyInlineLibCallsPass () |
|
FunctionPass * | createSeparateConstOffsetFromGEPPass (bool LowerGEP=false) |
|
FunctionPass * | createSpeculativeExecutionPass () |
|
FunctionPass * | createSpeculativeExecutionIfHasBranchDivergencePass () |
|
FunctionPass * | createStraightLineStrengthReducePass () |
|
FunctionPass * | createNaryReassociatePass () |
|
FunctionPass * | createLoopDataPrefetchPass () |
|
FunctionPass * | createInstSimplifyLegacyPass () |
|
FunctionPass * | createScalarizeMaskedMemIntrinLegacyPass () |
|
FunctionPass * | createGVNPass (bool NoMemDepAnalysis=false) |
| Create a legacy GVN pass.
|
|
template<typename LoopPassT > |
std::enable_if_t< is_detected< HasRunOnLoopT, LoopPassT >::value, FunctionToLoopPassAdaptor > | createFunctionToLoopPassAdaptor (LoopPassT &&Pass, bool UseMemorySSA=false, bool UseBlockFrequencyInfo=false, bool UseBranchProbabilityInfo=false) |
| A function to deduce a loop pass type and wrap it in the templated adaptor.
|
|
template<typename LoopNestPassT > |
std::enable_if_t<!is_detected< HasRunOnLoopT, LoopNestPassT >::value, FunctionToLoopPassAdaptor > | createFunctionToLoopPassAdaptor (LoopNestPassT &&Pass, bool UseMemorySSA=false, bool UseBlockFrequencyInfo=false, bool UseBranchProbabilityInfo=false) |
| If Pass is a loop-nest pass, Pass will first be wrapped into a LoopPassManager and the returned adaptor will be in loop-nest mode.
|
|
template<> |
FunctionToLoopPassAdaptor | createFunctionToLoopPassAdaptor< LoopPassManager > (LoopPassManager &&LPM, bool UseMemorySSA, bool UseBlockFrequencyInfo, bool UseBranchProbabilityInfo) |
| If Pass is an instance of LoopPassManager , the returned adaptor will be in loop-nest mode if the pass manager contains only loop-nest passes.
|
|
bool | lowerConstantIntrinsics (Function &F, const TargetLibraryInfo &TLI, DominatorTree *DT) |
|
FunctionPass * | createScalarizerPass (const ScalarizerPassOptions &Options=ScalarizerPassOptions()) |
| Create a legacy pass manager instance of the Scalarizer pass.
|
|
FunctionPass * | createLowerInvokePass () |
|
FunctionPass * | createLowerSwitchPass () |
|
FunctionPass * | createPostInlineEntryExitInstrumenterPass () |
|
FunctionPass * | createBreakCriticalEdgesPass () |
|
Pass * | createLCSSAPass () |
|
FunctionPass * | createPromoteMemoryToRegisterPass () |
|
FunctionPass * | createRegToMemWrapperPass () |
|
Pass * | createLoopSimplifyPass () |
|
FunctionPass * | createUnifyLoopExitsPass () |
|
FunctionPass * | createFixIrreduciblePass () |
|
Pass * | createCanonicalizeFreezeInLoopsPass () |
|
ModulePass * | createLowerGlobalDtorsLegacyPass () |
|
Value * | emitAMDGPUPrintfCall (IRBuilder<> &Builder, ArrayRef< Value * > Args, bool isBuffered) |
|
ASanStackFrameLayout | ComputeASanStackFrameLayout (SmallVectorImpl< ASanStackVariableDescription > &Vars, uint64_t Granularity, uint64_t MinHeaderSize) |
|
SmallString< 64 > | ComputeASanStackFrameDescription (const SmallVectorImpl< ASanStackVariableDescription > &Vars) |
|
SmallVector< uint8_t, 64 > | GetShadowBytes (const SmallVectorImpl< ASanStackVariableDescription > &Vars, const ASanStackFrameLayout &Layout) |
|
SmallVector< uint8_t, 64 > | GetShadowBytesAfterScope (const SmallVectorImpl< ASanStackVariableDescription > &Vars, const ASanStackFrameLayout &Layout) |
|
AssumeInst * | buildAssumeFromInst (Instruction *I) |
| Build a call to llvm.assume to preserve informations that can be derived from the given instruction.
|
|
bool | salvageKnowledge (Instruction *I, AssumptionCache *AC=nullptr, DominatorTree *DT=nullptr) |
| Calls BuildAssumeFromInst and if the resulting llvm.assume is valid insert if before I.
|
|
AssumeInst * | buildAssumeFromKnowledge (ArrayRef< RetainedKnowledge > Knowledge, Instruction *CtxI, AssumptionCache *AC=nullptr, DominatorTree *DT=nullptr) |
| Build and return a new assume created from the provided knowledge if the knowledge in the assume is fully redundant this will return nullptr.
|
|
RetainedKnowledge | simplifyRetainedKnowledge (AssumeInst *Assume, RetainedKnowledge RK, AssumptionCache *AC, DominatorTree *DT) |
| canonicalize the RetainedKnowledge RK.
|
|
void | detachDeadBlocks (ArrayRef< BasicBlock * > BBs, SmallVectorImpl< DominatorTree::UpdateType > *Updates, bool KeepOneInputPHIs=false) |
| Replace contents of every block in BBs with single unreachable instruction.
|
|
void | DeleteDeadBlock (BasicBlock *BB, DomTreeUpdater *DTU=nullptr, bool KeepOneInputPHIs=false) |
| Delete the specified block, which must have no predecessors.
|
|
void | DeleteDeadBlocks (ArrayRef< BasicBlock * > BBs, DomTreeUpdater *DTU=nullptr, bool KeepOneInputPHIs=false) |
| Delete the specified blocks from BB .
|
|
bool | EliminateUnreachableBlocks (Function &F, DomTreeUpdater *DTU=nullptr, bool KeepOneInputPHIs=false) |
| Delete all basic blocks from F that are not reachable from its entry node.
|
|
bool | FoldSingleEntryPHINodes (BasicBlock *BB, MemoryDependenceResults *MemDep=nullptr) |
| We know that BB has one predecessor.
|
|
bool | DeleteDeadPHIs (BasicBlock *BB, const TargetLibraryInfo *TLI=nullptr, MemorySSAUpdater *MSSAU=nullptr) |
| Examine each PHI in the given block and delete it if it is dead.
|
|
bool | MergeBlockIntoPredecessor (BasicBlock *BB, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, MemoryDependenceResults *MemDep=nullptr, bool PredecessorWithTwoSuccessors=false, DominatorTree *DT=nullptr) |
| Attempts to merge a block into its predecessor, if possible.
|
|
bool | MergeBlockSuccessorsIntoGivenBlocks (SmallPtrSetImpl< BasicBlock * > &MergeBlocks, Loop *L=nullptr, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr) |
| Merge block(s) sucessors, if possible.
|
|
bool | RemoveRedundantDbgInstrs (BasicBlock *BB) |
| Try to remove redundant dbg.value instructions from given basic block.
|
|
void | ReplaceInstWithValue (BasicBlock::iterator &BI, Value *V) |
| Replace all uses of an instruction (specified by BI) with a value, then remove and delete the original instruction.
|
|
void | ReplaceInstWithInst (BasicBlock *BB, BasicBlock::iterator &BI, Instruction *I) |
| Replace the instruction specified by BI with the instruction specified by I.
|
|
void | ReplaceInstWithInst (Instruction *From, Instruction *To) |
| Replace the instruction specified by From with the instruction specified by To.
|
|
bool | IsBlockFollowedByDeoptOrUnreachable (const BasicBlock *BB) |
| Check if we can prove that all paths starting from this block converge to a block that either has a @llvm.experimental.deoptimize call prior to its terminating return instruction or is terminated by unreachable.
|
|
void | createPHIsForSplitLoopExit (ArrayRef< BasicBlock * > Preds, BasicBlock *SplitBB, BasicBlock *DestBB) |
| When a loop exit edge is split, LCSSA form may require new PHIs in the new exit block.
|
|
BasicBlock * | SplitCriticalEdge (Instruction *TI, unsigned SuccNum, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions(), const Twine &BBName="") |
| If this edge is a critical edge, insert a new node to split the critical edge.
|
|
BasicBlock * | SplitKnownCriticalEdge (Instruction *TI, unsigned SuccNum, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions(), const Twine &BBName="") |
| If it is known that an edge is critical, SplitKnownCriticalEdge can be called directly, rather than calling SplitCriticalEdge first.
|
|
BasicBlock * | SplitCriticalEdge (BasicBlock *Src, BasicBlock *Dst, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions()) |
| If an edge from Src to Dst is critical, split the edge and return true, otherwise return false.
|
|
unsigned | SplitAllCriticalEdges (Function &F, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions()) |
| Loop over all of the edges in the CFG, breaking critical edges as they are found.
|
|
BasicBlock * | SplitEdge (BasicBlock *From, BasicBlock *To, DominatorTree *DT=nullptr, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, const Twine &BBName="") |
| Split the edge connecting the specified blocks, and return the newly created basic block between From and To .
|
|
void | setUnwindEdgeTo (Instruction *TI, BasicBlock *Succ) |
| Sets the unwind edge of an instruction to a particular successor.
|
|
void | updatePhiNodes (BasicBlock *DestBB, BasicBlock *OldPred, BasicBlock *NewPred, PHINode *Until=nullptr) |
| Replaces all uses of OldPred with the NewPred block in all PHINodes in a block.
|
|
BasicBlock * | ehAwareSplitEdge (BasicBlock *BB, BasicBlock *Succ, LandingPadInst *OriginalPad=nullptr, PHINode *LandingPadReplacement=nullptr, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions(), const Twine &BBName="") |
| Split the edge connect the specficed blocks in the case that Succ is an Exception Handling Block.
|
|
BasicBlock * | SplitBlock (BasicBlock *Old, BasicBlock::iterator SplitPt, DominatorTree *DT, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, const Twine &BBName="", bool Before=false) |
| Split the specified block at the specified instruction.
|
|
BasicBlock * | SplitBlock (BasicBlock *Old, Instruction *SplitPt, DominatorTree *DT, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, const Twine &BBName="", bool Before=false) |
|
BasicBlock * | SplitBlock (BasicBlock *Old, BasicBlock::iterator SplitPt, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, const Twine &BBName="", bool Before=false) |
| Split the specified block at the specified instruction.
|
|
BasicBlock * | SplitBlock (BasicBlock *Old, Instruction *SplitPt, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, const Twine &BBName="", bool Before=false) |
|
BasicBlock * | splitBlockBefore (BasicBlock *Old, BasicBlock::iterator SplitPt, DomTreeUpdater *DTU, LoopInfo *LI, MemorySSAUpdater *MSSAU, const Twine &BBName="") |
| Split the specified block at the specified instruction SplitPt .
|
|
BasicBlock * | splitBlockBefore (BasicBlock *Old, Instruction *SplitPt, DomTreeUpdater *DTU, LoopInfo *LI, MemorySSAUpdater *MSSAU, const Twine &BBName="") |
|
BasicBlock * | SplitBlockPredecessors (BasicBlock *BB, ArrayRef< BasicBlock * > Preds, const char *Suffix, DominatorTree *DT, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, bool PreserveLCSSA=false) |
| This method introduces at least one new basic block into the function and moves some of the predecessors of BB to be predecessors of the new block.
|
|
BasicBlock * | SplitBlockPredecessors (BasicBlock *BB, ArrayRef< BasicBlock * > Preds, const char *Suffix, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, bool PreserveLCSSA=false) |
| This method introduces at least one new basic block into the function and moves some of the predecessors of BB to be predecessors of the new block.
|
|
void | SplitLandingPadPredecessors (BasicBlock *OrigBB, ArrayRef< BasicBlock * > Preds, const char *Suffix, const char *Suffix2, SmallVectorImpl< BasicBlock * > &NewBBs, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr, MemorySSAUpdater *MSSAU=nullptr, bool PreserveLCSSA=false) |
| This method transforms the landing pad, OrigBB, by introducing two new basic blocks into the function.
|
|
ReturnInst * | FoldReturnIntoUncondBranch (ReturnInst *RI, BasicBlock *BB, BasicBlock *Pred, DomTreeUpdater *DTU=nullptr) |
| This method duplicates the specified return instruction into a predecessor which ends in an unconditional branch.
|
|
Instruction * | SplitBlockAndInsertIfThen (Value *Cond, BasicBlock::iterator SplitBefore, bool Unreachable, MDNode *BranchWeights=nullptr, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr, BasicBlock *ThenBlock=nullptr) |
| Split the containing block at the specified instruction - everything before SplitBefore stays in the old basic block, and the rest of the instructions in the BB are moved to a new block.
|
|
Instruction * | SplitBlockAndInsertIfThen (Value *Cond, Instruction *SplitBefore, bool Unreachable, MDNode *BranchWeights=nullptr, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr, BasicBlock *ThenBlock=nullptr) |
|
Instruction * | SplitBlockAndInsertIfElse (Value *Cond, BasicBlock::iterator SplitBefore, bool Unreachable, MDNode *BranchWeights=nullptr, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr, BasicBlock *ElseBlock=nullptr) |
| Similar to SplitBlockAndInsertIfThen, but the inserted block is on the false path of the branch.
|
|
Instruction * | SplitBlockAndInsertIfElse (Value *Cond, Instruction *SplitBefore, bool Unreachable, MDNode *BranchWeights=nullptr, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr, BasicBlock *ElseBlock=nullptr) |
|
void | SplitBlockAndInsertIfThenElse (Value *Cond, BasicBlock::iterator SplitBefore, Instruction **ThenTerm, Instruction **ElseTerm, MDNode *BranchWeights=nullptr, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr) |
| SplitBlockAndInsertIfThenElse is similar to SplitBlockAndInsertIfThen, but also creates the ElseBlock.
|
|
void | SplitBlockAndInsertIfThenElse (Value *Cond, Instruction *SplitBefore, Instruction **ThenTerm, Instruction **ElseTerm, MDNode *BranchWeights=nullptr, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr) |
|
void | SplitBlockAndInsertIfThenElse (Value *Cond, BasicBlock::iterator SplitBefore, BasicBlock **ThenBlock, BasicBlock **ElseBlock, bool UnreachableThen=false, bool UnreachableElse=false, MDNode *BranchWeights=nullptr, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr) |
| Split the containing block at the specified instruction - everything before SplitBefore stays in the old basic block, and the rest of the instructions in the BB are moved to a new block.
|
|
void | SplitBlockAndInsertIfThenElse (Value *Cond, Instruction *SplitBefore, BasicBlock **ThenBlock, BasicBlock **ElseBlock, bool UnreachableThen=false, bool UnreachableElse=false, MDNode *BranchWeights=nullptr, DomTreeUpdater *DTU=nullptr, LoopInfo *LI=nullptr) |
|
std::pair< Instruction *, Value * > | SplitBlockAndInsertSimpleForLoop (Value *End, Instruction *SplitBefore) |
| Insert a for (int i = 0; i < End; i++) loop structure (with the exception that End is assumed > 0, and thus not checked on entry) at SplitBefore .
|
|
void | SplitBlockAndInsertForEachLane (ElementCount EC, Type *IndexTy, Instruction *InsertBefore, std::function< void(IRBuilderBase &, Value *)> Func) |
| Utility function for performing a given action on each lane of a vector with EC elements.
|
|
void | SplitBlockAndInsertForEachLane (Value *End, Instruction *InsertBefore, std::function< void(IRBuilderBase &, Value *)> Func) |
| Utility function for performing a given action on each lane of a vector with EVL effective length.
|
|
BranchInst * | GetIfCondition (BasicBlock *BB, BasicBlock *&IfTrue, BasicBlock *&IfFalse) |
| Check whether BB is the merge point of a if-region.
|
|
bool | SplitIndirectBrCriticalEdges (Function &F, bool IgnoreBlocksWithoutPHI, BranchProbabilityInfo *BPI=nullptr, BlockFrequencyInfo *BFI=nullptr) |
|
void | InvertBranch (BranchInst *PBI, IRBuilderBase &Builder) |
|
bool | hasOnlySimpleTerminator (const Function &F) |
|
bool | isPresplitCoroSuspendExitEdge (const BasicBlock &Src, const BasicBlock &Dest) |
|
bool | inferNonMandatoryLibFuncAttrs (Module *M, StringRef Name, const TargetLibraryInfo &TLI) |
| Analyze the name and prototype of the given function and set any applicable attributes.
|
|
bool | inferNonMandatoryLibFuncAttrs (Function &F, const TargetLibraryInfo &TLI) |
|
FunctionCallee | getOrInsertLibFunc (Module *M, const TargetLibraryInfo &TLI, LibFunc TheLibFunc, FunctionType *T, AttributeList AttributeList) |
| Calls getOrInsertFunction() and then makes sure to add mandatory argument attributes.
|
|
FunctionCallee | getOrInsertLibFunc (Module *M, const TargetLibraryInfo &TLI, LibFunc TheLibFunc, FunctionType *T) |
|
template<typename... ArgsTy> |
FunctionCallee | getOrInsertLibFunc (Module *M, const TargetLibraryInfo &TLI, LibFunc TheLibFunc, AttributeList AttributeList, Type *RetTy, ArgsTy... Args) |
|
template<typename... ArgsTy> |
FunctionCallee | getOrInsertLibFunc (Module *M, const TargetLibraryInfo &TLI, LibFunc TheLibFunc, Type *RetTy, ArgsTy... Args) |
| Same as above, but without the attributes.
|
|
template<typename... ArgsTy> |
FunctionCallee | getOrInsertLibFunc (Module *M, const TargetLibraryInfo &TLI, LibFunc TheLibFunc, AttributeList AttributeList, FunctionType *Invalid, ArgsTy... Args)=delete |
|
void | markRegisterParameterAttributes (Function *F) |
|
bool | isLibFuncEmittable (const Module *M, const TargetLibraryInfo *TLI, LibFunc TheLibFunc) |
| Check whether the library function is available on target and also that it in the current Module is a Function with the right type.
|
|
bool | isLibFuncEmittable (const Module *M, const TargetLibraryInfo *TLI, StringRef Name) |
|
bool | hasFloatFn (const Module *M, const TargetLibraryInfo *TLI, Type *Ty, LibFunc DoubleFn, LibFunc FloatFn, LibFunc LongDoubleFn) |
| Check whether the overloaded floating point function corresponding to Ty is available.
|
|
StringRef | getFloatFn (const Module *M, const TargetLibraryInfo *TLI, Type *Ty, LibFunc DoubleFn, LibFunc FloatFn, LibFunc LongDoubleFn, LibFunc &TheLibFunc) |
| Get the name of the overloaded floating point function corresponding to Ty.
|
|
Value * | emitStrLen (Value *Ptr, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the strlen function to the builder, for the specified pointer.
|
|
Value * | emitStrDup (Value *Ptr, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the strdup function to the builder, for the specified pointer.
|
|
Value * | emitStrChr (Value *Ptr, char C, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the strchr function to the builder, for the specified pointer and character.
|
|
Value * | emitStrNCmp (Value *Ptr1, Value *Ptr2, Value *Len, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the strncmp function to the builder.
|
|
Value * | emitStrCpy (Value *Dst, Value *Src, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the strcpy function to the builder, for the specified pointer arguments.
|
|
Value * | emitStpCpy (Value *Dst, Value *Src, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the stpcpy function to the builder, for the specified pointer arguments.
|
|
Value * | emitStrNCpy (Value *Dst, Value *Src, Value *Len, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the strncpy function to the builder, for the specified pointer arguments and length.
|
|
Value * | emitStpNCpy (Value *Dst, Value *Src, Value *Len, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the stpncpy function to the builder, for the specified pointer arguments and length.
|
|
Value * | emitMemCpyChk (Value *Dst, Value *Src, Value *Len, Value *ObjSize, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the __memcpy_chk function to the builder.
|
|
Value * | emitMemPCpy (Value *Dst, Value *Src, Value *Len, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the mempcpy function.
|
|
Value * | emitMemChr (Value *Ptr, Value *Val, Value *Len, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the memchr function.
|
|
Value * | emitMemRChr (Value *Ptr, Value *Val, Value *Len, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the memrchr function, analogously to emitMemChr.
|
|
Value * | emitMemCmp (Value *Ptr1, Value *Ptr2, Value *Len, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the memcmp function.
|
|
Value * | emitBCmp (Value *Ptr1, Value *Ptr2, Value *Len, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the bcmp function.
|
|
Value * | emitMemCCpy (Value *Ptr1, Value *Ptr2, Value *Val, Value *Len, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the memccpy function.
|
|
Value * | emitSNPrintf (Value *Dest, Value *Size, Value *Fmt, ArrayRef< Value * > Args, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the snprintf function.
|
|
Value * | emitSPrintf (Value *Dest, Value *Fmt, ArrayRef< Value * > VariadicArgs, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the sprintf function.
|
|
Value * | emitStrCat (Value *Dest, Value *Src, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the strcat function.
|
|
Value * | emitStrLCpy (Value *Dest, Value *Src, Value *Size, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the strlcpy function.
|
|
Value * | emitStrLCat (Value *Dest, Value *Src, Value *Size, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the strlcat function.
|
|
Value * | emitStrNCat (Value *Dest, Value *Src, Value *Size, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the strncat function.
|
|
Value * | emitVSNPrintf (Value *Dest, Value *Size, Value *Fmt, Value *VAList, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the vsnprintf function.
|
|
Value * | emitVSPrintf (Value *Dest, Value *Fmt, Value *VAList, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the vsprintf function.
|
|
Value * | emitUnaryFloatFnCall (Value *Op, const TargetLibraryInfo *TLI, StringRef Name, IRBuilderBase &B, const AttributeList &Attrs) |
| Emit a call to the unary function named 'Name' (e.g.
|
|
Value * | emitUnaryFloatFnCall (Value *Op, const TargetLibraryInfo *TLI, LibFunc DoubleFn, LibFunc FloatFn, LibFunc LongDoubleFn, IRBuilderBase &B, const AttributeList &Attrs) |
| Emit a call to the unary function DoubleFn, FloatFn or LongDoubleFn, depending of the type of Op.
|
|
Value * | emitBinaryFloatFnCall (Value *Op1, Value *Op2, const TargetLibraryInfo *TLI, StringRef Name, IRBuilderBase &B, const AttributeList &Attrs) |
| Emit a call to the binary function named 'Name' (e.g.
|
|
Value * | emitBinaryFloatFnCall (Value *Op1, Value *Op2, const TargetLibraryInfo *TLI, LibFunc DoubleFn, LibFunc FloatFn, LibFunc LongDoubleFn, IRBuilderBase &B, const AttributeList &Attrs) |
| Emit a call to the binary function DoubleFn, FloatFn or LongDoubleFn, depending of the type of Op1.
|
|
Value * | emitPutChar (Value *Char, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the putchar function. This assumes that Char is an 'int'.
|
|
Value * | emitPutS (Value *Str, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the puts function. This assumes that Str is some pointer.
|
|
Value * | emitFPutC (Value *Char, Value *File, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the fputc function.
|
|
Value * | emitFPutS (Value *Str, Value *File, IRBuilderBase &B, const TargetLibraryInfo *TLI) |
| Emit a call to the fputs function.
|
|
Value * | emitFWrite (Value *Ptr, Value *Size, Value *File, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the fwrite function.
|
|
Value * | emitMalloc (Value *Num, IRBuilderBase &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| Emit a call to the malloc function.
|
|
Value * | emitCalloc (Value *Num, Value *Size, IRBuilderBase &B, const TargetLibraryInfo &TLI, unsigned AddrSpace) |
| Emit a call to the calloc function.
|
|
Value * | emitHotColdNew (Value *Num, IRBuilderBase &B, const TargetLibraryInfo *TLI, LibFunc NewFunc, uint8_t HotCold) |
| Emit a call to the hot/cold operator new function.
|
|
Value * | emitHotColdNewNoThrow (Value *Num, Value *NoThrow, IRBuilderBase &B, const TargetLibraryInfo *TLI, LibFunc NewFunc, uint8_t HotCold) |
|
Value * | emitHotColdNewAligned (Value *Num, Value *Align, IRBuilderBase &B, const TargetLibraryInfo *TLI, LibFunc NewFunc, uint8_t HotCold) |
|
Value * | emitHotColdNewAlignedNoThrow (Value *Num, Value *Align, Value *NoThrow, IRBuilderBase &B, const TargetLibraryInfo *TLI, LibFunc NewFunc, uint8_t HotCold) |
|
Value * | emitHotColdSizeReturningNew (Value *Num, IRBuilderBase &B, const TargetLibraryInfo *TLI, LibFunc NewFunc, uint8_t HotCold) |
|
Value * | emitHotColdSizeReturningNewAligned (Value *Num, Value *Align, IRBuilderBase &B, const TargetLibraryInfo *TLI, LibFunc NewFunc, uint8_t HotCold) |
|
bool | bypassSlowDivision (BasicBlock *BB, const DenseMap< unsigned int, unsigned int > &BypassWidth) |
| This optimization identifies DIV instructions in a BB that can be profitably bypassed and carried out with a shorter, faster divide.
|
|
bool | isLegalToPromote (const CallBase &CB, Function *Callee, const char **FailureReason=nullptr) |
| Return true if the given indirect call site can be made to call Callee .
|
|
CallBase & | promoteCall (CallBase &CB, Function *Callee, CastInst **RetBitCast=nullptr) |
| Promote the given indirect call site to unconditionally call Callee .
|
|
CallBase & | promoteCallWithIfThenElse (CallBase &CB, Function *Callee, MDNode *BranchWeights=nullptr) |
| Promote the given indirect call site to conditionally call Callee .
|
|
CallBase * | promoteCallWithIfThenElse (CallBase &CB, Function &Callee, PGOContextualProfile &CtxProf) |
|
CallBase & | promoteCallWithVTableCmp (CallBase &CB, Instruction *VPtr, Function *Callee, ArrayRef< Constant * > AddressPoints, MDNode *BranchWeights) |
| This is similar to promoteCallWithIfThenElse except that the condition to promote a virtual call is that VPtr is the same as any of AddressPoints .
|
|
bool | tryPromoteCall (CallBase &CB) |
| Try to promote (devirtualize) a virtual call on an Alloca.
|
|
CallBase & | versionCallSite (CallBase &CB, Value *Callee, MDNode *BranchWeights) |
| Predicate and clone the given call site.
|
|
std::unique_ptr< Module > | CloneModule (const Module &M) |
| Return an exact copy of the specified module.
|
|
std::unique_ptr< Module > | CloneModule (const Module &M, ValueToValueMapTy &VMap) |
|
std::unique_ptr< Module > | CloneModule (const Module &M, ValueToValueMapTy &VMap, function_ref< bool(const GlobalValue *)> ShouldCloneDefinition) |
| Return a copy of the specified module.
|
|
BasicBlock * | CloneBasicBlock (const BasicBlock *BB, ValueToValueMapTy &VMap, const Twine &NameSuffix="", Function *F=nullptr, ClonedCodeInfo *CodeInfo=nullptr) |
| Return a copy of the specified basic block, but without embedding the block into a particular function.
|
|
Function * | CloneFunction (Function *F, ValueToValueMapTy &VMap, ClonedCodeInfo *CodeInfo=nullptr) |
| Return a copy of the specified function and add it to that function's module.
|
|
void | CloneFunctionInto (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, CloneFunctionChangeType Changes, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=nullptr, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| Clone OldFunc into NewFunc, transforming the old arguments into references to VMap values.
|
|
void | CloneFunctionAttributesInto (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| Clone OldFunc's attributes into NewFunc, transforming values based on the mappings in VMap.
|
|
void | CloneFunctionMetadataInto (Function &NewFunc, const Function &OldFunc, ValueToValueMapTy &VMap, RemapFlags RemapFlag, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| Clone OldFunc's metadata into NewFunc.
|
|
void | CloneFunctionBodyInto (Function &NewFunc, const Function &OldFunc, ValueToValueMapTy &VMap, RemapFlags RemapFlag, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=nullptr, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| Clone OldFunc's body into NewFunc.
|
|
void | CloneAndPruneIntoFromInst (Function *NewFunc, const Function *OldFunc, const Instruction *StartingInst, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=nullptr) |
| This works like CloneAndPruneFunctionInto, except that it does not clone the entire function.
|
|
void | CloneAndPruneFunctionInto (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=nullptr) |
| This works exactly like CloneFunctionInto, except that it does some simple constant prop and DCE on the fly.
|
|
DISubprogram * | CollectDebugInfoForCloning (const Function &F, CloneFunctionChangeType Changes, DebugInfoFinder &DIFinder) |
| Collect debug information such as types, compile units, and other subprograms that are reachable from F and can be considered global for the purposes of cloning (and hence not needing to be cloned).
|
|
bool | BuildDebugInfoMDMap (DenseMap< const Metadata *, TrackingMDRef > &MD, CloneFunctionChangeType Changes, DebugInfoFinder &DIFinder, DISubprogram *SPClonedWithinModule) |
| Build a map of debug info to use during Metadata cloning.
|
|
InlineResult | InlineFunction (CallBase &CB, InlineFunctionInfo &IFI, bool MergeAttributes=false, AAResults *CalleeAAR=nullptr, bool InsertLifetime=true, Function *ForwardVarArgsTo=nullptr) |
| This function inlines the called function into the basic block of the caller.
|
|
InlineResult | InlineFunction (CallBase &CB, InlineFunctionInfo &IFI, PGOContextualProfile &CtxProf, bool MergeAttributes=false, AAResults *CalleeAAR=nullptr, bool InsertLifetime=true, Function *ForwardVarArgsTo=nullptr) |
| Same as above, but it will update the contextual profile.
|
|
Loop * | cloneLoopWithPreheader (BasicBlock *Before, BasicBlock *LoopDomBB, Loop *OrigLoop, ValueToValueMapTy &VMap, const Twine &NameSuffix, LoopInfo *LI, DominatorTree *DT, SmallVectorImpl< BasicBlock * > &Blocks) |
| Clones a loop OrigLoop .
|
|
void | remapInstructionsInBlocks (ArrayRef< BasicBlock * > Blocks, ValueToValueMapTy &VMap) |
| Remaps instructions in Blocks using the mapping in VMap .
|
|
BasicBlock * | DuplicateInstructionsInSplitBetween (BasicBlock *BB, BasicBlock *PredBB, Instruction *StopAt, ValueToValueMapTy &ValueMapping, DomTreeUpdater &DTU) |
| Split edge between BB and PredBB and duplicate all non-Phi instructions from BB between its beginning and the StopAt instruction into the split block.
|
|
void | updateProfileCallee (Function *Callee, int64_t EntryDelta, const ValueMap< const Value *, WeakTrackingVH > *VMap=nullptr) |
| Updates profile information by adjusting the entry count by adding EntryDelta then scaling callsite information by the new count divided by the old count.
|
|
void | identifyNoAliasScopesToClone (ArrayRef< BasicBlock * > BBs, SmallVectorImpl< MDNode * > &NoAliasDeclScopes) |
| Find the 'llvm.experimental.noalias.scope.decl' intrinsics in the specified basic blocks and extract their scope.
|
|
void | identifyNoAliasScopesToClone (BasicBlock::iterator Start, BasicBlock::iterator End, SmallVectorImpl< MDNode * > &NoAliasDeclScopes) |
| Find the 'llvm.experimental.noalias.scope.decl' intrinsics in the specified instruction range and extract their scope.
|
|
void | cloneNoAliasScopes (ArrayRef< MDNode * > NoAliasDeclScopes, DenseMap< MDNode *, MDNode * > &ClonedScopes, StringRef Ext, LLVMContext &Context) |
| Duplicate the specified list of noalias decl scopes.
|
|
void | adaptNoAliasScopes (llvm::Instruction *I, const DenseMap< MDNode *, MDNode * > &ClonedScopes, LLVMContext &Context) |
| Adapt the metadata for the specified instruction according to the provided mapping.
|
|
void | cloneAndAdaptNoAliasScopes (ArrayRef< MDNode * > NoAliasDeclScopes, ArrayRef< BasicBlock * > NewBlocks, LLVMContext &Context, StringRef Ext) |
| Clone the specified noalias decl scopes.
|
|
void | cloneAndAdaptNoAliasScopes (ArrayRef< MDNode * > NoAliasDeclScopes, Instruction *IStart, Instruction *IEnd, LLVMContext &Context, StringRef Ext) |
| Clone the specified noalias decl scopes.
|
|
bool | isControlFlowEquivalent (const Instruction &I0, const Instruction &I1, const DominatorTree &DT, const PostDominatorTree &PDT) |
| Return true if I0 and I1 are control flow equivalent.
|
|
bool | isControlFlowEquivalent (const BasicBlock &BB0, const BasicBlock &BB1, const DominatorTree &DT, const PostDominatorTree &PDT) |
| Return true if BB0 and BB1 are control flow equivalent.
|
|
bool | isSafeToMoveBefore (Instruction &I, Instruction &InsertPoint, DominatorTree &DT, const PostDominatorTree *PDT=nullptr, DependenceInfo *DI=nullptr, bool CheckForEntireBlock=false) |
| Return true if I can be safely moved before InsertPoint .
|
|
bool | isSafeToMoveBefore (BasicBlock &BB, Instruction &InsertPoint, DominatorTree &DT, const PostDominatorTree *PDT=nullptr, DependenceInfo *DI=nullptr) |
| Return true if all instructions (except the terminator) in BB can be safely moved before InsertPoint .
|
|
void | moveInstructionsToTheBeginning (BasicBlock &FromBB, BasicBlock &ToBB, DominatorTree &DT, const PostDominatorTree &PDT, DependenceInfo &DI) |
| Move instructions, in an order-preserving manner, from FromBB to the beginning of ToBB when proven safe.
|
|
void | moveInstructionsToTheEnd (BasicBlock &FromBB, BasicBlock &ToBB, DominatorTree &DT, const PostDominatorTree &PDT, DependenceInfo &DI) |
| Move instructions, in an order-preserving manner, from FromBB to the end of ToBB when proven safe.
|
|
bool | nonStrictlyPostDominate (const BasicBlock *ThisBlock, const BasicBlock *OtherBlock, const DominatorTree *DT, const PostDominatorTree *PDT) |
| In case that two BBs ThisBlock and OtherBlock are control flow equivalent but they do not strictly dominate and post-dominate each other, we determine if ThisBlock is reached after OtherBlock in the control flow.
|
|
bool | isReachedBefore (const Instruction *I0, const Instruction *I1, const DominatorTree *DT, const PostDominatorTree *PDT) |
|
bool | optimizeGlobalCtorsList (Module &M, function_ref< bool(uint32_t, Function *)> ShouldRemove) |
| Call "ShouldRemove" for every entry in M's global_ctor list and remove the entries for which it returns true.
|
|
bool | applyDebugifyMetadata (Module &M, iterator_range< Module::iterator > Functions, StringRef Banner, std::function< bool(DIBuilder &, Function &)> ApplyToMF) |
| Add synthesized debug information to a module.
|
|
bool | stripDebugifyMetadata (Module &M) |
| Strip out all of the metadata and debug info inserted by debugify.
|
|
bool | collectDebugInfoMetadata (Module &M, iterator_range< Module::iterator > Functions, DebugInfoPerPass &DebugInfoBeforePass, StringRef Banner, StringRef NameOfWrappedPass) |
| Collect original debug information before a pass.
|
|
bool | checkDebugInfoMetadata (Module &M, iterator_range< Module::iterator > Functions, DebugInfoPerPass &DebugInfoBeforePass, StringRef Banner, StringRef NameOfWrappedPass, StringRef OrigDIVerifyBugsReportFilePath) |
| Check original debug information after a pass.
|
|
void | exportDebugifyStats (StringRef Path, const DebugifyStatsMap &Map) |
|
void | renameModuleForThinLTO (Module &M, const ModuleSummaryIndex &Index, bool ClearDSOLocalOnDeclarations, SetVector< GlobalValue * > *GlobalsToImport=nullptr) |
| Perform in-place global value handling on the given Module for exported local functions renamed and promoted for ThinLTO.
|
|
bool | isSafeToDestroyConstant (const Constant *C) |
| It is safe to destroy a constant iff it is only used by constants itself.
|
|
void | makeGuardControlFlowExplicit (Function *DeoptIntrinsic, CallInst *Guard, bool UseWC) |
| Splits control flow at point of Guard , replacing it with explicit branch by the condition of guard's first argument.
|
|
void | widenWidenableBranch (BranchInst *WidenableBR, Value *NewCond) |
| Given a branch we know is widenable (defined per Analysis/GuardUtils.h), widen it such that condition 'NewCond' is also known to hold on the taken path.
|
|
void | setWidenableBranchCond (BranchInst *WidenableBR, Value *Cond) |
| Given a branch we know is widenable (defined per Analysis/GuardUtils.h), set it's condition such that (only) 'Cond' is known to hold on the taken path and that the branch remains widenable after transform.
|
|
bool | checkIfAlreadyInstrumented (Module &M, StringRef Flag) |
| Check if module has flag attached, if not add the flag.
|
|
BasicBlock::iterator | PrepareToSplitEntryBlock (BasicBlock &BB, BasicBlock::iterator IP) |
| Instrumentation passes often insert conditional checks into entry blocks.
|
|
GlobalVariable * | createPrivateGlobalForString (Module &M, StringRef Str, bool AllowMerging, Twine NamePrefix="") |
|
Comdat * | getOrCreateFunctionComdat (Function &F, Triple &T) |
|
void | setGlobalVariableLargeSection (const Triple &TargetTriple, GlobalVariable &GV) |
|
void | createProfileSamplingVar (Module &M) |
|
static uint64_t | calculateCountScale (uint64_t MaxCount) |
| Calculate what to divide by to scale counts.
|
|
static uint32_t | scaleBranchCount (uint64_t Count, uint64_t Scale) |
| Scale an individual branch count.
|
|
bool | expandRemainder (BinaryOperator *Rem) |
| Generate code to calculate the remainder of two integers, replacing Rem with the generated code.
|
|
bool | expandDivision (BinaryOperator *Div) |
| Generate code to divide two integers, replacing Div with the generated code.
|
|
bool | expandRemainderUpTo32Bits (BinaryOperator *Rem) |
| Generate code to calculate the remainder of two integers, replacing Rem with the generated code.
|
|
bool | expandRemainderUpTo64Bits (BinaryOperator *Rem) |
| Generate code to calculate the remainder of two integers, replacing Rem with the generated code.
|
|
bool | expandDivisionUpTo32Bits (BinaryOperator *Div) |
| Generate code to divide two integers, replacing Div with the generated code.
|
|
bool | expandDivisionUpTo64Bits (BinaryOperator *Div) |
| Generate code to divide two integers, replacing Div with the generated code.
|
|
bool | ConstantFoldTerminator (BasicBlock *BB, bool DeleteDeadConditions=false, const TargetLibraryInfo *TLI=nullptr, DomTreeUpdater *DTU=nullptr) |
| If a terminator instruction is predicated on a constant value, convert it into an unconditional branch to the constant destination.
|
|
bool | isInstructionTriviallyDead (Instruction *I, const TargetLibraryInfo *TLI=nullptr) |
| Return true if the result produced by the instruction is not used, and the instruction will return.
|
|
bool | wouldInstructionBeTriviallyDead (const Instruction *I, const TargetLibraryInfo *TLI=nullptr) |
| Return true if the result produced by the instruction would have no side effects if it was not used.
|
|
bool | wouldInstructionBeTriviallyDeadOnUnusedPaths (Instruction *I, const TargetLibraryInfo *TLI=nullptr) |
| Return true if the result produced by the instruction has no side effects on any paths other than where it is used.
|
|
bool | RecursivelyDeleteTriviallyDeadInstructions (Value *V, const TargetLibraryInfo *TLI=nullptr, MemorySSAUpdater *MSSAU=nullptr, std::function< void(Value *)> AboutToDeleteCallback=std::function< void(Value *)>()) |
| If the specified value is a trivially dead instruction, delete it.
|
|
void | RecursivelyDeleteTriviallyDeadInstructions (SmallVectorImpl< WeakTrackingVH > &DeadInsts, const TargetLibraryInfo *TLI=nullptr, MemorySSAUpdater *MSSAU=nullptr, std::function< void(Value *)> AboutToDeleteCallback=std::function< void(Value *)>()) |
| Delete all of the instructions in DeadInsts , and all other instructions that deleting these in turn causes to be trivially dead.
|
|
bool | RecursivelyDeleteTriviallyDeadInstructionsPermissive (SmallVectorImpl< WeakTrackingVH > &DeadInsts, const TargetLibraryInfo *TLI=nullptr, MemorySSAUpdater *MSSAU=nullptr, std::function< void(Value *)> AboutToDeleteCallback=std::function< void(Value *)>()) |
| Same functionality as RecursivelyDeleteTriviallyDeadInstructions, but allow instructions that are not trivially dead.
|
|
bool | RecursivelyDeleteDeadPHINode (PHINode *PN, const TargetLibraryInfo *TLI=nullptr, MemorySSAUpdater *MSSAU=nullptr) |
| If the specified value is an effectively dead PHI node, due to being a def-use chain of single-use nodes that either forms a cycle or is terminated by a trivially dead instruction, delete it.
|
|
bool | SimplifyInstructionsInBlock (BasicBlock *BB, const TargetLibraryInfo *TLI=nullptr) |
| Scan the specified basic block and try to simplify any instructions in it and recursively delete dead instructions.
|
|
bool | replaceDbgUsesWithUndef (Instruction *I) |
| Replace all the uses of an SSA value in @llvm.dbg intrinsics with undef.
|
|
void | MergeBasicBlockIntoOnlyPred (BasicBlock *BB, DomTreeUpdater *DTU=nullptr) |
| BB is a block with one predecessor and its predecessor is known to have one successor (BB!).
|
|
bool | TryToSimplifyUncondBranchFromEmptyBlock (BasicBlock *BB, DomTreeUpdater *DTU=nullptr) |
| BB is known to contain an unconditional branch, and contains no instructions other than PHI nodes, potential debug intrinsics and the branch.
|
|
bool | EliminateDuplicatePHINodes (BasicBlock *BB) |
| Check for and eliminate duplicate PHI nodes in this block.
|
|
bool | EliminateDuplicatePHINodes (BasicBlock *BB, SmallPtrSetImpl< PHINode * > &ToRemove) |
| Check for and eliminate duplicate PHI nodes in this block.
|
|
bool | simplifyCFG (BasicBlock *BB, const TargetTransformInfo &TTI, DomTreeUpdater *DTU=nullptr, const SimplifyCFGOptions &Options={}, ArrayRef< WeakVH > LoopHeaders={}) |
|
bool | FlattenCFG (BasicBlock *BB, AAResults *AA=nullptr) |
| This function is used to flatten a CFG.
|
|
bool | foldBranchToCommonDest (BranchInst *BI, llvm::DomTreeUpdater *DTU=nullptr, MemorySSAUpdater *MSSAU=nullptr, const TargetTransformInfo *TTI=nullptr, unsigned BonusInstThreshold=1) |
| If this basic block is ONLY a setcc and a branch, and if a predecessor branches to us and one of our successors, fold the setcc into the predecessor and use logical operations to pick the right destination.
|
|
AllocaInst * | DemoteRegToStack (Instruction &X, bool VolatileLoads=false, std::optional< BasicBlock::iterator > AllocaPoint=std::nullopt) |
| This function takes a virtual register computed by an Instruction and replaces it with a slot in the stack frame, allocated via alloca.
|
|
AllocaInst * | DemotePHIToStack (PHINode *P, std::optional< BasicBlock::iterator > AllocaPoint=std::nullopt) |
| This function takes a virtual register computed by a phi node and replaces it with a slot in the stack frame, allocated via alloca.
|
|
Align | tryEnforceAlignment (Value *V, Align PrefAlign, const DataLayout &DL) |
| If the specified pointer points to an object that we control, try to modify the object's alignment to PrefAlign.
|
|
Align | getOrEnforceKnownAlignment (Value *V, MaybeAlign PrefAlign, const DataLayout &DL, const Instruction *CxtI=nullptr, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr) |
| Try to ensure that the alignment of V is at least PrefAlign bytes.
|
|
Align | getKnownAlignment (Value *V, const DataLayout &DL, const Instruction *CxtI=nullptr, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr) |
| Try to infer an alignment for the specified pointer.
|
|
CallInst * | createCallMatchingInvoke (InvokeInst *II) |
| Create a call that matches the invoke II in terms of arguments, attributes, debug information, etc.
|
|
CallInst * | changeToCall (InvokeInst *II, DomTreeUpdater *DTU=nullptr) |
| This function converts the specified invoke into a normal call.
|
|
void | InsertDebugValueAtStoreLoc (DbgVariableRecord *DVR, StoreInst *SI, DIBuilder &Builder) |
| ===------------------------------------------------------------------—===// Dbg Intrinsic utilities
|
|
void | InsertDebugValueAtStoreLoc (DbgVariableIntrinsic *DII, StoreInst *SI, DIBuilder &Builder) |
| Creates and inserts an llvm.dbg.value intrinsic before a store that has an associated llvm.dbg.value intrinsic.
|
|
void | ConvertDebugDeclareToDebugValue (DbgVariableIntrinsic *DII, StoreInst *SI, DIBuilder &Builder) |
| Inserts a llvm.dbg.value intrinsic before a store to an alloca'd value that has an associated llvm.dbg.declare intrinsic.
|
|
void | ConvertDebugDeclareToDebugValue (DbgVariableRecord *DVR, StoreInst *SI, DIBuilder &Builder) |
|
void | ConvertDebugDeclareToDebugValue (DbgVariableIntrinsic *DII, LoadInst *LI, DIBuilder &Builder) |
| Inserts a llvm.dbg.value intrinsic before a load of an alloca'd value that has an associated llvm.dbg.declare intrinsic.
|
|
void | ConvertDebugDeclareToDebugValue (DbgVariableRecord *DVR, LoadInst *LI, DIBuilder &Builder) |
|
void | ConvertDebugDeclareToDebugValue (DbgVariableIntrinsic *DII, PHINode *LI, DIBuilder &Builder) |
| Inserts a llvm.dbg.value intrinsic after a phi that has an associated llvm.dbg.declare intrinsic.
|
|
void | ConvertDebugDeclareToDebugValue (DbgVariableRecord *DVR, PHINode *LI, DIBuilder &Builder) |
|
bool | LowerDbgDeclare (Function &F) |
| Lowers llvm.dbg.declare intrinsics into appropriate set of llvm.dbg.value intrinsics.
|
|
void | insertDebugValuesForPHIs (BasicBlock *BB, SmallVectorImpl< PHINode * > &InsertedPHIs) |
| Propagate dbg.value intrinsics through the newly inserted PHIs.
|
|
bool | replaceDbgDeclare (Value *Address, Value *NewAddress, DIBuilder &Builder, uint8_t DIExprFlags, int Offset) |
| Replaces llvm.dbg.declare instruction when the address it describes is replaced with a new value.
|
|
void | replaceDbgValueForAlloca (AllocaInst *AI, Value *NewAllocaAddress, DIBuilder &Builder, int Offset=0) |
| Replaces multiple llvm.dbg.value instructions when the alloca it describes is replaced with a new value.
|
|
void | salvageDebugInfo (Instruction &I) |
| Assuming the instruction I is going to be deleted, attempt to salvage debug users of I by writing the effect of I in a DIExpression.
|
|
void | salvageDebugInfoForDbgValues (Instruction &I, ArrayRef< DbgVariableIntrinsic * > Insns, ArrayRef< DbgVariableRecord * > DPInsns) |
| Implementation of salvageDebugInfo, applying only to instructions in Insns , rather than all debug users from findDbgUsers( I ).
|
|
Value * | salvageDebugInfoImpl (Instruction &I, uint64_t CurrentLocOps, SmallVectorImpl< uint64_t > &Ops, SmallVectorImpl< Value * > &AdditionalValues) |
|
bool | replaceAllDbgUsesWith (Instruction &From, Value &To, Instruction &DomPoint, DominatorTree &DT) |
| Point debug users of From to To or salvage them.
|
|
bool | handleUnreachableTerminator (Instruction *I, SmallVectorImpl< Value * > &PoisonedValues) |
| If a terminator in an unreachable basic block has an operand of type Instruction, transform it into poison.
|
|
std::pair< unsigned, unsigned > | removeAllNonTerminatorAndEHPadInstructions (BasicBlock *BB) |
| Remove all instructions from a basic block other than its terminator and any present EH pad instructions.
|
|
unsigned | changeToUnreachable (Instruction *I, bool PreserveLCSSA=false, DomTreeUpdater *DTU=nullptr, MemorySSAUpdater *MSSAU=nullptr) |
| Insert an unreachable instruction before the specified instruction, making it and the rest of the code in the block dead.
|
|
BasicBlock * | changeToInvokeAndSplitBasicBlock (CallInst *CI, BasicBlock *UnwindEdge, DomTreeUpdater *DTU=nullptr) |
| Convert the CallInst to InvokeInst with the specified unwind edge basic block.
|
|
Instruction * | removeUnwindEdge (BasicBlock *BB, DomTreeUpdater *DTU=nullptr) |
| Replace 'BB's terminator with one that does not have an unwind successor block.
|
|
bool | removeUnreachableBlocks (Function &F, DomTreeUpdater *DTU=nullptr, MemorySSAUpdater *MSSAU=nullptr) |
| Remove all blocks that can not be reached from the function's entry.
|
|
void | combineMetadataForCSE (Instruction *K, const Instruction *J, bool DoesKMove) |
| Combine the metadata of two instructions so that K can replace J.
|
|
void | combineAAMetadata (Instruction *K, const Instruction *J) |
| Combine metadata of two instructions, where instruction J is a memory access that has been merged into K.
|
|
void | copyMetadataForLoad (LoadInst &Dest, const LoadInst &Source) |
| Copy the metadata from the source instruction to the destination (the replacement for the source instruction).
|
|
void | patchReplacementInstruction (Instruction *I, Value *Repl) |
| Patch the replacement so that it is not more restrictive than the value being replaced.
|
|
unsigned | replaceNonLocalUsesWith (Instruction *From, Value *To) |
|
unsigned | replaceDominatedUsesWith (Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Edge) |
| Replace each use of 'From' with 'To' if that use is dominated by the given edge.
|
|
unsigned | replaceDominatedUsesWith (Value *From, Value *To, DominatorTree &DT, const BasicBlock *BB) |
| Replace each use of 'From' with 'To' if that use is dominated by the end of the given BasicBlock.
|
|
unsigned | replaceDominatedUsesWithIf (Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Edge, function_ref< bool(const Use &U, const Value *To)> ShouldReplace) |
| Replace each use of 'From' with 'To' if that use is dominated by the given edge and the callback ShouldReplace returns true.
|
|
unsigned | replaceDominatedUsesWithIf (Value *From, Value *To, DominatorTree &DT, const BasicBlock *BB, function_ref< bool(const Use &U, const Value *To)> ShouldReplace) |
| Replace each use of 'From' with 'To' if that use is dominated by the end of the given BasicBlock and the callback ShouldReplace returns true.
|
|
bool | callsGCLeafFunction (const CallBase *Call, const TargetLibraryInfo &TLI) |
| Return true if this call calls a gc leaf function.
|
|
void | copyNonnullMetadata (const LoadInst &OldLI, MDNode *N, LoadInst &NewLI) |
| Copy a nonnull metadata node to a new load instruction.
|
|
void | copyRangeMetadata (const DataLayout &DL, const LoadInst &OldLI, MDNode *N, LoadInst &NewLI) |
| Copy a range metadata node to a new load instruction.
|
|
void | dropDebugUsers (Instruction &I) |
| Remove the debug intrinsic instructions for the given instruction.
|
|
void | hoistAllInstructionsInto (BasicBlock *DomBlock, Instruction *InsertPt, BasicBlock *BB) |
| Hoist all of the instructions in the IfBlock to the dominant block DomBlock , by moving its instructions to the insertion point InsertPt .
|
|
DIExpression * | getExpressionForConstant (DIBuilder &DIB, const Constant &C, Type &Ty) |
| Given a constant, create a debug information expression.
|
|
void | remapDebugVariable (ValueToValueMapTy &Mapping, Instruction *Inst) |
| Remap the operands of the debug records attached to Inst , and the operands of Inst itself if it's a debug intrinsic.
|
|
bool | recognizeBSwapOrBitReverseIdiom (Instruction *I, bool MatchBSwaps, bool MatchBitReversals, SmallVectorImpl< Instruction * > &InsertedInsts) |
| Try to match a bswap or bitreverse idiom.
|
|
void | maybeMarkSanitizerLibraryCallNoBuiltin (CallInst *CI, const TargetLibraryInfo *TLI) |
| Given a CallInst, check if it calls a string function known to CodeGen, and mark it with NoBuiltin if so.
|
|
bool | canReplaceOperandWithVariable (const Instruction *I, unsigned OpIdx) |
| Given an instruction, is it legal to set operand OpIdx to a non-constant value?
|
|
Value * | invertCondition (Value *Condition) |
| Invert the given true/false value, possibly reusing an existing copy.
|
|
bool | inferAttributesFromOthers (Function &F) |
| If we can infer one attribute from another on the declaration of a function, explicitly materialize the maximal set in the IR.
|
|
template<typename Loc , typename Function , typename AnchorList = ArrayRef<std::pair<Loc, Function>>> |
void | longestCommonSequence (AnchorList AnchorList1, AnchorList AnchorList2, llvm::function_ref< bool(const Function &, const Function &)> FunctionMatchesProfile, llvm::function_ref< void(Loc, Loc)> InsertMatching) |
|
bool | canPeel (const Loop *L) |
|
bool | peelLoop (Loop *L, unsigned PeelCount, LoopInfo *LI, ScalarEvolution *SE, DominatorTree &DT, AssumptionCache *AC, bool PreserveLCSSA, ValueToValueMapTy &VMap) |
| VMap is the value-map that maps instructions from the original loop to instructions in the last peeled-off iteration.
|
|
TargetTransformInfo::PeelingPreferences | gatherPeelingPreferences (Loop *L, ScalarEvolution &SE, const TargetTransformInfo &TTI, std::optional< bool > UserAllowPeeling, std::optional< bool > UserAllowProfileBasedPeeling, bool UnrollingSpecficValues=false) |
|
void | computePeelCount (Loop *L, unsigned LoopSize, TargetTransformInfo::PeelingPreferences &PP, unsigned TripCount, DominatorTree &DT, ScalarEvolution &SE, AssumptionCache *AC=nullptr, unsigned Threshold=UINT_MAX) |
|
bool | LoopRotation (Loop *L, LoopInfo *LI, const TargetTransformInfo *TTI, AssumptionCache *AC, DominatorTree *DT, ScalarEvolution *SE, MemorySSAUpdater *MSSAU, const SimplifyQuery &SQ, bool RotationOnly, unsigned Threshold, bool IsUtilMode, bool PrepareForLTO=false) |
| Convert a loop into a loop with bottom test.
|
|
bool | simplifyLoop (Loop *L, DominatorTree *DT, LoopInfo *LI, ScalarEvolution *SE, AssumptionCache *AC, MemorySSAUpdater *MSSAU, bool PreserveLCSSA) |
| Simplify each loop in a loop nest recursively.
|
|
BasicBlock * | InsertPreheaderForLoop (Loop *L, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU, bool PreserveLCSSA) |
| InsertPreheaderForLoop - Once we discover that a loop doesn't have a preheader, this method is called to insert one.
|
|
bool | formDedicatedExitBlocks (Loop *L, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU, bool PreserveLCSSA) |
| Ensure that all exit blocks of the loop are dedicated exits.
|
|
bool | formLCSSAForInstructions (SmallVectorImpl< Instruction * > &Worklist, const DominatorTree &DT, const LoopInfo &LI, ScalarEvolution *SE, SmallVectorImpl< PHINode * > *PHIsToRemove=nullptr, SmallVectorImpl< PHINode * > *InsertedPHIs=nullptr) |
| Ensures LCSSA form for every instruction from the Worklist in the scope of innermost containing loop.
|
|
bool | formLCSSA (Loop &L, const DominatorTree &DT, const LoopInfo *LI, ScalarEvolution *SE) |
| Put loop into LCSSA form.
|
|
bool | formLCSSARecursively (Loop &L, const DominatorTree &DT, const LoopInfo *LI, ScalarEvolution *SE) |
| Put a loop nest into LCSSA form.
|
|
bool | sinkRegion (DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *, TargetLibraryInfo *, TargetTransformInfo *, Loop *CurLoop, MemorySSAUpdater &, ICFLoopSafetyInfo *, SinkAndHoistLICMFlags &, OptimizationRemarkEmitter *, Loop *OutermostLoop=nullptr) |
| Walk the specified region of the CFG (defined by all blocks dominated by the specified block, and that are in the current loop) in reverse depth first order w.r.t the DominatorTree.
|
|
bool | sinkRegionForLoopNest (DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *, TargetLibraryInfo *, TargetTransformInfo *, Loop *, MemorySSAUpdater &, ICFLoopSafetyInfo *, SinkAndHoistLICMFlags &, OptimizationRemarkEmitter *) |
| Call sinkRegion on loops contained within the specified loop in order from innermost to outermost.
|
|
bool | hoistRegion (DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *, AssumptionCache *, TargetLibraryInfo *, Loop *, MemorySSAUpdater &, ScalarEvolution *, ICFLoopSafetyInfo *, SinkAndHoistLICMFlags &, OptimizationRemarkEmitter *, bool, bool AllowSpeculation) |
| Walk the specified region of the CFG (defined by all blocks dominated by the specified block, and that are in the current loop) in depth first order w.r.t the DominatorTree.
|
|
bool | isAlmostDeadIV (PHINode *IV, BasicBlock *LatchBlock, Value *Cond) |
| Return true if the induction variable IV in a Loop whose latch is LatchBlock would become dead if the exit test Cond were removed.
|
|
void | deleteDeadLoop (Loop *L, DominatorTree *DT, ScalarEvolution *SE, LoopInfo *LI, MemorySSA *MSSA=nullptr) |
| This function deletes dead loops.
|
|
void | breakLoopBackedge (Loop *L, DominatorTree &DT, ScalarEvolution &SE, LoopInfo &LI, MemorySSA *MSSA) |
| Remove the backedge of the specified loop.
|
|
bool | promoteLoopAccessesToScalars (const SmallSetVector< Value *, 8 > &, SmallVectorImpl< BasicBlock * > &, SmallVectorImpl< BasicBlock::iterator > &, SmallVectorImpl< MemoryAccess * > &, PredIteratorCache &, LoopInfo *, DominatorTree *, AssumptionCache *AC, const TargetLibraryInfo *, TargetTransformInfo *, Loop *, MemorySSAUpdater &, ICFLoopSafetyInfo *, OptimizationRemarkEmitter *, bool AllowSpeculation, bool HasReadsOutsideSet) |
| Try to promote memory values to scalars by sinking stores out of the loop and moving loads to before the loop.
|
|
SmallVector< BasicBlock *, 16 > | collectChildrenInLoop (DominatorTree *DT, DomTreeNode *N, const Loop *CurLoop) |
| Does a BFS from a given node to all of its children inside a given loop.
|
|
SmallVector< Instruction *, 8 > | findDefsUsedOutsideOfLoop (Loop *L) |
| Returns the instructions that use values defined in the loop.
|
|
std::optional< ElementCount > | getOptionalElementCountLoopAttribute (const Loop *TheLoop) |
| Find a combination of metadata ("llvm.loop.vectorize.width" and "llvm.loop.vectorize.scalable.enable") for a loop and use it to construct a ElementCount.
|
|
std::optional< MDNode * > | makeFollowupLoopID (MDNode *OrigLoopID, ArrayRef< StringRef > FollowupAttrs, const char *InheritOptionsAttrsPrefix="", bool AlwaysNew=false) |
| Create a new loop identifier for a loop created from a loop transformation.
|
|
bool | hasDisableAllTransformsHint (const Loop *L) |
| Look for the loop attribute that disables all transformation heuristic.
|
|
bool | hasDisableLICMTransformsHint (const Loop *L) |
| Look for the loop attribute that disables the LICM transformation heuristics.
|
|
void | addStringMetadataToLoop (Loop *TheLoop, const char *MDString, unsigned V=0) |
| Set input string into loop metadata by keeping other values intact.
|
|
std::optional< unsigned > | getLoopEstimatedTripCount (Loop *L, unsigned *EstimatedLoopInvocationWeight=nullptr) |
| Returns a loop's estimated trip count based on branch weight metadata.
|
|
bool | setLoopEstimatedTripCount (Loop *L, unsigned EstimatedTripCount, unsigned EstimatedLoopInvocationWeight) |
| Set a loop's branch weight metadata to reflect that loop has EstimatedTripCount iterations and EstimatedLoopInvocationWeight exits through latch.
|
|
bool | hasIterationCountInvariantInParent (Loop *L, ScalarEvolution &SE) |
| Check inner loop (L) backedge count is known to be invariant on all iterations of its outer loop.
|
|
void | getLoopAnalysisUsage (AnalysisUsage &AU) |
| Helper to consistently add the set of standard passes to a loop pass's AnalysisUsage .
|
|
bool | canSinkOrHoistInst (Instruction &I, AAResults *AA, DominatorTree *DT, Loop *CurLoop, MemorySSAUpdater &MSSAU, bool TargetExecutesOncePerLoop, SinkAndHoistLICMFlags &LICMFlags, OptimizationRemarkEmitter *ORE=nullptr) |
| Returns true if is legal to hoist or sink this instruction disregarding the possible introduction of faults.
|
|
constexpr Intrinsic::ID | getReductionIntrinsicID (RecurKind RK) |
| Returns the llvm.vector.reduce intrinsic that corresponds to the recurrence kind.
|
|
unsigned | getArithmeticReductionInstruction (Intrinsic::ID RdxID) |
| Returns the arithmetic instruction opcode used when expanding a reduction.
|
|
Intrinsic::ID | getMinMaxReductionIntrinsicOp (Intrinsic::ID RdxID) |
| Returns the min/max intrinsic used when expanding a min/max reduction.
|
|
Intrinsic::ID | getMinMaxReductionIntrinsicOp (RecurKind RK) |
| Returns the min/max intrinsic used when expanding a min/max reduction.
|
|
RecurKind | getMinMaxReductionRecurKind (Intrinsic::ID RdxID) |
| Returns the recurence kind used when expanding a min/max reduction.
|
|
CmpInst::Predicate | getMinMaxReductionPredicate (RecurKind RK) |
| Returns the comparison predicate used when expanding a min/max reduction.
|
|
Value * | getReductionIdentity (Intrinsic::ID RdxID, Type *Ty, FastMathFlags FMF) |
| Given information about an @llvm.vector.reduce.
|
|
Value * | getRecurrenceIdentity (RecurKind K, Type *Tp, FastMathFlags FMF) |
| Given information about an recurrence kind, return the identity for the @llvm.vector.reduce.
|
|
Value * | createMinMaxOp (IRBuilderBase &Builder, RecurKind RK, Value *Left, Value *Right) |
| Returns a Min/Max operation corresponding to MinMaxRecurrenceKind.
|
|
Value * | getOrderedReduction (IRBuilderBase &Builder, Value *Acc, Value *Src, unsigned Op, RecurKind MinMaxKind=RecurKind::None) |
| Generates an ordered vector reduction using extracts to reduce the value.
|
|
Value * | getShuffleReduction (IRBuilderBase &Builder, Value *Src, unsigned Op, TargetTransformInfo::ReductionShuffle RS, RecurKind MinMaxKind=RecurKind::None) |
| Generates a vector reduction using shufflevectors to reduce the value.
|
|
Value * | createSimpleReduction (IRBuilderBase &B, Value *Src, RecurKind RdxKind) |
| Create a reduction of the given vector.
|
|
Value * | createSimpleReduction (VectorBuilder &VB, Value *Src, const RecurrenceDescriptor &Desc) |
| Overloaded function to generate vector-predication intrinsics for reduction.
|
|
Value * | createAnyOfReduction (IRBuilderBase &B, Value *Src, const RecurrenceDescriptor &Desc, PHINode *OrigPhi) |
| Create a reduction of the given vector Src for a reduction of the kind RecurKind::IAnyOf or RecurKind::FAnyOf.
|
|
Value * | createFindLastIVReduction (IRBuilderBase &B, Value *Src, const RecurrenceDescriptor &Desc) |
| Create a reduction of the given vector Src for a reduction of the kind RecurKind::IFindLastIV or RecurKind::FFindLastIV.
|
|
Value * | createReduction (IRBuilderBase &B, const RecurrenceDescriptor &Desc, Value *Src, PHINode *OrigPhi=nullptr) |
| Create a generic reduction using a recurrence descriptor Desc Fast-math-flags are propagated using the RecurrenceDescriptor.
|
|
Value * | createOrderedReduction (IRBuilderBase &B, const RecurrenceDescriptor &Desc, Value *Src, Value *Start) |
| Create an ordered reduction intrinsic using the given recurrence descriptor Desc .
|
|
Value * | createOrderedReduction (VectorBuilder &VB, const RecurrenceDescriptor &Desc, Value *Src, Value *Start) |
| Overloaded function to generate vector-predication intrinsics for ordered reduction.
|
|
void | propagateIRFlags (Value *I, ArrayRef< Value * > VL, Value *OpValue=nullptr, bool IncludeWrapFlags=true) |
| Get the intersection (logical and) of all of the potential IR flags of each scalar operation (VL) that will be converted into a vector (I).
|
|
bool | isKnownNegativeInLoop (const SCEV *S, const Loop *L, ScalarEvolution &SE) |
| Returns true if we can prove that S is defined and always negative in loop L .
|
|
bool | isKnownNonNegativeInLoop (const SCEV *S, const Loop *L, ScalarEvolution &SE) |
| Returns true if we can prove that S is defined and always non-negative in loop L .
|
|
bool | isKnownPositiveInLoop (const SCEV *S, const Loop *L, ScalarEvolution &SE) |
| Returns true if we can prove that S is defined and always positive in loop L .
|
|
bool | isKnownNonPositiveInLoop (const SCEV *S, const Loop *L, ScalarEvolution &SE) |
| Returns true if we can prove that S is defined and always non-positive in loop L .
|
|
bool | cannotBeMaxInLoop (const SCEV *S, const Loop *L, ScalarEvolution &SE, bool Signed) |
| Returns true if S is defined and never is equal to signed/unsigned max.
|
|
bool | cannotBeMinInLoop (const SCEV *S, const Loop *L, ScalarEvolution &SE, bool Signed) |
| Returns true if S is defined and never is equal to signed/unsigned min.
|
|
int | rewriteLoopExitValues (Loop *L, LoopInfo *LI, TargetLibraryInfo *TLI, ScalarEvolution *SE, const TargetTransformInfo *TTI, SCEVExpander &Rewriter, DominatorTree *DT, ReplaceExitVal ReplaceExitValue, SmallVector< WeakTrackingVH, 16 > &DeadInsts) |
| If the final value of any expressions that are recurrent in the loop can be computed, substitute the exit values from the loop into any instructions outside of the loop that use the final values of the current expressions.
|
|
void | setProfileInfoAfterUnrolling (Loop *OrigLoop, Loop *UnrolledLoop, Loop *RemainderLoop, uint64_t UF) |
| Set weights for UnrolledLoop and RemainderLoop based on weights for OrigLoop and the following distribution of OrigLoop iteration among UnrolledLoop and RemainderLoop .
|
|
template<typename RangeT > |
void | appendLoopsToWorklist (RangeT &&, SmallPriorityWorklist< Loop *, 4 > &) |
| Utility that implements appending of loops onto a worklist given a range.
|
|
template<typename RangeT > |
void | appendReversedLoopsToWorklist (RangeT &&, SmallPriorityWorklist< Loop *, 4 > &) |
| Utility that implements appending of loops onto a worklist given a range.
|
|
void | appendLoopsToWorklist (LoopInfo &, SmallPriorityWorklist< Loop *, 4 > &) |
| Utility that implements appending of loops onto a worklist given LoopInfo.
|
|
Loop * | cloneLoop (Loop *L, Loop *PL, ValueToValueMapTy &VM, LoopInfo *LI, LPPassManager *LPM) |
| Recursively clone the specified loop and all of its children, mapping the blocks with the specified map.
|
|
Value * | addRuntimeChecks (Instruction *Loc, Loop *TheLoop, const SmallVectorImpl< RuntimePointerCheck > &PointerChecks, SCEVExpander &Expander, bool HoistRuntimeChecks=false) |
| Add code that checks at runtime if the accessed arrays in PointerChecks overlap.
|
|
Value * | addDiffRuntimeChecks (Instruction *Loc, ArrayRef< PointerDiffInfo > Checks, SCEVExpander &Expander, function_ref< Value *(IRBuilderBase &, unsigned)> GetVF, unsigned IC) |
|
std::optional< IVConditionInfo > | hasPartialIVCondition (const Loop &L, unsigned MSSAThreshold, const MemorySSA &MSSA, AAResults &AA) |
| Check if the loop header has a conditional branch that is not loop-invariant, because it involves load instructions.
|
|
bool | lowerAtomicCmpXchgInst (AtomicCmpXchgInst *CXI) |
| Convert the given Cmpxchg into primitive load and compare.
|
|
std::pair< Value *, Value * > | buildCmpXchgValue (IRBuilderBase &Builder, Value *Ptr, Value *Cmp, Value *Val, Align Alignment) |
| Emit IR to implement the given cmpxchg operation on values in registers, returning the new value.
|
|
bool | lowerAtomicRMWInst (AtomicRMWInst *RMWI) |
| Convert the given RMWI into primitive load and stores, assuming that doing so is legal.
|
|
Value * | buildAtomicRMWValue (AtomicRMWInst::BinOp Op, IRBuilderBase &Builder, Value *Loaded, Value *Val) |
| Emit IR to implement the given atomicrmw operation on values in registers, returning the new value.
|
|
void | createMemCpyLoopUnknownSize (Instruction *InsertBefore, Value *SrcAddr, Value *DstAddr, Value *CopyLen, Align SrcAlign, Align DestAlign, bool SrcIsVolatile, bool DstIsVolatile, bool CanOverlap, const TargetTransformInfo &TTI, std::optional< unsigned > AtomicSize=std::nullopt) |
| Emit a loop implementing the semantics of llvm.memcpy where the size is not a compile-time constant.
|
|
void | createMemCpyLoopKnownSize (Instruction *InsertBefore, Value *SrcAddr, Value *DstAddr, ConstantInt *CopyLen, Align SrcAlign, Align DestAlign, bool SrcIsVolatile, bool DstIsVolatile, bool CanOverlap, const TargetTransformInfo &TTI, std::optional< uint32_t > AtomicCpySize=std::nullopt) |
| Emit a loop implementing the semantics of an llvm.memcpy whose size is a compile time constant.
|
|
void | expandMemCpyAsLoop (MemCpyInst *MemCpy, const TargetTransformInfo &TTI, ScalarEvolution *SE=nullptr) |
| Expand MemCpy as a loop. MemCpy is not deleted.
|
|
bool | expandMemMoveAsLoop (MemMoveInst *MemMove, const TargetTransformInfo &TTI) |
| Expand MemMove as a loop.
|
|
void | expandMemSetAsLoop (MemSetInst *MemSet) |
| Expand MemSet as a loop. MemSet is not deleted.
|
|
void | expandMemSetPatternAsLoop (MemSetPatternInst *MemSet) |
| Expand MemSetPattern as a loop. MemSet is not deleted.
|
|
void | expandAtomicMemCpyAsLoop (AtomicMemCpyInst *AtomicMemCpy, const TargetTransformInfo &TTI, ScalarEvolution *SE) |
| Expand AtomicMemCpy as a loop. AtomicMemCpy is not deleted.
|
|
void | appendToGlobalCtors (Module &M, Function *F, int Priority, Constant *Data=nullptr) |
| Append F to the list of global ctors of module M with the given Priority.
|
|
void | appendToGlobalDtors (Module &M, Function *F, int Priority, Constant *Data=nullptr) |
| Same as appendToGlobalCtors(), but for global dtors.
|
|
void | transformGlobalCtors (Module &M, const GlobalCtorTransformFn &Fn) |
|
void | transformGlobalDtors (Module &M, const GlobalCtorTransformFn &Fn) |
|
void | setKCFIType (Module &M, Function &F, StringRef MangledType) |
| Sets the KCFI type for the function.
|
|
FunctionCallee | declareSanitizerInitFunction (Module &M, StringRef InitName, ArrayRef< Type * > InitArgTypes, bool Weak=false) |
|
Function * | createSanitizerCtor (Module &M, StringRef CtorName) |
| Creates sanitizer constructor function.
|
|
std::pair< Function *, FunctionCallee > | createSanitizerCtorAndInitFunctions (Module &M, StringRef CtorName, StringRef InitName, ArrayRef< Type * > InitArgTypes, ArrayRef< Value * > InitArgs, StringRef VersionCheckName=StringRef(), bool Weak=false) |
| Creates sanitizer constructor function, and calls sanitizer's init function from it.
|
|
std::pair< Function *, FunctionCallee > | getOrCreateSanitizerCtorAndInitFunctions (Module &M, StringRef CtorName, StringRef InitName, ArrayRef< Type * > InitArgTypes, ArrayRef< Value * > InitArgs, function_ref< void(Function *, FunctionCallee)> FunctionsCreatedCallback, StringRef VersionCheckName=StringRef(), bool Weak=false) |
| Creates sanitizer constructor function lazily.
|
|
bool | nameUnamedGlobals (Module &M) |
| Rename all the anon globals in the module using a hash computed from the list of public globals in the module.
|
|
void | appendToUsed (Module &M, ArrayRef< GlobalValue * > Values) |
| Adds global values to the llvm.used list.
|
|
void | appendToCompilerUsed (Module &M, ArrayRef< GlobalValue * > Values) |
| Adds global values to the llvm.compiler.used list.
|
|
void | removeFromUsedLists (Module &M, function_ref< bool(Constant *)> ShouldRemove) |
| Removes global values from the llvm.used and llvm.compiler.used arrays.
|
|
void | filterDeadComdatFunctions ( |