LLVM API Documentation

Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
llvm Namespace Reference

List of target independent CodeGen pass IDs. More...

Namespaces

namespace  AArch64
namespace  AArch64_AM
 

AArch64_AM - AArch64 Addressing Mode Stuff.


namespace  AArch64AT
namespace  AArch64CC
namespace  AArch64DB
namespace  AArch64DC
namespace  AArch64IC
namespace  AArch64II
namespace  AArch64ISB
namespace  AArch64ISD
namespace  AArch64Layout
namespace  AArch64PRFM
namespace  AArch64PState
namespace  AArch64SE
namespace  AArch64SysReg
namespace  AArch64TLBI
namespace  AMDGPU
namespace  AMDGPUIntrinsic
namespace  AMDGPUISD
namespace  APIntOps
namespace  ARM
 

Define some predicates that are used for node matching.


namespace  ARM_AM
 

ARM_AM - ARM Addressing Mode Stuff.


namespace  ARM_ISB
namespace  ARM_MB
namespace  ARM_MC
namespace  ARM_PROC
namespace  ARMBuildAttrs
namespace  ARMCC
namespace  ARMCP
namespace  ARMII
namespace  ARMISD
namespace  ARMRI
 

Register allocation hints.


namespace  AttributeFuncs
namespace  bfi_detail
namespace  bitc
namespace  CallingConv
namespace  cl
namespace  CodeGenOpt
namespace  CodeModel
namespace  COFF
namespace  COFFYAML
namespace  coverage
namespace  detail
 

Implementation details of the pass manager interfaces.


namespace  DOT
namespace  dwarf
namespace  DWARFFlavour
namespace  ELF
namespace  ELFYAML
namespace  EngineKind
namespace  FloatABI
namespace  FPOpFusion
namespace  GC
namespace  GCOV
namespace  GraphProgram
namespace  hashing
namespace  Hexagon
namespace  HexagonII
namespace  HexagonISD
namespace  HexStyle
namespace  IndexedInstrProf
namespace  InlineConstants
namespace  IntervalMapImpl
namespace  Intrinsic
namespace  ISD
namespace  jitprofiling
namespace  JumpTable
namespace  LCOMM
namespace  legacy
namespace  LibFunc
namespace  lltok
namespace  MachineCombinerPattern
namespace  MachO
namespace  MCD
namespace  MCID
namespace  MCOI
namespace  Mips
namespace  Mips16HardFloatInfo
namespace  MipsII
namespace  MipsISD
namespace  MSP430II
namespace  MSP430ISD
namespace  N86
namespace  NVPTX
namespace  NVPTXCC
namespace  NVPTXII
namespace  NVPTXISD
namespace  objcarc
namespace  object
namespace  opt
namespace  PatternMatch
namespace  PBQP
namespace  PICStyles
namespace  PPC
 

Define some predicates that are used for node matching.


namespace  PPCII
namespace  PPCISD
namespace  RegState
namespace  Reloc
namespace  RTLIB
namespace  ScaledNumbers
namespace  Sched
namespace  SI
namespace  Sparc
namespace  SPCC
namespace  SPII
namespace  SPISD
namespace  support
namespace  sys
namespace  SystemZ
namespace  SystemZCP
namespace  SystemZICMP
namespace  SystemZII
namespace  SystemZISD
namespace  SystemZMC
namespace  TargetOpcode
namespace  tgtok
namespace  ThreadModel
namespace  TLSModel
namespace  types
namespace  Win64EH
namespace  WinEH
namespace  X86
 

Define some predicates that are used for node matching.


namespace  X86_MC
namespace  X86Disassembler
namespace  X86II
namespace  X86ISD
namespace  XCore
namespace  XCoreISD
namespace  yaml
namespace  zlib

Classes

class  APFloat
 A self-contained host- and target-independent arbitrary-precision floating-point software implementation. More...
class  APInt
 Class for arbitrary precision integers. More...
class  APSInt
class  ArrayRef
class  MutableArrayRef
struct  isPodLike< ArrayRef< T > >
class  BitVector
class  DAGDeltaAlgorithm
class  DeltaAlgorithm
class  DenseMapBase
class  DenseMap
class  SmallDenseMap
class  DenseMapIterator
struct  DenseMapInfo
struct  DenseMapInfo< T * >
struct  DenseMapInfo< char >
struct  DenseMapInfo< unsigned >
struct  DenseMapInfo< unsigned long >
struct  DenseMapInfo< unsigned long long >
struct  DenseMapInfo< int >
struct  DenseMapInfo< long >
struct  DenseMapInfo< long long >
struct  DenseMapInfo< std::pair< T, U > >
class  DenseSet
class  df_iterator_storage
class  df_iterator_storage< SetType, true >
class  df_iterator
struct  df_ext_iterator
struct  idf_iterator
struct  idf_ext_iterator
class  EquivalenceClasses
class  FoldingSetImpl
struct  DefaultFoldingSetTrait
struct  FoldingSetTrait
struct  DefaultContextualFoldingSetTrait
struct  ContextualFoldingSetTrait
class  FoldingSetNodeIDRef
class  FoldingSetNodeID
class  FoldingSet
class  ContextualFoldingSet
class  FoldingSetVectorIterator
class  FoldingSetVector
class  FoldingSetIteratorImpl
class  FoldingSetIterator
class  FoldingSetBucketIteratorImpl
class  FoldingSetBucketIterator
class  FoldingSetNodeWrapper
class  FastFoldingSetNode
struct  FoldingSetTrait< T * >
struct  FoldingSetTrait< std::pair< T1, T2 > >
struct  GraphTraits
struct  Inverse
struct  GraphTraits< Inverse< Inverse< T > > >
class  hash_code
 An opaque object representing a hash code. More...
struct  ilist_nextprev_traits
struct  ilist_sentinel_traits
struct  ilist_node_traits
struct  ilist_default_traits
struct  ilist_traits
struct  ilist_traits< const Ty >
class  ilist_iterator
struct  simplify_type< ilist_iterator< NodeTy > >
struct  simplify_type< const ilist_iterator< NodeTy > >
class  iplist
struct  ilist
class  ilist_half_node
class  ilist_node
class  ImmutableListImpl
class  ImmutableList
class  ImmutableListFactory
struct  DenseMapInfo< ImmutableList< T > >
struct  isPodLike< ImmutableList< T > >
struct  ImutKeyValueInfo
class  ImmutableMap
class  ImmutableMapRef
class  ImutAVLTree
class  ImutAVLFactory
class  ImutAVLTreeGenericIterator
class  ImutAVLTreeInOrderIterator
struct  ImutProfileInfo
struct  ImutProfileInteger
 Profile traits for integers. More...
struct  ImutProfileInfo< bool >
 Profile traits for booleans. More...
struct  ImutProfileInfo< T * >
struct  ImutContainerInfo
struct  ImutContainerInfo< T * >
class  ImmutableSet
class  ImmutableSetRef
class  IndexedMap
class  IntEqClasses
struct  IntervalMapInfo
struct  IntervalMapHalfOpenInfo
class  IntervalMap
class  IntervalMapOverlaps
class  RefCountedBase
class  RefCountedBaseVPTR
struct  IntrusiveRefCntPtrInfo
class  ThreadSafeRefCountedBase
 A thread-safe version of llvm::RefCountedBase. More...
class  IntrusiveRefCntPtr
struct  simplify_type< IntrusiveRefCntPtr< T > >
struct  simplify_type< const IntrusiveRefCntPtr< T > >
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_adaptor_base
 CRTP base class for adapting an iterator to a different type. More...
struct  pointee_iterator
 An iterator type that allows iterating over the pointees via some other iterator. More...
class  iterator_range
 A range adaptor for a pair of iterators. More...
class  MapVector
class  Optional
struct  isPodLike< Optional< T > >
class  PackedVectorBase< T, BitNum, BitVectorTy, false >
class  PackedVectorBase< T, BitNum, BitVectorTy, true >
class  PackedVector
 Store a vector of values using a specific number of bits for each value. Both signed and unsigned types can be used, e.g. More...
class  PointerIntPair
struct  isPodLike< PointerIntPair< PointerTy, IntBits, IntType > >
struct  DenseMapInfo< PointerIntPair< PointerTy, IntBits, IntType > >
class  PointerLikeTypeTraits< PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > >
struct  PointerUnionTypeSelectorReturn
struct  PointerUnionTypeSelector
 Get a type based on whether two types are the same or not. For: More...
struct  PointerUnionTypeSelector< T, T, RET_EQ, RET_NE >
struct  PointerUnionTypeSelectorReturn< PointerUnionTypeSelector< T1, T2, RET_EQ, RET_NE > >
class  PointerUnionUIntTraits
class  PointerUnion
class  PointerLikeTypeTraits< PointerUnion< PT1, PT2 > >
class  PointerUnion3
class  PointerLikeTypeTraits< PointerUnion3< PT1, PT2, PT3 > >
class  PointerUnion4
class  PointerLikeTypeTraits< PointerUnion4< PT1, PT2, PT3, PT4 > >
struct  DenseMapInfo< PointerUnion< T, U > >
class  po_iterator_storage
 Default po_iterator_storage implementation with an internal set object. More...
class  po_iterator_storage< SetType, true >
 Specialization of po_iterator_storage that references an external set. More...
class  po_iterator
struct  po_ext_iterator
struct  ipo_iterator
struct  ipo_ext_iterator
class  ReversePostOrderTraversal
class  PriorityQueue
class  scc_iterator
 Enumerate the SCCs of a directed graph in reverse topological order of the SCC DAG. More...
class  ScopedHashTableVal
class  ScopedHashTableScope
class  ScopedHashTableIterator
class  ScopedHashTable
class  SetVector
 A vector that has set insertion semantics. More...
class  SmallSetVector
 A SetVector that performs no allocations if smaller than a certain size. More...
class  SmallBitVector
class  SmallPtrSetImplBase
class  SmallPtrSetIteratorImpl
class  SmallPtrSetIterator
 SmallPtrSetIterator - This implements a const_iterator for SmallPtrSet. More...
struct  RoundUpToPowerOfTwoH
struct  RoundUpToPowerOfTwoH< N, false >
struct  RoundUpToPowerOfTwo
class  SmallPtrSetImpl
 A templated base class for SmallPtrSet which provides the typesafe interface that is common across all small sizes. More...
class  SmallPtrSet
class  SmallSet
class  SmallSet< PointeeType *, N >
class  SmallString
class  SmallVectorBase
 This is all the non-templated stuff common to all SmallVectors. More...
class  SmallVectorTemplateCommon
class  SmallVectorTemplateBase
class  SmallVectorTemplateBase< T, true >
class  SmallVectorImpl
struct  SmallVectorStorage
struct  SmallVectorStorage< T, 1 >
struct  SmallVectorStorage< T, 0 >
class  SmallVector
struct  SparseBitVectorElement
struct  ilist_traits< SparseBitVectorElement< ElementSize > >
class  SparseBitVector
class  SparseMultiSet
struct  SparseSetValTraits
struct  SparseSetValFunctor
struct  SparseSetValFunctor< KeyT, KeyT, KeyFunctorT >
class  SparseSet
class  Statistic
struct  identity
struct  less_ptr
struct  greater_ptr
class  function_ref< Ret()>
class  function_ref< Ret(Param1)>
class  function_ref< Ret(Param1, Param2)>
class  function_ref< Ret(Param1, Param2, Param3)>
class  mapped_iterator
struct  less_first
 Function object to check whether the first component of a std::pair compares less than the first component of another std::pair. More...
struct  less_second
 Function object to check whether the second component of a std::pair compares less than the second component of another std::pair. More...
struct  FreeDeleter
struct  pair_hash
class  StringMapEntryBase
 StringMapEntryBase - Shared base class of StringMapEntry instances. More...
class  StringMapImpl
class  StringMapEntry
class  StringMap
class  StringMapConstIterator
class  StringMapIterator
class  StringRef
struct  isPodLike< StringRef >
class  StringSet
 StringSet - A wrapper for StringMap that provides set-like functionality. More...
class  StringSwitch
 A switch()-like statement whose cases are string literals. More...
class  TinyPtrVector
class  Triple
class  Twine
class  UniqueVector
struct  VariadicFunction
 Class which can simulate a type-safe variadic function. More...
struct  VariadicFunction1
struct  VariadicFunction2
struct  VariadicFunction3
class  AliasAnalysis
struct  DenseMapInfo< AliasAnalysis::Location >
class  AliasSet
class  AliasSetTracker
class  AssumptionTracker
 An immutable pass that tracks .assume intrinsics in a module. More...
class  BlockFrequencyInfo
struct  isPodLike< bfi_detail::BlockMass >
class  BlockFrequencyInfoImplBase
 Base class for BlockFrequencyInfoImpl. More...
class  BlockFrequencyInfoImpl
 Shared implementation for block frequency analysis. More...
class  BranchProbabilityInfo
 Analysis pass providing branch probability information. More...
class  CallGraph
 The basic data container for the call graph of a Module of IR. More...
class  CallGraphNode
 A node in the call graph for a module. More...
class  CallGraphAnalysis
 An analysis pass to compute the CallGraph for a Module. More...
class  CallGraphWrapperPass
 The ModulePass which wraps up a CallGraph and the logic to build it. More...
struct  GraphTraits< CallGraphNode * >
struct  GraphTraits< const CallGraphNode * >
struct  GraphTraits< CallGraph * >
struct  GraphTraits< const CallGraph * >
class  CallGraphSCCPass
class  CallGraphSCC
 CallGraphSCC - This is a single SCC that a CallGraphSCCPass is run on. More...
struct  CaptureTracker
struct  DOTGraphTraits< const Function * >
class  CGSCCPassManager
class  CGSCCAnalysisManager
 A function analysis manager to coordinate and cache analyses run over a module. More...
class  CGSCCAnalysisManagerModuleProxy
 A module analysis which acts as a proxy for a CGSCC analysis manager. More...
class  ModuleAnalysisManagerCGSCCProxy
 A CGSCC analysis which acts as a proxy for a module analysis manager. 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  FunctionAnalysisManagerCGSCCProxy
 A CGSCC analysis which acts as a proxy for a function analysis manager. More...
class  CGSCCAnalysisManagerFunctionProxy
 A function analysis which acts as a proxy for a CGSCC analysis manager. More...
class  CGSCCToFunctionPassAdaptor
 Adaptor that maps from a SCC to its functions. More...
struct  CodeMetrics
 Utility to calculate the size and a few similar metrics for a set of basic blocks. More...
class  constant_iterator
class  Dependence
class  FullDependence
class  DependenceAnalysis
class  DominanceFrontierBase
class  ForwardDominanceFrontierBase
class  DominanceFrontier
struct  DefaultAnalysisGraphTraits
 Default traits class for extracting a graph from an analysis pass. More...
class  DOTGraphTraitsViewer
class  DOTGraphTraitsPrinter
class  DOTGraphTraitsModuleViewer
class  DOTGraphTraitsModulePrinter
class  FindUsedTypes
class  final
 Concrete instance of DWARFUnitSection, specialized for one Unit type. More...
class  InlineCost
 Represents the cost of inlining a function. More...
class  InlineCostAnalysis
 Cost analyzer used by inliner. More...
class  Interval
struct  GraphTraits< Interval * >
struct  GraphTraits< Inverse< Interval * > >
class  IntervalIterator
class  IntervalPartition
class  IVStrideUse
struct  ilist_traits< IVStrideUse >
class  IVUsers
class  JumpInstrTableInfo
class  LazyCallGraph
 A lazily constructed view of the call graph of a module. More...
struct  GraphTraits< LazyCallGraph::Node * >
struct  GraphTraits< LazyCallGraph * >
class  LazyCallGraphAnalysis
 An analysis pass which computes the call graph for a module. More...
class  LazyCallGraphPrinterPass
 A pass which prints the call graph to a raw_ostream. More...
class  LazyValueInfo
struct  LibCallAliasAnalysis
 LibCallAliasAnalysis - Alias analysis driven from LibCallInfo. More...
struct  LibCallLocationInfo
struct  LibCallFunctionInfo
class  LibCallInfo
class  LoopBase
class  Loop
class  LoopInfoBase
class  LoopInfo
struct  GraphTraits< const Loop * >
struct  GraphTraits< Loop * >
class  LoopBlocksDFS
class  po_iterator_storage< LoopBlocksTraversal, true >
 Specialize po_iterator_storage to record postorder numbers. More...
class  LoopBlocksTraversal
 Traverse the blocks in a loop using a depth-first search. More...
class  LoopPass
class  LPPassManager
class  ObjectSizeOffsetVisitor
 Evaluate the size and offset of an object pointed to by a Value* statically. Fails if size or offset are not known at compile time. More...
class  ObjectSizeOffsetEvaluator
 Evaluate the size and offset of an object pointed to by a Value*. May create code to compute the result at run-time. More...
class  MemDepResult
class  NonLocalDepEntry
class  NonLocalDepResult
class  MemoryDependenceAnalysis
class  PHITransAddr
struct  PostDominatorTree
struct  GraphTraits< PostDominatorTree * >
class  PtrUseVisitor
 A base class for visitors over the uses of a pointer value. More...
struct  RegionTraits
struct  RegionTraits< Function >
class  FlatIt
 Marker class to iterate over the elements of a Region in flat mode. More...
class  RegionNodeBase
 A RegionNode represents a subregion or a BasicBlock that is part of a Region. More...
class  RegionBase
 A single entry single exit Region. More...
class  RegionInfoBase
 Analysis that detects all canonical Regions. More...
class  RegionNode
class  Region
class  RegionInfo
class  RegionInfoPass
class  RNSuccIterator
 Hierarchical RegionNode successor iterator. More...
class  RNSuccIterator< FlatIt< NodeType >, BlockT, RegionT >
 Flat RegionNode iterator. More...
struct  GraphTraits< RegionInfo * >
struct  GraphTraits< RegionInfoPass * >
class  RegionPass
 A pass that runs on each Region in a function. More...
class  RGPassManager
 The pass manager to schedule RegionPasses. More...
class  SCEV
struct  FoldingSetTrait< SCEV >
struct  SCEVCouldNotCompute
class  ScalarEvolution
class  SCEVExpander
class  SCEVConstant
class  SCEVCastExpr
class  SCEVTruncateExpr
class  SCEVZeroExtendExpr
class  SCEVSignExtendExpr
class  SCEVNAryExpr
class  SCEVCommutativeExpr
class  SCEVAddExpr
class  SCEVMulExpr
class  SCEVUDivExpr
class  SCEVAddRecExpr
class  SCEVSMaxExpr
class  SCEVUMaxExpr
class  SCEVUnknown
struct  SCEVVisitor
class  SCEVTraversal
struct  SCEVParameterRewriter
struct  SCEVApplyRewriter
class  AbstractLatticeFunction
class  SparseSolver
class  TargetFolder
 TargetFolder - Create constants with target dependent folding. More...
class  TargetTransformInfo
class  Trace
class  BitCodeAbbrevOp
struct  isPodLike< BitCodeAbbrevOp >
class  BitCodeAbbrev
class  BitcodeWriterPass
 Pass for writing a module of IR out to a bitcode file. More...
class  BitstreamReader
struct  BitstreamEntry
class  BitstreamCursor
class  BitstreamWriter
class  AsmPrinter
 This class is intended to be used as a driving class for all asm writers. More...
class  VirtRegAuxInfo
 Calculate auxiliary information for a virtual register such as its spill weight and allocation hint. More...
class  CCValAssign
 CCValAssign - Represent assignment of one arg/retval to a location. More...
class  CCState
class  DFAPacketizer
class  VLIWPacketizerList
class  EdgeBundles
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  FunctionLoweringInfo
struct  GCPoint
struct  GCRoot
class  GCFunctionInfo
class  GCModuleInfo
class  GCMetadataPrinter
class  GCStrategy
class  IntrinsicLowering
class  JumpInstrTables
struct  latency_sort
 Sorting functions for the Available queue. More...
class  LatencyPriorityQueue
class  LexicalScope
class  LexicalScopes
class  VNInfo
class  LiveQueryResult
class  LiveRange
class  LiveInterval
class  LiveRangeUpdater
class  ConnectedVNInfoEqClasses
class  LiveIntervals
class  LiveIntervalUnion
class  LivePhysRegs
 A set of live physical registers with functions to track liveness when walking backward/forward through a basic block. More...
class  LiveRangeEdit
class  LiveRegMatrix
class  LiveStacks
class  LiveVariables
struct  ilist_traits< MachineInstr >
class  MachineBasicBlock
struct  MBB2NumberFunctor
struct  GraphTraits< MachineBasicBlock * >
struct  GraphTraits< const MachineBasicBlock * >
struct  GraphTraits< Inverse< MachineBasicBlock * > >
struct  GraphTraits< Inverse< const MachineBasicBlock * > >
class  MachineInstrSpan
class  MachineBlockFrequencyInfo
class  MachineBranchProbabilityInfo
class  MachineConstantPoolValue
class  MachineConstantPoolEntry
 An entry in a MachineConstantPool. More...
class  MachineConstantPool
 The machine constant pool. More...
class  MachineDominanceFrontier
class  MachineDominatorTree
struct  GraphTraits< MachineDomTreeNode * >
struct  GraphTraits< MachineDominatorTree * >
class  CalleeSavedInfo
class  MachineFrameInfo
 Abstract Stack Frame Information. More...
struct  ilist_traits< MachineBasicBlock >
struct  MachineFunctionInfo
class  MachineFunction
struct  GraphTraits< MachineFunction * >
struct  GraphTraits< const MachineFunction * >
struct  GraphTraits< Inverse< MachineFunction * > >
struct  GraphTraits< Inverse< const MachineFunction * > >
struct  MachineFunctionAnalysis
class  MachineFunctionPass
class  MachineInstr
struct  MachineInstrExpressionTrait
class  MachineInstrBuilder
class  MIBundleBuilder
class  MachineOperandIteratorBase
class  MIOperands
class  ConstMIOperands
class  MIBundleOperands
class  ConstMIBundleOperands
struct  MachineJumpTableEntry
class  MachineJumpTableInfo
class  MachineLoop
class  MachineLoopInfo
struct  GraphTraits< const MachineLoop * >
struct  GraphTraits< MachineLoop * >
struct  MachinePointerInfo
class  MachineMemOperand
struct  LandingPadInfo
class  MachineModuleInfoImpl
class  MachineModuleInfo
class  MachineModuleInfoMachO
class  MachineModuleInfoELF
class  MachineOperand
class  MachinePassRegistryListener
class  MachinePassRegistryNode
class  MachinePassRegistry
class  RegisterPassParser
struct  MachinePostDominatorTree
struct  RegionTraits< MachineFunction >
class  MachineRegionNode
class  MachineRegion
class  MachineRegionInfo
class  MachineRegionInfoPass
struct  GraphTraits< MachineRegionInfo * >
struct  GraphTraits< MachineRegionInfoPass * >
class  MachineRegisterInfo
class  PSetIterator
struct  MachineSchedContext
class  MachineSchedRegistry
struct  MachineSchedPolicy
class  MachineSchedStrategy
class  ScheduleDAGMutation
 Mutate the DAG as a postpass after normal DAG building. More...
class  ScheduleDAGMI
class  ScheduleDAGMILive
class  ReadyQueue
struct  SchedRemainder
 Summarize the unscheduled region. More...
class  SchedBoundary
class  GenericSchedulerBase
class  GenericScheduler
class  PostGenericScheduler
class  MachineSSAUpdater
class  MachineTraceMetrics
class  MVT
class  MachORelocation
class  IdentifyingPassPtr
struct  isPodLike< IdentifyingPassPtr >
class  TargetPassConfig
class  PBQPRAConstraint
 Abstract base for classes implementing PBQP register allocation constraints (e.g. Spill-costs, interference, coalescing). More...
class  PBQPRAConstraintList
 PBQP register allocation constraint composer. More...
class  PseudoSourceValue
class  FixedStackPseudoSourceValue
class  RegisterRegAlloc
class  RegisterClassInfo
struct  RegisterPressure
 Base class for register pressure results. More...
struct  IntervalPressure
struct  RegionPressure
class  PressureChange
struct  isPodLike< PressureChange >
class  PressureDiff
class  PressureDiffs
 Array of PressureDiffs. More...
struct  RegPressureDelta
struct  LiveRegSet
 A set of live virtual registers and physical register units. More...
class  RegPressureTracker
class  RegScavenger
struct  resource_sort
 Sorting functions for the Available queue. More...
class  ResourcePriorityQueue
class  SDep
struct  isPodLike< SDep >
class  SUnit
 SUnit - Scheduling unit. This is a node in the scheduling DAG. More...
class  SchedulingPriorityQueue
class  ScheduleDAG
class  SUnitIterator
struct  GraphTraits< SUnit * >
struct  GraphTraits< ScheduleDAG * >
class  ScheduleDAGTopologicalSort
struct  VReg2SUnit
 An individual mapping from virtual register number to SUnit. More...
struct  PhysRegSUOper
class  ScheduleDAGInstrs
struct  ILPValue
 Represent the ILP of the subDAG rooted at a DAG node. More...
class  SchedDFSResult
 Compute the values of each DAG node for various metrics during DFS. More...
class  ScheduleHazardRecognizer
class  RegisterScheduler
class  ScoreboardHazardRecognizer
class  SDVTListNode
struct  FoldingSetTrait< SDVTListNode >
struct  ilist_traits< SDNode >
class  SDDbgInfo
class  SelectionDAG
struct  GraphTraits< SelectionDAG * >
class  SelectionDAGISel
struct  SDVTList
class  SDValue
struct  DenseMapInfo< SDValue >
struct  isPodLike< SDValue >
struct  simplify_type< SDValue >
struct  simplify_type< const SDValue >
class  SDUse
struct  simplify_type< SDUse >
class  SDNode
class  SDLoc
class  UnarySDNode
class  BinarySDNode
class  BinaryWithFlagsSDNode
class  TernarySDNode
class  HandleSDNode
class  AddrSpaceCastSDNode
class  MemSDNode
 Abstact virtual class for operations for memory operations. More...
class  AtomicSDNode
class  MemIntrinsicSDNode
class  ShuffleVectorSDNode
class  ConstantSDNode
class  ConstantFPSDNode
class  GlobalAddressSDNode
class  FrameIndexSDNode
class  JumpTableSDNode
class  ConstantPoolSDNode
class  TargetIndexSDNode
 Completely target-dependent object reference. More...
class  BasicBlockSDNode
class  BuildVectorSDNode
class  SrcValueSDNode
class  MDNodeSDNode
class  RegisterSDNode
class  RegisterMaskSDNode
class  BlockAddressSDNode
class  EHLabelSDNode
class  ExternalSymbolSDNode
class  CondCodeSDNode
class  CvtRndSatSDNode
class  VTSDNode
class  LSBaseSDNode
class  LoadSDNode
class  StoreSDNode
class  MachineSDNode
class  SDNodeIterator
struct  GraphTraits< SDNode * >
class  IndexListEntry
struct  ilist_traits< IndexListEntry >
class  SlotIndex
 SlotIndex - An opaque wrapper around machine indexes. More...
struct  isPodLike< SlotIndex >
struct  Idx2MBBCompare
class  SlotIndexes
struct  IntervalMapInfo< SlotIndex >
class  StackMapLiveness
 This pass calculates the liveness information for each basic block in a function and attaches the register live-out information to a patchpoint intrinsic if present. More...
class  PatchPointOpers
 MI-level patchpoint operands. More...
class  StackMaps
class  StackProtector
class  TargetLoweringObjectFileELF
class  TargetLoweringObjectFileMachO
class  TargetLoweringObjectFileCOFF
class  TargetSchedModel
 Provide an instruction scheduling machine model to CodeGen passes. More...
struct  EVT
class  VirtRegMap
struct  DILineInfo
 DILineInfo - a format-neutral container for source line information. More...
class  DIInliningInfo
 DIInliningInfo - a format-neutral container for inlined code description. More...
struct  DILineInfoSpecifier
class  DIContext
class  DWARFFormValue
class  ExecutionEngineState
 Helper class for helping synchronize access to the global address map table. Access to this class should be serialized under a mutex. More...
class  ExecutionEngine
 Abstract interface for implementation execution of LLVM modules, designed to support both interpreter and just-in-time (JIT) compiler implementations. More...
class  EngineBuilder
struct  GenericValue
struct  JITEvent_EmittedFunctionDetails
class  JITEventListener
class  ObjectBuffer
class  ObjectBufferStream
class  ObjectCache
class  ObjectImage
class  OProfileWrapper
class  RTDyldMemoryManager
class  RuntimeDyld
class  RuntimeDyldChecker
 RuntimeDyld invariant checker for verifying that RuntimeDyld has correctly applied relocations. More...
class  SectionMemoryManager
class  Argument
 LLVM Argument representation. More...
class  AssemblyAnnotationWriter
class  Attribute
class  AttributeSet
struct  DenseMapInfo< AttributeSet >
class  AttrBuilder
struct  ilist_traits< Instruction >
class  BasicBlock
 LLVM Basic Block Representation. More...
class  CallSiteBase
class  CallSite
class  ImmutableCallSite
 ImmutableCallSite - establish a view to a call site for examination. More...
class  PredIterator
class  SuccIterator
struct  isPodLike< SuccIterator< T, U > >
struct  GraphTraits< BasicBlock * >
struct  GraphTraits< const BasicBlock * >
struct  GraphTraits< Inverse< BasicBlock * > >
struct  GraphTraits< Inverse< const BasicBlock * > >
struct  GraphTraits< Function * >
struct  GraphTraits< const Function * >
struct  GraphTraits< Inverse< Function * > >
struct  GraphTraits< Inverse< const Function * > >
class  Comdat
class  Constant
 LLVM Constant Representation. More...
class  ConstantFolder
 ConstantFolder - Create constants with minimum, target independent, folding. More...
class  ConstantRange
class  ConstantInt
 Class for constant integers. More...
class  ConstantFP
class  ConstantAggregateZero
class  ConstantArray
struct  OperandTraits< ConstantArray >
class  ConstantStruct
struct  OperandTraits< ConstantStruct >
class  ConstantVector
struct  OperandTraits< ConstantVector >
class  ConstantPointerNull
class  ConstantDataSequential
class  ConstantDataArray
class  ConstantDataVector
class  BlockAddress
struct  OperandTraits< BlockAddress >
class  ConstantExpr
struct  OperandTraits< ConstantExpr >
class  UndefValue
struct  LayoutAlignElem
 Layout alignment element. More...
struct  PointerAlignElem
 Layout pointer alignment element. More...
class  DataLayout
 A parsed version of the target data layout string in and methods for querying it. More...
class  DataLayoutPass
class  StructLayout
class  DIHeaderFieldIterator
class  DIDescriptor
 A thin wraper around MDNode to access encoded debug info. More...
class  DISubrange
 This is used to represent ranges, for array bounds. More...
class  DITypedArray
 This descriptor holds an array of nodes with type T. More...
class  DIEnumerator
 A wrapper for an enumerator (e.g. X and Y in 'enum {X,Y}'). More...
class  DIScope
 A base class for various scopes. More...
class  DIRef
 Represents reference to a DIDescriptor. More...
class  DIType
class  DIBasicType
 A basic type, like 'int' or 'float'. More...
class  DIDerivedType
 A simple derived type. More...
class  DICompositeType
 Types that refer to multiple other types. More...
class  DISubroutineType
class  DIFile
 This is a wrapper for a file. More...
class  DICompileUnit
 A wrapper for a compile unit. More...
class  DISubprogram
 This is a wrapper for a subprogram (e.g. a function). More...
class  DILexicalBlock
 This is a wrapper for a lexical block. More...
class  DILexicalBlockFile
 This is a wrapper for a lexical block with a filename change. More...
class  DINameSpace
 A wrapper for a C++ style name space. More...
class  DITemplateTypeParameter
 This is a wrapper for template type parameter. More...
class  DITemplateValueParameter
 This is a wrapper for template value parameter. More...
class  DIGlobalVariable
 This is a wrapper for a global variable. More...
class  DIVariable
 This is a wrapper for a variable (e.g. parameter, local, global etc). More...
class  DIExpression
 A complex location expression. More...
class  DILocation
 This object holds location information. More...
class  DIObjCProperty
class  DIImportedEntity
 An imported module (C++ using directive or similar). More...
class  DebugInfoFinder
 Utility to find all debug info in a module. More...
class  DebugLoc
struct  DenseMapInfo< DebugLoc >
class  IntegerType
 Integer representation type. More...
class  FunctionType
class  CompositeType
class  StructType
class  SequentialType
class  ArrayType
class  VectorType
class  PointerType
class  DiagnosticInfo
 This is the base abstract class for diagnostic reporting in the backend. The print method must be overloaded by the subclasses to print a user-friendly message in the client of the backend (let us call it a frontend). More...
class  DiagnosticInfoInlineAsm
class  DiagnosticInfoStackSize
class  DiagnosticInfoDebugMetadataVersion
class  DiagnosticInfoSampleProfile
 Diagnostic information for the sample profiler. More...
class  DiagnosticInfoOptimizationBase
 Common features for diagnostics dealing with optimization remarks. More...
class  DiagnosticInfoOptimizationRemark
 Diagnostic information for applied optimization remarks. More...
class  DiagnosticInfoOptimizationRemarkMissed
 Diagnostic information for missed-optimization remarks. More...
class  DiagnosticInfoOptimizationRemarkAnalysis
 Diagnostic information for optimization analysis remarks. More...
class  DiagnosticInfoOptimizationFailure
 Diagnostic information for optimization failures. More...
class  DiagnosticPrinter
 Interface for custom diagnostic printing. More...
class  DiagnosticPrinterRawOStream
 Basic diagnostic printer that uses an underlying raw_ostream. More...
class  DIBuilder
class  BasicBlockEdge
class  DominatorTree
 Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree. More...
struct  GraphTraits< DomTreeNode * >
struct  GraphTraits< DominatorTree * >
class  DominatorTreeWrapperPass
 Analysis pass which computes a DominatorTree. More...
struct  ilist_traits< BasicBlock >
struct  ilist_traits< Argument >
class  Function
class  generic_gep_type_iterator
class  GlobalAlias
struct  OperandTraits< GlobalAlias >
class  GlobalObject
class  GlobalValue
class  GlobalVariable
struct  OperandTraits< GlobalVariable >
class  GVMaterializer
class  InlineAsm
class  InstIterator
class  TerminatorInst
class  UnaryInstruction
struct  OperandTraits< UnaryInstruction >
class  BinaryOperator
struct  OperandTraits< BinaryOperator >
class  CastInst
 Base class of casting instructions. More...
class  CmpInst
 Abstract base class of comparison instructions. More...
struct  OperandTraits< CmpInst >
class  Instruction
class  PointerLikeTypeTraits< Instruction * >
class  AllocaInst
class  LoadInst
class  StoreInst
struct  OperandTraits< StoreInst >
class  FenceInst
class  AtomicCmpXchgInst
struct  OperandTraits< AtomicCmpXchgInst >
class  AtomicRMWInst
struct  OperandTraits< AtomicRMWInst >
class  GetElementPtrInst
struct  OperandTraits< GetElementPtrInst >
class  ICmpInst
 Represent an integer comparison operator. More...
class  FCmpInst
 Represents a floating point comparison operator. More...
class  CallInst
struct  OperandTraits< CallInst >
class  SelectInst
struct  OperandTraits< SelectInst >
class  VAArgInst
class  ExtractElementInst
struct  OperandTraits< ExtractElementInst >
class  InsertElementInst
struct  OperandTraits< InsertElementInst >
class  ShuffleVectorInst
struct  OperandTraits< ShuffleVectorInst >
class  ExtractValueInst
class  InsertValueInst
struct  OperandTraits< InsertValueInst >
class  PHINode
struct  OperandTraits< PHINode >
class  LandingPadInst
struct  OperandTraits< LandingPadInst >
class  ReturnInst
struct  OperandTraits< ReturnInst >
class  BranchInst
struct  OperandTraits< BranchInst >
class  SwitchInst
struct  OperandTraits< SwitchInst >
class  IndirectBrInst
struct  OperandTraits< IndirectBrInst >
class  InvokeInst
struct  OperandTraits< InvokeInst >
class  ResumeInst
struct  OperandTraits< ResumeInst >
class  UnreachableInst
class  TruncInst
 This class represents a truncation of integer types. More...
class  ZExtInst
 This class represents zero extension of integer types. More...
class  SExtInst
 This class represents a sign extension of integer types. More...
class  FPTruncInst
 This class represents a truncation of floating point types. More...
class  FPExtInst
 This class represents an extension of floating point types. More...
class  UIToFPInst
 This class represents a cast unsigned integer to floating point. More...
class  SIToFPInst
 This class represents a cast from signed integer to floating point. More...
class  FPToUIInst
 This class represents a cast from floating point to unsigned integer. More...
class  FPToSIInst
 This class represents a cast from floating point to signed integer. More...
class  IntToPtrInst
 This class represents a cast from an integer to a pointer. More...
class  PtrToIntInst
 This class represents a cast from a pointer to an integer. More...
class  BitCastInst
 This class represents a no-op cast from one type to another. More...
class  AddrSpaceCastInst
 This class represents a conversion between pointers from one address space to another. More...
class  InstVisitor
 Base class for instruction visitors. More...
class  IntrinsicInst
class  DbgInfoIntrinsic
class  DbgDeclareInst
class  DbgValueInst
class  MemIntrinsic
class  MemSetInst
class  MemTransferInst
class  MemCpyInst
class  MemMoveInst
class  VAStartInst
class  VAEndInst
class  VACopyInst
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  IRBuilderBase
 Common base class shared among various IRBuilders. 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  PrintModulePass
 Pass for printing a Module as LLVM's text IR assembly. More...
class  PrintFunctionPass
 Pass for printing a Function as LLVM's text IR assembly. More...
struct  LeakDetector
class  PassManagerPrettyStackEntry
class  PMStack
class  PMTopLevelManager
class  PMDataManager
class  FPPassManager
class  PassNameParser
class  FilteredPassNameParser
class  PassArgFilter
class  LLVMContext
class  Mangler
class  MDBuilder
class  MDString
 A single uniqued string. More...
struct  AAMDNodes
 A collection of metadata nodes that might be associated with a memory access used by the alias-analysis infrastructure. More...
struct  DenseMapInfo< AAMDNodes >
class  MDNode
 A tuple of other values. More...
class  NamedMDNode
 A tuple of MDNodes. More...
struct  ilist_traits< Function >
struct  ilist_traits< GlobalVariable >
struct  ilist_traits< GlobalAlias >
struct  ilist_traits< NamedMDNode >
class  Module
 The main container class for the LLVM Intermediate Representation. More...
class  NoFolder
 NoFolder - Create "constants" (actually, instructions) with no folding. More...
struct  FixedNumOperandTraits
struct  OptionalOperandTraits
struct  VariadicOperandTraits
struct  HungoffOperandTraits
class  Operator
class  OverflowingBinaryOperator
class  PossiblyExactOperator
class  FastMathFlags
 Convenience struct for specifying and reasoning about fast-math flags. More...
class  FPMathOperator
class  ConcreteOperator
 A helper template for defining operators for individual opcodes. More...
class  AddOperator
class  SubOperator
class  MulOperator
class  ShlOperator
class  SDivOperator
class  UDivOperator
class  AShrOperator
class  LShrOperator
class  GEPOperator
class  PtrToIntOperator
class  PreservedAnalyses
 An abstract set of preserved analyses following a transformation pass run. More...
class  ModulePassManager
class  FunctionPassManager
class  ModuleAnalysisManager
 A module analysis pass manager with lazy running and caching of results. More...
class  FunctionAnalysisManager
 A function analysis manager to coordinate and cache analyses run over a module. More...
class  FunctionAnalysisManagerModuleProxy
 A module analysis which acts as a proxy for a function analysis manager. More...
class  ModuleAnalysisManagerFunctionProxy
 A function analysis which acts as a proxy for a module analysis manager. More...
class  ModuleToFunctionPassAdaptor
 Trivial adaptor that maps from a module to its functions. More...
class  PredIteratorCache
class  SymbolTableListTraits
class  Type
struct  isa_impl< PointerType, Type >
struct  GraphTraits< Type * >
struct  GraphTraits< const Type * >
class  TypeBuilder
class  TypeBuilder< const T, cross >
class  TypeBuilder< volatile T, cross >
class  TypeBuilder< const volatile T, cross >
class  TypeBuilder< T *, cross >
class  TypeBuilder< T &, cross >
 There is no support for references. More...
class  TypeBuilder< T[N], cross >
class  TypeBuilder< T[], cross >
 LLVM uses an array of length 0 to represent an unknown-length array. More...
class  TypeBuilder< types::i< num_bits >, cross >
class  TypeBuilder< float, false >
class  TypeBuilder< float, true >
class  TypeBuilder< double, false >
class  TypeBuilder< double, true >
class  TypeBuilder< types::ieee_float, cross >
class  TypeBuilder< types::ieee_double, cross >
class  TypeBuilder< types::x86_fp80, cross >
class  TypeBuilder< types::fp128, cross >
class  TypeBuilder< types::ppc_fp128, cross >
class  TypeBuilder< types::x86_mmx, cross >
class  TypeBuilder< void, cross >
class  TypeBuilder< void *, false >
class  TypeBuilder< const void *, false >
class  TypeBuilder< volatile void *, false >
class  TypeBuilder< const volatile void *, false >
class  TypeBuilder< R(), cross >
class  TypeBuilder< R(A1), cross >
class  TypeBuilder< R(A1, A2), cross >
class  TypeBuilder< R(A1, A2, A3), cross >
class  TypeBuilder< R(A1, A2, A3, A4), cross >
class  TypeBuilder< R(A1, A2, A3, A4, A5), cross >
class  TypeBuilder< R(...), cross >
class  TypeBuilder< R(A1,...), cross >
class  TypeBuilder< R(A1, A2,...), cross >
class  TypeBuilder< R(A1, A2, A3,...), cross >
class  TypeBuilder< R(A1, A2, A3, A4,...), cross >
class  TypeBuilder< R(A1, A2, A3, A4, A5,...), cross >
class  TypeFinder
class  PointerLikeTypeTraits< Use ** >
class  Use
 A Use represents the edge between a Value definition and its users. More...
struct  simplify_type< Use >
 Allow clients to treat uses just like values when using casting operators. More...
struct  simplify_type< const Use >
struct  UseListOrder
 Structure to hold a use-list order. More...
class  User
struct  simplify_type< User::op_iterator >
struct  simplify_type< User::const_op_iterator >
class  Value
 LLVM Value Representation. More...
struct  isa_impl< Constant, Value >
struct  isa_impl< Argument, Value >
struct  isa_impl< InlineAsm, Value >
struct  isa_impl< Instruction, Value >
struct  isa_impl< BasicBlock, Value >
struct  isa_impl< Function, Value >
struct  isa_impl< GlobalVariable, Value >
struct  isa_impl< GlobalAlias, Value >
struct  isa_impl< GlobalValue, Value >
struct  isa_impl< GlobalObject, Value >
struct  isa_impl< MDNode, Value >
class  PointerLikeTypeTraits< Value * >
class  PointerLikeTypeTraits< ValueHandleBase ** >
class  ValueHandleBase
 This is the common base class of value handles. More...
class  WeakVH
 Value handle that is nullable, but tries to track the Value. More...
struct  simplify_type< WeakVH >
class  AssertingVH
 Value handle that asserts if the Value is deleted. More...
struct  DenseMapInfo< AssertingVH< T > >
struct  isPodLike< AssertingVH< T > >
class  TrackingVH
 Value handle that tracks a Value across RAUW. More...
class  CallbackVH
 Value handle with callbacks on RAUW and destruction. More...
struct  ValueMapConfig
class  ValueMap
 See the file comment. More...
class  ValueMapCallbackVH
struct  DenseMapInfo< ValueMapCallbackVH< KeyT, ValueT, Config > >
class  ValueMapIterator
class  ValueMapConstIterator
class  ValueSymbolTable
class  VerifierPass
class  LineEditor
class  Linker
struct  LTOCodeGenerator
struct  LTOModule
struct  ConstantPoolEntry
class  ConstantPool
class  AssemblerConstantPools
class  MachineLocation
class  MCAsmBackend
 MCAsmBackend - Generic interface to target specific assembler backends. More...
class  MCAsmInfo
class  MCAsmInfoCOFF
class  MCAsmInfoMicrosoft
class  MCAsmInfoGNUCOFF
class  MCAsmInfoDarwin
class  MCAsmInfoELF
class  MCAsmLayout
class  MCFragment
class  MCEncodedFragment
class  MCEncodedFragmentWithFixups
class  MCDataFragment
class  MCCompactEncodedInstFragment
class  MCRelaxableFragment
class  MCAlignFragment
class  MCFillFragment
class  MCOrgFragment
class  MCLEBFragment
class  MCDwarfLineAddrFragment
class  MCDwarfCallFrameFragment
class  MCSectionData
class  MCSymbolData
struct  IndirectSymbolData
struct  DataRegionData
class  MCAssembler
class  MCCodeEmitter
 MCCodeEmitter - Generic instruction encoding interface. More...
class  MCCodeGenInfo
class  MCContext
class  MCDisassembler
struct  MCDwarfFile
class  MCDwarfLoc
class  MCLineEntry
class  MCLineSection
struct  MCDwarfLineTableHeader
class  MCDwarfDwoLineTable
class  MCDwarfLineTable
class  MCDwarfLineAddr
class  MCGenDwarfInfo
class  MCGenDwarfLabelEntry
class  MCCFIInstruction
struct  MCDwarfFrameInfo
class  MCDwarfFrameEmitter
class  MCELF
class  MCELFObjectTargetWriter
class  MCELFStreamer
class  MCExpr
class  MCConstantExpr
class  MCSymbolRefExpr
class  MCUnaryExpr
 MCUnaryExpr - Unary assembler expressions. More...
class  MCBinaryExpr
 MCBinaryExpr - Binary assembler expressions. More...
class  MCTargetExpr
class  MCExternalSymbolizer
 Symbolize using user-provided, C API, callbacks. More...
class  MCFixup
struct  MCFixupKindInfo
 MCFixupKindInfo - Target independent information on a fixup kind. More...
class  MCOperand
struct  isPodLike< MCOperand >
class  MCInst
class  MCInstBuilder
class  MCInstPrinter
class  MCInstrAnalysis
class  MCOperandInfo
class  MCInstrDesc
class  MCInstrInfo
struct  InstrStage
struct  InstrItinerary
class  InstrItineraryData
class  MCLabel
class  MCLOHDirective
 Store Linker Optimization Hint information (LOH). More...
class  MCLOHContainer
class  MCMachObjectTargetWriter
class  MachObjectWriter
class  MCObjectFileInfo
class  MCObjectStreamer
 Streaming object file generation interface. More...
class  MCObjectWriter
class  AsmCond
class  AsmLexer
 AsmLexer - Lexer class for assembly files. More...
class  AsmToken
 AsmToken - Target independent representation for an assembler token. More...
class  MCAsmLexer
class  InlineAsmIdentifierInfo
class  MCAsmParserSemaCallback
 MCAsmParserSemaCallback - Generic Sema callback for assembly parser. More...
class  MCAsmParser
class  MCAsmParserExtension
 Generic interface for extending the MCAsmParser, which is implemented by target and object file assembly parser implementations. More...
class  MCParsedAsmOperand
class  MCRegisterClass
 MCRegisterClass - Base class of TargetRegisterClass. More...
struct  MCRegisterDesc
class  MCRegisterInfo
class  MCSubRegIterator
class  MCSuperRegIterator
class  MCRegUnitIterator
class  MCRegUnitRootIterator
 MCRegUnitRootIterator enumerates the root registers of a register unit. More...
class  MCRegAliasIterator
class  MCRelocationInfo
 Create MCExprs from relocations found in an object file. More...
struct  MCProcResourceDesc
 Define a kind of processor resource that will be modeled by the scheduler. More...
struct  MCWriteProcResEntry
struct  MCWriteLatencyEntry
struct  MCReadAdvanceEntry
struct  MCSchedClassDesc
struct  MCSchedModel
class  MCSection
class  MCSectionCOFF
 MCSectionCOFF - This represents a section on Windows. More...
class  MCSectionELF
class  MCSectionMachO
class  MCTargetStreamer
class  AArch64TargetStreamer
class  ARMTargetStreamer
class  MCStreamer
class  MCSubtargetInfo
class  MCSymbol
class  MCSymbolizer
 Symbolize and annotate disassembled instructions. More...
struct  AsmRewrite
struct  ParseInstructionInfo
class  MCTargetAsmParser
 MCTargetAsmParser - Generic interface to target specific assembly parsers. More...
class  MCTargetOptions
class  MCValue
class  MCWinCOFFObjectTargetWriter
class  MCWinCOFFStreamer
class  SectionKind
class  StringTableBuilder
 Utility for building string tables with deduplicated suffixes. More...
struct  SubtargetFeatureKV
struct  SubtargetInfoKV
class  SubtargetFeatures
class  Pass
class  ModulePass
class  ImmutablePass
class  FunctionPass
class  BasicBlockPass
class  AnalysisUsage
class  AnalysisResolver
class  PassInfo
class  PassRegistry
struct  RegisterPass
class  RegisterAGBase
struct  RegisterAnalysisGroup
struct  PassRegistrationListener
struct  DenseMapInfo< coverage::CounterExpression >
 Provide DenseMapInfo for CounterExpression. More...
struct  InstrProfRecord
 Profiling information for a single function. More...
class  InstrProfIterator
 A file format agnostic iterator over profiling data. More...
class  InstrProfReader
class  TextInstrProfReader
class  RawInstrProfReader
class  InstrProfLookupTrait
class  IndexedInstrProfReader
 Reader for the indexed binary instrprof format. More...
class  InstrProfWriter
 Writer for instrumentation based profile data. More...
struct  DenseMapInfo< sampleprof::LineLocation >
struct  AlignmentCalcImpl
struct  AlignOf
struct  AlignedCharArrayUnion
 This union template exposes a suitably aligned and sized character array member which can hold elements of any of up to four types. More...
class  AllocatorBase
 CRTP base class providing obvious overloads for the core Allocate() methods of LLVM-style allocators. More...
class  MallocAllocator
class  BumpPtrAllocatorImpl
 Allocate memory in an ever growing pool, as if by bump-pointer. More...
class  SpecificBumpPtrAllocator
 A BumpPtrAllocator that allows only elements of a specific type to be allocated. More...
class  ArrayRecycler
class  BlockFrequency
class  BranchProbability
struct  simplify_type
struct  simplify_type< const From >
struct  isa_impl
struct  isa_impl< To, From, typename std::enable_if< std::is_base_of< To, From >::value >::type >
 Always allow upcasts, and perform no dynamic check for them. More...
struct  isa_impl_cl
struct  isa_impl_cl< To, const From >
struct  isa_impl_cl< To, From * >
struct  isa_impl_cl< To, From *const >
struct  isa_impl_cl< To, const From * >
struct  isa_impl_cl< To, const From *const >
struct  isa_impl_wrap
struct  isa_impl_wrap< To, FromTy, FromTy >
struct  cast_retty_impl
struct  cast_retty_impl< To, const From >
struct  cast_retty_impl< To, From * >
struct  cast_retty_impl< To, const From * >
struct  cast_retty_impl< To, const From *const >
struct  cast_retty_wrap
struct  cast_retty_wrap< To, FromTy, FromTy >
struct  cast_retty
struct  cast_convert_val
struct  cast_convert_val< To, FromTy, FromTy >
struct  is_simple_type
class  circular_raw_ostream
class  CrashRecoveryContext
 Crash recovery helper object. More...
class  CrashRecoveryContextCleanup
class  CrashRecoveryContextCleanupBase
class  CrashRecoveryContextDestructorCleanup
class  CrashRecoveryContextDeleteCleanup
class  CrashRecoveryContextReleaseRefCleanup
class  CrashRecoveryContextCleanupRegistrar
class  DataExtractor
class  DataStreamer
struct  DefaultDOTGraphTraits
struct  DOTGraphTraits
struct  ScopedFatalErrorHandler
class  ReferenceStorage
 Stores a reference that can be changed. More...
class  ErrorOr
 Represents either an error or a value T. More...
class  FileOutputBuffer
class  FileRemover
class  format_object_base
class  FormattedString
 This is a helper class used for left_justify() and right_justify(). More...
class  FormattedNumber
 This is a helper class used for format_hex() and format_decimal(). More...
class  formatted_raw_ostream
struct  GCOVOptions
 GCOVOptions - A struct for passing gcov options between functions. More...
class  GCOVBuffer
class  GCOVFile
struct  GCOVEdge
 GCOVEdge - Collects edge information. More...
class  GCOVFunction
 GCOVFunction - Collects function information. More...
class  GCOVBlock
 GCOVBlock - Collects block information. More...
class  FileInfo
class  DominatorBase
class  DomTreeNodeBase
class  DominatorTreeBase
class  GraphWriter
class  line_iterator
 A forward iterator which reads text lines from a buffer. More...
class  LockFileManager
 Class that manages the creation of a lock file to aid implicit coordination between different processes. More...
struct  object_deleter
struct  object_deleter< T[N]>
class  ManagedStaticBase
 ManagedStaticBase - Common base class for ManagedStatic instances. More...
class  ManagedStatic
struct  llvm_shutdown_obj
class  MD5
class  MemoryBuffer
class  MemoryBufferRef
class  MemoryObject
class  MutexGuard
 Guard a section of code with a Mutex. More...
class  OnDiskChainedHashTableGenerator
 Generates an on disk hash table. More...
class  OnDiskChainedHashTable
 Provides lookup on an on disk hash table. More...
class  OnDiskIterableChainedHashTable
 Provides lookup and iteration over an on disk hash table. More...
class  OptionRegistry
 Singleton class used to register debug options. More...
class  OutputBuffer
struct  PluginLoader
class  PointerLikeTypeTraits
class  PointerLikeTypeTraits< T * >
class  PointerLikeTypeTraits< const T * >
class  PointerLikeTypeTraits< uintptr_t >
class  PrettyStackTraceEntry
class  PrettyStackTraceString
class  PrettyStackTraceProgram
class  RandomNumberGenerator
class  raw_os_ostream
class  raw_ostream
class  raw_fd_ostream
class  raw_string_ostream
class  raw_svector_ostream
class  raw_null_ostream
 raw_null_ostream - A raw_ostream that discards all output. More...
struct  RecyclerStruct
struct  ilist_traits< RecyclerStruct >
class  Recycler
class  RecyclingAllocator
class  Regex
class  SimpleRegistryEntry
class  RegistryTraits
class  Registry
class  RegistryParser
struct  SaveAndRestore
 A utility class that uses RAII to save and restore the value of a variable. More...
struct  SaveOr
class  ScaledNumberBase
class  ScaledNumber
 Simple representation of a scaled number. More...
struct  isPodLike< ScaledNumber< T > >
class  SMLoc
 Represents a location in source code. More...
class  SMRange
class  SourceMgr
class  SMFixIt
 Represents a single fixit, a replacement of one range of text with another. More...
class  SMDiagnostic
class  SpecialCaseList
class  StreamableMemoryObject
class  StreamingMemoryObject
class  StringPool
class  PooledStringPtr
class  StringRefMemoryObject
 StringRefMemoryObject - Simple StringRef-backed MemoryObject. More...
class  Target
struct  TargetRegistry
 TargetRegistry - Generic interface to target specific features. More...
struct  RegisterTarget
struct  RegisterMCAsmInfo
struct  RegisterMCAsmInfoFn
struct  RegisterMCCodeGenInfo
struct  RegisterMCCodeGenInfoFn
struct  RegisterMCInstrInfo
struct  RegisterMCInstrInfoFn
struct  RegisterMCInstrAnalysis
struct  RegisterMCInstrAnalysisFn
struct  RegisterMCRegInfo
struct  RegisterMCRegInfoFn
struct  RegisterMCSubtargetInfo
struct  RegisterMCSubtargetInfoFn
struct  RegisterTargetMachine
struct  RegisterMCAsmBackend
struct  RegisterMCAsmParser
struct  RegisterAsmPrinter
struct  RegisterMCCodeEmitter
class  TimeRecord
class  Timer
class  TimeRegion
struct  NamedRegionTimer
class  TimerGroup
class  tool_output_file
struct  isPodLike
struct  isPodLike< std::pair< T, U > >
class  is_integral_or_enum
 Metafunction that determines whether the given type is either an integral type or an enumeration type. More...
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, typename std::enable_if< std::is_pointer< T >::value >::type >
struct  add_const_past_pointer
 If T is a pointer to X, return a pointer to const X. If it is not, return const T. More...
struct  add_const_past_pointer< T, typename std::enable_if< std::is_pointer< T >::value >::type >
class  unique_lock
 Guard a section of code with a mutex. More...
class  RecTy
class  BitRecTy
class  BitsRecTy
class  IntRecTy
class  StringRecTy
class  ListRecTy
class  DagRecTy
class  RecordRecTy
class  Init
class  TypedInit
class  UnsetInit
class  BitInit
class  BitsInit
class  IntInit
class  StringInit
class  ListInit
class  OpInit
class  UnOpInit
class  BinOpInit
class  TernOpInit
class  VarInit
class  VarBitInit
class  VarListElementInit
class  DefInit
class  FieldInit
class  DagInit
class  RecordVal
class  Record
struct  MultiClass
class  RecordKeeper
struct  LessRecord
struct  LessRecordByID
struct  LessRecordFieldName
struct  LessRecordRegister
class  SetTheory
class  StringMatcher
class  StringToOffsetTable
struct  CostTblEntry
 Cost Table Entry. More...
struct  TypeConversionCostTblEntry
 Type Conversion Cost Table. More...
class  TargetFrameLowering
class  TargetInstrInfo
class  TargetIntrinsicInfo
class  TargetLibraryInfo
class  TargetLoweringBase
class  TargetLowering
class  TargetLoweringObjectFile
class  TargetMachine
class  LLVMTargetMachine
class  TargetOptions
class  TargetRegisterClass
struct  TargetRegisterInfoDesc
struct  RegClassWeight
class  TargetRegisterInfo
class  SuperRegClassIterator
struct  VirtReg2IndexFunctor
class  PrintReg
class  PrintRegUnit
class  PrintVRegOrUnit
class  TargetSelectionDAGInfo
class  TargetSubtargetInfo
struct  Inliner
class  PassManagerBuilder
struct  RegisterStandardPasses
struct  ASanStackVariableDescription
struct  ASanStackFrameLayout
class  SimplifyFortifiedLibCalls
struct  ClonedCodeInfo
class  InlineFunctionInfo
class  CodeExtractor
 Utility class for extracting code into a new function. More...
struct  GlobalStatus
class  IVVisitor
class  LibCallSimplifier
class  SSAUpdater
 Helper class for SSA formation on a set of values defined in multiple blocks. More...
class  LoadAndStorePromoter
 Helper class for promoting a collection of loads and stores into SSA Form using the SSAUpdater. More...
class  SSAUpdaterImpl
struct  UnifyFunctionExitNodes
class  ValueMapTypeRemapper
class  ValueMaterializer
struct  VectorizeConfig
 Vectorize configuration. More...
struct  GraphTraits< BlockFrequencyInfo * >
struct  DOTGraphTraits< BlockFrequencyInfo * >
struct  GraphTraits< IrreducibleGraph >
struct  DOTGraphTraits< DomTreeNode * >
struct  DOTGraphTraits< DominatorTree * >
struct  DOTGraphTraits< PostDominatorTree * >
struct  DOTGraphTraits< CallGraph * >
struct  AnalysisCallGraphWrapperPassTraits
struct  DOTGraphTraits< RegionNode * >
struct  DOTGraphTraits< RegionInfoPass * >
struct  StratifiedInfo
struct  StratifiedLink
class  StratifiedSets
class  StratifiedSetsBuilder
class  LLLexer
struct  ValID
class  LLParser
struct  OperandTraits< ConstantPlaceHolder >
class  BitcodeReaderValueList
class  BitcodeReaderMDValueList
class  BitcodeReader
class  ValueEnumerator
class  AggressiveAntiDepState
 Contains all the state necessary for anti-dep breaking. More...
class  AggressiveAntiDepBreaker
class  AllocationOrder
class  AntiDepBreaker
class  AddressPool
class  AsmPrinterHandler
 Collects and handles AsmPrinter objects required to build debug or EH information. More...
class  ByteStreamer
class  APByteStreamer
class  HashingByteStreamer
class  DbgValueHistoryMap
class  DebugLocEntry
 This struct describes location entries emitted in the .debug_loc section. More...
struct  DebugLocList
class  DIEAbbrevData
class  DIEAbbrev
class  DIE
class  DIEValue
class  DIEInteger
class  DIEExpr
 DIEExpr - An expression DIE. More...
class  DIELabel
 DIELabel - A label DIE. More...
class  DIEDelta
class  DIEString
class  DIEEntry
class  DIETypeSignature
 A signature reference to a type unit. More...
class  DIELoc
 DIELoc - Represents an expression location. More...
class  DIEBlock
 DIEBlock - Represents a block of values. More...
class  DIELocList
class  DIEHash
 An object containing the capability of hashing and adding hash attributes onto a DIE. More...
class  DwarfAccelTable
class  DwarfCompileUnit
class  SrcLineInfo
 This class is used to record source line correspondence. More...
class  DbgVariable
 This class is used to track local variable information. More...
struct  SymbolCU
 Helper used to pair up a symbol and its DWARF compile unit. More...
class  DwarfDebug
 Collects and handles dwarf debug information. More...
class  DwarfCFIException
class  ARMException
class  DwarfFile
class  DwarfStringPool
class  RangeSpan
class  RangeSpanList
class  DwarfUnit
class  DwarfTypeUnit
class  EHStreamer
 Emits exception handling directives. More...
class  Win64Exception
class  WinCodeViewLineTables
 Collects and handles line tables information in a CodeView format. More...
class  BranchFolder
class  CriticalAntiDepBreaker
class  DefaultVLIWScheduler
class  InterferenceCache
class  LiveDebugVariables
class  LiveRangeCalc
struct  GraphTraits< MachineBlockFrequencyInfo * >
struct  DOTGraphTraits< MachineBlockFrequencyInfo * >
struct  DOTGraphTraits< const MachineFunction * >
class  MMIAddrLabelMapCallbackPtr
class  MMIAddrLabelMap
struct  GraphTraits< ScheduleDAGMI * >
struct  DOTGraphTraits< ScheduleDAGMI * >
class  SSAUpdaterTraits< MachineSSAUpdater >
class  po_iterator_storage< LoopBounds, true >
class  PassConfigImpl
class  PEI
class  RegAllocBase
class  CoalescerPair
class  SchedDFSImpl
 Internal state used to compute SchedDFSResult. More...
struct  DOTGraphTraits< ScheduleDAG * >
class  InstrEmitter
class  DAGTypeLegalizer
class  ScheduleDAGSDNodes
class  SDDbgValue
class  SelectionDAGBuilder
class  OptLevelChanger
 This class is used by SelectionDAGISel to temporarily override the optimization level on a per-function basis. More...
struct  DOTGraphTraits< SelectionDAG * >
class  Spiller
class  SpillPlacement
class  SplitAnalysis
class  SplitEditor
class  DWARFAbbreviationDeclaration
class  DWARFCompileUnit
class  DWARFContext
class  DWARFContextInMemory
class  DWARFAbbreviationDeclarationSet
class  DWARFDebugAbbrev
class  DWARFDebugAranges
class  DWARFDebugArangeSet
class  FrameEntry
 Abstract frame entry defining the common interface concrete entries implement. More...
class  DWARFDebugFrame
 A parsed .debug_frame section. More...
class  DWARFDebugInfoEntryMinimal
 DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data. More...
struct  DWARFDebugInfoEntryInlinedChain
class  DWARFDebugLine
class  DWARFDebugLoc
class  DWARFDebugLocDWO
class  DWARFDebugRangeList
struct  DWARFSection
class  DWARFTypeUnit
class  DWARFUnitSectionBase
class  DWARFUnit
class  IntelJITEventsWrapper
class  AllocaHolder
struct  ExecutionContext
class  Interpreter
class  LinkingMemoryManager
class  MCJIT
class  JITRegistrar
 Global access point for the JIT debugging interface. More...
class  ObjectImageCommon
class  RuntimeDyldCheckerExprEval
class  RuntimeDyldCheckerImpl
class  RuntimeDyldELF
class  SectionEntry
class  RelocationEntry
class  RelocationValueRef
class  RuntimeDyldImpl
class  RuntimeDyldMachO
class  RuntimeDyldMachOCRTPBase
class  RuntimeDyldMachOAArch64
class  RuntimeDyldMachOARM
class  RuntimeDyldMachOI386
class  RuntimeDyldMachOX86_64
class  SlotTracker
class  TypePrinting
class  AssemblyWriter
class  AttributeImpl
class  EnumAttributeImpl
class  IntAttributeImpl
class  StringAttributeImpl
class  AttributeSetNode
class  AttributeSetImpl
class  UnaryConstantExpr
class  BinaryConstantExpr
class  SelectConstantExpr
class  ExtractElementConstantExpr
class  InsertElementConstantExpr
class  ShuffleVectorConstantExpr
class  ExtractValueConstantExpr
class  InsertValueConstantExpr
class  GetElementPtrConstantExpr
class  CompareConstantExpr
struct  OperandTraits< UnaryConstantExpr >
struct  OperandTraits< BinaryConstantExpr >
struct  OperandTraits< SelectConstantExpr >
struct  OperandTraits< ExtractElementConstantExpr >
struct  OperandTraits< InsertElementConstantExpr >
struct  OperandTraits< ShuffleVectorConstantExpr >
struct  OperandTraits< ExtractValueConstantExpr >
struct  OperandTraits< InsertValueConstantExpr >
struct  OperandTraits< GetElementPtrConstantExpr >
struct  OperandTraits< CompareConstantExpr >
struct  ConstantInfo< ConstantExpr >
struct  ConstantInfo< InlineAsm >
struct  ConstantInfo< ConstantArray >
struct  ConstantInfo< ConstantStruct >
struct  ConstantInfo< ConstantVector >
struct  ConstantAggrKeyType
struct  InlineAsmKeyType
struct  ConstantExprKeyType
class  ConstantUniqueMap
struct  PrinterTrait
struct  PrinterTrait< Value >
struct  LeakDetectorImpl
struct  DenseMapAPIntKeyInfo
struct  DenseMapAPFloatKeyInfo
struct  AnonStructTypeKeyInfo
struct  FunctionTypeKeyInfo
struct  FoldingSetTrait< MDNode >
class  DebugRecVH
class  LLVMContextImpl
class  MDNodeOperand
class  LLVMDisasmContext
struct  DenseMapInfo< CIEKey >
class  RecordStreamer
struct  fltSemantics
struct  ilist_sentinel_traits< Token >
struct  ilist_node_traits< Token >
class  TableGenStringKey
struct  DenseMapInfo< TableGenStringKey >
 Specialize DenseMapInfo for TableGenStringKey. More...
class  TGLexer
 TGLexer - TableGen Lexer class. More...
struct  SubClassReference
struct  SubMultiClassReference
struct  LetRecord
struct  ForeachLoop
class  TGParser
class  AArch64FrameLowering
class  AArch64InstrInfo
class  AArch64TargetLowering
class  AArch64FunctionInfo
class  AArch64MCInstLower
class  A57ChainingConstraint
 Add the accumulator chaining constraint to a PBQP graph. More...
struct  AArch64RegisterInfo
class  AArch64SelectionDAGInfo
class  AArch64Subtarget
class  AArch64TargetMachine
class  AArch64leTargetMachine
class  AArch64beTargetMachine
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  AArch64Disassembler
class  AArch64ExternalSymbolizer
class  AArch64InstPrinter
class  AArch64AppleInstPrinter
struct  AArch64MCAsmInfoDarwin
struct  AArch64MCAsmInfoELF
class  AArch64MCExpr
struct  AArch64NamedImmMapper
class  ARMAsmPrinter
class  ARMBaseInstrInfo
class  ARMBaseRegisterInfo
class  ARMConstantPoolValue
class  ARMConstantPoolConstant
class  ARMConstantPoolSymbol
class  ARMConstantPoolMBB
class  ARMFrameLowering
class  ARMHazardRecognizer
class  ARMInstrInfo
class  ARMTargetLowering
class  ARMFunctionInfo
struct  ARMRegisterInfo
class  ARMSelectionDAGInfo
class  ARMSubtarget
class  ARMBaseTargetMachine
class  ARMTargetMachine
class  ARMLETargetMachine
class  ARMBETargetMachine
class  ThumbTargetMachine
class  ThumbLETargetMachine
class  ThumbBETargetMachine
class  ARMElfTargetObjectFile
class  ARMInstPrinter
class  ARMMCAsmInfoDarwin
class  ARMELFMCAsmInfo
class  ARMCOFFMCAsmInfoMicrosoft
class  ARMCOFFMCAsmInfoGNU
class  ARMMCExpr
class  UnwindOpcodeAssembler
class  Thumb1FrameLowering
class  Thumb1InstrInfo
struct  Thumb1RegisterInfo
class  Thumb2InstrInfo
struct  Thumb2RegisterInfo
class  CPPSubtarget
struct  CPPTargetMachine
class  HexagonAsmPrinter
class  Hexagon_CCState
class  HexagonFrameLowering
class  HexagonInstrInfo
class  HexagonTargetLowering
class  HexagonMachineFunctionInfo
 Hexagon target-specific information for each MachineFunction. More...
class  VLIWResourceModel
class  VLIWMachineScheduler
class  ConvergingVLIWScheduler
struct  HexagonRegisterInfo
class  HexagonSelectionDAGInfo
class  HexagonSubtarget
class  HexagonTargetMachine
class  HexagonTargetObjectFile
class  HexagonInstPrinter
class  HexagonMCAsmInfo
class  HexagonMCCodeEmitter
class  HexagonMCInst
class  MipsInstPrinter
struct  MipsABIFlagsSection
class  MipsAsmBackend
class  MipsELFStreamer
class  MipsMCAsmInfo
class  MipsMCCodeEmitter
class  MipsMCExpr
class  Mips16FrameLowering
class  Mips16HardFloat
class  Mips16InstrInfo
class  Mips16DAGToDAGISel
class  Mips16TargetLowering
class  Mips16RegisterInfo
class  MipsABIInfo
class  MipsAnalyzeImmediate
class  MipsAsmPrinter
class  MipsFrameLowering
class  MipsInstrInfo
class  MipsDAGToDAGISel
class  MipsTargetLowering
class  MipsCallEntry
 A class derived from PseudoSourceValue that represents a GOT entry resolved by lazy-binding. More...
class  MipsFunctionInfo
class  MipsMCInstLower
 MipsMCInstLower - This class is used to lower an MachineInstr into an. More...
class  MipsModuleDAGToDAGISel
class  MipsOptionRecord
class  MipsRegInfoRecord
class  MipsOs16
class  MipsRegisterInfo
class  MipsSEFrameLowering
class  MipsSEInstrInfo
class  MipsSEDAGToDAGISel
class  MipsSETargetLowering
class  MipsSelectionDAGInfo
class  MipsSERegisterInfo
class  MipsSubtarget
class  MipsTargetMachine
class  MipsebTargetMachine
class  MipselTargetMachine
class  MipsTargetObjectFile
class  MipsTargetStreamer
class  MipsTargetAsmStreamer
class  MipsTargetELFStreamer
class  MSP430InstPrinter
class  MSP430MCAsmInfo
class  MSP430FrameLowering
class  MSP430InstrInfo
class  MSP430TargetLowering
class  MSP430MachineFunctionInfo
class  MSP430MCInstLower
struct  MSP430RegisterInfo
class  MSP430SelectionDAGInfo
class  MSP430Subtarget
class  MSP430TargetMachine
class  NVPTXInstPrinter
class  ManagedStringPool
class  NVPTXMCAsmInfo
class  NVPTXAllocaHoisting
class  LineReader
class  NVPTXAsmPrinter
class  NVPTXFrameLowering
class  NVPTXInstrInfo
class  NVPTXTargetLowering
struct  NVPTXLowerAggrCopies
class  NVPTXMachineFunctionInfo
class  NVPTXFloatMCExpr
class  NVPTXRegisterInfo
class  NVPTXSection
class  NVPTXSubtarget
class  NVPTXTargetMachine
class  NVPTXTargetMachine32
class  NVPTXTargetMachine64
class  NVPTXTargetObjectFile
class  PPCInstPrinter
class  PPCMCAsmInfoDarwin
class  PPCELFMCAsmInfo
class  PPCMCExpr
class  PPCFrameLowering
class  PPCDispatchGroupSBHazardRecognizer
class  PPCHazardRecognizer970
class  PPCInstrInfo
class  PPCTargetLowering
class  PPCFunctionInfo
class  PPCRegisterInfo
class  PPCSelectionDAGInfo
class  PPCSubtarget
class  PPCTargetMachine
class  PPC32TargetMachine
class  PPC64TargetMachine
class  PPC64LinuxTargetObjectFile
class  PPCTargetStreamer
class  AMDGPUAsmPrinter
class  AMDGPUFrameLowering
 Information about the stack frame layout on the AMDGPU targets. More...
class  AMDGPUInstrInfo
class  AMDGPUIntrinsicInfo
class  AMDGPUTargetLowering
class  AMDGPUMachineFunction
class  AMDGPUMCInstLower
struct  AMDGPURegisterInfo
class  AMDGPUSubtarget
class  AMDGPUTargetMachine
class  AMDGPUInstPrinter
class  AMDGPUMCAsmInfo
class  AMDGPUMCCodeEmitter
class  R600InstrInfo
class  R600TargetLowering
class  R600MachineFunctionInfo
class  R600SchedStrategy
struct  R600RegisterInfo
class  SIInstrInfo
class  SITargetLowering
class  SIMachineFunctionInfo
struct  SIRegisterInfo
class  SparcInstPrinter
class  SparcELFMCAsmInfo
class  SparcMCExpr
class  SparcFrameLowering
class  SparcInstrInfo
class  SparcTargetLowering
class  SparcMachineFunctionInfo
struct  SparcRegisterInfo
class  SparcSelectionDAGInfo
class  SparcSubtarget
class  SparcTargetMachine
class  SparcV8TargetMachine
class  SparcV9TargetMachine
class  SparcELFTargetObjectFile
class  SparcTargetStreamer
class  SparcTargetAsmStreamer
class  SparcTargetELFStreamer
class  SystemZInstPrinter
class  SystemZMCAsmInfo
class  SystemZAsmPrinter
class  SystemZConstantPoolValue
class  SystemZFrameLowering
class  SystemZInstrInfo
class  SystemZTargetLowering
class  SystemZMachineFunctionInfo
class  SystemZMCInstLower
struct  SystemZRegisterInfo
class  SystemZSelectionDAGInfo
class  SystemZSubtarget
class  SystemZTargetMachine
class  X86AsmInstrumentation
struct  X86Operand
class  X86MCAsmInfoDarwin
struct  X86_64MCAsmInfoDarwin
class  X86ELFMCAsmInfo
class  X86MCAsmInfoMicrosoft
class  X86MCAsmInfoGNUCOFF
class  X86AsmPrinter
class  X86FrameLowering
struct  X86AddressMode
struct  IntrinsicData
class  X86MachineFunctionInfo
class  X86SelectionDAGInfo
class  X86_64MachoTargetObjectFile
class  X86LinuxTargetObjectFile
class  X86WindowsTargetObjectFile
 This implementation is used for Windows targets on x86 and x86-64. More...
class  XCoreInstPrinter
class  XCoreMCAsmInfo
class  XCoreFrameLowering
class  XCoreInstrInfo
class  XCoreTargetLowering
class  XCoreFunctionInfo
class  XCoreMCInstLower
 This class is used to lower an MachineInstr into an MCInst. More...
struct  XCoreRegisterInfo
class  XCoreSelectionDAGInfo
class  XCoreSubtarget
class  XCoreTargetMachine
class  XCoreTargetObjectFile
class  XCoreTargetStreamer
class  InstCombineIRInserter
class  InstCombiner
 InstCombiner - The -instcombine pass. More...
struct  DenseMapInfo< LoweredPHIRecord >
class  InstCombineWorklist
class  DebugIR
class  MaximumSpanningTree
struct  GraphTraits< ArgumentGraphNode * >
struct  GraphTraits< ArgumentGraph * >
struct  DenseMapInfo< SimpleValue >
struct  DenseMapInfo< CallValue >
struct  DenseMapInfo< Expression >
struct  isPodLike< Slice >
struct  DenseMapInfo< DivOpInfo >
class  SSAUpdaterTraits< SSAUpdater >

Typedefs

typedef uint64_t integerPart
typedef FoldingSetImpl::Node FoldingSetNode
typedef IntervalIterator
< BasicBlock, Function
function_interval_iterator
typedef IntervalIterator
< Interval, IntervalPartition
interval_part_interval_iterator
typedef std::pair< APInt, APIntSizeOffsetType
typedef std::pair< Value
*, Value * > 
SizeOffsetEvalType
typedef DenseMap< const Value
*, Value * > 
ValueToValueMap
typedef DenseMap< const Loop
*, const SCEV * > 
LoopToScevMapT
typedef SmallPtrSet< const
Loop *, 2 > 
PostIncLoopSet
 PostIncLoopSet - A set of loops.
typedef bool CCAssignFn (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)
typedef bool CCCustomFn (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
typedef Registry
< GCMetadataPrinter
GCMetadataPrinterRegistry
typedef Registry< GCStrategyGCRegistry
typedef std::pair< const
MachineInstr *, const
MachineInstr * > 
InsnRange
typedef SparseBitVector< 128 > LiveVirtRegBitSet
typedef DomTreeNodeBase
< MachineBasicBlock
MachineDomTreeNode
typedef void *(* MachinePassCtor )()
typedef PBQP::RegAlloc::PBQPRAGraph PBQPRAGraph
typedef SparseMultiSet
< PhysRegSUOper,
llvm::identity< unsigned >
, uint16_t > 
Reg2SUnitsMap
typedef SparseSet< VReg2SUnit,
VirtReg2IndexFunctor
VReg2SUnitMap
typedef SparseMultiSet
< VReg2SUnit,
VirtReg2IndexFunctor
VReg2UseMap
typedef AtomicSDNode LargestSDNode
typedef GlobalAddressSDNode MostAlignedSDNode
typedef std::pair< SlotIndex,
MachineBasicBlock * > 
IdxMBBPair
typedef SmallVector< std::pair
< uint64_t, DILineInfo >, 16 > 
DILineInfoTable
typedef DenseMap< uint64_t,
std::pair< uint8_t, int64_t > > 
RelocAddrMap
typedef void * PointerTy
typedef PredIterator
< BasicBlock,
Value::user_iterator
pred_iterator
typedef PredIterator< const
BasicBlock,
Value::const_user_iterator
const_pred_iterator
typedef SuccIterator
< TerminatorInst *, BasicBlock
succ_iterator
typedef SuccIterator< const
TerminatorInst *, const
BasicBlock
succ_const_iterator
typedef DenseMap< const
MDString *, MDNode * > 
DITypeIdentifierMap
 Maps from type identifier to the actual MDNode.
typedef DITypedArray
< DIDescriptor
DIArray
typedef DIRef< DIScopeDIScopeRef
typedef DIRef< DITypeDITypeRef
typedef DITypedArray< DITypeRefDITypeArray
typedef DomTreeNodeBase
< BasicBlock
DomTreeNode
typedef generic_gep_type_iterator gep_type_iterator
typedef InstIterator< iplist
< BasicBlock >
, Function::iterator,
BasicBlock::iterator,
Instruction
inst_iterator
typedef InstIterator< const
iplist< BasicBlock >
, Function::const_iterator,
BasicBlock::const_iterator,
const Instruction
const_inst_iterator
typedef std::vector< UseListOrderUseListOrderStack
typedef StringMapEntry< Value * > ValueName
typedef DenseMap< const
MCSectionData *, uint64_t > 
SectionAddrMap
typedef MCLOHDirective::LOHArgs MCLOHArgs
typedef
MCLOHContainer::LOHDirectives 
MCLOHDirectives
typedef uint16_t MCPhysReg
typedef std::pair< const
MCSection *, const MCExpr * > 
MCSectionSubPair
typedef SmallVectorImpl
< std::unique_ptr
< MCParsedAsmOperand > > 
OperandVector
typedef const void * AnalysisID
typedef RawInstrProfReader
< uint32_t > 
RawInstrProfReader32
typedef RawInstrProfReader
< uint64_t > 
RawInstrProfReader64
typedef
OnDiskIterableChainedHashTable
< InstrProfLookupTrait
InstrProfReaderIndex
typedef BumpPtrAllocatorImpl BumpPtrAllocator
 The standard BumpPtrAllocator which just uses the default template paramaters.
typedef void(* fatal_error_handler_t )(void *user_data, const std::string &reason, bool gen_crash_diag)
 An error handler callback.
typedef bool TableGenMainFn (raw_ostream &OS, RecordKeeper &Records)
 Perform the action using Records, and write output to OS.
typedef ValueMap< const Value
*, WeakVH
ValueToValueMapTy
typedef unsigned StratifiedIndex
typedef std::bitset
< NumStratifiedAttrs
StratifiedAttrs
typedef std::vector< std::pair
< uint64_t, uint64_t > > 
DWARFAddressRangesVector
 DWARFAddressRangesVector - represents a set of absolute address ranges.
typedef std::vector< GenericValueValuePlaneTy
typedef bool Hexagon_CCAssignFn (unsigned ValNo, EVT ValVT, EVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, Hexagon_CCState &State, int NonVarArgsParams, int CurrentParam, bool ForceMem)
typedef DenseMap< DivOpInfo,
DivPhiNodes > 
DivCacheTy

Enumerations

enum  lostFraction { lfExactlyZero, lfLessThanHalf, lfExactlyHalf, lfMoreThanHalf }
enum  NoneType { None }
 A simple null object to allow implicit construction of Optional<T> and similar types without having to spell out the specialization's name. More...
enum  SCEVTypes {
  scConstant, scTruncate, scZeroExtend, scSignExtend,
  scAddExpr, scMulExpr, scUDivExpr, scAddRecExpr,
  scUMaxExpr, scSMaxExpr, scUnknown, scCouldNotCompute
}
enum  TransformKind { Normalize, NormalizeAutodetect, Denormalize }
enum  BitcodeError {
  ConflictingMETADATA_KINDRecords, CouldNotFindFunctionInStream, ExpectedConstant, InsufficientFunctionProtos,
  InvalidBitcodeSignature, InvalidBitcodeWrapperHeader, InvalidConstantReference, InvalidID,
  InvalidInstructionWithNoBB, InvalidRecord, InvalidTypeForValue, InvalidTYPETable,
  InvalidType, MalformedBlock, MalformedGlobalInitializerSet, InvalidMultipleBlocks,
  NeverResolvedValueFoundInFunction, NeverResolvedFunctionFromBlockAddress, InvalidValue
}
enum  ParmContext { Unknown, Prologue, Call }
enum  CombineLevel { BeforeLegalizeTypes, AfterLegalizeTypes, AfterLegalizeVectorOps, AfterLegalizeDAG }
enum  DINameKind { None, ShortName, LinkageName }
enum  DIDumpType {
  DIDT_Null, DIDT_All, DIDT_Abbrev, DIDT_AbbrevDwo,
  DIDT_Aranges, DIDT_Frames, DIDT_Info, DIDT_InfoDwo,
  DIDT_Types, DIDT_TypesDwo, DIDT_Line, DIDT_LineDwo,
  DIDT_Loc, DIDT_LocDwo, DIDT_Ranges, DIDT_Pubnames,
  DIDT_Pubtypes, DIDT_GnuPubnames, DIDT_GnuPubtypes, DIDT_Str,
  DIDT_StrDwo, DIDT_StrOffsetsDwo
}
 Selects which debug sections get dumped. More...
enum  AlignTypeEnum {
  INVALID_ALIGN = 0, INTEGER_ALIGN = 'i', VECTOR_ALIGN = 'v', FLOAT_ALIGN = 'f',
  AGGREGATE_ALIGN = 'a'
}
 Enum used to categorize the alignment types stored by LayoutAlignElem. More...
enum  DiagnosticSeverity { DS_Error, DS_Warning, DS_Remark, DS_Note }
 Defines the different supported severity of a diagnostic. More...
enum  DiagnosticKind {
  DK_InlineAsm, DK_StackSize, DK_Linker, DK_DebugMetadataVersion,
  DK_SampleProfile, DK_OptimizationRemark, DK_OptimizationRemarkMissed, DK_OptimizationRemarkAnalysis,
  DK_OptimizationFailure, DK_FirstPluginKind
}
 Defines the different supported kind of a diagnostic. This enum should be extended with a new ID for each added concrete subclass. More...
enum  AtomicOrdering {
  NotAtomic = 0, Unordered = 1, Monotonic = 2, Acquire = 4,
  Release = 5, AcquireRelease = 6, SequentiallyConsistent = 7
}
enum  SynchronizationScope { SingleThread = 0, CrossThread = 1 }
enum  PassDebuggingString {
  EXECUTION_MSG, MODIFICATION_MSG, FREEING_MSG, ON_BASICBLOCK_MSG,
  ON_FUNCTION_MSG, ON_MODULE_MSG, ON_REGION_MSG, ON_LOOP_MSG,
  ON_CG_MSG
}
enum  LLVMConstants { DEBUG_METADATA_VERSION = 2 }
enum  ExceptionHandling {
  None, DwarfCFI, SjLj, ARM,
  WinEH
}
enum  MCSymbolAttr {
  MCSA_Invalid = 0, MCSA_ELF_TypeFunction, MCSA_ELF_TypeIndFunction, MCSA_ELF_TypeObject,
  MCSA_ELF_TypeTLS, MCSA_ELF_TypeCommon, MCSA_ELF_TypeNoType, MCSA_ELF_TypeGnuUniqueObject,
  MCSA_Global, MCSA_Hidden, MCSA_IndirectSymbol, MCSA_Internal,
  MCSA_LazyReference, MCSA_Local, MCSA_NoDeadStrip, MCSA_SymbolResolver,
  MCSA_PrivateExtern, MCSA_Protected, MCSA_Reference, MCSA_Weak,
  MCSA_WeakDefinition, MCSA_WeakReference, MCSA_WeakDefAutoPrivate
}
enum  MCAssemblerFlag {
  MCAF_SyntaxUnified, MCAF_SubsectionsViaSymbols, MCAF_Code16, MCAF_Code32,
  MCAF_Code64
}
enum  MCDataRegionType {
  MCDR_DataRegion, MCDR_DataRegionJT8, MCDR_DataRegionJT16, MCDR_DataRegionJT32,
  MCDR_DataRegionEnd
}
enum  MCVersionMinType { MCVM_IOSVersionMin, MCVM_OSXVersionMin }
enum  { ELF_STT_Shift = 0, ELF_STB_Shift = 4, ELF_STV_Shift = 8, ELF_STO_Shift = 10 }
enum  ELFSymbolFlags {
  ELF_STB_Local = (ELF::STB_LOCAL << ELF_STB_Shift), ELF_STB_Global = (ELF::STB_GLOBAL << ELF_STB_Shift), ELF_STB_Weak = (ELF::STB_WEAK << ELF_STB_Shift), ELF_STB_Loproc = (ELF::STB_LOPROC << ELF_STB_Shift),
  ELF_STB_Hiproc = (ELF::STB_HIPROC << ELF_STB_Shift), ELF_STT_Notype = (ELF::STT_NOTYPE << ELF_STT_Shift), ELF_STT_Object = (ELF::STT_OBJECT << ELF_STT_Shift), ELF_STT_Func = (ELF::STT_FUNC << ELF_STT_Shift),
  ELF_STT_Section = (ELF::STT_SECTION << ELF_STT_Shift), ELF_STT_File = (ELF::STT_FILE << ELF_STT_Shift), ELF_STT_Common = (ELF::STT_COMMON << ELF_STT_Shift), ELF_STT_Tls = (ELF::STT_TLS << ELF_STT_Shift),
  ELF_STT_GnuIFunc = (ELF::STT_GNU_IFUNC << ELF_STT_Shift), ELF_STT_Loproc = (ELF::STT_LOPROC << ELF_STT_Shift), ELF_STT_Hiproc = (ELF::STT_HIPROC << ELF_STT_Shift), ELF_STV_Default = (ELF::STV_DEFAULT << ELF_STV_Shift),
  ELF_STV_Internal = (ELF::STV_INTERNAL << ELF_STV_Shift), ELF_STV_Hidden = (ELF::STV_HIDDEN << ELF_STV_Shift), ELF_STV_Protected = (ELF::STV_PROTECTED << ELF_STV_Shift)
}
enum  MCFixupKind {
  FK_Data_1 = 0, FK_Data_2, FK_Data_4, FK_Data_8,
  FK_PCRel_1, FK_PCRel_2, FK_PCRel_4, FK_PCRel_8,
  FK_GPRel_1, FK_GPRel_2, FK_GPRel_4, FK_GPRel_8,
  FK_SecRel_1, FK_SecRel_2, FK_SecRel_4, FK_SecRel_8,
  FirstTargetFixupKind = 128, MaxTargetFixupKind = (1 << 8)
}
 MCFixupKind - Extensible enumeration to represent the type of a fixup. More...
enum  MCLOHType {
  MCLOH_AdrpAdrp = 0x1u, MCLOH_AdrpLdr = 0x2u, MCLOH_AdrpAddLdr = 0x3u, MCLOH_AdrpLdrGotLdr = 0x4u,
  MCLOH_AdrpAddStr = 0x5u, MCLOH_AdrpLdrGotStr = 0x6u, MCLOH_AdrpAdd = 0x7u, MCLOH_AdrpLdrGot = 0x8u
}
 Linker Optimization Hint Type. More...
enum  MachOSymbolFlags {
  SF_DescFlagsMask = 0xFFFF, SF_ReferenceTypeMask = 0x0007, SF_ReferenceTypeUndefinedNonLazy = 0x0000, SF_ReferenceTypeUndefinedLazy = 0x0001,
  SF_ReferenceTypeDefined = 0x0002, SF_ReferenceTypePrivateDefined = 0x0003, SF_ReferenceTypePrivateUndefinedNonLazy = 0x0004, SF_ReferenceTypePrivateUndefinedLazy = 0x0005,
  SF_ThumbFunc = 0x0008, SF_NoDeadStrip = 0x0020, SF_WeakReference = 0x0040, SF_WeakDefinition = 0x0080,
  SF_SymbolResolver = 0x0100
}
enum  AsmRewriteKind {
  AOK_Delete = 0, AOK_Align, AOK_DotOperator, AOK_Emit,
  AOK_Imm, AOK_ImmPrefix, AOK_Input, AOK_Output,
  AOK_SizeDirective, AOK_Label, AOK_Skip
}
enum  PassManagerType {
  PMT_Unknown = 0, PMT_ModulePassManager = 1, PMT_CallGraphPassManager, PMT_FunctionPassManager,
  PMT_LoopPassManager, PMT_RegionPassManager, PMT_BasicBlockPassManager, PMT_Last
}
enum  PassKind {
  PT_BasicBlock, PT_Region, PT_Loop, PT_Function,
  PT_CallGraphSCC, PT_Module, PT_PassManager
}
enum  instrprof_error {
  success = 0, eof, bad_magic, bad_header,
  unsupported_version, unsupported_hash_type, too_large, truncated,
  malformed, unknown_function, hash_mismatch, count_mismatch,
  counter_overflow
}
enum  errc {
  argument_list_too_long = int(std::errc::argument_list_too_long), argument_out_of_domain = int(std::errc::argument_out_of_domain), bad_address = int(std::errc::bad_address), bad_file_descriptor = int(std::errc::bad_file_descriptor),
  broken_pipe = int(std::errc::broken_pipe), device_or_resource_busy = int(std::errc::device_or_resource_busy), directory_not_empty = int(std::errc::directory_not_empty), executable_format_error = int(std::errc::executable_format_error),
  file_exists = int(std::errc::file_exists), file_too_large = int(std::errc::file_too_large), filename_too_long = int(std::errc::filename_too_long), function_not_supported = int(std::errc::function_not_supported),
  illegal_byte_sequence = int(std::errc::illegal_byte_sequence), inappropriate_io_control_operation, interrupted = int(std::errc::interrupted), invalid_argument = int(std::errc::invalid_argument),
  invalid_seek = int(std::errc::invalid_seek), io_error = int(std::errc::io_error), is_a_directory = int(std::errc::is_a_directory), no_child_process = int(std::errc::no_child_process),
  no_lock_available = int(std::errc::no_lock_available), no_space_on_device = int(std::errc::no_space_on_device), no_such_device_or_address = int(std::errc::no_such_device_or_address), no_such_device = int(std::errc::no_such_device),
  no_such_file_or_directory = int(std::errc::no_such_file_or_directory), no_such_process = int(std::errc::no_such_process), not_a_directory = int(std::errc::not_a_directory), not_enough_memory = int(std::errc::not_enough_memory),
  operation_not_permitted = int(std::errc::operation_not_permitted), permission_denied = int(std::errc::permission_denied), read_only_file_system = int(std::errc::read_only_file_system), resource_deadlock_would_occur = int(std::errc::resource_deadlock_would_occur),
  resource_unavailable_try_again, result_out_of_range = int(std::errc::result_out_of_range), too_many_files_open_in_system = int(std::errc::too_many_files_open_in_system), too_many_files_open = int(std::errc::too_many_files_open),
  too_many_links = int(std::errc::too_many_links)
}
enum  ZeroBehavior { ZB_Undefined, ZB_Max, ZB_Width }
 The behavior an operation has on an input of 0. More...
enum  RemapFlags { RF_None = 0, RF_NoModuleLevelChanges = 1, RF_IgnoreMissingEntries = 2 }
 RemapFlags - These are flags that the value mapping APIs allow. More...
enum  AArch64FrameOffsetStatus { AArch64FrameOffsetCannotUpdate = 0x0, AArch64FrameOffsetIsLegal = 0x1, AArch64FrameOffsetCanUpdate = 0x2 }
 Use to report the frame offset status in isAArch64FrameOffsetLegal. More...
enum  NEONModImmType { VMOVModImm, VMVNModImm, OtherModImm }
enum  AddressSpace {
  ADDRESS_SPACE_GENERIC = 0, ADDRESS_SPACE_GLOBAL = 1, ADDRESS_SPACE_SHARED = 3, ADDRESS_SPACE_CONST = 4,
  ADDRESS_SPACE_LOCAL = 5, ADDRESS_SPACE_PARAM = 101
}
enum  PropertyAnnotation {
  PROPERTY_MAXNTID_X = 0, PROPERTY_MAXNTID_Y, PROPERTY_MAXNTID_Z, PROPERTY_REQNTID_X,
  PROPERTY_REQNTID_Y, PROPERTY_REQNTID_Z, PROPERTY_MINNCTAPERSM, PROPERTY_ISTEXTURE,
  PROPERTY_ISSURFACE, PROPERTY_ISSAMPLER, PROPERTY_ISREADONLY_IMAGE_PARAM, PROPERTY_ISWRITEONLY_IMAGE_PARAM,
  PROPERTY_ISREADWRITE_IMAGE_PARAM, PROPERTY_ISKERNEL_FUNCTION, PROPERTY_ALIGN, PROPERTY_MANAGED,
  PROPERTY_LAST
}
enum  { SM_SentinelUndef = -1, SM_SentinelZero = -2 }
enum  IntrinsicType {
  INTR_NO_TYPE, GATHER, SCATTER, PREFETCH,
  RDSEED, RDRAND, RDPMC, RDTSC,
  XTEST, ADX, INTR_TYPE_1OP, INTR_TYPE_2OP,
  INTR_TYPE_3OP, CMP_MASK, CMP_MASK_CC, VSHIFT,
  COMI
}
enum  SelectPatternFlavor {
  SPF_UNKNOWN = 0, SPF_SMIN, SPF_UMIN, SPF_SMAX,
  SPF_UMAX, SPF_ABS, SPF_NABS
}

Functions

hash_code hash_value (const APFloat &Arg)
APFloat scalbn (APFloat X, int Exp)
APFloat abs (APFloat X)
 Returns the absolute value of the argument.
LLVM_READONLY APFloat minnum (const APFloat &A, const APFloat &B)
LLVM_READONLY APFloat maxnum (const APFloat &A, const APFloat &B)
bool operator== (uint64_t V1, const APInt &V2)
bool operator!= (uint64_t V1, const APInt &V2)
raw_ostreamoperator<< (raw_ostream &OS, const APInt &I)
hash_code hash_value (const APInt &Arg)
bool operator== (int64_t V1, const APSInt &V2)
bool operator!= (int64_t V1, const APSInt &V2)
raw_ostreamoperator<< (raw_ostream &OS, const APSInt &I)
template<typename T >
bool operator== (ArrayRef< T > LHS, ArrayRef< T > RHS)
template<typename T >
bool operator!= (ArrayRef< T > LHS, ArrayRef< T > RHS)
template<typename KeyT , typename ValueT , typename KeyInfoT >
static size_t capacity_in_bytes (const DenseMap< KeyT, ValueT, KeyInfoT > &X)
template<class T >
df_iterator< Tdf_begin (const T &G)
template<class T >
df_iterator< Tdf_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, SetTydf_ext_begin (const T &G, SetTy &S)
template<class T , class SetTy >
df_ext_iterator< T, SetTydf_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< Tidf_begin (const T &G)
template<class T >
idf_iterator< Tidf_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, SetTyidf_ext_begin (const T &G, SetTy &S)
template<class T , class SetTy >
idf_ext_iterator< T, SetTyidf_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)
template<typename T >
unsigned ComputeEditDistance (ArrayRef< T > FromArray, ArrayRef< T > ToArray, bool AllowReplacements=true, unsigned MaxEditDistance=0)
 Determine the edit distance between two sequences.
template<typename T >
std::enable_if
< is_integral_or_enum< T >
::value, hash_code >::type 
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 T >
hash_code hash_value (const std::basic_string< T > &arg)
 Compute a hash_code for a standard string.
void set_fixed_execution_hash_seed (size_t fixed_value)
 Override the execution seed with a fixed value.
template<typename InputIteratorT >
hash_code hash_combine_range (InputIteratorT first, InputIteratorT last)
 Compute a hash_code for a sequence of values.
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
hash_code hash_combine (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4, const T5 &arg5, const T6 &arg6)
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
hash_code hash_combine (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4, const T5 &arg5)
template<typename T1 , typename T2 , typename T3 , typename T4 >
hash_code hash_combine (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4)
template<typename T1 , typename T2 , typename T3 >
hash_code hash_combine (const T1 &arg1, const T2 &arg2, const T3 &arg3)
template<typename T1 , typename T2 >
hash_code hash_combine (const T1 &arg1, const T2 &arg2)
template<typename T1 >
hash_code hash_combine (const T1 &arg1)
template<typename T >
void operator- (int, ilist_iterator< T >) LLVM_DELETED_FUNCTION
template<typename T >
void operator- (ilist_iterator< T >, int) LLVM_DELETED_FUNCTION
template<typename T >
void operator+ (int, ilist_iterator< T >) LLVM_DELETED_FUNCTION
template<typename T >
void operator+ (ilist_iterator< T >, int) LLVM_DELETED_FUNCTION
template<typename T >
bool operator!= (const T *LHS, const ilist_iterator< const T > &RHS)
template<typename T >
bool operator== (const T *LHS, const ilist_iterator< const T > &RHS)
template<typename T >
bool operator!= (T *LHS, const ilist_iterator< T > &RHS)
template<typename T >
bool operator== (T *LHS, const ilist_iterator< T > &RHS)
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 A, 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<class T >
iterator_range< Tmake_range (T x, T y)
 Convenience function for iterating over sub-ranges.
template<typename T >
iterator_range< Tmake_range (std::pair< T, T > p)
template<typename T , typename U >
void operator== (const Optional< T > &X, const Optional< U > &Y)
 Poison comparison between two Optional objects. Clients needs to explicitly compare the underlying values and account for empty Optional objects.
template<typename T , typename U >
void operator!= (const Optional< T > &X, const Optional< U > &Y)
 Poison comparison between two Optional objects. Clients needs to explicitly compare the underlying values and account for empty Optional objects.
template<typename T , typename U >
void operator< (const Optional< T > &X, const Optional< U > &Y)
 Poison comparison between two Optional objects. Clients needs to explicitly compare the underlying values and account for empty Optional objects.
template<typename T , typename U >
void operator<= (const Optional< T > &X, const Optional< U > &Y)
 Poison comparison between two Optional objects. Clients needs to explicitly compare the underlying values and account for empty Optional objects.
template<typename T , typename U >
void operator>= (const Optional< T > &X, const Optional< U > &Y)
 Poison comparison between two Optional objects. Clients needs to explicitly compare the underlying values and account for empty Optional objects.
template<typename T , typename U >
void operator> (const Optional< T > &X, const Optional< U > &Y)
 Poison comparison between two Optional objects. Clients needs to explicitly compare the underlying values and account for empty Optional objects.
template<typename PT1 , typename PT2 >
static bool operator== (PointerUnion< PT1, PT2 > lhs, PointerUnion< PT1, PT2 > rhs)
template<typename PT1 , typename PT2 >
static bool operator!= (PointerUnion< PT1, PT2 > lhs, PointerUnion< PT1, PT2 > rhs)
template<class T >
po_iterator< Tpo_begin (T G)
template<class T >
po_iterator< Tpo_end (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 >
ipo_iterator< Tipo_begin (T G, bool Reverse=false)
template<class T >
ipo_iterator< Tipo_end (T G)
template<class T , class SetType >
ipo_ext_iterator< T, SetType > ipo_ext_begin (T G, SetType &S)
template<class T , class SetType >
ipo_ext_iterator< T, SetType > ipo_ext_end (T G, SetType &S)
template<class T >
scc_iterator< Tscc_begin (const T &G)
 Construct the begin iterator for a deduced graph type T.
template<class T >
scc_iterator< Tscc_end (const T &G)
 Construct the end iterator for a deduced graph type T.
template<class T >
scc_iterator< Inverse< T > > scc_begin (const Inverse< T > &G)
 Construct the begin iterator for a deduced graph type T's Inverse<T>.
template<class T >
scc_iterator< Inverse< T > > scc_end (const Inverse< T > &G)
 Construct the end iterator for a deduced graph type T's Inverse<T>.
template<class S1Ty , class S2Ty >
bool set_union (S1Ty &S1, const S2Ty &S2)
template<class S1Ty , class S2Ty >
void set_intersect (S1Ty &S1, const S2Ty &S2)
template<class S1Ty , class S2Ty >
S1Ty set_difference (const S1Ty &S1, const S2Ty &S2)
template<class S1Ty , class S2Ty >
void set_subtract (S1Ty &S1, const S2Ty &S2)
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 T , unsigned N>
static size_t capacity_in_bytes (const SmallVector< T, N > &X)
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)
void EnableStatistics ()
 Enable the collection and printing of statistics.
bool AreStatisticsEnabled ()
 Check if statistics are enabled.
void PrintStatistics ()
 Print statistics to the file returned by CreateInfoOutputFile().
void PrintStatistics (raw_ostream &OS)
 Print statistics to the given output stream.
template<class T >
void deleter (T *Ptr)
template<class _Iterator , class Func >
mapped_iterator< _Iterator, Func > operator+ (typename mapped_iterator< _Iterator, Func >::difference_type N, const mapped_iterator< _Iterator, Func > &X)
template<class ItTy , class FuncTy >
mapped_iterator< ItTy, FuncTy > map_iterator (const ItTy &I, FuncTy F)
template<class T , std::size_t N>
LLVM_CONSTEXPR size_t array_lengthof (T(&)[N])
 Find the length of an array.
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)
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 Container >
void DeleteContainerPointers (Container &C)
template<typename Container >
void DeleteContainerSeconds (Container &C)
template<class T >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique ()
template<class T , class Arg1 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1)
template<class T , class Arg1 , class Arg2 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1, Arg2 &&arg2)
template<class T , class Arg1 , class Arg2 , class Arg3 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1, Arg2 &&arg2, Arg3 &&arg3)
template<class T , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1, Arg2 &&arg2, Arg3 &&arg3, Arg4 &&arg4)
template<class T , class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1, Arg2 &&arg2, Arg3 &&arg3, Arg4 &&arg4, Arg5 &&arg5)
template<class T , class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 , class Arg6 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1, Arg2 &&arg2, Arg3 &&arg3, Arg4 &&arg4, Arg5 &&arg5, Arg6 &&arg6)
template<class T , class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 , class Arg6 , class Arg7 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1, Arg2 &&arg2, Arg3 &&arg3, Arg4 &&arg4, Arg5 &&arg5, Arg6 &&arg6, Arg7 &&arg7)
template<class T , class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 , class Arg6 , class Arg7 , class Arg8 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1, Arg2 &&arg2, Arg3 &&arg3, Arg4 &&arg4, Arg5 &&arg5, Arg6 &&arg6, Arg7 &&arg7, Arg8 &&arg8)
template<class T , class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 , class Arg6 , class Arg7 , class Arg8 , class Arg9 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1, Arg2 &&arg2, Arg3 &&arg3, Arg4 &&arg4, Arg5 &&arg5, Arg6 &&arg6, Arg7 &&arg7, Arg8 &&arg8, Arg9 &&arg9)
template<class T , class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 , class Arg6 , class Arg7 , class Arg8 , class Arg9 , class Arg10 >
std::enable_if<!std::is_array
< T >::value, std::unique_ptr
< T > >::type 
make_unique (Arg1 &&arg1, Arg2 &&arg2, Arg3 &&arg3, Arg4 &&arg4, Arg5 &&arg5, Arg6 &&arg6, Arg7 &&arg7, Arg8 &&arg8, Arg9 &&arg9, Arg10 &&arg10)
template<class T >
std::enable_if< std::is_array
< T >::value &&std::extent< T >
::value==0, std::unique_ptr< T >
>::type 
make_unique (size_t n)
static char hexdigit (unsigned X, bool LowerCase=false)
static StringRef toStringRef (bool B)
 Construct a string ref from a boolean.
static unsigned hexDigitValue (char C)
template<typename IntTy >
static char * utohex_buffer (IntTy X, char *BufferEnd, bool LowerCase=false)
static std::string utohexstr (uint64_t X, bool LowerCase=false)
static std::string utostr_32 (uint32_t X, bool isNeg=false)
static std::string utostr (uint64_t X, bool isNeg=false)
static std::string itostr (int64_t X)
StringRef::size_type StrInStrNoCase (StringRef s1, StringRef s2)
std::pair< StringRef, StringRefgetToken (StringRef Source, StringRef Delimiters=" \t\n\v\f\r")
void SplitString (StringRef Source, SmallVectorImpl< StringRef > &OutFragments, StringRef Delimiters=" \t\n\v\f\r")
static unsigned HashString (StringRef Str, unsigned Result=0)
static StringRef getOrdinalSuffix (unsigned Val)
 Returns the English suffix for an ordinal integer (-st, -nd, -rd, -th).
template<typename IteratorT >
std::string join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::input_iterator_tag)
template<typename IteratorT >
std::string join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::forward_iterator_tag)
template<typename IteratorT >
std::string join (IteratorT Begin, IteratorT End, StringRef Separator)
bool getAsUnsignedInteger (StringRef Str, unsigned Radix, unsigned long long &Result)
 Helper functions for StringRef::getAsInteger.
bool getAsSignedInteger (StringRef Str, unsigned Radix, long long &Result)
hash_code hash_value (StringRef S)
 Compute a hash_code for a StringRef.
bool isNoAliasCall (const Value *V)
bool isNoAliasArgument (const Value *V)
bool isIdentifiedObject (const Value *V)
bool isIdentifiedFunctionLocal (const Value *V)
raw_ostreamoperator<< (raw_ostream &OS, const AliasSet &AS)
raw_ostreamoperator<< (raw_ostream &OS, const AliasSetTracker &AST)
ModulePasscreateCallGraphViewerPass ()
ModulePasscreateCallGraphPrinterPass ()
bool PointerMayBeCaptured (const Value *V, bool ReturnCaptures, bool StoreCaptures)
bool PointerMayBeCapturedBefore (const Value *V, bool ReturnCaptures, bool StoreCaptures, const Instruction *I, DominatorTree *DT, bool IncludeI=false)
void PointerMayBeCaptured (const Value *V, CaptureTracker *Tracker)
void FindFunctionBackedges (const Function &F, SmallVectorImpl< std::pair< const BasicBlock *, const BasicBlock * > > &Result)
unsigned GetSuccessorNumber (BasicBlock *BB, BasicBlock *Succ)
bool isCriticalEdge (const TerminatorInst *TI, unsigned SuccNum, bool AllowIdenticalEdges=false)
bool isPotentiallyReachable (const Instruction *From, const Instruction *To, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr)
 Determine whether instruction 'To' is reachable from 'From', returning true if uncertain.
bool isPotentiallyReachable (const BasicBlock *From, const BasicBlock *To, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr)
 Determine whether block 'To' is reachable from 'From', returning true if uncertain.
FunctionPasscreateCFGPrinterPass ()
FunctionPasscreateCFGOnlyPrinterPass ()
template<typename CGSCCPassT >
ModuleToPostOrderCGSCCPassAdaptor
< CGSCCPassT > 
createModuleToPostOrderCGSCCPassAdaptor (CGSCCPassT Pass)
 A function to deduce a function pass type and wrap it in the templated adaptor.
template<typename FunctionPassT >
CGSCCToFunctionPassAdaptor
< FunctionPassT > 
createCGSCCToFunctionPassAdaptor (FunctionPassT Pass)
 A function to deduce a function pass type and wrap it in the templated adaptor.
bool callIsSmall (ImmutableCallSite CS)
 Check whether a call will lower to something small.
ConstantConstantFoldInstruction (Instruction *I, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr)
ConstantConstantFoldConstantExpression (const ConstantExpr *CE, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr)
ConstantConstantFoldInstOperands (unsigned Opcode, Type *DestTy, ArrayRef< Constant * > Ops, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr)
ConstantConstantFoldCompareInstOperands (unsigned Predicate, Constant *LHS, Constant *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr)
ConstantConstantFoldInsertValueInstruction (Constant *Agg, Constant *Val, ArrayRef< unsigned > Idxs)
ConstantConstantFoldLoadFromConstPtr (Constant *C, const DataLayout *TD=nullptr)
ConstantConstantFoldLoadThroughGEPConstantExpr (Constant *C, ConstantExpr *CE)
ConstantConstantFoldLoadThroughGEPIndices (Constant *C, ArrayRef< Constant * > Indices)
bool canConstantFoldCallTo (const Function *F)
 Return true if it's even possible to fold a call to the specified function.
ConstantConstantFoldCall (Function *F, ArrayRef< Constant * > Operands, const TargetLibraryInfo *TLI=nullptr)
constant_iterator constant_begin (const Function *F)
constant_iterator constant_end (const Function *F)
FunctionPasscreateDependenceAnalysisPass ()
 EXTERN_TEMPLATE_INSTANTIATION (class DominanceFrontierBase< BasicBlock >)
 EXTERN_TEMPLATE_INSTANTIATION (class ForwardDominanceFrontierBase< BasicBlock >)
FunctionPasscreateDomPrinterPass ()
FunctionPasscreateDomOnlyPrinterPass ()
FunctionPasscreateDomViewerPass ()
FunctionPasscreateDomOnlyViewerPass ()
FunctionPasscreatePostDomPrinterPass ()
FunctionPasscreatePostDomOnlyPrinterPass ()
FunctionPasscreatePostDomViewerPass ()
FunctionPasscreatePostDomOnlyViewerPass ()
ValueSimplifyAddInst (Value *LHS, Value *RHS, bool isNSW, bool isNUW, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifySubInst (Value *LHS, Value *RHS, bool isNSW, bool isNUW, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyFAddInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyFSubInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyFMulInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyMulInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifySDivInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyUDivInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyFDivInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifySRemInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyURemInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyFRemInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyShlInst (Value *Op0, Value *Op1, bool isNSW, bool isNUW, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyLShrInst (Value *Op0, Value *Op1, bool isExact, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyAShrInst (Value *Op0, Value *Op1, bool isExact, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyAndInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyOrInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyXorInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyICmpInst (unsigned Predicate, Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, Instruction *CxtI=nullptr)
ValueSimplifyFCmpInst (unsigned Predicate, Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifySelectInst (Value *Cond, Value *TrueVal, Value *FalseVal, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyGEPInst (ArrayRef< Value * > Ops, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyInsertValueInst (Value *Agg, Value *Val, ArrayRef< unsigned > Idxs, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyTruncInst (Value *Op, Type *Ty, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyCmpInst (unsigned Predicate, Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyBinOp (unsigned Opcode, Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
ValueSimplifyCall (Value *V, User::op_iterator ArgBegin, User::op_iterator ArgEnd, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
 Given a function and iterators over arguments, see if we can fold the result.
ValueSimplifyCall (Value *V, ArrayRef< Value * > Args, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
 Given a function and set of arguments, see if we can fold the result.
ValueSimplifyInstruction (Instruction *I, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr)
bool replaceAndRecursivelySimplify (Instruction *I, Value *SimpleV, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr)
 Replace all uses of 'I' with 'SimpleV' and simplify the uses recursively.
bool recursivelySimplifyInstruction (Instruction *I, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr)
 Recursively attempt to simplify an instruction.
Interval::succ_iterator succ_begin (Interval *I)
Interval::succ_iterator succ_end (Interval *I)
Interval::pred_iterator pred_begin (Interval *I)
Interval::pred_iterator pred_end (Interval *I)
BasicBlockgetNodeHeader (BasicBlock *BB)
BasicBlockgetNodeHeader (Interval *I)
BasicBlockgetSourceGraphNode (Function *, BasicBlock *BB)
IntervalgetSourceGraphNode (IntervalPartition *IP, BasicBlock *BB)
void addNodeToInterval (Interval *Int, BasicBlock *BB)
void addNodeToInterval (Interval *Int, Interval *I)
function_interval_iterator intervals_begin (Function *F, bool DeleteInts=true)
function_interval_iterator intervals_end (Function *)
interval_part_interval_iterator intervals_begin (IntervalPartition &IP, bool DeleteIntervals=true)
interval_part_interval_iterator intervals_end (IntervalPartition &IP)
PasscreateIVUsersPass ()
FunctionPasscreateLintPass ()
 Create a lint pass.
void lintModule (const Module &M)
 Check a module.
void lintFunction (const Function &F)
bool isSafeToLoadUnconditionally (Value *V, Instruction *ScanFrom, unsigned Align, const DataLayout *TD=nullptr)
 Check if executing a load of this pointer value cannot trap.
ValueFindAvailableLoadedValue (Value *Ptr, BasicBlock *ScanBB, BasicBlock::iterator &ScanFrom, unsigned MaxInstsToScan=6, AliasAnalysis *AA=nullptr, AAMDNodes *AATags=nullptr)
 Scan the ScanBB block backwards to see if we have the value at the memory address *Ptr locally available within a small number of instructions.
template<typename T >
void RemoveFromVector (std::vector< T * > &V, T *N)
template<class BlockT , class LoopT >
raw_ostreamoperator<< (raw_ostream &OS, const LoopBase< BlockT, LoopT > &Loop)
template<class BlockT , class LoopT >
static void discoverAndMapSubloop (LoopT *L, ArrayRef< BlockT * > Backedges, LoopInfoBase< BlockT, LoopT > *LI, DominatorTreeBase< BlockT > &DomTree)
bool isAllocationFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false)
 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 isNoAliasFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false)
 Tests if a value is a call or invoke to a function that returns a NoAlias pointer (including malloc/calloc/realloc/strdup-like functions).
bool isMallocLikeFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false)
 Tests if a value is a call or invoke to a library function that allocates uninitialized memory (such as malloc).
bool isCallocLikeFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false)
 Tests if a value is a call or invoke to a library function that allocates zero-filled memory (such as calloc).
bool isAllocLikeFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false)
 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 Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false)
 Tests if a value is a call or invoke to a library function that reallocates memory (such as realloc).
bool isOperatorNewLikeFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false)
 Tests if a value is a call or invoke to a library function that allocates memory and never returns null (such as operator new).
const CallInstextractMallocCall (const Value *I, const TargetLibraryInfo *TLI)
static CallInstextractMallocCall (Value *I, const TargetLibraryInfo *TLI)
const CallInstisArrayMalloc (const Value *I, const DataLayout *DL, const TargetLibraryInfo *TLI)
PointerTypegetMallocType (const CallInst *CI, const TargetLibraryInfo *TLI)
TypegetMallocAllocatedType (const CallInst *CI, const TargetLibraryInfo *TLI)
ValuegetMallocArraySize (CallInst *CI, const DataLayout *DL, const TargetLibraryInfo *TLI, bool LookThroughSExt=false)
const CallInstextractCallocCall (const Value *I, const TargetLibraryInfo *TLI)
static CallInstextractCallocCall (Value *I, const TargetLibraryInfo *TLI)
const CallInstisFreeCall (const Value *I, const TargetLibraryInfo *TLI)
 isFreeCall - Returns non-null if the value is a call to the builtin free()
static CallInstisFreeCall (Value *I, const TargetLibraryInfo *TLI)
bool getObjectSize (const Value *Ptr, uint64_t &Size, const DataLayout *DL, const TargetLibraryInfo *TLI, bool RoundToAlign=false)
 Compute the size of the object pointed by Ptr. Returns true and the object size in Size if successful, and false otherwise. In this context, by object we mean the region of memory starting at Ptr to the end of the underlying object pointed to by Ptr. If RoundToAlign is true, then Size is rounded up to the aligment of allocas, byval arguments, and global variables.
PasscreateGlobalsModRefPass ()
PasscreateAliasDebugger ()
ModulePasscreateAliasAnalysisCounterPass ()
FunctionPasscreateAAEvalPass ()
ImmutablePasscreateNoAAPass ()
ImmutablePasscreateBasicAliasAnalysisPass ()
ImmutablePasscreateCFLAliasAnalysisPass ()
FunctionPasscreateLibCallAliasAnalysisPass (LibCallInfo *LCI)
FunctionPasscreateScalarEvolutionAliasAnalysisPass ()
ImmutablePasscreateTypeBasedAliasAnalysisPass ()
ImmutablePasscreateScopedNoAliasAAPass ()
ImmutablePasscreateObjCARCAliasAnalysisPass ()
FunctionPasscreateLazyValueInfoPass ()
FunctionPasscreateCostModelAnalysisPass ()
FunctionPasscreateDelinearizationPass ()
FunctionPasscreateInstCountPass ()
FunctionPasscreateRegionInfoPass ()
ModulePasscreateModuleDebugInfoPrinterPass ()
FunctionPasscreateMemDepPrinter ()
ImmutablePasscreateJumpInstrTableInfoPass ()
FunctionPasscreatePostDomTree ()
template<class Tr >
raw_ostreamoperator<< (raw_ostream &OS, const RegionNodeBase< Tr > &Node)
 Print a RegionNode.
 EXTERN_TEMPLATE_INSTANTIATION (class RegionBase< RegionTraits< Function >>)
 EXTERN_TEMPLATE_INSTANTIATION (class RegionNodeBase< RegionTraits< Function >>)
 EXTERN_TEMPLATE_INSTANTIATION (class RegionInfoBase< RegionTraits< Function >>)
template<class NodeType , class BlockT , class RegionT >
RNSuccIterator< NodeType,
BlockT, RegionT > 
succ_begin (NodeType *Node)
template<class NodeType , class BlockT , class RegionT >
RNSuccIterator< NodeType,
BlockT, RegionT > 
succ_end (NodeType *Node)
 RegionNodeGraphTraits (RegionNode, BasicBlock, Region)
 RegionGraphTraits (Region, RegionNode)
FunctionPasscreateRegionViewerPass ()
FunctionPasscreateRegionOnlyViewerPass ()
FunctionPasscreateRegionPrinterPass ()
FunctionPasscreateRegionOnlyPrinterPass ()
raw_ostreamoperator<< (raw_ostream &OS, const SCEV &S)
bool isSafeToExpand (const SCEV *S, ScalarEvolution &SE)
template<typename SV >
void visitAll (const SCEV *Root, SV &Visitor)
 Use SCEVTraversal to visit all nodes in the givien expression tree.
static const SCEVapply (const SCEV *Scev, LoopToScevMapT &Map, ScalarEvolution &SE)
 Applies the Map (Loop -> SCEV) to the given Scev.
const SCEVTransformForPostIncUse (TransformKind Kind, const SCEV *S, Instruction *User, Value *OperandValToReplace, PostIncLoopSet &Loops, ScalarEvolution &SE, DominatorTree &DT)
ImmutablePasscreateNoTargetTransformInfoPass ()
 Create the base case instance of a pass in the TTI analysis group.
void computeKnownBits (Value *V, APInt &KnownZero, APInt &KnownOne, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
void computeKnownBitsFromRangeMetadata (const MDNode &Ranges, APInt &KnownZero)
void ComputeSignBit (Value *V, bool &KnownZero, bool &KnownOne, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
bool isKnownToBeAPowerOfTwo (Value *V, bool OrZero=false, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
bool isKnownNonZero (Value *V, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
bool MaskedValueIsZero (Value *V, const APInt &Mask, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
unsigned ComputeNumSignBits (Value *Op, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
bool ComputeMultiple (Value *V, unsigned Base, Value *&Multiple, bool LookThroughSExt=false, unsigned Depth=0)
bool CannotBeNegativeZero (const Value *V, unsigned Depth=0)
ValueisBytewiseValue (Value *V)
ValueFindInsertedValue (Value *V, ArrayRef< unsigned > idx_range, Instruction *InsertBefore=nullptr)
ValueGetPointerBaseWithConstantOffset (Value *Ptr, int64_t &Offset, const DataLayout *TD)
static const ValueGetPointerBaseWithConstantOffset (const Value *Ptr, int64_t &Offset, const DataLayout *TD)
bool getConstantStringInfo (const Value *V, StringRef &Str, uint64_t Offset=0, bool TrimAtNul=true)
uint64_t GetStringLength (Value *V)
ValueGetUnderlyingObject (Value *V, const DataLayout *TD=nullptr, unsigned MaxLookup=6)
static const ValueGetUnderlyingObject (const Value *V, const DataLayout *TD=nullptr, unsigned MaxLookup=6)
void GetUnderlyingObjects (Value *V, SmallVectorImpl< Value * > &Objects, const DataLayout *TD=nullptr, unsigned MaxLookup=6)
bool onlyUsedByLifetimeMarkers (const Value *V)
bool isSafeToSpeculativelyExecute (const Value *V, const DataLayout *TD=nullptr)
bool isKnownNonNull (const Value *V, const TargetLibraryInfo *TLI=nullptr)
bool isValidAssumeForContext (const Instruction *I, const Instruction *CxtI, const DataLayout *DL=nullptr, const DominatorTree *DT=nullptr)
std::unique_ptr< ModuleparseAssemblyFile (StringRef Filename, SMDiagnostic &Error, LLVMContext &Context)
 Parse LLVM Assembly from a file.
std::unique_ptr< ModuleparseAssemblyString (StringRef AsmString, SMDiagnostic &Error, LLVMContext &Context)
 Parse LLVM Assembly from a string.
std::unique_ptr< ModuleparseAssembly (MemoryBufferRef F, SMDiagnostic &Err, LLVMContext &Context)
 Parse LLVM Assembly from a MemoryBuffer.
bool parseAssemblyInto (MemoryBufferRef F, Module &M, SMDiagnostic &Err)
ModulePasscreateBitcodeWriterPass (raw_ostream &Str)
 Create and return a pass that writes the module to the specified ostream. Note that this pass is designed for use with the legacy pass manager.
ErrorOr< Module * > getLazyBitcodeModule (std::unique_ptr< MemoryBuffer > &&Buffer, LLVMContext &Context)
ModulegetStreamedBitcodeModule (const std::string &name, DataStreamer *streamer, LLVMContext &Context, std::string *ErrMsg=nullptr)
std::string getBitcodeTargetTriple (MemoryBufferRef Buffer, LLVMContext &Context)
ErrorOr< Module * > parseBitcodeFile (MemoryBufferRef Buffer, LLVMContext &Context)
 Read the specified bitcode file, returning the module.
void WriteBitcodeToFile (const Module *M, raw_ostream &Out)
bool isBitcodeWrapper (const unsigned char *BufPtr, const unsigned char *BufEnd)
bool isRawBitcode (const unsigned char *BufPtr, const unsigned char *BufEnd)
bool isBitcode (const unsigned char *BufPtr, const unsigned char *BufEnd)
bool SkipBitcodeWrapperHeader (const unsigned char *&BufPtr, const unsigned char *&BufEnd, bool VerifyBufferSize)
const std::error_categoryBitcodeErrorCategory ()
std::error_code make_error_code (BitcodeError E)
unsigned ComputeLinearIndex (Type *Ty, const unsigned *Indices, const unsigned *IndicesEnd, unsigned CurIndex=0)
unsigned ComputeLinearIndex (Type *Ty, ArrayRef< unsigned > Indices, unsigned CurIndex=0)
void ComputeValueVTs (const TargetLowering &TLI, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< uint64_t > *Offsets=nullptr, uint64_t StartingOffset=0)
GlobalVariableExtractTypeInfo (Value *V)
 ExtractTypeInfo - Returns the type info, possibly bitcast, encoded in V.
bool hasInlineAsmMemConstraint (InlineAsm::ConstraintInfoVector &CInfos, const TargetLowering &TLI)
ISD::CondCode getFCmpCondCode (FCmpInst::Predicate Pred)
ISD::CondCode getFCmpCodeWithoutNaN (ISD::CondCode CC)
ISD::CondCode getICmpCondCode (ICmpInst::Predicate Pred)
bool isInTailCallPosition (ImmutableCallSite CS, const TargetMachine &TM)
bool returnTypeIsEligibleForTailCall (const Function *F, const Instruction *I, const ReturnInst *Ret, const TargetLoweringBase &TLI)
bool canBeOmittedFromSymbolTable (const GlobalValue *GV)
static float normalizeSpillWeight (float UseDefFreq, unsigned Size)
 Normalize the spill weight of a live interval.
void calculateSpillWeightsAndHints (LiveIntervals &LIS, MachineFunction &MF, const MachineLoopInfo &MLI, const MachineBlockFrequencyInfo &MBFI, VirtRegAuxInfo::NormalizingFn norm=normalizeSpillWeight)
 Compute spill weights and allocation hints for all virtual register live intervals.
void ComputeUsesVAFloatArgument (const CallInst &I, MachineModuleInfo *MMI)
void AddCatchInfo (const CallInst &I, MachineModuleInfo *MMI, MachineBasicBlock *MBB)
void AddLandingPadInfo (const LandingPadInst &I, MachineModuleInfo &MMI, MachineBasicBlock *MBB)
void linkOcamlGC ()
 Creates an ocaml-compatible garbage collector.
void linkOcamlGCPrinter ()
 Creates an ocaml-compatible metadata printer.
void linkErlangGC ()
 Creates an erlang-compatible garbage collector.
void linkErlangGCPrinter ()
 Creates an erlang-compatible metadata printer.
void linkShadowStackGC ()
ModulePasscreateJumpInstrTablesPass (JumpTable::JumpTableType JTT)
 Creates a JumpInstrTables pass for the given type of jump table.
raw_ostreamoperator<< (raw_ostream &OS, const LiveRange &LR)
raw_ostreamoperator<< (raw_ostream &OS, const LiveInterval &LI)
raw_ostreamoperator<< (raw_ostream &OS, const LiveRange::Segment &S)
bool operator< (SlotIndex V, const LiveRange::Segment &S)
bool operator< (const LiveRange::Segment &S, SlotIndex V)
raw_ostreamoperator<< (raw_ostream &OS, const LiveRangeUpdater &X)
bool overlap (const LiveInterval::Segment &VRSeg, const IntervalMap< SlotIndex, LiveInterval * >::const_iterator &LUSeg)
 Compare a live virtual register segment to a LiveIntervalUnion segment.
raw_ostreamoperator<< (raw_ostream &OS, const LivePhysRegs &LR)
raw_ostreamoperator<< (raw_ostream &OS, const MachineBasicBlock &MBB)
raw_ostreamoperator<< (raw_ostream &OS, const MachineConstantPoolValue &V)
 EXTERN_TEMPLATE_INSTANTIATION (class DomTreeNodeBase< MachineBasicBlock >)
 EXTERN_TEMPLATE_INSTANTIATION (class DominatorTreeBase< MachineBasicBlock >)
raw_ostreamoperator<< (raw_ostream &OS, const MachineInstr &MI)
MachineInstrBuilder BuildMI (MachineFunction &MF, DebugLoc DL, const MCInstrDesc &MCID)
MachineInstrBuilder BuildMI (MachineFunction &MF, DebugLoc DL, const MCInstrDesc &MCID, unsigned DestReg)
MachineInstrBuilder BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, DebugLoc DL, const MCInstrDesc &MCID, unsigned DestReg)
MachineInstrBuilder BuildMI (MachineBasicBlock &BB, MachineBasicBlock::instr_iterator I, DebugLoc DL, const MCInstrDesc &MCID, unsigned DestReg)
MachineInstrBuilder BuildMI (MachineBasicBlock &BB, MachineInstr *I, DebugLoc DL, const MCInstrDesc &MCID, unsigned DestReg)
MachineInstrBuilder BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, DebugLoc DL, const MCInstrDesc &MCID)
MachineInstrBuilder BuildMI (MachineBasicBlock &BB, MachineBasicBlock::instr_iterator I, DebugLoc DL, const MCInstrDesc &MCID)
MachineInstrBuilder BuildMI (MachineBasicBlock &BB, MachineInstr *I, DebugLoc DL, const MCInstrDesc &MCID)
MachineInstrBuilder BuildMI (MachineBasicBlock *BB, DebugLoc DL, const MCInstrDesc &MCID)
MachineInstrBuilder BuildMI (MachineBasicBlock *BB, DebugLoc DL, const MCInstrDesc &MCID, unsigned DestReg)
MachineInstrBuilder BuildMI (MachineFunction &MF, DebugLoc DL, const MCInstrDesc &MCID, bool IsIndirect, unsigned Reg, unsigned Offset, const MDNode *Variable, const MDNode *Expr)
MachineInstrBuilder BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, DebugLoc DL, const MCInstrDesc &MCID, bool IsIndirect, unsigned Reg, unsigned Offset, const MDNode *Variable, const MDNode *Expr)
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)
void finalizeBundle (MachineBasicBlock &MBB, MachineBasicBlock::instr_iterator FirstMI, MachineBasicBlock::instr_iterator LastMI)
MachineBasicBlock::instr_iterator finalizeBundle (MachineBasicBlock &MBB, MachineBasicBlock::instr_iterator FirstMI)
bool finalizeBundles (MachineFunction &MF)
MachineInstrgetBundleStart (MachineInstr *MI)
const MachineInstrgetBundleStart (const MachineInstr *MI)
MachineBasicBlock::instr_iterator getBundleEnd (MachineInstr *MI)
 Return an iterator pointing beyond the bundle containing MI.
MachineBasicBlock::const_instr_iterator getBundleEnd (const MachineInstr *MI)
 Return an iterator pointing beyond the bundle containing MI.
raw_ostreamoperator<< (raw_ostream &OS, const MachineMemOperand &MRO)
raw_ostreamoperator<< (raw_ostream &OS, const MachineOperand &MO)
hash_code hash_value (const MachineOperand &MO)
 RegionNodeGraphTraits (MachineRegionNode, MachineBasicBlock, MachineRegion)
 RegionGraphTraits (MachineRegion, MachineRegionNode)
 EXTERN_TEMPLATE_INSTANTIATION (class RegionBase< RegionTraits< MachineFunction >>)
 EXTERN_TEMPLATE_INSTANTIATION (class RegionNodeBase< RegionTraits< MachineFunction >>)
 EXTERN_TEMPLATE_INSTANTIATION (class RegionInfoBase< RegionTraits< MachineFunction >>)
raw_ostreamoperator<< (raw_ostream &OS, const MachineTraceMetrics::Trace &Tr)
raw_ostreamoperator<< (raw_ostream &OS, const MachineTraceMetrics::Ensemble &En)
FunctionPasscreateAtomicExpandPass (const TargetMachine *TM)
ImmutablePasscreateBasicTargetTransformInfoPass (const TargetMachine *TM)
 Create a basic TargetTransformInfo analysis pass.
FunctionPasscreateUnreachableBlockEliminationPass ()
MachineFunctionPasscreateMachineFunctionPrinterPass (raw_ostream &OS, const std::string &Banner="")
FunctionPasscreateCodeGenPreparePass (const TargetMachine *TM=nullptr)
FunctionPasscreateFastRegisterAllocator ()
FunctionPasscreateBasicRegisterAllocator ()
FunctionPasscreateGreedyRegisterAllocator ()
FunctionPasscreateDefaultPBQPRegisterAllocator ()
FunctionPasscreateGCLoweringPass ()
FunctionPasscreateGCInfoPrinter (raw_ostream &OS)
FunctionPasscreateStackProtectorPass (const TargetMachine *TM)
FunctionPasscreateMachineVerifierPass (const char *Banner=nullptr)
FunctionPasscreateDwarfEHPass (const TargetMachine *TM)
FunctionPasscreateSjLjEHPreparePass (const TargetMachine *TM)
FunctionPasscreateExecutionDependencyFixPass (const TargetRegisterClass *RC)
ModulePasscreateJumpInstrTablesPass ()
 createJumpInstrTables - This pass creates jump-instruction tables.
FunctionPasscreatePBQPRegisterAllocator (char *customPassID=nullptr)
 Create a PBQP register allocator instance.
void dumpRegSetPressure (ArrayRef< unsigned > SetPressure, const TargetRegisterInfo *TRI)
raw_ostreamoperator<< (raw_ostream &OS, const ILPValue &Val)
ScheduleDAGSDNodescreateBURRListDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel)
ScheduleDAGSDNodescreateSourceListDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel)
ScheduleDAGSDNodescreateHybridListDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level)
ScheduleDAGSDNodescreateILPListDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level)
ScheduleDAGSDNodescreateFastDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel)
ScheduleDAGSDNodescreateVLIWDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel)
 createVLIWDAGScheduler - This creates a top-down list scheduler.
ScheduleDAGSDNodescreateDefaultScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel)
ScheduleDAGSDNodescreateDAGLinearizer (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel)
void checkForCycles (const SelectionDAG *DAG, bool force=false)
static bool isBinOpWithFlags (unsigned Opcode)
void checkForCycles (const SDNode *N, const SelectionDAG *DAG=nullptr, bool force=false)
raw_ostreamoperator<< (raw_ostream &os, SlotIndex li)
bool operator< (SlotIndex V, const IdxMBBPair &IM)
bool operator< (const IdxMBBPair &IM, SlotIndex V)
raw_ostreamoperator<< (raw_ostream &OS, const VirtRegMap &VRM)
GenericValue PTOGV (void *P)
void * GVTOP (const GenericValue &GV)
void initializeCore (PassRegistry &)
void initializeTransformUtils (PassRegistry &)
void initializeScalarOpts (PassRegistry &)
void initializeObjCARCOpts (PassRegistry &)
void initializeVectorization (PassRegistry &)
void initializeInstCombine (PassRegistry &)
void initializeIPO (PassRegistry &)
 initializeIPO - Initialize all passes linked into the IPO library.
void initializeInstrumentation (PassRegistry &)
void initializeAnalysis (PassRegistry &)
 initializeAnalysis - Initialize all passes linked into the Analysis library.
void initializeIPA (PassRegistry &)
 initializeIPA - Initialize all passes linked into the IPA library.
void initializeCodeGen (PassRegistry &)
 initializeCodeGen - Initialize all passes linked into the CodeGen library.
void initializeTarget (PassRegistry &)
 initializeCodeGen - Initialize all passes linked into the CodeGen library.
void initializeAAEvalPass (PassRegistry &)
void initializeAddDiscriminatorsPass (PassRegistry &)
void initializeADCEPass (PassRegistry &)
void initializeAliasAnalysisAnalysisGroup (PassRegistry &)
void initializeAliasAnalysisCounterPass (PassRegistry &)
void initializeAliasDebuggerPass (PassRegistry &)
void initializeAliasSetPrinterPass (PassRegistry &)
void initializeAlwaysInlinerPass (PassRegistry &)
void initializeArgPromotionPass (PassRegistry &)
void initializeAtomicExpandPass (PassRegistry &)
void initializeSampleProfileLoaderPass (PassRegistry &)
void initializeAlignmentFromAssumptionsPass (PassRegistry &)
void initializeBarrierNoopPass (PassRegistry &)
void initializeBasicAliasAnalysisPass (PassRegistry &)
void initializeCallGraphWrapperPassPass (PassRegistry &)
void initializeBasicTTIPass (PassRegistry &)
void initializeBlockExtractorPassPass (PassRegistry &)
void initializeBlockFrequencyInfoPass (PassRegistry &)
void initializeBoundsCheckingPass (PassRegistry &)
void initializeBranchFolderPassPass (PassRegistry &)
void initializeBranchProbabilityInfoPass (PassRegistry &)
void initializeBreakCriticalEdgesPass (PassRegistry &)
void initializeCallGraphPrinterPass (PassRegistry &)
void initializeCallGraphViewerPass (PassRegistry &)
void initializeCFGOnlyPrinterPass (PassRegistry &)
void initializeCFGOnlyViewerPass (PassRegistry &)
void initializeCFGPrinterPass (PassRegistry &)
void initializeCFGSimplifyPassPass (PassRegistry &)
void initializeCFLAliasAnalysisPass (PassRegistry &)
void initializeFlattenCFGPassPass (PassRegistry &)
void initializeStructurizeCFGPass (PassRegistry &)
void initializeCFGViewerPass (PassRegistry &)
void initializeConstantHoistingPass (PassRegistry &)
void initializeCodeGenPreparePass (PassRegistry &)
void initializeConstantMergePass (PassRegistry &)
void initializeConstantPropagationPass (PassRegistry &)
void initializeMachineCopyPropagationPass (PassRegistry &)
void initializeCostModelAnalysisPass (PassRegistry &)
void initializeCorrelatedValuePropagationPass (PassRegistry &)
void initializeDAEPass (PassRegistry &)
void initializeDAHPass (PassRegistry &)
void initializeDCEPass (PassRegistry &)
void initializeDSEPass (PassRegistry &)
void initializeDebugIRPass (PassRegistry &)
void initializeDebugInfoVerifierLegacyPassPass (PassRegistry &)
void initializeDeadInstEliminationPass (PassRegistry &)
void initializeDeadMachineInstructionElimPass (PassRegistry &)
void initializeDelinearizationPass (PassRegistry &)
void initializeDependenceAnalysisPass (PassRegistry &)
void initializeDomOnlyPrinterPass (PassRegistry &)
void initializeDomOnlyViewerPass (PassRegistry &)
void initializeDomPrinterPass (PassRegistry &)
void initializeDomViewerPass (PassRegistry &)
void initializeDominanceFrontierPass (PassRegistry &)
void initializeDominatorTreeWrapperPassPass (PassRegistry &)
void initializeEarlyIfConverterPass (PassRegistry &)
void initializeEdgeBundlesPass (PassRegistry &)
void initializeExpandPostRAPass (PassRegistry &)
void initializeGCOVProfilerPass (PassRegistry &)
void initializeAddressSanitizerPass (PassRegistry &)
void initializeAddressSanitizerModulePass (PassRegistry &)
void initializeMemorySanitizerPass (PassRegistry &)
void initializeThreadSanitizerPass (PassRegistry &)
void initializeDataFlowSanitizerPass (PassRegistry &)
void initializeScalarizerPass (PassRegistry &)
void initializeEarlyCSEPass (PassRegistry &)
void initializeExpandISelPseudosPass (PassRegistry &)
void initializeFindUsedTypesPass (PassRegistry &)
void initializeFunctionAttrsPass (PassRegistry &)
void initializeGCMachineCodeAnalysisPass (PassRegistry &)
void initializeGCModuleInfoPass (PassRegistry &)
void initializeGVNPass (PassRegistry &)
void initializeGlobalDCEPass (PassRegistry &)
void initializeGlobalOptPass (PassRegistry &)
void initializeGlobalsModRefPass (PassRegistry &)
void initializeIPCPPass (PassRegistry &)
void initializeIPSCCPPass (PassRegistry &)
void initializeIVUsersPass (PassRegistry &)
void initializeIfConverterPass (PassRegistry &)
void initializeIndVarSimplifyPass (PassRegistry &)
void initializeInlineCostAnalysisPass (PassRegistry &)
void initializeInstCombinerPass (PassRegistry &)
void initializeInstCountPass (PassRegistry &)
void initializeInstNamerPass (PassRegistry &)
void initializeInternalizePassPass (PassRegistry &)
void initializeIntervalPartitionPass (PassRegistry &)
void initializeJumpInstrTableInfoPass (PassRegistry &)
void initializeJumpInstrTablesPass (PassRegistry &)
void initializeJumpThreadingPass (PassRegistry &)
void initializeLCSSAPass (PassRegistry &)
void initializeLICMPass (PassRegistry &)
void initializeLazyValueInfoPass (PassRegistry &)
void initializeLibCallAliasAnalysisPass (PassRegistry &)
void initializeLintPass (PassRegistry &)
void initializeLiveDebugVariablesPass (PassRegistry &)
void initializeLiveIntervalsPass (PassRegistry &)
void initializeLiveRegMatrixPass (PassRegistry &)
void initializeLiveStacksPass (PassRegistry &)
void initializeLiveVariablesPass (PassRegistry &)
void initializeLoaderPassPass (PassRegistry &)
void initializeLocalStackSlotPassPass (PassRegistry &)
void initializeLoopDeletionPass (PassRegistry &)
void initializeLoopExtractorPass (PassRegistry &)
void initializeLoopInfoPass (PassRegistry &)
void initializeLoopInstSimplifyPass (PassRegistry &)
void initializeLoopRotatePass (PassRegistry &)
void initializeLoopSimplifyPass (PassRegistry &)
void initializeLoopStrengthReducePass (PassRegistry &)
void initializeGlobalMergePass (PassRegistry &)
void initializeLoopRerollPass (PassRegistry &)
void initializeLoopUnrollPass (PassRegistry &)
void initializeLoopUnswitchPass (PassRegistry &)
void initializeLoopIdiomRecognizePass (PassRegistry &)
void initializeLowerAtomicPass (PassRegistry &)
void initializeLowerExpectIntrinsicPass (PassRegistry &)
void initializeLowerIntrinsicsPass (PassRegistry &)
void initializeLowerInvokePass (PassRegistry &)
void initializeLowerSwitchPass (PassRegistry &)
void initializeMachineBlockFrequencyInfoPass (PassRegistry &)
void initializeMachineBlockPlacementPass (PassRegistry &)
void initializeMachineBlockPlacementStatsPass (PassRegistry &)
void initializeMachineBranchProbabilityInfoPass (PassRegistry &)
void initializeMachineCSEPass (PassRegistry &)
void initializeMachineDominatorTreePass (PassRegistry &)
void initializeMachineDominanceFrontierPass (PassRegistry &)
void initializeMachinePostDominatorTreePass (PassRegistry &)
void initializeMachineLICMPass (PassRegistry &)
void initializeMachineLoopInfoPass (PassRegistry &)
void initializeMachineModuleInfoPass (PassRegistry &)
void initializeMachineRegionInfoPassPass (PassRegistry &)
void initializeMachineSchedulerPass (PassRegistry &)
void initializeMachineSinkingPass (PassRegistry &)
void initializeMachineTraceMetricsPass (PassRegistry &)
void initializeMachineVerifierPassPass (PassRegistry &)
void initializeMemCpyOptPass (PassRegistry &)
void initializeMemDepPrinterPass (PassRegistry &)
void initializeMemoryDependenceAnalysisPass (PassRegistry &)
void initializeMergedLoadStoreMotionPass (PassRegistry &)
void initializeMetaRenamerPass (PassRegistry &)
void initializeMergeFunctionsPass (PassRegistry &)
void initializeModuleDebugInfoPrinterPass (PassRegistry &)
void initializeNoAAPass (PassRegistry &)
void initializeObjCARCAliasAnalysisPass (PassRegistry &)
void initializeObjCARCAPElimPass (PassRegistry &)
void initializeObjCARCExpandPass (PassRegistry &)
void initializeObjCARCContractPass (PassRegistry &)
void initializeObjCARCOptPass (PassRegistry &)
void initializeOptimizePHIsPass (PassRegistry &)
void initializePartiallyInlineLibCallsPass (PassRegistry &)
void initializePEIPass (PassRegistry &)
void initializePHIEliminationPass (PassRegistry &)
void initializePartialInlinerPass (PassRegistry &)
void initializePeepholeOptimizerPass (PassRegistry &)
void initializePostDomOnlyPrinterPass (PassRegistry &)
void initializePostDomOnlyViewerPass (PassRegistry &)
void initializePostDomPrinterPass (PassRegistry &)
void initializePostDomViewerPass (PassRegistry &)
void initializePostDominatorTreePass (PassRegistry &)
void initializePostRASchedulerPass (PassRegistry &)
void initializePostMachineSchedulerPass (PassRegistry &)
void initializePrintFunctionPassWrapperPass (PassRegistry &)
void initializePrintModulePassWrapperPass (PassRegistry &)
void initializePrintBasicBlockPassPass (PassRegistry &)
void initializeProcessImplicitDefsPass (PassRegistry &)
void initializePromotePassPass (PassRegistry &)
void initializePruneEHPass (PassRegistry &)
void initializeReassociatePass (PassRegistry &)
void initializeRegToMemPass (PassRegistry &)
void initializeRegionInfoPassPass (PassRegistry &)
void initializeRegionOnlyPrinterPass (PassRegistry &)
void initializeRegionOnlyViewerPass (PassRegistry &)
void initializeRegionPrinterPass (PassRegistry &)
void initializeRegionViewerPass (PassRegistry &)
void initializeSCCPPass (PassRegistry &)
void initializeSROAPass (PassRegistry &)
void initializeSROA_DTPass (PassRegistry &)
void initializeSROA_SSAUpPass (PassRegistry &)
void initializeScalarEvolutionAliasAnalysisPass (PassRegistry &)
void initializeScalarEvolutionPass (PassRegistry &)
void initializeSimpleInlinerPass (PassRegistry &)
void initializeRegisterCoalescerPass (PassRegistry &)
void initializeSingleLoopExtractorPass (PassRegistry &)
void initializeSinkingPass (PassRegistry &)
void initializeSeparateConstOffsetFromGEPPass (PassRegistry &)
void initializeSlotIndexesPass (PassRegistry &)
void initializeSpillPlacementPass (PassRegistry &)
void initializeStackProtectorPass (PassRegistry &)
void initializeStackColoringPass (PassRegistry &)
void initializeStackSlotColoringPass (PassRegistry &)
void initializeStripDeadDebugInfoPass (PassRegistry &)
void initializeStripDeadPrototypesPassPass (PassRegistry &)
void initializeStripDebugDeclarePass (PassRegistry &)
void initializeStripNonDebugSymbolsPass (PassRegistry &)
void initializeStripSymbolsPass (PassRegistry &)
void initializeTailCallElimPass (PassRegistry &)
void initializeTailDuplicatePassPass (PassRegistry &)
void initializeTargetPassConfigPass (PassRegistry &)
void initializeDataLayoutPassPass (PassRegistry &)
void initializeTargetTransformInfoAnalysisGroup (PassRegistry &)
void initializeFunctionTargetTransformInfoPass (PassRegistry &)
void initializeNoTTIPass (PassRegistry &)
void initializeTargetLibraryInfoPass (PassRegistry &)
void initializeAssumptionTrackerPass (PassRegistry &)
void initializeTwoAddressInstructionPassPass (PassRegistry &)
void initializeTypeBasedAliasAnalysisPass (PassRegistry &)
void initializeScopedNoAliasAAPass (PassRegistry &)
void initializeUnifyFunctionExitNodesPass (PassRegistry &)
void initializeUnreachableBlockElimPass (PassRegistry &)
void initializeUnreachableMachineBlockElimPass (PassRegistry &)
void initializeVerifierLegacyPassPass (PassRegistry &)
void initializeVirtRegMapPass (PassRegistry &)
void initializeVirtRegRewriterPass (PassRegistry &)
void initializeInstSimplifierPass (PassRegistry &)
void initializeUnpackMachineBundlesPass (PassRegistry &)
void initializeFinalizeMachineBundlesPass (PassRegistry &)
void initializeLoopVectorizePass (PassRegistry &)
void initializeSLPVectorizerPass (PassRegistry &)
void initializeBBVectorizePass (PassRegistry &)
void initializeMachineFunctionPrinterPassPass (PassRegistry &)
void initializeStackMapLivenessPass (PassRegistry &)
void initializeMachineCombinerPass (PassRegistry &)
void initializeLoadCombinePass (PassRegistry &)
bool UpgradeIntrinsicFunction (Function *F, Function *&NewFn)
void UpgradeIntrinsicCall (CallInst *CI, Function *NewFn)
void UpgradeCallsToIntrinsic (Function *F)
bool UpgradeGlobalVariable (GlobalVariable *GV)
void UpgradeInstWithTBAATag (Instruction *I)
InstructionUpgradeBitCastInst (unsigned Opc, Value *V, Type *DestTy, Instruction *&Temp)
ValueUpgradeBitCastExpr (unsigned Opc, Constant *C, Type *DestTy)
bool UpgradeDebugInfo (Module &M)
void UpgradeMDStringConstant (std::string &String)
 Upgrade a metadata string constant in place.
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)
succ_iterator succ_begin (BasicBlock *BB)
succ_const_iterator succ_begin (const BasicBlock *BB)
succ_iterator succ_end (BasicBlock *BB)
succ_const_iterator succ_end (const BasicBlock *BB)
raw_ostreamoperator<< (raw_ostream &OS, const Comdat &C)
raw_ostreamoperator<< (raw_ostream &OS, const ConstantRange &CR)
DataLayoutunwrap (LLVMTargetDataRef P)
LLVMTargetDataRef wrap (const DataLayout *P)
DISubprogram getDISubprogram (const MDNode *Scope)
 Find subprogram that is enclosing this scope.
DISubprogram getDISubprogram (const Function *F)
 Find debug info for a given function.
DICompositeType getDICompositeType (DIType T)
 Find underlying composite type.
DIVariable createInlinedVariable (MDNode *DV, MDNode *InlinedScope, LLVMContext &VMContext)
 Create a new inlined variable based on current variable.
DIVariable cleanseInlinedVariable (MDNode *DV, LLVMContext &VMContext)
 Remove inlined scope from the variable.
DITypeIdentifierMap generateDITypeIdentifierMap (const NamedMDNode *CU_Nodes)
 Generate map by visiting all retained types.
bool StripDebugInfo (Module &M)
 Strip debug info in the module if it exists.
unsigned getDebugMetadataVersionFromModule (const Module &M)
 Return Debug Info Metadata Version by checking module flags.
DenseMap< const Function
*, DISubprogram
makeSubprogramMap (const Module &M)
int getNextAvailablePluginDiagnosticKind ()
 Get the next available kind ID for a plugin diagnostic. Each time this function is called, it returns a different number. Therefore, a plugin that wants to "identify" its own classes with a dynamic identifier, just have to use this method to get a new ID and assign it to each of its classes. The returned ID will be greater than or equal to DK_FirstPluginKind. Thus, the plugin identifiers will not conflict with the DiagnosticKind values.
void emitOptimizationRemark (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
void emitOptimizationRemarkMissed (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
void emitOptimizationRemarkAnalysis (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
void emitLoopVectorizeWarning (LLVMContext &Ctx, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
void emitLoopInterleaveWarning (LLVMContext &Ctx, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
 EXTERN_TEMPLATE_INSTANTIATION (class DomTreeNodeBase< BasicBlock >)
 EXTERN_TEMPLATE_INSTANTIATION (class DominatorTreeBase< BasicBlock >)
 EXTERN_TEMPLATE_INSTANTIATION (void Calculate< Function LLVM_COMMA BasicBlock * >(DominatorTreeBase< GraphTraits< BasicBlock * >::NodeType > &DT LLVM_COMMAFunction &F))
 EXTERN_TEMPLATE_INSTANTIATION (void Calculate< Function LLVM_COMMA Inverse< BasicBlock * > >(DominatorTreeBase< GraphTraits< Inverse< BasicBlock * > >::NodeType > &DTLLVM_COMMA Function &F))
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)
const_inst_iterator inst_begin (const Function *F)
const_inst_iterator inst_end (const Function *F)
inst_iterator inst_begin (Function &F)
inst_iterator inst_end (Function &F)
const_inst_iterator inst_begin (const Function &F)
const_inst_iterator inst_end (const Function &F)
bool isAtLeastAcquire (AtomicOrdering Ord)
bool isAtLeastRelease (AtomicOrdering Ord)
TypecheckGEPType (Type *Ty)
 HANDLE_BINARY_INST (20, Shl, BinaryOperator) HANDLE_BINARY_INST(21
BinaryOperator HANDLE_BINARY_INST (22, AShr, BinaryOperator) HANDLE_MEMORY_INST(26
BinaryOperator AllocaInst HANDLE_MEMORY_INST (27, Load, LoadInst) HANDLE_CAST_INST(33
BinaryOperator AllocaInst TruncInst HANDLE_CAST_INST (34, ZExt, ZExtInst) HANDLE_CAST_INST(35
BinaryOperator AllocaInst
TruncInst SExtInst 
HANDLE_CAST_INST (36, FPToUI, FPToUIInst) HANDLE_CAST_INST(37
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst 
HANDLE_CAST_INST (38, UIToFP, UIToFPInst) HANDLE_CAST_INST(39
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst 
HANDLE_CAST_INST (40, FPTrunc, FPTruncInst) HANDLE_CAST_INST(41
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst 
HANDLE_CAST_INST (42, PtrToInt, PtrToIntInst) HANDLE_CAST_INST(43
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst 
HANDLE_CAST_INST (44, BitCast, BitCastInst) HANDLE_CAST_INST(45
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst 
HANDLE_OTHER_INST (46, ICmp, ICmpInst) HANDLE_OTHER_INST(47
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst 
HANDLE_OTHER_INST (48, PHI, PHINode) HANDLE_OTHER_INST(49
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst 
HANDLE_OTHER_INST (50, Select, SelectInst) HANDLE_OTHER_INST(51
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction 
HANDLE_OTHER_INST (52, UserOp2, Instruction) HANDLE_OTHER_INST(53
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction
VAArgInst 
HANDLE_OTHER_INST (54, ExtractElement, ExtractElementInst) HANDLE_OTHER_INST(55
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst 
HANDLE_OTHER_INST (56, ShuffleVector, ShuffleVectorInst) HANDLE_OTHER_INST(57
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst 
HANDLE_OTHER_INST (58, InsertValue, InsertValueInst) HANDLE_OTHER_INST(59
ModulePasscreatePrintModulePass (raw_ostream &OS, const std::string &Banner="")
 Create and return a pass that writes the module to the specified raw_ostream.
FunctionPasscreatePrintFunctionPass (raw_ostream &OS, const std::string &Banner="")
 Create and return a pass that prints functions to the specified raw_ostream as they are processed.
BasicBlockPasscreatePrintBasicBlockPass (raw_ostream &OS, const std::string &Banner="")
 Create and return a pass that writes the BB to the specified raw_ostream.
TimergetPassTimer (Pass *)
 If TimingInfo is enabled then start pass timer.
LLVMContextgetGlobalContext ()
LLVMContext ** unwrap (LLVMContextRef *Tys)
LLVMContextRefwrap (const LLVMContext **Tys)
raw_ostreamoperator<< (raw_ostream &O, const Module &M)
 An raw_ostream inserter for modules.
Moduleunwrap (LLVMModuleProviderRef MP)
template<typename FunctionPassT >
ModuleToFunctionPassAdaptor
< FunctionPassT > 
createModuleToFunctionPassAdaptor (FunctionPassT Pass)
 A function to deduce a function pass type and wrap it in the templated adaptor.
static raw_ostreamoperator<< (raw_ostream &OS, Type &T)
Type ** unwrap (LLVMTypeRef *Tys)
LLVMTypeRefwrap (Type **Tys)
 DEFINE_INTEGRAL_TYPEBUILDER (char)
 DEFINE_INTEGRAL_TYPEBUILDER (signed char)
 DEFINE_INTEGRAL_TYPEBUILDER (unsigned char)
 DEFINE_INTEGRAL_TYPEBUILDER (short)
 DEFINE_INTEGRAL_TYPEBUILDER (int)
 DEFINE_INTEGRAL_TYPEBUILDER (long)
 DEFINE_INTEGRAL_TYPEBUILDER (unsigned long long)
bool shouldPreserveBitcodeUseListOrder ()
 Whether to preserve use-list ordering.
bool shouldPreserveAssemblyUseListOrder ()
void setPreserveBitcodeUseListOrder (bool ShouldPreserve)
void setPreserveAssemblyUseListOrder (bool ShouldPreserve)
raw_ostreamoperator<< (raw_ostream &OS, const Value &V)
Value ** unwrap (LLVMValueRef *Vals)
template<typename T >
T ** unwrap (LLVMValueRef *Vals, unsigned Length)
LLVMValueRefwrap (const Value **Vals)
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)
 Check a module for errors.
FunctionPasscreateVerifierPass (bool FatalErrors=true)
 Create a verifier pass.
ModulePasscreateDebugInfoVerifierPass (bool FatalErrors=true)
 Create a debug-info verifier pass.
std::unique_ptr< ModulegetLazyIRFileModule (StringRef Filename, SMDiagnostic &Err, LLVMContext &Context)
std::unique_ptr< ModuleparseIR (MemoryBufferRef Buffer, SMDiagnostic &Err, LLVMContext &Context)
std::unique_ptr< ModuleparseIRFile (StringRef Filename, SMDiagnostic &Err, LLVMContext &Context)
bool operator!= (const MachineLocation &LHS, const MachineLocation &RHS)
MCObjectWritercreateELFObjectWriter (MCELFObjectTargetWriter *MOTW, raw_ostream &OS, bool IsLittleEndian)
 Construct a new ELF writer instance.
MCELFStreamercreateARMELFStreamer (MCContext &Context, MCAsmBackend &TAB, raw_ostream &OS, MCCodeEmitter *Emitter, bool RelaxAll, bool IsThumb)
raw_ostreamoperator<< (raw_ostream &OS, const MCExpr &E)
raw_ostreamoperator<< (raw_ostream &OS, const MCOperand &MO)
raw_ostreamoperator<< (raw_ostream &OS, const MCInst &MI)
raw_ostreamoperator<< (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)
MCObjectWritercreateMachObjectWriter (MCMachObjectTargetWriter *MOTW, raw_ostream &OS, bool IsLittleEndian)
 Construct a new Mach-O writer instance.
MCAsmParsercreateMCAsmParser (SourceMgr &, MCContext &, MCStreamer &, const MCAsmInfo &)
 Create an MCAsmParser instance.
raw_ostreamoperator<< (raw_ostream &OS, const MCParsedAsmOperand &MO)
MCStreamercreateNullStreamer (MCContext &Ctx)
MCStreamercreateAsmStreamer (MCContext &Ctx, formatted_raw_ostream &OS, bool isVerboseAsm, bool useDwarfDirectory, MCInstPrinter *InstPrint, MCCodeEmitter *CE, MCAsmBackend *TAB, bool ShowInst)
MCStreamercreateMachOStreamer (MCContext &Ctx, MCAsmBackend &TAB, raw_ostream &OS, MCCodeEmitter *CE, bool RelaxAll=false, bool LabelSections=false)
MCStreamercreateELFStreamer (MCContext &Ctx, MCAsmBackend &TAB, raw_ostream &OS, MCCodeEmitter *CE, bool RelaxAll)
raw_ostreamoperator<< (raw_ostream &OS, const MCSymbol &Sym)
bool operator== (const MCTargetOptions &LHS, const MCTargetOptions &RHS)
bool operator!= (const MCTargetOptions &LHS, const MCTargetOptions &RHS)
MCObjectWritercreateWinCOFFObjectWriter (MCWinCOFFObjectTargetWriter *MOTW, raw_ostream &OS)
 Construct a new Win COFF writer instance.
template<typename PassName >
PasscallDefaultCtor ()
template<typename PassName >
PasscallTargetMachineCtor (TargetMachine *TM)
const std::error_categoryinstrprof_category ()
std::error_code make_error_code (instrprof_error E)
template<typename T >
unsigned alignOf ()
raw_ostreamoperator<< (raw_ostream &OS, const BranchProbability &Prob)
template<typename T >
static size_t capacity_in_bytes (const T &x)
template<class X , class Y >
LLVM_ATTRIBUTE_UNUSED_RESULT bool isa (const Y &Val)
template<class X , class Y >
std::enable_if<!is_simple_type
< Y >::value, typename
cast_retty< X, const Y >
::ret_type >::type 
cast (const Y &Val)
template<class X , class Y >
cast_retty< X, Y >::ret_type cast (Y &Val)
template<class X , class Y >
cast_retty< X, Y * >::ret_type cast (Y *Val)
template<class X , class Y >
LLVM_ATTRIBUTE_UNUSED_RESULT
cast_retty< X, Y * >::ret_type 
cast_or_null (Y *Val)
template<class X , class Y >
LLVM_ATTRIBUTE_UNUSED_RESULT
std::enable_if
< !is_simple_type< Y >::value,
typename cast_retty< X, const
Y >::ret_type >::type 
dyn_cast (const Y &Val)
template<class X , class Y >
LLVM_ATTRIBUTE_UNUSED_RESULT
cast_retty< X, Y >::ret_type 
dyn_cast (Y &Val)
template<class X , class Y >
LLVM_ATTRIBUTE_UNUSED_RESULT
cast_retty< X, Y * >::ret_type 
dyn_cast (Y *Val)
template<class X , class Y >
LLVM_ATTRIBUTE_UNUSED_RESULT
cast_retty< X, Y * >::ret_type 
dyn_cast_or_null (Y *Val)
CodeModel::Model unwrap (LLVMCodeModel Model)
LLVMCodeModel wrap (CodeModel::Model Model)
DataStreamergetDataFileStreamer (const std::string &Filename, std::string *Err)
bool isCurrentDebugType (const char *Type)
void setCurrentDebugType (const char *Type)
raw_ostreamdbgs ()
 dbgs - Return a circular-buffered debug stream.
std::error_code make_error_code (errc E)
void install_fatal_error_handler (fatal_error_handler_t handler, void *user_data=nullptr)
void remove_fatal_error_handler ()
 Restores default error handling behaviour.
LLVM_ATTRIBUTE_NORETURN void report_fatal_error (const char *reason, bool gen_crash_diag=true)
LLVM_ATTRIBUTE_NORETURN void report_fatal_error (const std::string &reason, bool gen_crash_diag=true)
LLVM_ATTRIBUTE_NORETURN void report_fatal_error (StringRef reason, bool gen_crash_diag=true)
LLVM_ATTRIBUTE_NORETURN void report_fatal_error (const Twine &reason, bool gen_crash_diag=true)
LLVM_ATTRIBUTE_NORETURN void llvm_unreachable_internal (const char *msg=nullptr, const char *file=nullptr, unsigned line=0)
template<class T , class V >
std::enable_if
< std::is_constructible< T, V >
::value, typename
std::remove_reference< V >
::type >::type && 
moveIfMoveConstructible (V &Val)
template<class T , class E >
std::enable_if
< std::is_error_code_enum< E >
::value||std::is_error_condition_enum
< E >::value, bool >::type 
operator== (ErrorOr< T > &Err, E Code)
int DiffFilesWithTolerance (StringRef FileA, StringRef FileB, double AbsTol, double RelTol, std::string *Error=nullptr)
template<typename T >
format_object1< Tformat (const char *Fmt, const T &Val)
template<typename T1 , typename T2 >
format_object2< T1, T2 > format (const char *Fmt, const T1 &Val1, const T2 &Val2)
template<typename T1 , typename T2 , typename T3 >
format_object3< T1, T2, T3 > format (const char *Fmt, const T1 &Val1, const T2 &Val2, const T3 &Val3)
template<typename T1 , typename T2 , typename T3 , typename T4 >
format_object4< T1, T2, T3, T4 > format (const char *Fmt, const T1 &Val1, const T2 &Val2, const T3 &Val3, const T4 &Val4)
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
format_object5< T1, T2, T3, T4,
T5 > 
format (const char *Fmt, const T1 &Val1, const T2 &Val2, const T3 &Val3, const T4 &Val4, const T5 &Val5)
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
format_object6< T1, T2, T3, T4,
T5, T6 > 
format (const char *Fmt, const T1 &Val1, const T2 &Val2, const T3 &Val3, const T4 &Val4, const T5 &Val5, const T6 &Val6)
FormattedString left_justify (StringRef Str, unsigned Width)
FormattedString right_justify (StringRef Str, unsigned Width)
FormattedNumber format_hex (uint64_t N, unsigned Width, bool Upper=false)
FormattedNumber format_decimal (int64_t N, unsigned Width)
formatted_raw_ostreamfouts ()
formatted_raw_ostreamferrs ()
formatted_raw_ostreamfdbgs ()
template<class NodeT >
raw_ostreamoperator<< (raw_ostream &o, const DomTreeNodeBase< NodeT > *Node)
template<class NodeT >
void PrintDomTree (const DomTreeNodeBase< NodeT > *N, raw_ostream &o, unsigned Lev)
template<class FuncT , class N >
void Calculate (DominatorTreeBase< typename GraphTraits< N >::NodeType > &DT, FuncT &F)
template<class GraphT >
unsigned DFSPass (DominatorTreeBase< typename GraphT::NodeType > &DT, typename GraphT::NodeType *V, unsigned N)
template<class GraphT >
GraphT::NodeType * Eval (DominatorTreeBase< typename GraphT::NodeType > &DT, typename GraphT::NodeType *VIn, unsigned LastLinked)
template<class FuncT , class NodeT >
void Calculate (DominatorTreeBase< typename GraphTraits< NodeT >::NodeType > &DT, FuncT &F)
bool DisplayGraph (StringRef Filename, bool wait=true, GraphProgram::Name program=GraphProgram::DOT)
template<typename GraphType >
raw_ostreamWriteGraph (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="")
template<typename GraphType >
void ViewGraph (const GraphType &G, const Twine &Name, bool ShortNames=false, const Twine &Title="", GraphProgram::Name Program=GraphProgram::DOT)
void encodeSLEB128 (int64_t Value, raw_ostream &OS)
 Utility function to encode a SLEB128 value to an output stream.
void encodeULEB128 (uint64_t Value, raw_ostream &OS, unsigned Padding=0)
 Utility function to encode a ULEB128 value to an output stream.
unsigned encodeULEB128 (uint64_t Value, uint8_t *p, unsigned Padding=0)
uint64_t decodeULEB128 (const uint8_t *p, unsigned *n=nullptr)
 Utility function to decode a ULEB128 value.
int64_t decodeSLEB128 (const uint8_t *p, unsigned *n=nullptr)
 Utility function to decode a SLEB128 value.
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.
template<class C >
void * object_creator ()
 object_creator - Helper method for ManagedStatic.
void llvm_shutdown ()
 llvm_shutdown - Deallocate and destroy all ManagedStatic variables.
template<typename T >
std::enable_if
< std::numeric_limits< T >
::is_integer
&&!std::numeric_limits< T >
::is_signed, std::size_t >
::type 
countTrailingZeros (T Val, ZeroBehavior ZB=ZB_Width)
 Count number of 0's from the least significant bit to the most stopping at the first 1.
template<typename T >
std::enable_if
< std::numeric_limits< T >
::is_integer
&&!std::numeric_limits< T >
::is_signed, std::size_t >
::type 
countLeadingZeros (T Val, ZeroBehavior ZB=ZB_Width)
 Count number of 0's from the most significant bit to the least stopping at the first 1.
template<typename T >
std::enable_if
< std::numeric_limits< T >
::is_integer
&&!std::numeric_limits< T >
::is_signed, T >::type 
findFirstSet (T Val, ZeroBehavior ZB=ZB_Max)
 Get the index of the first set bit starting from the least significant bit.
template<typename T >
std::enable_if
< std::numeric_limits< T >
::is_integer
&&!std::numeric_limits< T >
::is_signed, T >::type 
findLastSet (T Val, ZeroBehavior ZB=ZB_Max)
 Get the index of the last set bit starting from the least significant bit.
template<typename T >
T reverseBits (T Val)
 Reverse the bits in Val.
uint32_t Hi_32 (uint64_t Value)
 Hi_32 - This function returns the high 32 bits of a 64 bit value.
uint32_t Lo_32 (uint64_t Value)
 Lo_32 - This function returns the low 32 bits of a 64 bit value.
uint64_t Make_64 (uint32_t High, uint32_t Low)
template<unsigned N>
bool isInt (int64_t x)
 isInt - Checks if an integer fits into the given bit width.
template<>
bool isInt< 8 > (int64_t x)
template<>
bool isInt< 16 > (int64_t x)
template<>
bool isInt< 32 > (int64_t x)
template<unsigned N, unsigned S>
bool isShiftedInt (int64_t x)
template<unsigned N>
bool isUInt (uint64_t x)
 isUInt - Checks if an unsigned integer fits into the given bit width.
template<>
bool isUInt< 8 > (uint64_t x)
template<>
bool isUInt< 16 > (uint64_t x)
template<>
bool isUInt< 32 > (uint64_t x)
template<unsigned N, unsigned S>
bool isShiftedUInt (uint64_t x)
bool isUIntN (unsigned N, uint64_t x)
bool isIntN (unsigned N, int64_t x)
bool isMask_32 (uint32_t Value)
bool isMask_64 (uint64_t Value)
bool isShiftedMask_32 (uint32_t Value)
bool isShiftedMask_64 (uint64_t Value)
bool isPowerOf2_32 (uint32_t Value)
bool isPowerOf2_64 (uint64_t Value)
uint16_t ByteSwap_16 (uint16_t Value)
uint32_t ByteSwap_32 (uint32_t Value)
uint64_t ByteSwap_64 (uint64_t Value)
unsigned CountLeadingOnes_32 (uint32_t Value)
unsigned CountLeadingOnes_64 (uint64_t