LLVM API Documentation

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

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

Namespaces

namespace  APIntOps
namespace  ARM
 

Define some predicates that are used for node matching.


namespace  ARM_AM
 

ARM_AM - ARM Addressing Mode Stuff.


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

Register allocation hints.


namespace  Attribute
namespace  bitc
namespace  CallingConv
namespace  cl
namespace  CodeGenOpt
namespace  CodeModel
namespace  COFF
namespace  DefaultStandardPasses
namespace  dont_use
namespace  DOT
namespace  dwarf
namespace  DWARFFlavour
namespace  ELF
namespace  EngineKind
namespace  ExceptionHandling
namespace  FloatABI
namespace  GC
namespace  GraphProgram
namespace  hashing
namespace  Hexagon
namespace  HexagonII
namespace  HexagonISD
namespace  InlineConstants
namespace  IntervalMapImpl
namespace  Intrinsic
namespace  ISD
namespace  jitprofiling
namespace  LCOMM
namespace  LibFunc
namespace  lltok
namespace  MachO
namespace  MBlaze
namespace  MBlazeCC
namespace  MBlazeII
namespace  MBlazeISD
namespace  MCID
namespace  MCOI
namespace  Mips
namespace  MipsII
namespace  MipsISD
namespace  MSP430II
namespace  MSP430ISD
namespace  N86
namespace  NVPTX
namespace  NVPTXCC
namespace  NVPTXISD
namespace  object
namespace  PatternMatch
namespace  PICStyles
namespace  PPC
 

Define some predicates that are used for node matching.


namespace  PPCII
namespace  PPCISD
namespace  PTXISD
namespace  PTXPredicate
namespace  PTXRegisterSpace
namespace  PTXRegisterType
namespace  PTXRoundingMode
 

Namespace to hold all target-specific flags.


namespace  PTXStateSpace
namespace  RegState
namespace  Reloc
namespace  RTLIB
namespace  Sched
namespace  SPCC
namespace  SPII
namespace  SPISD
namespace  SPU
 

Utility functions specific to CellSPU:


namespace  SPUISD
namespace  support
namespace  sys
namespace  TargetOpcode
namespace  tgtok
namespace  TLSModel
namespace  types
namespace  Win64EH
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

Classes

class  APFloat
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  DenseMap
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
struct  FlatArrayMapTypes
class  FlatArrayMap
class  FlatArrayMapIterator
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  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  Interval
struct  ImutIntervalInfo
class  ImutIntervalAVLFactory
class  ImmutableIntervalMap
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< T * >
struct  ImutContainerInfo
struct  ImutContainerInfo< T * >
class  ImmutableSet
class  ImmutableSetRef
class  IndexedMap
class  InMemoryStruct
 Helper object for abstracting access to an in-memory structure which may require some kind of temporary storage. More...
class  IntEqClasses
struct  IntervalMapInfo
class  IntervalMap
class  IntervalMapOverlaps
class  RefCountedBase
class  RefCountedBaseVPTR
struct  IntrusiveRefCntPtrInfo
class  IntrusiveRefCntPtr
struct  simplify_type< IntrusiveRefCntPtr< T > >
struct  simplify_type< const IntrusiveRefCntPtr< T > >
struct  MultiImplMapTypes
class  MultiImplMap
class  MultiImplMap< SmallMapTy, BigMapTy, MaxSmallN, true >
class  MultiImplMapIterator
struct  MultiImplMapIteratorsFactory
struct  MultiImplMapIteratorsFactory< FlatArrayMap< KeyTy, MappedTy, MaxArraySize >, DenseMap< KeyTy, MappedTy, KeyInfoT > >
class  NullablePtr
class  Optional
struct  simplify_type< const Optional< T > >
struct  simplify_type< Optional< T > >
class  OwningPtr
class  OwningArrayPtr
class  PackedVectorBase< T, BitNum, false >
class  PackedVectorBase< T, BitNum, 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 > >
class  po_iterator_storage
struct  DFSetTraits
class  po_iterator_storage< SetType, true >
class  po_iterator
struct  po_ext_iterator
struct  ipo_iterator
struct  ipo_ext_iterator
class  ReversePostOrderTraversal
class  PriorityQueue
class  scc_iterator
class  ScopedHashTableVal
class  ScopedHashTableScope
class  ScopedHashTableIterator
class  ScopedHashTable
class  SetVector
 A vector that has set insertion semantics. More...
class  SmallSetVector
class  SmallBitVector
class  SmallMap
class  SmallPtrSetImpl
class  SmallPtrSetIteratorImpl
class  SmallPtrSetIterator
 SmallPtrSetIterator - This implements a const_iterator for SmallPtrSet. More...
struct  RoundUpToPowerOfTwoH
struct  RoundUpToPowerOfTwoH< N, false >
struct  RoundUpToPowerOfTwo
class  SmallPtrSet
class  SmallSet
class  SmallSet< PointeeType *, N >
class  SmallString
class  SmallVectorBase
class  SmallVectorTemplateCommon
class  SmallVectorTemplateBase
class  SmallVectorTemplateBase< T, true >
class  SmallVectorImpl
class  SmallVector
class  SmallVector< T, 0 >
struct  SparseBitVectorElement
class  SparseBitVector
struct  SparseSetValTraits
struct  SparseSetValFunctor
struct  SparseSetValFunctor< KeyT, KeyT, KeyFunctorT >
class  SparseSet
class  Statistic
struct  identity
struct  less_ptr
struct  greater_ptr
class  mapped_iterator
struct  tier
class  StringMapEntryInitializer
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
class  StringSwitch
 A switch()-like statement whose cases are string literals. More...
class  TinyPtrVector
class  Trie
struct  GraphTraits< Trie< Payload > >
struct  DOTGraphTraits< Trie< Payload > >
class  Triple
class  Twine
class  UniqueVector
struct  ValueMapConfig
class  ValueMap
 See the file comment. More...
class  ValueMapCallbackVH
struct  DenseMapInfo< ValueMapCallbackVH< KeyT, ValueT, Config > >
class  ValueMapIterator
class  ValueMapConstIterator
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  BlockFrequencyImpl
class  BlockFrequencyInfo
class  BranchProbabilityInfo
 Analysis pass providing branch probability information. More...
class  CallGraph
class  CallGraphNode
struct  GraphTraits< CallGraphNode * >
struct  GraphTraits< const CallGraphNode * >
struct  GraphTraits< CallGraph * >
struct  GraphTraits< const CallGraph * >
struct  CaptureTracker
struct  DOTGraphTraits< const Function * >
struct  CodeMetrics
 Utility to calculate the size and a few similar metrics for a set of basic blocks. More...
class  constant_iterator
class  DIDescriptor
class  DISubrange
 DISubrange - This is used to represent ranges, for array bounds. More...
class  DIArray
 DIArray - This descriptor holds an array of descriptors. More...
class  DIScope
 DIScope - A base class for various scopes. More...
class  DICompileUnit
 DICompileUnit - A wrapper for a compile unit. More...
class  DIFile
 DIFile - This is a wrapper for a file. More...
class  DIEnumerator
class  DIType
class  DIBasicType
 DIBasicType - A basic type, like 'int' or 'float'. More...
class  DIDerivedType
class  DICompositeType
class  DITemplateTypeParameter
 DITemplateTypeParameter - This is a wrapper for template type parameter. More...
class  DITemplateValueParameter
 DITemplateValueParameter - This is a wrapper for template value parameter. More...
class  DISubprogram
 DISubprogram - This is a wrapper for a subprogram (e.g. a function). More...
class  DIGlobalVariable
 DIGlobalVariable - This is a wrapper for a global variable. More...
class  DIVariable
class  DILexicalBlock
 DILexicalBlock - This is a wrapper for a lexical block. More...
class  DILexicalBlockFile
class  DINameSpace
 DINameSpace - A wrapper for a C++ style name space. More...
class  DILocation
class  DIObjCProperty
class  DebugInfoFinder
class  DIBuilder
class  DominanceFrontierBase
class  DominanceFrontier
class  DominatorBase
class  DomTreeNodeBase
class  DominatorTreeBase
class  DominatorTree
struct  GraphTraits< DomTreeNode * >
struct  GraphTraits< DominatorTree * >
struct  DOTGraphTraitsViewer
struct  DOTGraphTraitsPrinter
class  FindUsedTypes
class  InlineCost
 Represents the cost of inlining a function. More...
class  InlineCostAnalyzer
 InlineCostAnalyzer - Cost analyzer used by inliner. More...
struct  GraphTraits< Interval * >
struct  GraphTraits< Inverse< Interval * > >
class  IntervalIterator
class  IntervalPartition
class  IVStrideUse
struct  ilist_traits< IVStrideUse >
class  IVUsers
class  LazyValueInfo
struct  LibCallAliasAnalysis
 LibCallAliasAnalysis - Alias analysis driven from LibCallInfo. More...
struct  LibCallLocationInfo
struct  LibCallFunctionInfo
class  LibCallInfo
class  LoopDependenceAnalysis
class  LoopBase
class  Loop
class  LoopInfoBase
class  LoopInfo
struct  GraphTraits< const Loop * >
struct  GraphTraits< Loop * >
class  LoopBlocksDFS
class  LoopBlocksTraversal
 Traverse the blocks in a loop using a depth-first search. More...
struct  DFSetTraits< LoopBlocksTraversal >
 Specialize DFSetTraits to record postorder numbers. More...
class  LoopPass
class  LPPassManager
class  MemDepResult
class  NonLocalDepEntry
class  NonLocalDepResult
class  MemoryDependenceAnalysis
class  BallLarusNode
class  BallLarusEdge
class  BallLarusDag
class  ProfilePathEdge
class  ProfilePath
class  PathProfileInfo
class  PHITransAddr
struct  PostDominatorTree
struct  GraphTraits< PostDominatorTree * >
class  ProfileInfoT
class  ProfileInfoLoader
class  FlatIt
 Marker class to iterate over the elements of a Region in flat mode. More...
class  RegionNode
 A RegionNode represents a subregion or a BasicBlock that is part of a Region. More...
class  Region
 A single entry single exit Region. More...
class  RegionInfo
 Analysis that detects all canonical Regions. More...
class  RNSuccIterator
 Hierarchical RegionNode successor iterator. More...
class  RNSuccIterator< FlatIt< NodeType > >
 Flat RegionNode iterator. More...
struct  GraphTraits< RegionInfo * >
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  AbstractLatticeFunction
class  SparseSolver
class  Trace
class  Argument
 LLVM Argument representation. More...
class  AssemblyAnnotationWriter
class  Attributes
 Attributes - A bitset of attributes. More...
struct  AttributeWithIndex
class  AttrListPtr
struct  ilist_traits< Instruction >
class  BasicBlock
 LLVM Basic Block Representation. More...
class  ArchiveMember
 This class represents a single archive member. More...
class  Archive
class  BitCodeAbbrevOp
struct  isPodLike< BitCodeAbbrevOp >
class  BitCodeAbbrev
class  BitstreamReader
class  BitstreamCursor
class  BitstreamWriter
class  CallGraphSCCPass
class  CallGraphSCC
 CallGraphSCC - This is a single SCC that a CallGraphSCCPass is run on. More...
class  AsmPrinter
class  VirtRegAuxInfo
class  CalculateSpillWeights
class  CCValAssign
 CCValAssign - Represent assignment of one arg/retval to a location. More...
class  CCState
class  DFAPacketizer
class  VLIWPacketizerList
class  EdgeBundles
class  FastISel
class  FunctionLoweringInfo
struct  GCPoint
struct  GCRoot
class  GCFunctionInfo
class  GCModuleInfo
class  GCMetadataPrinter
class  GCStrategy
class  IntrinsicLowering
class  JITCodeEmitter
struct  latency_sort
 Sorting functions for the Available queue. More...
class  LatencyPriorityQueue
class  LexicalScopes
class  LexicalScope
class  VNInfo
struct  LiveRange
struct  isPodLike< LiveRange >
class  LiveInterval
class  ConnectedVNInfoEqClasses
class  LiveIntervals
class  LiveRangeEdit
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  MachineBlockFrequencyInfo
class  MachineBranchProbabilityInfo
class  MachineCodeEmitter
class  MachineCodeInfo
class  MachineConstantPoolValue
class  MachineConstantPoolEntry
 An entry in a MachineConstantPool. More...
class  MachineConstantPool
 The machine constant pool. More...
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  MachineOperandIteratorBase
class  MIOperands
class  ConstMIOperands
class  MIBundleOperands
class  ConstMIBundleOperands
struct  MachineJumpTableEntry
class  MachineJumpTableInfo
class  MachineLoop
class  MachineLoopInfo
struct  GraphTraits< const MachineLoop * >
struct  GraphTraits< MachineLoop * >
class  MachineLoopRange
 MachineLoopRange - Range information for a single loop. More...
class  MachineLoopRanges
struct  MachinePointerInfo
class  MachineMemOperand
struct  LandingPadInfo
class  MachineModuleInfoImpl
class  MachineModuleInfo
class  MachineModuleInfoMachO
class  MachineModuleInfoELF
class  MachineOperand
class  MachinePassRegistryListener
class  MachinePassRegistryNode
class  MachinePassRegistry
class  RegisterPassParser
class  MachineRegisterInfo
class  MachineRelocation
struct  MachineSchedContext
class  MachineSchedRegistry
class  MachineSSAUpdater
class  MachORelocation
class  TargetPassConfig
class  ProcessImplicitDefs
class  PseudoSourceValue
class  FixedStackPseudoSourceValue
class  PBQPRAProblem
class  PBQPBuilder
class  PBQPBuilderWithCoalescing
 Extended builder which adds coalescing constraints to a problem. More...
class  RegisterRegAlloc
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
class  LoopDependencies
struct  VReg2SUnit
 An individual mapping from virtual register number to SUnit. More...
class  Reg2SUnitsMap
class  ScheduleDAGInstrs
class  ScheduleHazardRecognizer
class  RegisterScheduler
class  ScoreboardHazardRecognizer
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 >
struct  simplify_type< const SDUse >
class  SDNode
class  UnarySDNode
class  BinarySDNode
class  TernarySDNode
class  HandleSDNode
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  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  DenseMapInfo< SlotIndex >
 DenseMapInfo specialization for SlotIndex. More...
struct  isPodLike< SlotIndex >
struct  Idx2MBBCompare
class  SlotIndexes
struct  IntervalMapInfo< SlotIndex >
class  TargetLoweringObjectFileELF
class  TargetLoweringObjectFileMachO
class  TargetLoweringObjectFileCOFF
class  MVT
struct  EVT
class  Constant
 LLVM Constant Representation. More...
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
class  DILineInfo
 DILineInfo - a format-neutral container for source line information. More...
class  DIContext
class  StandardPass
 StandardPass - The class responsible for maintaining the lists of standard. More...
class  IntegerType
 Integer representation type. More...
class  FunctionType
class  CompositeType
class  StructType
class  SequentialType
class  ArrayType
class  VectorType
class  PointerType
class  ExecutionEngineState
 Helper class for helping synchronize access to the global address map table. 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
class  IntelJITEventsWrapper
struct  JITEvent_EmittedFunctionDetails
class  JITEventListener
class  JITMemoryManager
class  OProfileWrapper
class  RTDyldMemoryManager
class  RuntimeDyld
struct  ilist_traits< BasicBlock >
struct  ilist_traits< Argument >
class  Function
class  GlobalAlias
struct  OperandTraits< GlobalAlias >
class  GlobalValue
class  GlobalVariable
struct  OperandTraits< GlobalVariable >
class  GVMaterializer
class  InlineAsm
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  IntrinsicInst
class  DbgInfoIntrinsic
class  DbgDeclareInst
class  DbgValueInst
class  MemIntrinsic
class  MemSetInst
class  MemTransferInst
class  MemCpyInst
class  MemMoveInst
class  Linker
 The LLVM Linker. More...
class  LLVMContext
struct  EDInstInfo
class  MachineLocation
class  MachineMove
class  MCAsmBackend
 MCAsmBackend - Generic interface to target specific assembler backends. More...
class  MCAsmInfo
class  MCAsmInfoCOFF
class  MCAsmInfoMicrosoft
class  MCAsmInfoGNUCOFF
class  MCAsmInfoDarwin
class  MCAsmLayout
class  MCFragment
class  MCDataFragment
class  MCInstFragment
class  MCAlignFragment
class  MCFillFragment
class  MCOrgFragment
class  MCLEBFragment
class  MCDwarfLineAddrFragment
class  MCDwarfCallFrameFragment
class  MCSectionData
class  MCSymbolData
struct  IndirectSymbolData
class  MCAssembler
class  MCAtom
class  MCCodeEmitter
 MCCodeEmitter - Generic instruction encoding interface. More...
class  MCCodeGenInfo
class  MCContext
class  MCDisassembler
class  MCDwarfFile
class  MCDwarfLoc
class  MCLineEntry
class  MCLineSection
class  MCDwarfFileTable
class  MCDwarfLineAddr
class  MCGenDwarfInfo
class  MCGenDwarfLabelEntry
class  MCCFIInstruction
struct  MCDwarfFrameInfo
class  MCDwarfFrameEmitter
struct  ELFRelocationEntry
class  MCELFObjectTargetWriter
class  MCExpr
class  MCConstantExpr
class  MCSymbolRefExpr
class  MCUnaryExpr
 MCUnaryExpr - Unary assembler expressions. More...
class  MCBinaryExpr
 MCBinaryExpr - Binary assembler expressions. More...
class  MCTargetExpr
class  MCFixup
struct  MCFixupKindInfo
 MCFixupKindInfo - Target independent information on a fixup kind. More...
class  MCOperand
struct  isPodLike< MCOperand >
class  MCInst
class  MCInstPrinter
class  MCInstrAnalysis
class  MCOperandInfo
class  MCInstrDesc
class  MCInstrInfo
struct  InstrStage
struct  InstrItinerary
class  InstrItineraryData
class  MCLabel
class  MCMachObjectTargetWriter
class  MachObjectWriter
class  MCModule
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  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  MCSection
class  MCSectionCOFF
 MCSectionCOFF - This represents a section on Windows. More...
class  MCSectionELF
class  MCSectionMachO
class  MCStreamer
class  MCSubtargetInfo
class  MCSymbol
class  MCTargetAsmLexer
 MCTargetAsmLexer - Generic interface to target specific assembly lexers. More...
class  MCTargetAsmParser
 MCTargetAsmParser - Generic interface to target specific assembly parsers. More...
class  MCValue
class  MCWin64EHInstruction
struct  MCWin64EHUnwindInfo
class  MCWin64EHUnwindEmitter
class  MCWinCOFFObjectTargetWriter
class  SectionKind
struct  SubtargetFeatureKV
struct  SubtargetInfoKV
class  SubtargetFeatures
class  MDString
class  MDNode
 MDNode - a tuple of other values. More...
class  NamedMDNode
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...
struct  is_error_code_enum< object::object_error >
struct  is_error_code_enum< object::object_error::_ >
struct  FixedNumOperandTraits
struct  OptionalOperandTraits
struct  VariadicOperandTraits
struct  HungoffOperandTraits
class  Operator
class  OverflowingBinaryOperator
class  PossiblyExactOperator
class  FPMathOperator
class  ConcreteOperator
class  AddOperator
class  SubOperator
class  MulOperator
class  ShlOperator
class  SDivOperator
class  UDivOperator
class  AShrOperator
class  LShrOperator
class  GEPOperator
class  Pass
class  ModulePass
class  ImmutablePass
class  FunctionPass
class  BasicBlockPass
class  AnalysisUsage
class  AnalysisResolver
class  PassManagerBase
class  PassManager
 PassManager manages ModulePassManagers. More...
class  FunctionPassManager
 FunctionPassManager manages FunctionPasses and BasicBlockPassManagers. More...
class  PassManagerPrettyStackEntry
class  PMStack
class  PMTopLevelManager
class  PMDataManager
class  FPPassManager
class  PassRegistry
class  PassInfo
struct  RegisterPass
class  RegisterAGBase
struct  RegisterAnalysisGroup
struct  PassRegistrationListener
struct  AlignmentCalcImpl
struct  AlignOf
struct  ReferenceAdder
struct  ReferenceAdder< T & >
class  MallocAllocator
class  MemSlab
class  SlabAllocator
class  MallocSlabAllocator
class  BumpPtrAllocator
class  SpecificBumpPtrAllocator
class  BlockFrequency
class  BranchProbability
class  CallSiteBase
class  CallSite
class  ImmutableCallSite
 ImmutableCallSite - establish a view to a call site for examination. More...
struct  simplify_type
struct  simplify_type< const From >
struct  isa_impl
struct  isa_impl_cl
struct  isa_impl_cl< To, const From >
struct  isa_impl_cl< To, From * >
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 >
class  PredIterator
class  SuccIterator
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  circular_raw_ostream
class  ConstantFolder
 ConstantFolder - Create constants with minimum, target independent, folding. More...
class  ConstantRange
struct  CRSConstantTypes
struct  CRSConstantTypes< true >
class  ConstantRangesSet
class  CrashRecoveryContext
 Crash recovery helper object. More...
class  CrashRecoveryContextCleanup
class  CrashRecoveryContextCleanupBase
class  CrashRecoveryContextDestructorCleanup
class  CrashRecoveryContextDeleteCleanup
class  CrashRecoveryContextReleaseRefCleanup
class  CrashRecoveryContextCleanupRegistrar
class  CRSBuilderBase
class  CRSBuilderT
class  DataExtractor
struct  GraphTraits< const Value * >
struct  GraphTraits< Value * >
struct  GraphTraits< Inverse< const User * > >
struct  GraphTraits< Inverse< User * > >
class  DataStreamer
class  DebugLoc
struct  DenseMapInfo< DebugLoc >
struct  DefaultDOTGraphTraits
struct  DOTGraphTraits
struct  ScopedFatalErrorHandler
class  FileRemover
class  format_object_base
class  format_object1
class  format_object2
class  format_object3
class  format_object4
class  format_object5
class  formatted_raw_ostream
class  GCOVBuffer
class  GCOVFile
class  GCOVFunction
 GCOVFunction - Collects function information. More...
class  GCOVBlock
 GCOVBlock - Collects block information. More...
class  GCOVLines
 GCOVLines - A wrapper around a vector of int to keep track of line nos. More...
class  FileInfo
class  generic_gep_type_iterator
class  GraphWriter
struct  IncludeFile
 Class to ensure linking of corresponding object file. More...
class  InstIterator
class  IRBuilderDefaultInserter
class  IRBuilderBase
 IRBuilderBase - Common base class shared among various IRBuilders. More...
class  IRBuilder
struct  LeakDetector
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  MDBuilder
class  MemoryBuffer
class  MemoryObject
class  MutexGuard
 Guard a section of code with a Mutex. More...
class  NoFolder
 NoFolder - Create "constants" (actually, instructions) with no folding. More...
class  OutputBuffer
class  PassNameParser
class  FilteredPassNameParser
class  PassArgFilter
struct  PluginLoader
class  PointerLikeTypeTraits
class  PointerLikeTypeTraits< T * >
class  PointerLikeTypeTraits< const T * >
class  PointerLikeTypeTraits< uintptr_t >
class  PredIteratorCache
class  PrettyStackTraceEntry
class  PrettyStackTraceString
class  PrettyStackTraceProgram
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
struct  SaveOr
class  SMLoc
 SMLoc - Represents a location in source code. More...
class  SMRange
class  SourceMgr
class  SMDiagnostic
class  StreamableMemoryObject
class  StreamingMemoryObject
class  StringPool
class  PooledStringPtr
struct  is_error_code_enum
struct  is_error_condition_enum
struct  errc
struct  is_error_condition_enum< errc >
struct  is_error_condition_enum< errc::_ >
class  error_category
class  _do_message
class  error_condition
class  error_code
struct  windows_error
struct  is_error_code_enum< windows_error >
struct  is_error_code_enum< windows_error::_ >
class  TargetFolder
 TargetFolder - Create constants with target dependent folding. 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  RegisterMCAsmLexer
struct  RegisterMCAsmParser
struct  RegisterAsmPrinter
struct  RegisterMCCodeEmitter
class  TimeRecord
class  Timer
class  TimeRegion
struct  NamedRegionTimer
class  TimerGroup
class  tool_output_file
struct  is_class
struct  isPodLike
struct  isPodLike< std::pair< T, U > >
struct  integral_constant
struct  is_same
 Metafunction that determines whether the two given types are equivalent. More...
struct  is_same< T, T >
struct  remove_const
 Metafunction that removes const qualification from a type. More...
struct  remove_const< const T >
struct  remove_volatile
 Metafunction that removes volatile qualification from a type. More...
struct  remove_volatile< volatile T >
struct  remove_cv
 Metafunction that removes both const and volatile qualification from a type. More...
struct  is_integral_impl
 Helper to implement is_integral metafunction. More...
struct  is_integral_impl< bool >
struct  is_integral_impl< char >
struct  is_integral_impl< signed char >
struct  is_integral_impl< unsigned char >
struct  is_integral_impl< wchar_t >
struct  is_integral_impl< short >
struct  is_integral_impl< unsigned short >
struct  is_integral_impl< int >
struct  is_integral_impl< unsigned int >
struct  is_integral_impl< long >
struct  is_integral_impl< unsigned long >
struct  is_integral_impl< long long >
struct  is_integral_impl< unsigned long long >
struct  is_integral
 Metafunction that determines whether the given type is an integral type. More...
struct  remove_reference
 Metafunction to remove reference from a type. More...
struct  remove_reference< T & >
struct  is_pointer
 Metafunction that determines whether the given type is a pointer type. More...
struct  is_pointer< T * >
struct  is_pointer< T *const >
struct  is_pointer< T *volatile >
struct  is_pointer< T *const volatile >
class  is_integral_or_enum
 Metafunction that determines whether the given type is either an integral type or an enumeration type. More...
struct  enable_if_c
struct  enable_if_c< false, T >
struct  enable_if
struct  is_base_of
struct  remove_pointer
struct  remove_pointer< T * >
struct  remove_pointer< T *const >
struct  remove_pointer< T *volatile >
struct  remove_pointer< T *const volatile >
struct  conditional
struct  conditional< false, T, F >
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  PointerLikeTypeTraits< ValueHandleBase ** >
class  ValueHandleBase
class  WeakVH
struct  simplify_type< const WeakVH >
struct  simplify_type< WeakVH >
class  AssertingVH
struct  simplify_type< const AssertingVH< Value > >
struct  simplify_type< AssertingVH< Value > >
struct  DenseMapInfo< AssertingVH< T > >
struct  isPodLike< AssertingVH< T > >
class  TrackingVH
struct  simplify_type< const TrackingVH< Value > >
struct  simplify_type< TrackingVH< Value > >
class  CallbackVH
struct  simplify_type< const CallbackVH >
struct  simplify_type< CallbackVH >
class  SymbolTableListTraits
class  TGError
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  LessRecordFieldName
class  StringMatcher
class  TableGenAction
struct  TableGenBackend
class  Mangler
struct  TargetAlignElem
class  TargetData
class  StructLayout
class  TargetELFWriterInfo
class  TargetFrameLowering
class  TargetInstrInfo
class  TargetInstrInfoImpl
class  TargetIntrinsicInfo
class  TargetJITInfo
class  TargetLibraryInfo
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  TargetSelectionDAGInfo
class  TargetSubtargetInfo
struct  Inliner
class  PassManagerBuilder
struct  RegisterStandardPasses
struct  ExtAddrMode
class  AddressingModeMatcher
class  SimplifyFortifiedLibCalls
struct  ClonedCodeInfo
class  InlineFunctionInfo
class  CodeExtractor
 Utility class for extracting code into a new function. More...
class  IVVisitor
class  SSAUpdater
class  LoadAndStorePromoter
class  SSAUpdaterImpl
struct  UnifyFunctionExitNodes
class  ValueMapTypeRemapper
struct  VectorizeConfig
 Vectorize configuration. More...
class  Type
struct  isa_impl< PointerType, Type >
struct  GraphTraits< Type * >
struct  GraphTraits< const Type * >
class  PointerLikeTypeTraits< Use ** >
class  Use
struct  simplify_type< Use >
struct  simplify_type< const Use >
class  value_use_iterator
class  User
struct  simplify_type< User::op_iterator >
struct  simplify_type< const User::op_iterator >
struct  simplify_type< User::const_op_iterator >
struct  simplify_type< const 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< MDNode, Value >
class  PointerLikeTypeTraits< Value * >
class  ValueSymbolTable
struct  DOTGraphTraits< DomTreeNode * >
struct  DOTGraphTraits< DominatorTree * >
struct  DOTGraphTraits< PostDominatorTree * >
struct  DOTGraphTraits< RegionNode * >
struct  DOTGraphTraits< RegionInfo * >
class  ArchiveMemberHeader
 Archive File Member Header. More...
class  LLLexer
struct  ValID
class  LLParser
struct  OperandTraits< ConstantPlaceHolder >
class  BitcodeReaderValueList
class  BitcodeReaderMDValueList
class  BitcodeReader
class  ValueEnumerator
class  AggressiveAntiDepState
class  AggressiveAntiDepBreaker
 Class AggressiveAntiDepBreaker. More...
class  AllocationOrder
class  AntiDepBreaker
class  DIEAbbrevData
class  DIEAbbrev
class  DIE
class  DIEValue
class  DIEInteger
class  DIELabel
 DIELabel - A label expression DIE. More...
class  DIEDelta
class  DIEEntry
class  DIEBlock
 DIEBlock - A block of values. Primarily used for location expressions. More...
class  DwarfAccelTable
class  CompileUnit
class  SrcLineInfo
struct  DotDebugLocEntry
class  DbgVariable
class  DwarfDebug
class  DwarfException
class  DwarfCFIException
class  ARMException
class  Win64Exception
class  BranchFolder
class  CriticalAntiDepBreaker
class  DefaultVLIWScheduler
class  InterferenceCache
class  LiveDebugVariables
class  LiveIntervalUnion
class  LiveRangeCalc
struct  DOTGraphTraits< const MachineFunction * >
class  MMIAddrLabelMapCallbackPtr
class  MMIAddrLabelMap
class  SSAUpdaterTraits< MachineSSAUpdater >
class  PassConfigImpl
class  PEI
class  RegAllocBase
class  RegisterClassInfo
class  CoalescerPair
struct  RegisterPressure
 Base class for register pressure results. More...
struct  IntervalPressure
struct  RegionPressure
struct  RegPressureDelta
class  RegPressureTracker
class  MFRenderingOptions
 Helper class to process rendering options. Tries to be as lazy as possible. More...
class  TargetRegisterExtraInfo
 Provide extra information about the physical and virtual registers in the function being compiled. More...
class  RenderMachineFunction
 Render MachineFunction objects and related information to a HTML page. More...
struct  DOTGraphTraits< ScheduleDAG * >
class  InstrEmitter
class  DAGTypeLegalizer
class  ScheduleDAGSDNodes
class  SDDbgValue
class  SDNodeOrdering
class  SelectionDAGBuilder
struct  DOTGraphTraits< SelectionDAG * >
class  Spiller
class  SpillPlacement
class  SplitAnalysis
class  SplitEditor
class  VirtRegMap
class  DWARFAbbreviationDeclaration
class  DWARFAttribute
class  DWARFCompileUnit
class  DWARFContext
class  DWARFContextInMemory
class  DWARFAbbreviationDeclarationSet
class  DWARFDebugAbbrev
class  DWARFDebugAranges
class  DWARFDebugArangeSet
class  DWARFDebugInfoEntryMinimal
 DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data. More...
class  DWARFDebugLine
class  DWARFFormValue
class  AllocaHolder
class  AllocaHolderHandle
struct  ExecutionContext
class  Interpreter
class  JITState
class  JIT
class  JITDwarfEmitter
class  MCJIT
class  MCJITMemoryManager
class  JITRegistrar
 Global access point for the JIT debugging interface. More...
class  ObjectImage
class  RuntimeDyldELF
class  SectionEntry
class  RelocationEntry
class  ObjRelocationInfo
class  RelocationValueRef
class  RuntimeDyldImpl
class  RuntimeDyldMachO
class  LLVMDisasmContext
struct  EDDisassembler
struct  CachedResult
struct  EDInst
struct  EDOperand
struct  EDToken
struct  DenseMapInfo< CIEKey >
class  MCELF
struct  fltSemantics
class  _generic_error_category
class  _system_error_category
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  ARMAsmPrinter
class  ARMBaseInstrInfo
class  ARMBaseRegisterInfo
class  ARMConstantPoolValue
class  ARMConstantPoolConstant
class  ARMConstantPoolSymbol
class  ARMConstantPoolMBB
class  ARMELFWriterInfo
class  ARMFrameLowering
class  ARMHazardRecognizer
class  ARMInstrInfo
class  ARMTargetLowering
class  ARMJITInfo
class  ARMFunctionInfo
struct  ARMRegisterInfo
class  ARMSelectionDAGInfo
class  ARMSubtarget
class  ARMBaseTargetMachine
class  ARMTargetMachine
class  ThumbTargetMachine
class  ARMElfTargetObjectFile
class  ARMInstPrinter
class  ARMMCAsmInfoDarwin
class  ARMELFMCAsmInfo
class  ARMMCExpr
class  Thumb1FrameLowering
class  Thumb1InstrInfo
struct  Thumb1RegisterInfo
class  Thumb2InstrInfo
struct  Thumb2RegisterInfo
class  SPULinuxMCAsmInfo
class  SPUFrameLowering
class  SPUHazardRecognizer
 SPUHazardRecognizer. More...
class  SPUInstrInfo
 Cell SPU instruction information class. More...
class  SPUTargetLowering
class  SPUFunctionInfo
class  SPURegisterInfo
class  SPUSelectionDAGInfo
class  SPUSubtarget
class  SPUTargetMachine
struct  CPPTargetMachine
class  HexagonAsmPrinter
class  Hexagon_CCState
class  HexagonFrameLowering
class  HexagonInstrInfo
class  HexagonTargetLowering
class  HexagonMachineFunctionInfo
 Hexagon target-specific information for each MachineFunction. More...
class  HexagonMCInst
struct  HexagonRegisterInfo
class  HexagonSelectionDAGInfo
class  HexagonSubtarget
class  HexagonTargetMachine
class  HexagonTargetObjectFile
class  HexagonInstPrinter
class  HexagonMCAsmInfo
class  MBlazeDisassembler
 MBlazeDisassembler - Disassembler for all MBlaze platforms. More...
class  MBlazeInstPrinter
class  MBlazeELFWriterInfo
class  MBlazeFrameLowering
class  MBlazeInstrInfo
class  MBlazeIntrinsicInfo
class  MBlazeTargetLowering
class  MBlazeFunctionInfo
class  MBlazeMCInstLower
struct  MBlazeRegisterInfo
class  MBlazeSelectionDAGInfo
class  MBlazeSubtarget
class  MBlazeTargetMachine
class  MBlazeTargetObjectFile
class  MBlazeMCAsmInfo
class  MipsInstPrinter
class  MipsMCAsmInfo
class  MipsAnalyzeImmediate
class  MipsAsmPrinter
class  MipsFrameLowering
class  MipsInstrInfo
class  MipsTargetLowering
class  MipsJITInfo
class  MipsFunctionInfo
class  MipsMCInstLower
 MipsMCInstLower - This class is used to lower an MachineInstr into an. More...
struct  MipsRegisterInfo
class  MipsSelectionDAGInfo
class  MipsSubtarget
class  MipsTargetMachine
class  MipsebTargetMachine
class  MipselTargetMachine
class  Mips64ebTargetMachine
class  Mips64elTargetMachine
class  MipsTargetObjectFile
class  MSP430InstPrinter
class  MSP430MCAsmInfo
class  MSP430FrameLowering
class  MSP430InstrInfo
class  MSP430TargetLowering
class  MSP430MachineFunctionInfo
class  MSP430MCInstLower
struct  MSP430RegisterInfo
class  MSP430SelectionDAGInfo
class  MSP430Subtarget
class  MSP430TargetMachine
class  ManagedStringPool
class  NVPTXMCAsmInfo
class  NVPTXAllocaHoisting
class  LineReader
class  NVPTXAsmPrinter
class  NVPTXFrameLowering
class  NVPTXInstrInfo
class  NVPTXTargetLowering
struct  NVPTXLowerAggrCopies
class  NVPTXRegisterInfo
class  NVPTXSection
struct  NVPTXSplitBBatBar
class  NVPTXSubtarget
class  NVPTXPassConfig
class  NVPTXTargetMachine
class  NVPTXTargetMachine32
class  NVPTXTargetMachine64
class  NVPTXTargetObjectFile
class  PPCInstPrinter
class  PPCMCAsmInfoDarwin
class  PPCLinuxMCAsmInfo
class  PPCFrameLowering
class  PPCScoreboardHazardRecognizer
class  PPCHazardRecognizer970
class  PPCInstrInfo
class  PPCTargetLowering
class  PPCJITInfo
class  PPCFunctionInfo
class  PPCRegisterInfo
class  PPCSelectionDAGInfo
class  PPCSubtarget
class  PPCTargetMachine
class  PPC32TargetMachine
class  PPC64TargetMachine
class  PTXInstPrinter
class  PTXMCAsmInfo
class  PTXAsmPrinter
class  PTXFrameLowering
class  PTXInstrInfo
class  PTXTargetLowering
class  PTXMachineFunctionInfo
class  PTXParamManager
struct  PTXRegisterInfo
class  PTXSelectionDAGInfo
class  PTXSubtarget
class  PTXPassConfig
 PTX Code Generator Pass Configuration Options. More...
class  PTXTargetMachine
class  PTX32TargetMachine
class  PTX64TargetMachine
class  SparcELFMCAsmInfo
class  SparcFrameLowering
class  SparcInstrInfo
class  SparcTargetLowering
class  SparcMachineFunctionInfo
struct  SparcRegisterInfo
class  SparcSelectionDAGInfo
class  SparcSubtarget
class  SparcTargetMachine
class  SparcV8TargetMachine
class  SparcV9TargetMachine
class  X86ATTInstPrinter
class  X86IntelInstPrinter
class  X86MCAsmInfoDarwin
struct  X86_64MCAsmInfoDarwin
class  X86ELFMCAsmInfo
class  X86MCAsmInfoMicrosoft
class  X86MCAsmInfoGNUCOFF
class  X86AsmPrinter
class  X86COFFMachineModuleInfo
class  X86ELFWriterInfo
class  X86FrameLowering
struct  X86AddressMode
class  X86InstrInfo
class  X86TargetLowering
class  X86JITInfo
class  X86MachineFunctionInfo
class  X86MCInstLower
 X86MCInstLower - This class is used to lower an MachineInstr into an MCInst. More...
class  X86RegisterInfo
class  X86SelectionDAGInfo
class  X86Subtarget
class  X86TargetMachine
class  X86_32TargetMachine
class  X86_64TargetMachine
class  X8664_MachoTargetObjectFile
class  XCoreMCAsmInfo
class  XCoreFrameLowering
class  XCoreInstrInfo
class  XCoreTargetLowering
class  XCoreFunctionInfo
struct  XCoreRegisterInfo
class  XCoreSelectionDAGInfo
class  XCoreSubtarget
class  XCoreTargetMachine
class  XCoreTargetObjectFile
class  InstCombineIRInserter
class  InstCombiner
 InstCombiner - The -instcombine pass. More...
struct  DenseMapInfo< LoweredPHIRecord >
struct  isPodLike< LoweredPHIRecord >
class  InstCombineWorklist
class  FunctionBlackList
class  MaximumSpanningTree
class  PathProfilingFunctionTable
class  TypeBuilder< PathProfilingFunctionTable, xcompile >
struct  GraphTraits< ArgumentGraphNode * >
struct  GraphTraits< ArgumentGraph * >
struct  DenseMapInfo< ComparableFunction >
struct  isPodLike< SimpleValue >
struct  DenseMapInfo< SimpleValue >
struct  isPodLike< CallValue >
struct  DenseMapInfo< CallValue >
struct  DenseMapInfo< Expression >
struct  DenseMapInfo< std::pair< BasicBlock *, unsigned > >
class  SSAUpdaterTraits< SSAUpdater >
class  AttributeListImpl
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  ExprMapKeyType
struct  InlineAsmKeyType
struct  ConstantTraits< std::vector< T, Alloc > >
struct  ConstantTraits< Constant * >
struct  ConstantCreator
struct  ConstantArrayCreator
struct  ConstantKeyData
struct  ConstantCreator< ConstantExpr, Type, ExprMapKeyType >
struct  ConstantKeyData< ConstantExpr >
struct  ConstantCreator< InlineAsm, PointerType, InlineAsmKeyType >
struct  ConstantKeyData< InlineAsm >
class  ConstantUniqueMap
class  ConstantAggrUniqueMap
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  FunctionPassManagerImpl
 FunctionPassManagerImpl manages FPPassManagers. More...
class  MPPassManager
class  PassManagerImpl
 PassManagerImpl manages MPPassManagers. More...

Typedefs

typedef signed short exponent_t
typedef uint64_t integerPart
typedef FoldingSetImpl::Node FoldingSetNode
typedef DomTreeNodeBase
< BasicBlock
DomTreeNode
typedef IntervalIterator
< BasicBlock, Function
function_interval_iterator
typedef IntervalIterator
< Interval, IntervalPartition
interval_part_interval_iterator
typedef std::vector
< BallLarusNode * > 
BLNodeVector
typedef std::vector
< BallLarusNode * >::iterator 
BLNodeIterator
typedef std::vector
< BallLarusEdge * > 
BLEdgeVector
typedef std::vector
< BallLarusEdge * >::iterator 
BLEdgeIterator
typedef std::map< BasicBlock
*, BallLarusNode * > 
BLBlockNodeMap
typedef std::stack
< BallLarusNode * > 
BLNodeStack
typedef std::vector
< ProfilePathEdge
ProfilePathEdgeVector
typedef std::vector
< ProfilePathEdge >::iterator 
ProfilePathEdgeIterator
typedef std::vector< BasicBlock * > ProfilePathBlockVector
typedef std::vector
< BasicBlock * >::iterator 
ProfilePathBlockIterator
typedef std::map< unsigned int,
ProfilePath * > 
ProfilePathMap
typedef std::map< unsigned int,
ProfilePath * >::iterator 
ProfilePathIterator
typedef std::map< Function
*, unsigned int > 
FunctionPathCountMap
typedef std::map< Function
*, ProfilePathMap
FunctionPathMap
typedef std::map< Function
*, ProfilePathMap >::iterator 
FunctionPathIterator
typedef ProfileInfoT< Function,
BasicBlock
ProfileInfo
typedef ProfileInfoT
< MachineFunction,
MachineBasicBlock
MachineProfileInfo
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 DomTreeNodeBase
< MachineBasicBlock
MachineDomTreeNode
typedef void *(* MachinePassCtor )()
typedef SparseSet< VReg2SUnit,
VirtReg2IndexFunctor
VReg2SUnitMap
typedef LoadSDNode LargestSDNode
typedef GlobalAddressSDNode MostAlignedSDNode
typedef std::pair< SlotIndex,
MachineBasicBlock * > 
IdxMBBPair
typedef void * PointerTy
typedef uint8_t MCData
 MCData - An entry in a data MCAtom.
typedef DenseMap< const
MCSectionData *, uint64_t > 
SectionAddrMap
typedef const void * AnalysisID
typedef PredIterator
< BasicBlock,
Value::use_iterator
pred_iterator
typedef PredIterator< const
BasicBlock,
Value::const_use_iterator
const_pred_iterator
typedef SuccIterator
< TerminatorInst *, BasicBlock
succ_iterator
typedef SuccIterator< const
TerminatorInst *, const
BasicBlock
succ_const_iterator
typedef CRSBuilderT< BasicBlockCRSBuilder
typedef CRSBuilderBase
< BasicBlock, true
CRSBuilderConst
typedef void(* fatal_error_handler_t )(void *user_data, const std::string &reason)
 An error handler callback.
typedef SmallVector< uint32_t, 16 > LineCounts
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 integral_constant
< bool, true
true_type
typedef integral_constant
< bool, false
false_type
typedef ValueMap< const Value
*, WeakVH
ValueToValueMapTy
typedef StringMapEntry< Value * > ValueName
typedef struct
llvm::DotDebugLocEntry 
DotDebugLocEntry
typedef SparseBitVector< 128 > LiveVirtRegBitSet
typedef std::vector
< DWARFAbbreviationDeclaration
DWARFAbbreviationDeclarationColl
typedef
DWARFAbbreviationDeclarationColl::iterator 
DWARFAbbreviationDeclarationCollIter
typedef
DWARFAbbreviationDeclarationColl::const_iterator 
DWARFAbbreviationDeclarationCollConstIter
typedef std::vector< GenericValueValuePlaneTy
typedef int(* EDByteReaderCallback )(uint8_t *byte, uint64_t address, void *arg)
typedef int(* EDRegisterReaderCallback )(uint64_t *value, unsigned regID, void *arg)
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 TypeBuilder
< PathProfilingFunctionTable,
true
ftEntryTypeBuilder
typedef llvm::cl::list< const
llvm::PassInfo *, bool,
PassNameParser
PassOptionList

Enumerations

enum  lostFraction { lfExactlyZero, lfLessThanHalf, lfExactlyHalf, lfMoreThanHalf }
enum  SCEVTypes {
  scConstant, scTruncate, scZeroExtend, scSignExtend,
  scAddExpr, scMulExpr, scUDivExpr, scAddRecExpr,
  scUMaxExpr, scSMaxExpr, scUnknown, scCouldNotCompute
}
enum  TransformKind { Normalize, NormalizeAutodetect, Denormalize }
enum  VerifierFailureAction { AbortProcessAction, PrintMessageAction, ReturnStatusAction }
 An enumeration to specify the action to be taken if errors found. More...
enum  ParmContext { Unknown, Prologue, Call }
enum  CombineLevel { BeforeLegalizeTypes, AfterLegalizeTypes, AfterLegalizeVectorOps, AfterLegalizeDAG }
enum  AtomicOrdering {
  NotAtomic = 0, Unordered = 1, Monotonic = 2, Acquire = 4,
  Release = 5, AcquireRelease = 6, SequentiallyConsistent = 7
}
enum  SynchronizationScope { SingleThread = 0, CrossThread = 1 }
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  { ELF_STT_Shift = 0, ELF_STB_Shift = 4, ELF_STV_Shift = 8, ELF_Other_Shift = 10 }
enum  SymbolFlags {
  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_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), ELF_Other_Weakref = (1 << ELF_Other_Shift), ELF_Other_ThumbFunc = (2 << ELF_Other_Shift),
  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  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  SymbolFlags {
  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_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), ELF_Other_Weakref = (1 << ELF_Other_Shift), ELF_Other_ThumbFunc = (2 << ELF_Other_Shift),
  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  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  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  {
  LLVMDebugVersion = (12 << 16), LLVMDebugVersion11 = (11 << 16), LLVMDebugVersion10 = (10 << 16), LLVMDebugVersion9 = (9 << 16),
  LLVMDebugVersion8 = (8 << 16), LLVMDebugVersion7 = (7 << 16), LLVMDebugVersion6 = (6 << 16), LLVMDebugVersion5 = (5 << 16),
  LLVMDebugVersion4 = (4 << 16), LLVMDebugVersionMask = 0xffff0000
}
enum  GCOVFormat {
  InvalidGCOV, GCNO_402, GCNO_404, GCDA_402,
  GCDA_404
}
enum  AlignTypeEnum {
  INTEGER_ALIGN = 'i', VECTOR_ALIGN = 'v', FLOAT_ALIGN = 'f', AGGREGATE_ALIGN = 'a',
  STACK_ALIGN = 's'
}
 Enum used to categorize the alignment types stored by TargetAlignElem. More...
enum  RemapFlags { RF_None = 0, RF_NoModuleLevelChanges = 1, RF_IgnoreMissingEntries = 2 }
 RemapFlags - These are flags that the value mapping APIs allow. More...
enum  NEONModImmType { VMOVModImm, VMVNModImm, OtherModImm }
enum  AddressSpace {
  ADDRESS_SPACE_GENERIC = 0, ADDRESS_SPACE_GLOBAL = 1, ADDRESS_SPACE_CONST_NOT_GEN = 2, 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_ISKERNEL_FUNCTION, PROPERTY_ALIGN, PROPERTY_LAST
}
enum  { SM_SentinelZero = -1 }
enum  SelectPatternFlavor {
  SPF_UNKNOWN = 0, SPF_SMIN, SPF_UMIN, SPF_SMAX,
  SPF_UMAX
}
enum  PassDebugLevel {
  None, Arguments, Structure, Executions,
  Details
}

Functions

bool operator== (uint64_t V1, const APInt &V2)
bool operator!= (uint64_t V1, const APInt &V2)
raw_ostreamoperator<< (raw_ostream &OS, const APInt &I)
raw_ostreamoperator<< (raw_ostream &OS, const APSInt &I)
template<typename KeyT , typename ValueT , typename KeyInfoT >
static size_t capacity_in_bytes (const DenseMap< KeyT, ValueT, KeyInfoT > &X)
template<class T >
df_iterator< T > df_begin (const T &G)
template<class T >
df_iterator< T > df_end (const T &G)
template<class T , 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 >
idf_iterator< T > idf_begin (const T &G)
template<class T >
idf_iterator< T > idf_end (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<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 >
enable_if< is_integral_or_enum
< T >, 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 >)
template<typename T >
void operator- (ilist_iterator< T >, int)
template<typename T >
void operator+ (int, ilist_iterator< T >)
template<typename T >
void operator+ (ilist_iterator< T >, int)
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<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<class T >
void swap (OwningPtr< T > &a, OwningPtr< T > &b)
template<class T >
void swap (OwningArrayPtr< T > &a, OwningArrayPtr< T > &b)
template<class T >
po_iterator< T > po_begin (T G)
template<class T >
po_iterator< T > po_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< T > ipo_begin (T G, bool Reverse=false)
template<class T >
ipo_iterator< T > ipo_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< T > scc_begin (const T &G)
template<class T >
scc_iterator< T > scc_end (const T &G)
template<class T >
scc_iterator< Inverse< T > > scc_begin (const Inverse< T > &G)
template<class T >
scc_iterator< Inverse< T > > scc_end (const Inverse< T > &G)
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 >
static 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<typename ItTy , typename Dist >
ItTy next (ItTy it, Dist n)
template<typename ItTy >
ItTy next (ItTy it)
template<typename ItTy , typename Dist >
ItTy prior (ItTy it, Dist n)
template<typename ItTy >
ItTy prior (ItTy it)
template<typename T1 , typename T2 >
tier< T1, T2 > tie (T1 &f, T2 &s)
template<class T , std::size_t N>
T * array_endof (T(&x)[N])
template<class T , std::size_t N>
size_t array_lengthof (T(&)[N])
 Find the length of an array.
template<typename T >
static int array_pod_sort_comparator (const void *P1, const void *P2)
template<class IteratorTy >
static void array_pod_sort (IteratorTy Start, IteratorTy End)
template<class IteratorTy >
static void array_pod_sort (IteratorTy Start, IteratorTy End, int(*Compare)(const void *, const void *))
template<typename Container >
void DeleteContainerPointers (Container &C)
template<typename Container >
void DeleteContainerSeconds (Container &C)
static char hexdigit (unsigned X, bool LowerCase=false)
template<typename IntTy >
static char * utohex_buffer (IntTy X, char *BufferEnd)
static std::string utohexstr (uint64_t X)
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)
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 isIdentifiedObject (const Value *V)
bool isKnownNonNull (const Value *V)
raw_ostreamoperator<< (raw_ostream &OS, const AliasSet &AS)
raw_ostreamoperator<< (raw_ostream &OS, const AliasSetTracker &AST)
bool PointerMayBeCaptured (const Value *V, bool ReturnCaptures, bool StoreCaptures)
void PointerMayBeCaptured (const Value *V, CaptureTracker *Tracker)
FunctionPasscreateCFGPrinterPass ()
FunctionPasscreateCFGOnlyPrinterPass ()
bool isInstructionFree (const Instruction *I, const TargetData *TD=0)
 Check whether an instruction is likely to be "free" when lowered.
bool callIsSmall (ImmutableCallSite CS)
 Check whether a call will lower to something small.
ConstantConstantFoldInstruction (Instruction *I, const TargetData *TD=0, const TargetLibraryInfo *TLI=0)
ConstantConstantFoldConstantExpression (const ConstantExpr *CE, const TargetData *TD=0, const TargetLibraryInfo *TLI=0)
ConstantConstantFoldInstOperands (unsigned Opcode, Type *DestTy, ArrayRef< Constant * > Ops, const TargetData *TD=0, const TargetLibraryInfo *TLI=0)
ConstantConstantFoldCompareInstOperands (unsigned Predicate, Constant *LHS, Constant *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0)
ConstantConstantFoldInsertValueInstruction (Constant *Agg, Constant *Val, ArrayRef< unsigned > Idxs)
ConstantConstantFoldLoadFromConstPtr (Constant *C, const TargetData *TD=0)
ConstantConstantFoldLoadThroughGEPConstantExpr (Constant *C, ConstantExpr *CE)
ConstantConstantFoldLoadThroughGEPIndices (Constant *C, ArrayRef< Constant * > Indices)
bool canConstantFoldCallTo (const Function *F)
ConstantConstantFoldCall (Function *F, ArrayRef< Constant * > Operands, const TargetLibraryInfo *TLI=0)
constant_iterator constant_begin (const Function *F)
constant_iterator constant_end (const Function *F)
DISubprogram getDISubprogram (const MDNode *Scope)
 getDISubprogram - Find subprogram that is enclosing this scope.
DICompositeType getDICompositeType (DIType T)
 getDICompositeType - Find underlying composite type.
bool isSubprogramContext (const MDNode *Context)
NamedMDNodegetOrInsertFnSpecificMDNode (Module &M, DISubprogram SP)
NamedMDNodegetFnSpecificMDNode (const Module &M, DISubprogram SP)
DIVariable createInlinedVariable (MDNode *DV, MDNode *InlinedScope, LLVMContext &VMContext)
DIVariable cleanseInlinedVariable (MDNode *DV, LLVMContext &VMContext)
 cleanseInlinedVariable - Remove inlined scope from the variable.
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)
 EXTERN_TEMPLATE_INSTANTIATION (class DomTreeNodeBase< BasicBlock >)
 EXTERN_TEMPLATE_INSTANTIATION (class DomTreeNodeBase< MachineBasicBlock >)
template<class NodeT >
static raw_ostreamoperator<< (raw_ostream &o, const DomTreeNodeBase< NodeT > *Node)
template<class NodeT >
static 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)
 EXTERN_TEMPLATE_INSTANTIATION (class DominatorTreeBase< BasicBlock >)
FunctionPasscreateDomPrinterPass ()
FunctionPasscreateDomOnlyPrinterPass ()
FunctionPasscreateDomViewerPass ()
FunctionPasscreateDomOnlyViewerPass ()
FunctionPasscreatePostDomPrinterPass ()
FunctionPasscreatePostDomOnlyPrinterPass ()
FunctionPasscreatePostDomViewerPass ()
FunctionPasscreatePostDomOnlyViewerPass ()
ValueSimplifyAddInst (Value *LHS, Value *RHS, bool isNSW, bool isNUW, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifySubInst (Value *LHS, Value *RHS, bool isNSW, bool isNUW, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyMulInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifySDivInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyUDivInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyFDivInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifySRemInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyURemInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyFRemInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyShlInst (Value *Op0, Value *Op1, bool isNSW, bool isNUW, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyLShrInst (Value *Op0, Value *Op1, bool isExact, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyAShrInst (Value *Op0, Value *Op1, bool isExact, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyAndInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyOrInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyXorInst (Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyICmpInst (unsigned Predicate, Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyFCmpInst (unsigned Predicate, Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifySelectInst (Value *Cond, Value *TrueVal, Value *FalseVal, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyGEPInst (ArrayRef< Value * > Ops, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyInsertValueInst (Value *Agg, Value *Val, ArrayRef< unsigned > Idxs, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyTruncInst (Value *Op, Type *Ty, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyCmpInst (unsigned Predicate, Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyBinOp (unsigned Opcode, Value *LHS, Value *RHS, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
ValueSimplifyInstruction (Instruction *I, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
bool replaceAndRecursivelySimplify (Instruction *I, Value *SimpleV, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
 Replace all uses of 'I' with 'SimpleV' and simplify the uses recursively.
bool recursivelySimplifyInstruction (Instruction *I, const TargetData *TD=0, const TargetLibraryInfo *TLI=0, const DominatorTree *DT=0)
 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 TargetData *TD=0)
ValueFindAvailableLoadedValue (Value *Ptr, BasicBlock *ScanBB, BasicBlock::iterator &ScanFrom, unsigned MaxInstsToScan=6, AliasAnalysis *AA=0, MDNode **TBAATag=0)
LoopPasscreateLoopDependenceAnalysisPass ()
template<typename T >
static void RemoveFromVector (std::vector< T * > &V, T *N)
template<class BlockT , class LoopT >
raw_ostreamoperator<< (raw_ostream &OS, const LoopBase< BlockT, LoopT > &Loop)
bool isMalloc (const Value *I)
const CallInstextractMallocCall (const Value *I)
CallInstextractMallocCall (Value *I)
const CallInstextractMallocCallFromBitCast (const Value *I)
CallInstextractMallocCallFromBitCast (Value *I)
const CallInstisArrayMalloc (const Value *I, const TargetData *TD)
PointerTypegetMallocType (const CallInst *CI)
TypegetMallocAllocatedType (const CallInst *CI)
ValuegetMallocArraySize (CallInst *CI, const TargetData *TD, bool LookThroughSExt=false)
const CallInstextractCallocCall (const Value *I)
CallInstextractCallocCall (Value *I)
const CallInstisFreeCall (const Value *I)
 isFreeCall - Returns non-null if the value is a call to the builtin free()
static CallInstisFreeCall (Value *I)
PasscreateGlobalsModRefPass ()
PasscreateAliasDebugger ()
ModulePasscreateAliasAnalysisCounterPass ()
FunctionPasscreateAAEvalPass ()
ImmutablePasscreateNoAAPass ()
ImmutablePasscreateBasicAliasAnalysisPass ()
FunctionPasscreateLibCallAliasAnalysisPass (LibCallInfo *LCI)
FunctionPasscreateScalarEvolutionAliasAnalysisPass ()
ImmutablePasscreateTypeBasedAliasAnalysisPass ()
ImmutablePasscreateObjCARCAliasAnalysisPass ()
ModulePasscreateProfileLoaderPass ()
ImmutablePasscreateNoProfileInfoPass ()
FunctionPasscreateProfileEstimatorPass ()
FunctionPasscreateProfileVerifierPass ()
ModulePasscreatePathProfileLoaderPass ()
ImmutablePasscreateNoPathProfileInfoPass ()
ModulePasscreatePathProfileVerifierPass ()
ModulePasscreateDSAAPass ()
ModulePasscreateDSOptPass ()
ModulePasscreateSteensgaardPass ()
FunctionPasscreateLazyValueInfoPass ()
FunctionPasscreateInstCountPass ()
FunctionPasscreateDbgInfoPrinterPass ()
FunctionPasscreateRegionInfoPass ()
ModulePasscreateModuleDebugInfoPrinterPass ()
FunctionPasscreateMemDepPrinter ()
FunctionPasscreatePostDomTree ()
raw_ostreamoperator<< (raw_ostream &O, std::pair< const BasicBlock *, const BasicBlock * > E)
raw_ostreamoperator<< (raw_ostream &O, std::pair< const MachineBasicBlock *, const MachineBasicBlock * > E)
raw_ostreamoperator<< (raw_ostream &O, const BasicBlock *BB)
raw_ostreamoperator<< (raw_ostream &O, const MachineBasicBlock *MBB)
raw_ostreamoperator<< (raw_ostream &O, const Function *F)
raw_ostreamoperator<< (raw_ostream &O, const MachineFunction *MF)
PasscreateProfileLoaderPass (const std::string &Filename)
raw_ostreamoperator<< (raw_ostream &OS, const RegionNode &Node)
 Print a RegionNode.
template<class NodeType >
RNSuccIterator< NodeType > succ_begin (NodeType *Node)
template<class NodeType >
RNSuccIterator< NodeType > succ_end (NodeType *Node)
 RegionNodeGraphTraits (RegionNode)
 RegionGraphTraits (Region, RegionNode)
FunctionPasscreateRegionViewerPass ()
FunctionPasscreateRegionOnlyViewerPass ()
FunctionPasscreateRegionPrinterPass ()
FunctionPasscreateRegionOnlyPrinterPass ()
raw_ostreamoperator<< (raw_ostream &OS, const SCEV &S)
const SCEVTransformForPostIncUse (TransformKind Kind, const SCEV *S, Instruction *User, Value *OperandValToReplace, PostIncLoopSet &Loops, ScalarEvolution &SE, DominatorTree &DT)
void ComputeMaskedBits (Value *V, APInt &KnownZero, APInt &KnownOne, const TargetData *TD=0, unsigned Depth=0)
void computeMaskedBitsLoad (const MDNode &Ranges, APInt &KnownZero)
void ComputeSignBit (Value *V, bool &KnownZero, bool &KnownOne, const TargetData *TD=0, unsigned Depth=0)
bool isPowerOfTwo (Value *V, const TargetData *TD=0, bool OrZero=false, unsigned Depth=0)
bool isKnownNonZero (Value *V, const TargetData *TD=0, unsigned Depth=0)
bool MaskedValueIsZero (Value *V, const APInt &Mask, const TargetData *TD=0, unsigned Depth=0)
unsigned ComputeNumSignBits (Value *Op, const TargetData *TD=0, unsigned Depth=0)
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=0)
ValueGetPointerBaseWithConstantOffset (Value *Ptr, int64_t &Offset, const TargetData &TD)
static const ValueGetPointerBaseWithConstantOffset (const Value *Ptr, int64_t &Offset, const TargetData &TD)
bool getConstantStringInfo (const Value *V, StringRef &Str, uint64_t Offset=0, bool TrimAtNul=true)
uint64_t GetStringLength (Value *V)
ValueGetUnderlyingObject (Value *V, const TargetData *TD=0, unsigned MaxLookup=6)
static const ValueGetUnderlyingObject (const Value *V, const TargetData *TD=0, unsigned MaxLookup=6)
void GetUnderlyingObjects (Value *V, SmallVectorImpl< Value * > &Objects, const TargetData *TD=0, unsigned MaxLookup=6)
bool onlyUsedByLifetimeMarkers (const Value *V)
bool isSafeToSpeculativelyExecute (const Value *V, const TargetData *TD=0)
FunctionPasscreateVerifierPass (VerifierFailureAction action=AbortProcessAction)
 Create a verifier pass.
bool verifyModule (const Module &M, VerifierFailureAction action=AbortProcessAction, std::string *ErrorInfo=0)
 Check a module for errors.
bool verifyFunction (const Function &F, VerifierFailureAction action=AbortProcessAction)
ModuleParseAssemblyFile (const std::string &Filename, SMDiagnostic &Error, LLVMContext &Context)
 Parse LLVM Assembly from a file.
ModuleParseAssemblyString (const char *AsmString, Module *M, SMDiagnostic &Error, LLVMContext &Context)
 Parse LLVM Assembly from a string.
ModuleParseAssembly (MemoryBuffer *F, Module *M, SMDiagnostic &Err, LLVMContext &Context)
 Parse LLVM Assembly from a MemoryBuffer. This function *always* takes ownership of the MemoryBuffer.
ModulePasscreatePrintModulePass (raw_ostream *OS, bool DeleteStream=false, const std::string &Banner="")
FunctionPasscreatePrintFunctionPass (const std::string &Banner, raw_ostream *OS, bool DeleteStream=false)
void WriteAsOperand (raw_ostream &, const Value *, bool PrintTy=true, const Module *Context=0)
bool UpgradeIntrinsicFunction (Function *F, Function *&NewFn)
void UpgradeIntrinsicCall (CallInst *CI, Function *NewFn)
void UpgradeCallsToIntrinsic (Function *F)
bool UpgradeGlobalVariable (GlobalVariable *GV)
ModulegetLazyBitcodeModule (MemoryBuffer *Buffer, LLVMContext &Context, std::string *ErrMsg=0)
ModulegetStreamedBitcodeModule (const std::string &name, DataStreamer *streamer, LLVMContext &Context, std::string *ErrMsg=0)
std::string getBitcodeTargetTriple (MemoryBuffer *Buffer, LLVMContext &Context, std::string *ErrMsg=0)
ModuleParseBitcodeFile (MemoryBuffer *Buffer, LLVMContext &Context, std::string *ErrMsg=0)
void WriteBitcodeToFile (const Module *M, raw_ostream &Out)
ModulePasscreateBitcodeWriterPass (raw_ostream &Str)
static bool isBitcodeWrapper (const unsigned char *BufPtr, const unsigned char *BufEnd)
static bool isRawBitcode (const unsigned char *BufPtr, const unsigned char *BufEnd)
static bool isBitcode (const unsigned char *BufPtr, const unsigned char *BufEnd)
static bool SkipBitcodeWrapperHeader (const unsigned char *&BufPtr, const unsigned char *&BufEnd, bool VerifyBufferSize)
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=0, 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, Attributes CalleeRetAttr, const TargetLowering &TLI)
bool isInTailCallPosition (SelectionDAG &DAG, SDNode *Node, SDValue &Chain, const TargetLowering &TLI)
static float normalizeSpillWeight (float UseDefFreq, unsigned Size)
raw_ostreamWriteGraph (raw_ostream &O, const EdgeBundles &G, bool ShortNames=false, const Twine &Title="")
 Specialize WriteGraph, the standard implementation won't work.
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 linkShadowStackGC ()
raw_ostreamoperator<< (raw_ostream &os, const LiveRange &LR)
bool operator< (SlotIndex V, const LiveRange &LR)
bool operator< (const LiveRange &LR, SlotIndex V)
raw_ostreamoperator<< (raw_ostream &OS, const LiveInterval &LI)
raw_ostreamoperator<< (raw_ostream &OS, const MachineBasicBlock &MBB)
void WriteAsOperand (raw_ostream &, const MachineBasicBlock *, bool t)
raw_ostreamoperator<< (raw_ostream &OS, const MachineConstantPoolValue &V)
 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)
unsigned getDefRegState (bool B)
unsigned getImplRegState (bool B)
unsigned getKillRegState (bool B)
unsigned getDeadRegState (bool B)
unsigned getUndefRegState (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)
static MachineInstrgetBundleStart (MachineInstr *MI)
static const MachineInstrgetBundleStart (const MachineInstr *MI)
raw_ostreamoperator<< (raw_ostream &, const MachineLoopRange &)
raw_ostreamoperator<< (raw_ostream &OS, const MachineMemOperand &MRO)
raw_ostreamoperator<< (raw_ostream &OS, const MachineOperand &MO)
FunctionPasscreateUnreachableBlockEliminationPass ()
MachineFunctionPasscreateMachineFunctionPrinterPass (raw_ostream &OS, const std::string &Banner="")
FunctionPasscreateFastRegisterAllocator ()
FunctionPasscreateBasicRegisterAllocator ()
FunctionPasscreateGreedyRegisterAllocator ()
FunctionPasscreateDefaultPBQPRegisterAllocator ()
FunctionPasscreateGCLoweringPass ()
FunctionPasscreateGCInfoDeleter ()
FunctionPasscreateGCInfoPrinter (raw_ostream &OS)
FunctionPasscreateStackProtectorPass (const TargetLowering *tli)
FunctionPasscreateMachineVerifierPass (const char *Banner=0)
FunctionPasscreateDwarfEHPass (const TargetMachine *tm)
FunctionPasscreateSjLjEHPreparePass (const TargetLowering *tli)
FunctionPasscreateExecutionDependencyFixPass (const TargetRegisterClass *RC)
FunctionPasscreatePBQPRegisterAllocator (std::auto_ptr< PBQPBuilder > builder, char *customPassID=0)
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)
void checkForCycles (const SDNode *N)
void checkForCycles (const SelectionDAG *DAG)
raw_ostreamoperator<< (raw_ostream &os, SlotIndex li)
bool operator< (SlotIndex V, const IdxMBBPair &IM)
bool operator< (const IdxMBBPair &IM, SlotIndex V)
GenericValue PTOGV (void *P)
void * GVTOP (const GenericValue &GV)
void initializeCore (PassRegistry &)
void initializeTransformUtils (PassRegistry &)
void initializeScalarOpts (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 initializeADCEPass (PassRegistry &)
void initializeAliasAnalysisAnalysisGroup (PassRegistry &)
void initializeAliasAnalysisCounterPass (PassRegistry &)
void initializeAliasDebuggerPass (PassRegistry &)
void initializeAliasSetPrinterPass (PassRegistry &)
void initializeAlwaysInlinerPass (PassRegistry &)
void initializeArgPromotionPass (PassRegistry &)
void initializeBasicAliasAnalysisPass (PassRegistry &)
void initializeBasicCallGraphPass (PassRegistry &)
void initializeBlockExtractorPassPass (PassRegistry &)
void initializeBlockFrequencyInfoPass (PassRegistry &)
void initializeBlockPlacementPass (PassRegistry &)
void initializeBranchFolderPassPass (PassRegistry &)
void initializeBranchProbabilityInfoPass (PassRegistry &)
void initializeBreakCriticalEdgesPass (PassRegistry &)
void initializeCFGOnlyPrinterPass (PassRegistry &)
void initializeCFGOnlyViewerPass (PassRegistry &)
void initializeCFGPrinterPass (PassRegistry &)
void initializeCFGSimplifyPassPass (PassRegistry &)
void initializeCFGViewerPass (PassRegistry &)
void initializeCalculateSpillWeightsPass (PassRegistry &)
void initializeCallGraphAnalysisGroup (PassRegistry &)
void initializeCodeGenPreparePass (PassRegistry &)
void initializeCodePlacementOptPass (PassRegistry &)
void initializeConstantMergePass (PassRegistry &)
void initializeConstantPropagationPass (PassRegistry &)
void initializeMachineCopyPropagationPass (PassRegistry &)
void initializeCorrelatedValuePropagationPass (PassRegistry &)
void initializeDAEPass (PassRegistry &)
void initializeDAHPass (PassRegistry &)
void initializeDCEPass (PassRegistry &)
void initializeDSEPass (PassRegistry &)
void initializeDeadInstEliminationPass (PassRegistry &)
void initializeDeadMachineInstructionElimPass (PassRegistry &)
void initializeDomOnlyPrinterPass (PassRegistry &)
void initializeDomOnlyViewerPass (PassRegistry &)
void initializeDomPrinterPass (PassRegistry &)
void initializeDomViewerPass (PassRegistry &)
void initializeDominanceFrontierPass (PassRegistry &)
void initializeDominatorTreePass (PassRegistry &)
void initializeEdgeBundlesPass (PassRegistry &)
void initializeEdgeProfilerPass (PassRegistry &)
void initializeExpandPostRAPass (PassRegistry &)
void initializePathProfilerPass (PassRegistry &)
void initializeGCOVProfilerPass (PassRegistry &)
void initializeAddressSanitizerPass (PassRegistry &)
void initializeThreadSanitizerPass (PassRegistry &)
void initializeEarlyCSEPass (PassRegistry &)
void initializeExpandISelPseudosPass (PassRegistry &)
void initializeFindUsedTypesPass (PassRegistry &)
void initializeFunctionAttrsPass (PassRegistry &)
void initializeGCInfoDeleterPass (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 initializeInstCombinerPass (PassRegistry &)
void initializeInstCountPass (PassRegistry &)
void initializeInstNamerPass (PassRegistry &)
void initializeInternalizePassPass (PassRegistry &)
void initializeIntervalPartitionPass (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 initializeLiveStacksPass (PassRegistry &)
void initializeLiveVariablesPass (PassRegistry &)
void initializeLoaderPassPass (PassRegistry &)
void initializePathProfileLoaderPassPass (PassRegistry &)
void initializeLocalStackSlotPassPass (PassRegistry &)
void initializeLoopDeletionPass (PassRegistry &)
void initializeLoopDependenceAnalysisPass (PassRegistry &)
void initializeLoopExtractorPass (PassRegistry &)
void initializeLoopInfoPass (PassRegistry &)
void initializeLoopInstSimplifyPass (PassRegistry &)
void initializeLoopRotatePass (PassRegistry &)
void initializeLoopSimplifyPass (PassRegistry &)
void initializeLoopStrengthReducePass (PassRegistry &)
void initializeGlobalMergePass (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 initializeMachineLICMPass (PassRegistry &)
void initializeMachineLoopInfoPass (PassRegistry &)
void initializeMachineLoopRangesPass (PassRegistry &)
void initializeMachineModuleInfoPass (PassRegistry &)
void initializeMachineSchedulerPass (PassRegistry &)
void initializeMachineSinkingPass (PassRegistry &)
void initializeMachineVerifierPassPass (PassRegistry &)
void initializeMemCpyOptPass (PassRegistry &)
void initializeMemDepPrinterPass (PassRegistry &)
void initializeMemoryDependenceAnalysisPass (PassRegistry &)
void initializeMergeFunctionsPass (PassRegistry &)
void initializeModuleDebugInfoPrinterPass (PassRegistry &)
void initializeNoAAPass (PassRegistry &)
void initializeNoProfileInfoPass (PassRegistry &)
void initializeNoPathProfileInfoPass (PassRegistry &)
void initializeObjCARCAliasAnalysisPass (PassRegistry &)
void initializeObjCARCAPElimPass (PassRegistry &)
void initializeObjCARCExpandPass (PassRegistry &)
void initializeObjCARCContractPass (PassRegistry &)
void initializeObjCARCOptPass (PassRegistry &)
void initializeOptimalEdgeProfilerPass (PassRegistry &)
void initializeOptimizePHIsPass (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 initializePreVerifierPass (PassRegistry &)
void initializePrintDbgInfoPass (PassRegistry &)
void initializePrintFunctionPassPass (PassRegistry &)
void initializePrintModulePassPass (PassRegistry &)
void initializeProcessImplicitDefsPass (PassRegistry &)
void initializeProfileEstimatorPassPass (PassRegistry &)
void initializeProfileInfoAnalysisGroup (PassRegistry &)
void initializePathProfileInfoAnalysisGroup (PassRegistry &)
void initializePathProfileVerifierPass (PassRegistry &)
void initializeProfileVerifierPassPass (PassRegistry &)
void initializePromotePassPass (PassRegistry &)
void initializePruneEHPass (PassRegistry &)
void initializeReassociatePass (PassRegistry &)
void initializeRegToMemPass (PassRegistry &)
void initializeRegionInfoPass (PassRegistry &)
void initializeRegionOnlyPrinterPass (PassRegistry &)
void initializeRegionOnlyViewerPass (PassRegistry &)
void initializeRegionPrinterPass (PassRegistry &)
void initializeRegionViewerPass (PassRegistry &)
void initializeRenderMachineFunctionPass (PassRegistry &)
void initializeSCCPPass (PassRegistry &)
void initializeSROA_DTPass (PassRegistry &)
void initializeSROA_SSAUpPass (PassRegistry &)
void initializeScalarEvolutionAliasAnalysisPass (PassRegistry &)
void initializeScalarEvolutionPass (PassRegistry &)
void initializeSimpleInlinerPass (PassRegistry &)
void initializeRegisterCoalescerPass (PassRegistry &)
void initializeSimplifyLibCallsPass (PassRegistry &)
void initializeSingleLoopExtractorPass (PassRegistry &)
void initializeSinkingPass (PassRegistry &)
void initializeSlotIndexesPass (PassRegistry &)
void initializeSpillPlacementPass (PassRegistry &)
void initializeStackProtectorPass (PassRegistry &)
void initializeStackSlotColoringPass (PassRegistry &)
void initializeStripDeadDebugInfoPass (PassRegistry &)
void initializeStripDeadPrototypesPassPass (PassRegistry &)
void initializeStripDebugDeclarePass (PassRegistry &)
void initializeStripNonDebugSymbolsPass (PassRegistry &)
void initializeStripSymbolsPass (PassRegistry &)
void initializeStrongPHIEliminationPass (PassRegistry &)
void initializeTailCallElimPass (PassRegistry &)
void initializeTailDuplicatePassPass (PassRegistry &)
void initializeTargetPassConfigPass (PassRegistry &)
void initializeTargetDataPass (PassRegistry &)
void initializeTargetLibraryInfoPass (PassRegistry &)
void initializeTwoAddressInstructionPassPass (PassRegistry &)
void initializeTypeBasedAliasAnalysisPass (PassRegistry &)
void initializeUnifyFunctionExitNodesPass (PassRegistry &)
void initializeUnreachableBlockElimPass (PassRegistry &)
void initializeUnreachableMachineBlockElimPass (PassRegistry &)
void initializeVerifierPass (PassRegistry &)
void initializeVirtRegMapPass (PassRegistry &)
void initializeInstSimplifierPass (PassRegistry &)
void initializeUnpackMachineBundlesPass (PassRegistry &)
void initializeFinalizeMachineBundlesPass (PassRegistry &)
void initializeBBVectorizePass (PassRegistry &)
static TypecheckGEPType (Type *Ty)
LLVMContextgetGlobalContext ()
raw_ostreamoperator<< (raw_ostream &OS, const MCDwarfFile &DwarfFile)
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)
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 useLoc, bool useCFI, bool useDwarfDirectory, MCInstPrinter *InstPrint=0, MCCodeEmitter *CE=0, MCAsmBackend *TAB=0, bool ShowInst=false)
MCStreamercreateMachOStreamer (MCContext &Ctx, MCAsmBackend &TAB, raw_ostream &OS, MCCodeEmitter *CE, bool RelaxAll=false)
MCStreamercreateWinCOFFStreamer (MCContext &Ctx, MCAsmBackend &TAB, MCCodeEmitter &CE, raw_ostream &OS, bool RelaxAll=false)
MCStreamercreateELFStreamer (MCContext &Ctx, MCAsmBackend &TAB, raw_ostream &OS, MCCodeEmitter *CE, bool RelaxAll, bool NoExecStack)
MCStreamercreatePureStreamer (MCContext &Ctx, MCAsmBackend &TAB, raw_ostream &OS, MCCodeEmitter *CE)
raw_ostreamoperator<< (raw_ostream &OS, const MCSymbol &Sym)
MCObjectWritercreateWinCOFFObjectWriter (MCWinCOFFObjectTargetWriter *MOTW, raw_ostream &OS)
 Construct a new Win COFF writer instance.
raw_ostreamoperator<< (raw_ostream &O, const Module &M)
 An raw_ostream inserter for modules.
TimergetPassTimer (Pass *)
 If TimingInfo is enabled then start pass timer.
template<typename PassName >
PasscallDefaultCtor ()
template<typename T >
static unsigned alignOf ()
raw_ostreamoperator<< (raw_ostream &OS, const BlockFrequency &Freq)
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 >
bool isa (const Y &Val)
template<class X , class Y >
cast_retty< X, Y >::ret_type cast (const Y &Val)
template<class X , class Y >
cast_retty< X, Y * >::ret_type cast_or_null (Y *Val)
template<class X , class Y >
cast_retty< X, Y >::ret_type dyn_cast (const Y &Val)
template<class X , class Y >
cast_retty< X, Y * >::ret_type dyn_cast_or_null (Y *Val)
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 ConstantRange &CR)
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.
void install_fatal_error_handler (fatal_error_handler_t handler, void *user_data=0)
void remove_fatal_error_handler ()
LLVM_ATTRIBUTE_NORETURN void report_fatal_error (const char *reason)
LLVM_ATTRIBUTE_NORETURN void report_fatal_error (const std::string &reason)
LLVM_ATTRIBUTE_NORETURN void report_fatal_error (StringRef reason)
LLVM_ATTRIBUTE_NORETURN void report_fatal_error (const Twine &reason)
LLVM_ATTRIBUTE_NORETURN void llvm_unreachable_internal (const char *msg=0, const char *file=0, unsigned line=0)
int DiffFilesWithTolerance (const sys::PathWithStatus &FileA, const sys::PathWithStatus &FileB, double AbsTol, double RelTol, std::string *Error=0)
template<typename T >
format_object1< T > format (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)
formatted_raw_ostreamfouts ()
formatted_raw_ostreamferrs ()
formatted_raw_ostreamfdbgs ()
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 *Op0, ArrayRef< T > A)
void DisplayGraph (const sys::Path &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="")
template<typename GraphType >
sys::Path 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)
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)
 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_OTHER_INST(45
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst 
HANDLE_OTHER_INST (46, FCmp, FCmpInst) HANDLE_OTHER_INST(47
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode 
HANDLE_OTHER_INST (48, Call, CallInst) HANDLE_OTHER_INST(49
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst 
HANDLE_OTHER_INST (50, UserOp1, Instruction) HANDLE_OTHER_INST(51
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst Instruction 
HANDLE_OTHER_INST (52, VAArg, VAArgInst) HANDLE_OTHER_INST(53
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst Instruction
ExtractElementInst 
HANDLE_OTHER_INST (54, InsertElement, InsertElementInst) HANDLE_OTHER_INST(55
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst Instruction
ExtractElementInst
ShuffleVectorInst 
HANDLE_OTHER_INST (56, ExtractValue, ExtractValueInst) HANDLE_OTHER_INST(57
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst Instruction
ExtractElementInst
ShuffleVectorInst
InsertValueInst 
HANDLE_OTHER_INST (58, LandingPad, LandingPadInst) template< typename SubClass
 Base class for instruction visitors.
ModulegetLazyIRModule (MemoryBuffer *Buffer, SMDiagnostic &Err, LLVMContext &Context)
ModulegetLazyIRFileModule (const std::string &Filename, SMDiagnostic &Err, LLVMContext &Context)
ModuleParseIR (MemoryBuffer *Buffer, SMDiagnostic &Err, LLVMContext &Context)
ModuleParseIRFile (const std::string &Filename, SMDiagnostic &Err, LLVMContext &Context)
template<class C >
void * object_creator ()
 object_creator - Helper method for ManagedStatic.
void llvm_shutdown ()
 llvm_shutdown - Deallocate and destroy all ManagedStatic variables.
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.
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 CountLeadingZeros_32 (uint32_t Value)
unsigned CountLeadingOnes_32 (uint32_t Value)
unsigned CountLeadingZeros_64 (uint64_t Value)
unsigned CountLeadingOnes_64 (uint64_t Value)
unsigned CountTrailingZeros_32 (uint32_t Value)
unsigned CountTrailingOnes_32 (uint32_t Value)
unsigned CountTrailingZeros_64 (uint64_t Value)
unsigned CountTrailingOnes_64 (uint64_t Value)
unsigned CountPopulation_32 (uint32_t Value)
unsigned CountPopulation_64 (uint64_t Value)
unsigned Log2_32 (uint32_t Value)
unsigned Log2_64 (uint64_t Value)
unsigned Log2_32_Ceil (uint32_t Value)
unsigned Log2_64_Ceil (uint64_t Value)
uint64_t GreatestCommonDivisor64 (uint64_t A, uint64_t B)
double BitsToDouble (uint64_t Bits)
float BitsToFloat (uint32_t Bits)
uint64_t DoubleToBits (double Double)
uint32_t FloatToBits (float Float)
int IsNAN (float f)
 Platform-independent wrappers for the C99 isnan() function.
int IsNAN (double d)
int IsInf (float f)
 Platform-independent wrappers for the C99 isinf() function.
int IsInf (double d)
static uint64_t MinAlign (uint64_t A, uint64_t B)
static uint64_t NextPowerOf2 (uint64_t A)
uint64_t RoundUpToAlignment (uint64_t Value, uint64_t Align)
uint64_t OffsetToAlignment (uint64_t Value, uint64_t Align)
int64_t abs64 (int64_t x)
template<unsigned B>
int32_t SignExtend32 (uint32_t x)
template<unsigned B>
int64_t SignExtend64 (uint64_t x)
static cl::opt< PluginLoader,
false, cl::parser< std::string > > 
LoadOpt ("load", cl::ZeroOrMore, cl::value_desc("pluginfilename"), cl::desc("Load the specified plugin"))
raw_ostreamouts ()
raw_ostreamerrs ()
raw_ostreamnulls ()
 nulls() - This returns a reference to a raw_ostream which discards output.
void PrintRecyclerStats (size_t Size, size_t Align, size_t FreeListSize)
StreamableMemoryObjectgetNonStreamedMemoryObject (const unsigned char *Start, const unsigned char *End)
const error_categorygeneric_category ()
const error_categorysystem_category ()
const error_categoryposix_category ()
error_condition make_error_condition (errc _e)
bool operator< (const error_condition &_x, const error_condition &_y)
error_code make_error_code (errc _e)
bool operator< (const error_code &_x, const error_code &_y)
bool operator== (const error_code &_x, const error_code &_y)
bool operator== (const error_code &_x, const error_condition &_y)
bool operator== (const error_condition &_x, const error_code &_y)
bool operator== (const error_condition &_x, const error_condition &_y)
bool operator!= (const error_code &_x, const error_code &_y)
bool operator!= (const error_code &_x, const error_condition &_y)
bool operator!= (const error_condition &_x, const error_code &_y)
bool operator!= (const error_condition &_x, const error_condition &_y)
error_code make_error_code (windows_error e)
bool CheckBitcodeOutputToConsole (raw_ostream &stream_to_check, bool print_warning=true)
 Check for output written to a console.
sys::Path PrependMainExecutablePath (const std::string &ExeName, const char *Argv0, void *MainAddr)
 Find a named executable.
void InitializeAllTargetInfos ()
void InitializeAllTargets ()
void InitializeAllTargetMCs ()
void InitializeAllAsmPrinters ()
void InitializeAllAsmParsers ()
void InitializeAllDisassemblers ()
bool InitializeNativeTarget ()
bool InitializeNativeTargetAsmPrinter ()
bool InitializeNativeTargetAsmParser ()
bool InitializeNativeTargetDisassembler ()
bool llvm_start_multithreaded ()
void llvm_stop_multithreaded ()
bool llvm_is_multithreaded ()
void llvm_acquire_global_lock ()
void llvm_release_global_lock ()
void llvm_execute_on_thread (void(*UserFn)(void *), void *UserData, unsigned RequestedStackSize=0)
 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)
void PrintWarning (SMLoc WarningLoc, const Twine &Msg)
void PrintWarning (const char *Loc, const Twine &Msg)
void PrintWarning (const Twine &Msg)
void PrintWarning (const TGError &Warning)
void PrintError (SMLoc ErrorLoc, const Twine &Msg)
void PrintError (const char *Loc, const Twine &Msg)
void PrintError (const Twine &Msg)
void PrintError (const TGError &Error)
int TableGenMain (char *argv0, TableGenAction &Action)
 Run the table generator, performing the specified Action on parsed records.
raw_ostreamoperator<< (raw_ostream &OS, const RecTy &Ty)
RecTyresolveTypes (RecTy *T1, RecTy *T2)
raw_ostreamoperator<< (raw_ostream &OS, const Init &I)
raw_ostreamoperator<< (raw_ostream &OS, const RecordVal &RV)
raw_ostreamoperator<< (raw_ostream &OS, const Record &R)
raw_ostreamoperator<< (raw_ostream &OS, const RecordKeeper &RK)
InitQualifyName (Record &CurRec, MultiClass *CurMultiClass, Init *Name, const std::string &Scoper)
InitQualifyName (Record &CurRec, MultiClass *CurMultiClass, const std::string &Name, const std::string &Scoper)
void GetReturnInfo (Type *ReturnType, Attributes attr, SmallVectorImpl< ISD::OutputArg > &Outs, const TargetLowering &TLI, SmallVectorImpl< uint64_t > *Offsets=0)
static raw_ostreamoperator<< (raw_ostream &OS, const PrintReg &PR)
ModulePasscreateEdgeProfilerPass ()
ModulePasscreateOptimalEdgeProfilerPass ()
ModulePasscreatePathProfilerPass ()
ModulePasscreateGCOVProfilerPass (bool EmitNotes=true, bool EmitData=true, bool Use402Format=false, bool UseExtraChecksum=false)
ModulePasscreateAddressSanitizerPass ()
FunctionPasscreateThreadSanitizerPass ()
ModulePasscreateStripSymbolsPass (bool OnlyDebugInfo=false)
ModulePasscreateStripNonDebugSymbolsPass ()
ModulePasscreateStripDebugDeclarePass ()
ModulePasscreateStripDeadDebugInfoPass ()
ModulePasscreateConstantMergePass ()
ModulePasscreateGlobalOptimizerPass ()
ModulePasscreateGlobalDCEPass ()
ModulePasscreateGVExtractionPass (std::vector< GlobalValue * > &GVs, bool deleteFn=false)
PasscreateFunctionInliningPass ()
PasscreateFunctionInliningPass (int Threshold)
PasscreateAlwaysInlinerPass ()
PasscreateAlwaysInlinerPass (bool InsertLifetime)
PasscreatePruneEHPass ()
ModulePasscreateInternalizePass (bool AllButMain)
ModulePasscreateInternalizePass (const std::vector< const char * > &exportList)
ModulePasscreateDeadArgEliminationPass ()
ModulePasscreateDeadArgHackingPass ()
PasscreateArgumentPromotionPass (unsigned maxElements=3)
ModulePasscreateIPConstantPropagationPass ()
ModulePasscreateIPSCCPPass ()
PasscreateLoopExtractorPass ()
PasscreateSingleLoopExtractorPass ()
ModulePasscreateBlockExtractorPass ()
ModulePasscreateStripDeadPrototypesPass ()
PasscreateFunctionAttrsPass ()
ModulePasscreateMergeFunctionsPass ()
ModulePasscreatePartialInliningPass ()
FunctionPasscreateConstantPropagationPass ()
FunctionPasscreateSCCPPass ()
PasscreateDeadInstEliminationPass ()
FunctionPasscreateDeadCodeEliminationPass ()
FunctionPasscreateDeadStoreEliminationPass ()
FunctionPasscreateAggressiveDCEPass ()
FunctionPasscreateScalarReplAggregatesPass (signed Threshold=-1, bool UseDomTree=true)
PasscreateIndVarSimplifyPass ()
FunctionPasscreateInstructionCombiningPass ()
PasscreateLICMPass ()
PasscreateLoopStrengthReducePass (const TargetLowering *TLI=0)
PasscreateGlobalMergePass (const TargetLowering *TLI=0)
PasscreateLoopUnswitchPass (bool OptimizeForSize=false)
PasscreateLoopInstSimplifyPass ()
PasscreateLoopUnrollPass (int Threshold=-1, int Count=-1, int AllowPartial=-1)
PasscreateLoopRotatePass ()
PasscreateLoopIdiomPass ()
FunctionPasscreatePromoteMemoryToRegisterPass ()
FunctionPasscreateDemoteRegisterToMemoryPass ()
FunctionPasscreateReassociatePass ()
FunctionPasscreateJumpThreadingPass ()
FunctionPasscreateCFGSimplificationPass ()
FunctionPasscreateBreakCriticalEdgesPass ()
PasscreateLoopSimplifyPass ()
FunctionPasscreateTailCallEliminationPass ()
FunctionPasscreateLowerSwitchPass ()
FunctionPasscreateLowerInvokePass (const TargetLowering *TLI=0)
FunctionPasscreateLowerInvokePass (const TargetLowering *TLI, bool useExpensiveEHSupport)
FunctionPasscreateBlockPlacementPass ()
PasscreateLCSSAPass ()
FunctionPasscreateEarlyCSEPass ()
FunctionPasscreateGVNPass (bool NoLoads=false)
FunctionPasscreateMemCpyOptPass ()
PasscreateLoopDeletionPass ()
FunctionPasscreateSimplifyLibCallsPass ()
FunctionPasscreateCodeGenPreparePass (const TargetLowering *TLI=0)
FunctionPasscreateInstructionNamerPass ()
FunctionPasscreateSinkingPass ()
PasscreateLowerAtomicPass ()
PasscreateCorrelatedValuePropagationPass ()
PasscreateObjCARCAPElimPass ()
PasscreateObjCARCExpandPass ()
PasscreateObjCARCContractPass ()
PasscreateObjCARCOptPass ()
FunctionPasscreateInstructionSimplifierPass ()
FunctionPasscreateLowerExpectIntrinsicPass ()
static raw_ostreamoperator<< (raw_ostream &OS, const ExtAddrMode &AM)
void DeleteDeadBlock (BasicBlock *BB)
void FoldSingleEntryPHINodes (BasicBlock *BB, Pass *P=0)
bool DeleteDeadPHIs (BasicBlock *BB)
bool MergeBlockIntoPredecessor (BasicBlock *BB, Pass *P=0)
void ReplaceInstWithValue (BasicBlock::InstListType &BIL, BasicBlock::iterator &BI, Value *V)
void ReplaceInstWithInst (BasicBlock::InstListType &BIL, BasicBlock::iterator &BI, Instruction *I)
void ReplaceInstWithInst (Instruction *From, Instruction *To)
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)
BasicBlockSplitCriticalEdge (TerminatorInst *TI, unsigned SuccNum, Pass *P=0, bool MergeIdenticalEdges=false, bool DontDeleteUselessPHIs=false, bool SplitLandingPads=false)
BasicBlockSplitCriticalEdge (BasicBlock *BB, succ_iterator SI, Pass *P=0)
bool SplitCriticalEdge (BasicBlock *Succ, pred_iterator PI, Pass *P=0)
BasicBlockSplitCriticalEdge (BasicBlock *Src, BasicBlock *Dst, Pass *P=0, bool MergeIdenticalEdges=false, bool DontDeleteUselessPHIs=false)
BasicBlockSplitEdge (BasicBlock *From, BasicBlock *To, Pass *P)
BasicBlockSplitBlock (BasicBlock *Old, Instruction *SplitPt, Pass *P)
BasicBlockSplitBlockPredecessors (BasicBlock *BB, ArrayRef< BasicBlock * > Preds, const char *Suffix, Pass *P=0)
void SplitLandingPadPredecessors (BasicBlock *OrigBB, ArrayRef< BasicBlock * > Preds, const char *Suffix, const char *Suffix2, Pass *P, SmallVectorImpl< BasicBlock * > &NewBBs)
ReturnInstFoldReturnIntoUncondBranch (ReturnInst *RI, BasicBlock *BB, BasicBlock *Pred)
DebugLoc GetFirstDebugLocInBasicBlock (const BasicBlock *BB)
ValueCastToCStr (Value *V, IRBuilder<> &B)
 CastToCStr - Return V if it is an i8*, otherwise cast it to i8*.
ValueEmitStrLen (Value *Ptr, IRBuilder<> &B, const TargetData *TD)
ValueEmitStrChr (Value *Ptr, char C, IRBuilder<> &B, const TargetData *TD)
ValueEmitStrNCmp (Value *Ptr1, Value *Ptr2, Value *Len, IRBuilder<> &B, const TargetData *TD)
 EmitStrNCmp - Emit a call to the strncmp function to the builder.
ValueEmitStrCpy (Value *Dst, Value *Src, IRBuilder<> &B, const TargetData *TD, StringRef Name="strcpy")
ValueEmitStrNCpy (Value *Dst, Value *Src, Value *Len, IRBuilder<> &B, const TargetData *TD, StringRef Name="strncpy")
ValueEmitMemCpyChk (Value *Dst, Value *Src, Value *Len, Value *ObjSize, IRBuilder<> &B, const TargetData *TD)
ValueEmitMemChr (Value *Ptr, Value *Val, Value *Len, IRBuilder<> &B, const TargetData *TD)
ValueEmitMemCmp (Value *Ptr1, Value *Ptr2, Value *Len, IRBuilder<> &B, const TargetData *TD)
 EmitMemCmp - Emit a call to the memcmp function.
ValueEmitUnaryFloatFnCall (Value *Op, StringRef Name, IRBuilder<> &B, const AttrListPtr &Attrs)
ValueEmitPutChar (Value *Char, IRBuilder<> &B, const TargetData *TD)
void EmitPutS (Value *Str, IRBuilder<> &B, const TargetData *TD)
void EmitFPutC (Value *Char, Value *File, IRBuilder<> &B, const TargetData *TD)
void EmitFPutS (Value *Str, Value *File, IRBuilder<> &B, const TargetData *TD, const TargetLibraryInfo *TLI)
void EmitFWrite (Value *Ptr, Value *Size, Value *File, IRBuilder<> &B, const TargetData *TD, const TargetLibraryInfo *TLI)
ModuleCloneModule (const Module *M)
ModuleCloneModule (const Module *M, ValueToValueMapTy &VMap)
BasicBlockCloneBasicBlock (const BasicBlock *BB, ValueToValueMapTy &VMap, const Twine &NameSuffix="", Function *F=0, ClonedCodeInfo *CodeInfo=0)
FunctionCloneFunction (const Function *F, ValueToValueMapTy &VMap, bool ModuleLevelChanges, ClonedCodeInfo *CodeInfo=0)
FunctionCloneFunction (const Function *F, ClonedCodeInfo *CodeInfo=0)
void CloneFunctionInto (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=0, ValueMapTypeRemapper *TypeMapper=0)
void CloneAndPruneFunctionInto (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=0, const TargetData *TD=0, Instruction *TheCall=0)
bool InlineFunction (CallInst *C, InlineFunctionInfo &IFI, bool InsertLifetime=true)
bool InlineFunction (InvokeInst *II, InlineFunctionInfo &IFI, bool InsertLifetime=true)
bool InlineFunction (CallSite CS, InlineFunctionInfo &IFI, bool InsertLifetime=true)
unsigned getICmpCode (const ICmpInst *ICI, bool InvertPred=false)
ValuegetICmpValue (bool Sign, unsigned Code, Value *LHS, Value *RHS, CmpInst::Predicate &NewICmpPred)
bool PredicatesFoldable (CmpInst::Predicate p1, CmpInst::Predicate p2)
bool ConstantFoldTerminator (BasicBlock *BB, bool DeleteDeadConditions=false)
bool isInstructionTriviallyDead (Instruction *I)
bool RecursivelyDeleteTriviallyDeadInstructions (Value *V)
bool RecursivelyDeleteDeadPHINode (PHINode *PN)
bool SimplifyInstructionsInBlock (BasicBlock *BB, const TargetData *TD=0)
void RemovePredecessorAndSimplify (BasicBlock *BB, BasicBlock *Pred, TargetData *TD=0)
void MergeBasicBlockIntoOnlyPred (BasicBlock *BB, Pass *P=0)
bool TryToSimplifyUncondBranchFromEmptyBlock (BasicBlock *BB)
bool EliminateDuplicatePHINodes (BasicBlock *BB)
bool SimplifyCFG (BasicBlock *BB, const TargetData *TD=0)
bool FoldBranchToCommonDest (BranchInst *BI)
AllocaInstDemoteRegToStack (Instruction &X, bool VolatileLoads=false, Instruction *AllocaPoint=0)
AllocaInstDemotePHIToStack (PHINode *P, Instruction *AllocaPoint=0)
unsigned getOrEnforceKnownAlignment (Value *V, unsigned PrefAlign, const TargetData *TD=0)
static unsigned getKnownAlignment (Value *V, const TargetData *TD=0)
 getKnownAlignment - Try to infer an alignment for the specified pointer.
bool ConvertDebugDeclareToDebugValue (DbgDeclareInst *DDI, StoreInst *SI, DIBuilder &Builder)
bool ConvertDebugDeclareToDebugValue (DbgDeclareInst *DDI, LoadInst *LI, DIBuilder &Builder)
bool LowerDbgDeclare (Function &F)
DbgDeclareInstFindAllocaDbgDeclare (Value *V)
void appendToGlobalCtors (Module &M, Function *F, int Priority)
void appendToGlobalDtors (Module &M, Function *F, int Priority)
 Same as appendToGlobalCtors(), but for global dtors.
bool isAllocaPromotable (const AllocaInst *AI)
void PromoteMemToReg (const std::vector< AllocaInst * > &Allocas, DominatorTree &DT, AliasSetTracker *AST=0)
bool simplifyUsersOfIV (PHINode *CurrIV, ScalarEvolution *SE, LPPassManager *LPM, SmallVectorImpl< WeakVH > &Dead, IVVisitor *V=NULL)
bool simplifyLoopIVs (Loop *L, ScalarEvolution *SE, LPPassManager *LPM, SmallVectorImpl< WeakVH > &Dead)
PasscreateUnifyFunctionExitNodesPass ()
bool UnrollLoop (Loop *L, unsigned Count, unsigned TripCount, bool AllowRuntime, unsigned TripMultiple, LoopInfo *LI, LPPassManager *LPM)
bool UnrollRuntimeLoopProlog (Loop *L, unsigned Count, LoopInfo *LI, LPPassManager *LPM)
static RemapFlags operator| (RemapFlags LHS, RemapFlags RHS)
ValueMapValue (const Value *V, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=0)
void RemapInstruction (Instruction *I, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=0)
MDNodeMapValue (const MDNode *V, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=0)
ConstantMapValue (const Constant *V, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=0)
BasicBlockPasscreateBBVectorizePass (const VectorizeConfig &C=VectorizeConfig())
bool vectorizeBasicBlock (Pass *P, BasicBlock &BB, const VectorizeConfig &C=VectorizeConfig())
 Vectorize the BasicBlock.
static raw_ostreamoperator<< (raw_ostream &OS, Type &T)
raw_ostreamoperator<< (raw_ostream &OS, const Value &V)
raw_ostreamoperator<< (raw_ostream &OS, const LVILatticeVal &Val) LLVM_ATTRIBUTE_USED
PasscreateProfileEstimatorPass (const unsigned execcount)
static double readEdgeOrRemember (ProfileInfo::Edge edge, double w, ProfileInfo::Edge &tocalc, unsigned &uncalc)
static void readEdge (ProfileInfo *PI, ProfileInfo::Edge e, double &calcw, std::set< ProfileInfo::Edge > &misscount)
bool GetBitcodeSymbols (const sys::Path &fName, LLVMContext &Context, std::vector< std::string > &symbols, std::string *ErrMsg)
ModuleGetBitcodeSymbols (const char *Buffer, unsigned Length, const std::string &ModuleID, LLVMContext &Context, std::vector< std::string > &symbols, std::string *ErrMsg)
SpillercreateInlineSpiller (MachineFunctionPass &pass, MachineFunction &mf, VirtRegMap &vrm)
bool overlap (const LiveRange &VRSeg, const IntervalMap< SlotIndex, LiveInterval * >::const_iterator &LUSeg)
 Compare a live virtual register segment to a LiveIntervalUnion segment.
 TEMPLATE_INSTANTIATION (class DomTreeNodeBase< MachineBasicBlock >)
 TEMPLATE_INSTANTIATION (class DominatorTreeBase< MachineBasicBlock >)
 TEMPLATE_INSTANTIATION (MLB)
 TEMPLATE_INSTANTIATION (MLIB)
MachineBasicBlock::iterator findPHICopyInsertPoint (MachineBasicBlock *MBB, MachineBasicBlock *SuccMBB, unsigned SrcReg)
raw_ostreamoperator<< (raw_ostream &os, const RenderMachineFunction::Spacer &s)
SpillercreateSpiller (MachineFunctionPass &pass, MachineFunction &mf, VirtRegMap &vrm)
 Create and return a spiller object, as specified on the command line.
raw_ostreamoperator<< (raw_ostream &OS, const VirtRegMap &VRM)
raw_ostreamoperator<< (raw_ostream &OS, const MCFixup &AF)
MCAsmParserExtensioncreateDarwinAsmParser ()
MCAsmParserExtensioncreateELFAsmParser ()
MCAsmParserExtensioncreateCOFFAsmParser ()
static uint8_t CountOfUnwindCodes (std::vector< MCWin64EHInstruction > &instArray)
static void EmitAbsDifference (MCStreamer &streamer, MCSymbol *lhs, MCSymbol *rhs)
static void EmitUnwindCode (MCStreamer &streamer, MCSymbol *begin, MCWin64EHInstruction &inst)
static void EmitRuntimeFunction (MCStreamer &streamer, const MCWin64EHUnwindInfo *info)
static void EmitUnwindInfo (MCStreamer &streamer, MCWin64EHUnwindInfo *info)
static const MCSectiongetWin64EHTableSection (StringRef suffix, MCContext &context)
static const MCSectiongetWin64EHFuncTableSection (StringRef suffix, MCContext &context)
void * SearchForAddressOfSpecialSymbol (const char *symbolName)
raw_ostreamCreateInfoOutputFile ()
template<class T >
SmallVectorImpl< T >::const_pointer c_str (SmallVectorImpl< T > &str)
FunctionPasscreateARMISelDag (ARMBaseTargetMachine &TM, CodeGenOpt::Level OptLevel)
FunctionPasscreateARMJITCodeEmitterPass (ARMBaseTargetMachine &TM, JITCodeEmitter &JCE)
FunctionPasscreateARMLoadStoreOptimizationPass (bool PreAlloc=false)
FunctionPasscreateARMExpandPseudoPass ()
FunctionPasscreateARMGlobalMergePass (const TargetLowering *tli)
FunctionPasscreateARMConstantIslandPass ()
FunctionPasscreateMLxExpansionPass ()
FunctionPasscreateThumb2ITBlockPass ()
FunctionPasscreateThumb2SizeReductionPass ()
void LowerARMMachineInstrToMCInst (const MachineInstr *MI, MCInst &OutMI, ARMAsmPrinter &AP)
static const MachineInstrBuilderAddDefaultPred (const MachineInstrBuilder &MIB)
static const MachineInstrBuilderAddDefaultCC (const MachineInstrBuilder &MIB)
static const MachineInstrBuilderAddDefaultT1CC (const MachineInstrBuilder &MIB, bool isDead=false)
static const MachineInstrBuilderAddNoT1CC (const MachineInstrBuilder &MIB)
static bool isUncondBranchOpcode (int Opc)
static bool isCondBranchOpcode (int Opc)
static bool isJumpTableBranchOpcode (int Opc)
static bool isIndirectBranchOpcode (int Opc)
ARMCC::CondCodes getInstrPredicate (const MachineInstr *MI, unsigned &PredReg)
int getMatchingCondBranchOpcode (int Opc)
unsigned convertAddSubFlagsOpcode (unsigned OldOpc)
void emitARMRegPlusImmediate (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, DebugLoc dl, unsigned DestReg, unsigned BaseReg, int NumBytes, ARMCC::CondCodes Pred, unsigned PredReg, const ARMBaseInstrInfo &TII, unsigned MIFlags=0)
void emitT2RegPlusImmediate (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, DebugLoc dl, unsigned DestReg, unsigned BaseReg, int NumBytes, ARMCC::CondCodes Pred, unsigned PredReg, const ARMBaseInstrInfo &TII, unsigned MIFlags=0)
void emitThumbRegPlusImmediate (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, DebugLoc dl, unsigned DestReg, unsigned BaseReg, int NumBytes, const TargetInstrInfo &TII, const ARMBaseRegisterInfo &MRI, unsigned MIFlags=0)
bool rewriteARMFrameIndex (MachineInstr &MI, unsigned FrameRegIdx, unsigned FrameReg, int &Offset, const ARMBaseInstrInfo &TII)
bool rewriteT2FrameIndex (MachineInstr &MI, unsigned FrameRegIdx, unsigned FrameReg, int &Offset, const ARMBaseInstrInfo &TII)
static bool isARMArea1Register (unsigned Reg, bool isIOS)
static bool isARMArea2Register (unsigned Reg, bool isIOS)
static bool isARMArea3Register (unsigned Reg, bool isIOS)
static bool f64AssignAPCS (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, CCState &State, bool CanFail)
static bool CC_ARM_APCS_Custom_f64 (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
static bool f64AssignAAPCS (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, CCState &State, bool CanFail)
static bool CC_ARM_AAPCS_Custom_f64 (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
static bool f64RetAssign (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, CCState &State)
static bool RetCC_ARM_APCS_Custom_f64 (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
static bool RetCC_ARM_AAPCS_Custom_f64 (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
raw_ostreamoperator<< (raw_ostream &O, const ARMConstantPoolValue &V)
static const char * ARMCondCodeToString (ARMCC::CondCodes CC)
static unsigned getARMRegisterNumbering (unsigned Reg)
static bool isARMLowRegister (unsigned Reg)
MCCodeEmittercreateARMMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI, MCContext &Ctx)
MCAsmBackendcreateARMAsmBackend (const Target &T, StringRef TT)
MCObjectWritercreateARMELFObjectWriter (raw_ostream &OS, uint8_t OSABI)
 createARMELFObjectWriter - Construct an ELF Mach-O object writer.
MCObjectWritercreateARMMachObjectWriter (raw_ostream &OS, bool Is64Bit, uint32_t CPUType, uint32_t CPUSubtype)
 createARMMachObjectWriter - Construct an ARM Mach-O object writer.
ARMCC::CondCodes getITInstrPredicate (const MachineInstr *MI, unsigned &PredReg)
FunctionPasscreateSPUISelDag (SPUTargetMachine &TM)
FunctionPasscreateSPUNopFillerPass (SPUTargetMachine &tm)
const MachineInstrBuilderaddFrameReference (const MachineInstrBuilder &MIB, int FI, int Offset=0, bool mem=true)
FunctionPasscreateHexagonISelDag (HexagonTargetMachine &TM)
FunctionPasscreateHexagonDelaySlotFillerPass (TargetMachine &TM)
FunctionPasscreateHexagonFPMoverPass (TargetMachine &TM)
FunctionPasscreateHexagonRemoveExtendOps (HexagonTargetMachine &TM)
FunctionPasscreateHexagonCFGOptimizer (HexagonTargetMachine &TM)
FunctionPasscreateHexagonSplitTFRCondSets (HexagonTargetMachine &TM)
FunctionPasscreateHexagonExpandPredSpillCode (HexagonTargetMachine &TM)
FunctionPasscreateHexagonHardwareLoops ()
FunctionPasscreateHexagonPeephole ()
FunctionPasscreateHexagonFixupHwLoops ()
FunctionPasscreateHexagonPacketizer ()
FunctionPasscreateHexagonNewValueJump ()
void HexagonLowerToMC (const MachineInstr *MI, MCInst &MCI, HexagonAsmPrinter &AP)
FunctionPasscreateMBlazeISelDag (MBlazeTargetMachine &TM)
FunctionPasscreateMBlazeDelaySlotFillerPass (MBlazeTargetMachine &TM)
static bool isMBlazeRegister (unsigned Reg)
static bool isSpecialMBlazeRegister (unsigned Reg)
static unsigned getMBlazeRegisterNumbering (unsigned RegEnum)
static unsigned getMBlazeRegisterFromNumbering (unsigned Reg)
static unsigned getSpecialMBlazeRegisterFromNumbering (unsigned Reg)
MCCodeEmittercreateMBlazeMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI, MCContext &Ctx)
MCAsmBackendcreateMBlazeAsmBackend (const Target &T, StringRef TT)
MCObjectWritercreateMBlazeELFObjectWriter (raw_ostream &OS, uint8_t OSABI)
static unsigned getMipsRegisterNumbering (unsigned RegEnum)
static std::pair< const
MCSymbolRefExpr *, int64_t > 
MipsGetSymAndOffset (const MCFixup &Fixup)
MCCodeEmittercreateMipsMCCodeEmitterEB (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI, MCContext &Ctx)
MCCodeEmittercreateMipsMCCodeEmitterEL (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI, MCContext &Ctx)
MCAsmBackendcreateMipsAsmBackendEB32 (const Target &T, StringRef TT)
MCAsmBackendcreateMipsAsmBackendEL32 (const Target &T, StringRef TT)
MCAsmBackendcreateMipsAsmBackendEB64 (const Target &T, StringRef TT)
MCAsmBackendcreateMipsAsmBackendEL64 (const Target &T, StringRef TT)
MCObjectWritercreateMipsELFObjectWriter (raw_ostream &OS, uint8_t OSABI, bool IsLittleEndian, bool Is64Bit)
FunctionPasscreateMipsISelDag (MipsTargetMachine &TM)
FunctionPasscreateMipsDelaySlotFillerPass (MipsTargetMachine &TM)
FunctionPasscreateMipsExpandPseudoPass (MipsTargetMachine &TM)
FunctionPasscreateMipsJITCodeEmitterPass (MipsTargetMachine &TM, JITCodeEmitter &JCE)
FunctionPasscreateMSP430ISelDag (MSP430TargetMachine &TM, CodeGenOpt::Level OptLevel)
FunctionPasscreateMSP430BranchSelectionPass ()
static const char * NVPTXCondCodeToString (NVPTXCC::CondCodes CC)
FunctionPasscreateNVPTXISelDag (NVPTXTargetMachine &TM, llvm::CodeGenOpt::Level OptLevel)
FunctionPasscreateVectorElementizePass (NVPTXTargetMachine &)
FunctionPasscreateLowerStructArgsPass (NVPTXTargetMachine &)
FunctionPasscreateNVPTXReMatPass (NVPTXTargetMachine &)
FunctionPasscreateNVPTXReMatBlockPass (NVPTXTargetMachine &)
bool isImageOrSamplerVal (const Value *, const Module *)
FunctionPasscreateAllocaHoisting ()
FunctionPasscreateLowerAggrCopies ()
std::string getNVPTXRegClassName (TargetRegisterClass const *RC)
std::string getNVPTXRegClassStr (TargetRegisterClass const *RC)
bool isNVPTXVectorRegClass (TargetRegisterClass const *RC)
std::string getNVPTXElemClassName (TargetRegisterClass const *RC)
const TargetRegisterClassgetNVPTXElemClass (TargetRegisterClass const *RC)
int getNVPTXVectorSize (TargetRegisterClass const *RC)
FunctionPasscreateSplitBBatBarPass ()
bool isParamLoad (const MachineInstr *MI)
static int encode_leb128 (uint64_t val, int *nbytes, char *space, int splen)
uint64_t encode_leb128 (const char *str)
bool findOneNVVMAnnotation (const llvm::GlobalValue *, std::string, unsigned &)
bool findAllNVVMAnnotation (const llvm::GlobalValue *, std::string, std::vector< unsigned > &)
bool isTexture (const llvm::Value &)
bool isSurface (const llvm::Value &)
bool isSampler (const llvm::Value &)
bool isImage (const llvm::Value &)
bool isImageReadOnly (const llvm::Value &)
bool isImageWriteOnly (const llvm::Value &)
std::string getTextureName (const llvm::Value &)
std::string getSurfaceName (const llvm::Value &)
std::string getSamplerName (const llvm::Value &)
bool getMaxNTIDx (const llvm::Function &, unsigned &)
bool getMaxNTIDy (const llvm::Function &, unsigned &)
bool getMaxNTIDz (const llvm::Function &, unsigned &)
bool getReqNTIDx (const llvm::Function &, unsigned &)
bool getReqNTIDy (const llvm::Function &, unsigned &)
bool getReqNTIDz (const llvm::Function &, unsigned &)
bool getMinCTASm (const llvm::Function &, unsigned &)
bool isKernelFunction (const llvm::Function &)
bool getAlign (const llvm::Function &, unsigned index, unsigned &)
bool getAlign (const llvm::CallInst &, unsigned index, unsigned &)
bool isBarrierIntrinsic (llvm::Intrinsic::ID)
template<typename T >
std::vector< T > make_vector (T A,...)
bool isMemorySpaceTransferIntrinsic (Intrinsic::ID id)
const ValueskipPointerTransfer (const Value *V, bool ignore_GEP_indices)
const ValueskipPointerTransfer (const Value *V, std::set< const Value * > &processed)
BasicBlockgetParentBlock (Value *v)
FunctiongetParentFunction (Value *v)
void dumpBlock (Value *v, char *blockName)
InstructiongetInst (Value *base, char *instName)
void dumpInst (Value *base, char *instName)
void dumpInstRec (Value *v, std::set< Instruction * > *visited)
void dumpInstRec (Value *v)
void dumpParent (Value *v)
static unsigned getPPCRegisterNumbering (unsigned RegEnum)
MCCodeEmittercreatePPCMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI, MCContext &Ctx)
MCAsmBackendcreatePPCAsmBackend (const Target &T, StringRef TT)
MCObjectWritercreatePPCELFObjectWriter (raw_ostream &OS, bool Is64Bit, uint8_t OSABI)
 createPPCELFObjectWriter - Construct an PPC ELF object writer.
FunctionPasscreatePPCBranchSelectionPass ()
FunctionPasscreatePPCISelDag (PPCTargetMachine &TM)
FunctionPasscreatePPCJITCodeEmitterPass (PPCTargetMachine &TM, JITCodeEmitter &MCE)
void LowerPPCMachineInstrToMCInst (const MachineInstr *MI, MCInst &OutMI, AsmPrinter &AP, bool isDarwin)
cl::opt< boolDisablePPC32RS ("disable-ppc32-regscavenger", cl::init(false), cl::desc("Disable PPC32 register scavenger"), cl::Hidden)
cl::opt< boolDisablePPC64RS ("disable-ppc64-regscavenger", cl::init(false), cl::desc("Disable PPC64 register scavenger"), cl::Hidden)
static void decodeRegisterName (raw_ostream &OS, unsigned EncodedReg)
FunctionPasscreatePTXISelDag (PTXTargetMachine &TM, CodeGenOpt::Level OptLevel)
FunctionPasscreatePTXMFInfoExtract (PTXTargetMachine &TM, CodeGenOpt::Level OptLevel)
FunctionPasscreatePTXFPRoundingModePass (PTXTargetMachine &TM, CodeGenOpt::Level OptLevel)
FunctionPasscreatePTXRegisterAllocator ()
void LowerPTXMachineInstrToMCInst (const MachineInstr *MI, MCInst &OutMI, PTXAsmPrinter &AP)
MCStreamercreatePTXAsmStreamer (MCContext &Context, formatted_raw_ostream &OS, bool isVerboseAsm, bool useLoc, bool useCFI, bool useDwarfDirectory, MCInstPrinter *IP, MCCodeEmitter *CE, MCAsmBackend *MAB, bool ShowInst)
FunctionPasscreateSparcISelDag (SparcTargetMachine &TM)
FunctionPasscreateSparcDelaySlotFillerPass (TargetMachine &TM)
FunctionPasscreateSparcFPMoverPass (TargetMachine &TM)
static const char * SPARCCondCodeToString (SPCC::CondCodes CC)
bool AsmVerbosityDefault (false)
void EmitAnyX86InstComments (const MCInst *MI, raw_ostream &OS, const char *(*getRegName)(unsigned))
MCCodeEmittercreateX86MCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI, MCContext &Ctx)
MCAsmBackendcreateX86_32AsmBackend (const Target &T, StringRef TT)
MCAsmBackendcreateX86_64AsmBackend (const Target &T, StringRef TT)
MCObjectWritercreateX86MachObjectWriter (raw_ostream &OS, bool Is64Bit, uint32_t CPUType, uint32_t CPUSubtype)
 createX86MachObjectWriter - Construct an X86 Mach-O object writer.
MCObjectWritercreateX86ELFObjectWriter (raw_ostream &OS, bool Is64Bit, uint8_t OSABI)
 createX86ELFObjectWriter - Construct an X86 ELF object writer.
MCObjectWritercreateX86WinCOFFObjectWriter (raw_ostream &OS, bool Is64Bit)
 createX86WinCOFFObjectWriter - Construct an X86 Win COFF object writer.
void DecodeINSERTPSMask (unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
void DecodeMOVHLPSMask (unsigned NElts, SmallVectorImpl< int > &ShuffleMask)
void DecodeMOVLHPSMask (unsigned NElts, SmallVectorImpl< int > &ShuffleMask)
void DecodePSHUFMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
void DecodePSHUFHWMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
void DecodePSHUFLWMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
void DecodeSHUFPMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
void DecodeUNPCKHMask (MVT VT, SmallVectorImpl< int > &ShuffleMask)
void DecodeUNPCKLMask (MVT VT, SmallVectorImpl< int > &ShuffleMask)
void DecodeVPERM2X128Mask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
void DecodeVPERMMask (unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
FunctionPasscreateX86ISelDag (X86TargetMachine &TM, CodeGenOpt::Level OptLevel)
FunctionPasscreateGlobalBaseRegPass ()
FunctionPasscreateX86FloatingPointStackifierPass ()
FunctionPasscreateX86IssueVZeroUpperPass ()
FunctionPasscreateX86JITCodeEmitterPass (X86TargetMachine &TM, JITCodeEmitter &JCE)
FunctionPasscreateEmitX86CodeToMemory ()
FunctionPasscreateX86MaxStackAlignmentHeuristicPass ()
static const MachineInstrBuilderaddDirectMem (const MachineInstrBuilder &MIB, unsigned Reg)
static const MachineInstrBuilderaddOffset (const MachineInstrBuilder &MIB, int Offset)
static const MachineInstrBuilderaddRegOffset (const MachineInstrBuilder &MIB, unsigned Reg, bool isKill, int Offset)
static const MachineInstrBuilderaddRegReg (const MachineInstrBuilder &MIB, unsigned Reg1, bool isKill1, unsigned Reg2, bool isKill2)
static const MachineInstrBuilderaddFullAddress (const MachineInstrBuilder &MIB, const X86AddressMode &AM)
static const MachineInstrBuilderaddFrameReference (const MachineInstrBuilder &MIB, int FI, int Offset=0)
static const MachineInstrBuilderaddConstantPoolReference (const MachineInstrBuilder &MIB, unsigned CPI, unsigned GlobalBaseReg, unsigned char OpFlags)
static bool isGlobalStubReference (unsigned char TargetFlag)
static bool isGlobalRelativeToPICBase (unsigned char TargetFlag)
static bool isScale (const MachineOperand &MO)
static bool isLeaMem (const MachineInstr *MI, unsigned Op)
static bool isMem (const MachineInstr *MI, unsigned Op)
unsigned getX86SubSuperRegister (unsigned Reg, EVT VT, bool High)
FunctionPasscreateXCoreISelDag (XCoreTargetMachine &TM, CodeGenOpt::Level OptLevel)
static unsigned getComplexity (Value *V)
raw_ostreamoperator<< (raw_ostream &os, const BLInstrumentationEdge &edge) LLVM_ATTRIBUTE_USED
void InsertProfilingInitCall (Function *MainFn, const char *FnName, GlobalValue *Arr=0, PointerType *arrayType=0)
void IncrementCounterInBlock (BasicBlock *BB, unsigned CounterNum, GlobalValue *CounterArray, bool beginning=true)
void InsertProfilingShutdownCall (Function *Callee, Module *Mod)
ConstantConstantFoldCastInstruction (unsigned opcode, Constant *V, Type *DestTy)
ConstantConstantFoldSelectInstruction (Constant *Cond, Constant *V1, Constant *V2)
ConstantConstantFoldExtractElementInstruction (Constant *Val, Constant *Idx)
ConstantConstantFoldInsertElementInstruction (Constant *Val, Constant *Elt, Constant *Idx)
ConstantConstantFoldShuffleVectorInstruction (Constant *V1, Constant *V2, Constant *Mask)
ConstantConstantFoldExtractValueInstruction (Constant *Agg, ArrayRef< unsigned > Idxs)
ConstantConstantFoldBinaryInstruction (unsigned Opcode, Constant *V1, Constant *V2)
ConstantConstantFoldCompareInstruction (unsigned short predicate, Constant *C1, Constant *C2)
ConstantConstantFoldGetElementPtr (Constant *C, bool inBounds, ArrayRef< Constant * > Idxs)
ConstantConstantFoldGetElementPtr (Constant *C, bool inBounds, ArrayRef< Value * > Idxs)
static bool ShouldPrintBeforeOrAfterPass (const PassInfo *PI, PassOptionList &PassesToPrint)
static bool ShouldPrintBeforePass (const PassInfo *PI)
static bool ShouldPrintAfterPass (const PassInfo *PI)
ArrayRef Convenience constructors
template<typename T >
ArrayRef< T > makeArrayRef (const T &OneElt)
 Construct an ArrayRef from a single element.
template<typename T >
ArrayRef< T > makeArrayRef (const T *data, size_t length)
 Construct an ArrayRef from a pointer and length.
template<typename T >
ArrayRef< T > makeArrayRef (const T *begin, const T *end)
 Construct an ArrayRef from a range.
template<typename T >
ArrayRef< T > makeArrayRef (const SmallVectorImpl< T > &Vec)
 Construct an ArrayRef from a SmallVector.
template<typename T , unsigned N>
ArrayRef< T > makeArrayRef (const SmallVector< T, N > &Vec)
 Construct an ArrayRef from a SmallVector.
template<typename T >
ArrayRef< T > makeArrayRef (const std::vector< T > &Vec)
 Construct an ArrayRef from a std::vector.
template<typename T , size_t N>
ArrayRef< T > makeArrayRef (const T(&Arr)[N])
 Construct an ArrayRef from a C array.
ArrayRef Comparison Operators
template<typename T >
bool operator== (ArrayRef< T > LHS, ArrayRef< T > RHS)
template<typename T >
bool operator!= (ArrayRef< T > LHS, ArrayRef< T > RHS)
StringRef Comparison Operators
bool operator== (StringRef LHS, StringRef RHS)
bool operator!= (StringRef LHS, StringRef RHS)
bool operator< (StringRef LHS, StringRef RHS)
bool operator<= (StringRef LHS, StringRef RHS)
bool operator> (StringRef LHS, StringRef RHS)
bool operator>= (StringRef LHS, StringRef RHS)
std::string & operator+= (std::string &buffer, llvm::StringRef string)
Twine Inline Implementations
Twine operator+ (const Twine &LHS, const Twine &RHS)
Twine operator+ (const char *LHS, const StringRef &RHS)
Twine operator+ (const StringRef &LHS, const char *RHS)
raw_ostreamoperator<< (raw_ostream &OS, const Twine &RHS)
Relocation Data
MCObjectWritercreateELFObjectWriter (MCELFObjectTargetWriter *MOTW, raw_ostream &OS, bool IsLittleEndian)
 Construct a new ELF writer instance.

Variables

const unsigned int host_char_bit = 8
const unsigned int integerPartWidth
static int(*)(const void
*, const void *) 
get_array_pad_sort_comparator (const T &)
char & ProfileLoaderPassID
char & ProfileEstimatorPassID = ProfileEstimatorPass::ID
char & PathProfileLoaderPassID = PathProfileLoaderPass::ID
char & NoPassID = NoPassIDAnchor
char & MachineLoopInfoID = MachineLoopInfo::ID
 MachineLoopInfo - This pass is a loop analysis pass.
char & MachineLoopRangesID = MachineLoopRanges::ID
 MachineLoopRanges - This pass is an on-demand loop coverage analysis.
char & MachineDominatorsID
 MachineDominators - This pass is a machine dominators analysis pass.
char & EdgeBundlesID
 EdgeBundles analysis - Bundle machine CFG edges.
char & LiveVariablesID = LiveVariables::ID
char & PHIEliminationID = PHIElimination::ID
char & StrongPHIEliminationID = StrongPHIElimination::ID
char & LiveStacksID
 LiveStacks pass. An analysis keeping track of the liveness of stack slots.
char & TwoAddressInstructionPassID = TwoAddressInstructionPass::ID
char & ProcessImplicitDefsID = ProcessImplicitDefs::ID
 ProcessImpicitDefs pass - This pass removes IMPLICIT_DEFs.
char & RegisterCoalescerID = RegisterCoalescer::ID
 RegisterCoalescer - This pass merges live ranges to eliminate copies.
char & MachineSchedulerID = MachineScheduler::ID
 MachineScheduler - This pass schedules machine instructions.
char & SpillPlacementID = SpillPlacement::ID
char & UnreachableMachineBlockElimID
char & DeadMachineInstructionElimID = DeadMachineInstructionElim::ID
 DeadMachineInstructionElim - This pass removes dead machine instructions.
char & PrologEpilogCodeInserterID = PEI::ID
char & ExpandPostRAPseudosID = ExpandPostRA::ID
char & PostRASchedulerID = PostRAScheduler::ID
char & BranchFolderPassID = BranchFolderPass::ID
char & TailDuplicateID = TailDuplicatePass::ID
char & IfConverterID = IfConverter::ID
 IfConverter - This pass performs machine code if conversion.
char & MachineBlockPlacementID = MachineBlockPlacement::ID
char & MachineBlockPlacementStatsID = MachineBlockPlacementStats::ID
char & CodePlacementOptID = CodePlacementOpt::ID
char & GCMachineCodeAnalysisID = GCMachineCodeAnalysis::ID
char & MachineCSEID = MachineCSE::ID
 MachineCSE - This pass performs global CSE on machine instructions.
char & MachineLICMID = MachineLICM::ID
 MachineLICM - This pass performs LICM on machine instructions.
char & MachineSinkingID = MachineSinking::ID
 MachineSinking - This pass performs sinking on machine instructions.
char & MachineCopyPropagationID = MachineCopyPropagation::ID
char & PeepholeOptimizerID = PeepholeOptimizer::ID
char & OptimizePHIsID = OptimizePHIs::ID
char & StackSlotColoringID = StackSlotColoring::ID
 StackSlotColoring - This pass performs stack slot coloring.
char & LocalStackSlotAllocationID = LocalStackSlotPass::ID
char & ExpandISelPseudosID = ExpandISelPseudos::ID
 ExpandISelPseudos - This pass expands pseudo-instructions.
char & UnpackMachineBundlesID = UnpackMachineBundles::ID
 UnpackMachineBundles - This pass unpack machine instruction bundles.
char & FinalizeMachineBundlesID = FinalizeMachineBundles::ID
bool TimePassesIsEnabled = false
 This is the storage for the -time-passes option.
bool DebugFlag
bool EnableDebugBuffering = false
 LShr
BinaryOperator Alloca
BinaryOperator AllocaInst Trunc
BinaryOperator AllocaInst TruncInst SExt
BinaryOperator AllocaInst
TruncInst SExtInst 
FPToSI
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst 
SIToFP
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst 
FPExt
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst 
IntToPtr
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst 
ICmp
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst 
PHI
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode 
Select
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst 
UserOp2
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst Instruction 
ExtractElement
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst Instruction
ExtractElementInst 
ShuffleVector
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst Instruction
ExtractElementInst
ShuffleVectorInst 
InsertValue
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst ICmpInst PHINode
SelectInst Instruction
ExtractElementInst
ShuffleVectorInst
InsertValueInst 
RetTy
bool DisablePrettyStackTrace = false
SourceMgr SrcMgr
char & DemoteRegisterToMemoryID = RegToMem::ID
char & BreakCriticalEdgesID
char & LoopSimplifyID = LoopSimplify::ID
char & LowerSwitchID
char & LowerInvokePassID
char & LCSSAID = LCSSA::ID
char & InstructionNamerID
char & InstructionSimplifierID = InstSimplifier::ID
cl::opt< boolDisableIVRewrite
const unsigned int maxExponent = 16383
const unsigned int maxPrecision = 113
const unsigned int maxPowerOfFiveExponent = maxExponent + maxPrecision - 1
const unsigned int maxPowerOfFiveParts
const MCInstrDesc ARMInsts []
Target TheARMTarget
Target TheThumbTarget
cl::opt< boolReuseFrameIndexVals
Target TheCellSPUTarget
Target TheCppBackendTarget
bool flag_aligned_memcpy
Target TheHexagonTarget
const MCInstrDesc MBlazeInsts []
Target TheMBlazeTarget
Target TheMipselTarget
Target TheMipsTarget
Target TheMips64Target
Target TheMips64elTarget
Target TheMSP430Target
const unsigned AnnotationNameLen = 8
const char PropertyAnnotationNames [PROPERTY_LAST+1][AnnotationNameLen+1]
static const char * NamedMDForAnnotations = "nvvm.annotations"
Target TheNVPTXTarget32
Target TheNVPTXTarget64
RegisterPass< NVPTXAllocaHoistingX ("alloca-hoisting","Hoisting alloca instructsion in non-entry ""blocks to the entry block")
bool InterleaveSrcInPtx = false
const unsigned NVPTXNumRegisters = 396
Target ThePPC32Target
Target ThePPC64Target
cl::opt< boolDisablePPC32RS
cl::opt< boolDisablePPC64RS
Target ThePTX32Target
Target ThePTX64Target
Target TheSparcTarget
Target TheSparcV9Target
bool HasDivModLibcall
Target TheX86_32Target
Target TheX86_64Target
Target TheXCoreTarget
static ManagedStatic
< sys::SmartMutex< true > > 
ALMutex
static cl::opt< enum
PassDebugLevel
PassDebugging ("debug-pass", cl::Hidden, cl::desc("Print PassManager debugging information"), cl::values(clEnumVal(None,"disable debug output"), clEnumVal(Arguments,"print pass arguments to pass to 'opt'"), clEnumVal(Structure,"print pass structure before run()"), clEnumVal(Executions,"print pass name before it is executed"), clEnumVal(Details,"print pass details when it is executed"), clEnumValEnd))
static PassOptionList PrintBefore ("print-before", llvm::cl::desc("Print IR before specified passes"), cl::Hidden)
static PassOptionList PrintAfter ("print-after", llvm::cl::desc("Print IR after specified passes"), cl::Hidden)
static cl::opt< boolPrintBeforeAll ("print-before-all", llvm::cl::desc("Print IR before each pass"), cl::init(false))
static cl::opt< boolPrintAfterAll ("print-after-all", llvm::cl::desc("Print IR after each pass"), cl::init(false))

Detailed Description

List of target independent CodeGen pass IDs.

SSAUpdaterTraits<MachineSSAUpdater> - Traits for the SSAUpdaterImpl template, specialized for MachineSSAUpdater.

SSAUpdaterTraits<SSAUpdater> - Traits for the SSAUpdaterImpl template, specialized for SSAUpdater.


Typedef Documentation

typedef const void* llvm::AnalysisID

Definition at line 46 of file Pass.h.

Definition at line 48 of file PathNumbering.h.

typedef std::vector<BallLarusEdge*>::iterator llvm::BLEdgeIterator

Definition at line 47 of file PathNumbering.h.

typedef std::vector<BallLarusEdge*> llvm::BLEdgeVector

Definition at line 46 of file PathNumbering.h.

typedef std::vector<BallLarusNode*>::iterator llvm::BLNodeIterator

Definition at line 45 of file PathNumbering.h.

typedef std::stack<BallLarusNode*> llvm::BLNodeStack

Definition at line 49 of file PathNumbering.h.

typedef std::vector<BallLarusNode*> llvm::BLNodeVector

Definition at line 41 of file PathNumbering.h.

typedef bool llvm::CCAssignFn(unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)

CCAssignFn - This function assigns a location for Val, updating State to reflect the change. It returns 'true' if it failed to handle Val.

Definition at line 134 of file CallingConvLower.h.

typedef bool llvm::CCCustomFn(unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)

CCCustomFn - This function assigns a location for Val, possibly updating all args to reflect changes and indicates if it handled it. It must set isCustom if it handles the arg and returns true.

Definition at line 141 of file CallingConvLower.h.

Definition at line 126 of file InstIterator.h.

Definition at line 84 of file CFG.h.

Definition at line 246 of file CRSBuilder.h.

Definition at line 248 of file CRSBuilder.h.

Definition at line 176 of file Dominators.h.

DotDebugLocEntry - This struct describes location entries emitted in .debug_loc section.

Definition at line 21 of file DWARFDebugAbbrev.h.

typedef DWARFAbbreviationDeclarationColl::const_iterator llvm::DWARFAbbreviationDeclarationCollConstIter

Definition at line 25 of file DWARFDebugAbbrev.h.

typedef DWARFAbbreviationDeclarationColl::iterator llvm::DWARFAbbreviationDeclarationCollIter

Definition at line 23 of file DWARFDebugAbbrev.h.

typedef int(* llvm::EDByteReaderCallback)(uint8_t *byte, uint64_t address, void *arg)

Definition at line 57 of file EDDisassembler.h.

typedef int(* llvm::EDRegisterReaderCallback)(uint64_t *value, unsigned regID, void *arg)

Definition at line 26 of file EDOperand.h.

typedef signed short llvm::exponent_t

Definition at line 109 of file APFloat.h.

Definition at line 93 of file type_traits.h.

typedef void(* llvm::fatal_error_handler_t)(void *user_data, const std::string &reason)

An error handler callback.

Definition at line 26 of file ErrorHandling.h.

Definition at line 337 of file FoldingSet.h.

Definition at line 387 of file PathProfiling.cpp.

Definition at line 235 of file IntervalIterator.h.

Definition at line 35 of file PathProfileInfo.h.

Definition at line 37 of file PathProfileInfo.h.

Definition at line 36 of file PathProfileInfo.h.

GCMetadataPrinterRegistry - The GC assembly printer registry uses all the defaults from Registry.

Definition at line 29 of file GCMetadataPrinter.h.

The GC strategy registry uses all the defaults from Registry.

Definition at line 46 of file GCStrategy.h.

Definition at line 83 of file GetElementPtrTypeIterator.h.

typedef bool llvm::Hexagon_CCAssignFn(unsigned ValNo, EVT ValVT, EVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, Hexagon_CCState &State, int NonVarArgsParams, int CurrentParam, bool ForceMem)

Hexagon_CCAssignFn - This function assigns a location for Val, updating State to reflect the change.

Definition at line 36 of file HexagonCallingConvLower.h.

Definition at line 321 of file SlotIndexes.h.

typedef std::pair<const MachineInstr *, const MachineInstr *> llvm::InsnRange

InsnRange - This is used to track range of instructions with identical lexical scope.

Definition at line 33 of file LexicalScopes.h.

Definition at line 122 of file InstIterator.h.

typedef uint64_t llvm::integerPart

Definition at line 34 of file APInt.h.

Definition at line 237 of file IntervalIterator.h.

LargestSDNode - The largest SDNode class.

Definition at line 1777 of file SelectionDAGNodes.h.

typedef SmallVector<uint32_t, 16> llvm::LineCounts

Definition at line 213 of file GCOV.h.

Definition at line 30 of file LiveIntervalUnion.h.

Definition at line 34 of file MachineDominators.h.

typedef void*(* llvm::MachinePassCtor)()

Definition at line 26 of file MachinePassRegistry.h.

Definition at line 238 of file ProfileInfo.h.

typedef uint8_t llvm::MCData

MCData - An entry in a data MCAtom.

Definition at line 25 of file MCAtom.h.

MostAlignedSDNode - The SDNode class with the greatest alignment requirement.

Definition at line 1782 of file SelectionDAGNodes.h.

Definition at line 60 of file PassManager.cpp.

typedef void* llvm::PointerTy

Definition at line 23 of file GenericValue.h.

typedef SmallPtrSet<const Loop *, 2> llvm::PostIncLoopSet

PostIncLoopSet - A set of loops.

Definition at line 64 of file ScalarEvolutionNormalization.h.

Definition at line 82 of file CFG.h.

Definition at line 237 of file ProfileInfo.h.

typedef std::vector<BasicBlock*>::iterator llvm::ProfilePathBlockIterator

Definition at line 30 of file PathProfileInfo.h.

Definition at line 29 of file PathProfileInfo.h.

typedef std::vector<ProfilePathEdge>::iterator llvm::ProfilePathEdgeIterator

Definition at line 27 of file PathProfileInfo.h.

Definition at line 24 of file PathProfileInfo.h.

Definition at line 33 of file PathProfileInfo.h.

Definition at line 32 of file PathProfileInfo.h.

typedef DenseMap<const MCSectionData*, uint64_t> llvm::SectionAddrMap

Definition at line 26 of file MCExpr.h.

Definition at line 224 of file CFG.h.

Definition at line 222 of file CFG.h.

Definition at line 92 of file type_traits.h.

Definition at line 32 of file Value.h.

typedef std::vector<GenericValue> llvm::ValuePlaneTy

Definition at line 22 of file ValueMapper.h.

Use SparseSet as a SparseMap by relying on the fact that it never compares ValueT's, only unsigned keys. This allows the set to be cleared between scheduling regions in constant time as long as ValueT does not require a destructor.

Definition at line 164 of file ScheduleDAGInstrs.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
SM_SentinelZero 

Definition at line 26 of file X86ShuffleDecode.h.

anonymous enum
Enumerator:
ELF_STT_Shift 
ELF_STB_Shift 
ELF_STV_Shift 
ELF_Other_Shift 

Definition at line 23 of file MCELFSymbolFlags.h.

anonymous enum
Enumerator:
LLVMDebugVersion 
LLVMDebugVersion11 
LLVMDebugVersion10 
LLVMDebugVersion9 
LLVMDebugVersion8 
LLVMDebugVersion7 
LLVMDebugVersion6 
LLVMDebugVersion5 
LLVMDebugVersion4 
LLVMDebugVersionMask 

Definition at line 24 of file Dwarf.h.

Enumerator:
ADDRESS_SPACE_GENERIC 
ADDRESS_SPACE_GLOBAL 
ADDRESS_SPACE_CONST_NOT_GEN 
ADDRESS_SPACE_SHARED 
ADDRESS_SPACE_CONST 
ADDRESS_SPACE_LOCAL 
ADDRESS_SPACE_PARAM 

Definition at line 22 of file NVPTXBaseInfo.h.

Enum used to categorize the alignment types stored by TargetAlignElem.

Enumerator:
INTEGER_ALIGN 

Integer type alignment.

VECTOR_ALIGN 

Vector type alignment.

FLOAT_ALIGN 

Floating point type alignment.

AGGREGATE_ALIGN 

Aggregate alignment.

STACK_ALIGN 

Stack objects alignment.

Definition at line 40 of file TargetData.h.

Enumerator:
NotAtomic 
Unordered 
Monotonic 
Acquire 
Release 
AcquireRelease 
SequentiallyConsistent 

Definition at line 37 of file Instructions.h.

Enumerator:
BeforeLegalizeTypes 
AfterLegalizeTypes 
AfterLegalizeVectorOps 
AfterLegalizeDAG 

Definition at line 114 of file SelectionDAG.h.

Enumerator:
InvalidGCOV 
GCNO_402 
GCNO_404 
GCDA_402 
GCDA_404 

Definition at line 30 of file GCOV.h.

Enumerator:
lfExactlyZero 
lfLessThanHalf 
lfExactlyHalf 
lfMoreThanHalf 

Definition at line 118 of file APFloat.h.

Enumerator:
MCAF_SyntaxUnified 

.syntax (ARM/ELF)

MCAF_SubsectionsViaSymbols 

.subsections_via_symbols (MachO)

MCAF_Code16 

.code16 (X86) / .code 16 (ARM)

MCAF_Code32 

.code32 (X86) / .code 32 (ARM)

MCAF_Code64 

.code64 (X86)

Definition at line 47 of file MCDirectives.h.

MCFixupKind - Extensible enumeration to represent the type of a fixup.

Enumerator:
FK_Data_1 

A one-byte fixup.

FK_Data_2 

A two-byte fixup.

FK_Data_4 

A four-byte fixup.

FK_Data_8 

A eight-byte fixup.

FK_PCRel_1 

A one-byte pc relative fixup.

FK_PCRel_2 

A two-byte pc relative fixup.

FK_PCRel_4 

A four-byte pc relative fixup.

FK_PCRel_8 

A eight-byte pc relative fixup.

FK_GPRel_1 

A one-byte gp relative fixup.

FK_GPRel_2 

A two-byte gp relative fixup.

FK_GPRel_4 

A four-byte gp relative fixup.

FK_GPRel_8 

A eight-byte gp relative fixup.

FK_SecRel_1 

A one-byte section relative fixup.

FK_SecRel_2 

A two-byte section relative fixup.

FK_SecRel_4 

A four-byte section relative fixup.

FK_SecRel_8 

A eight-byte section relative fixup.

FirstTargetFixupKind 
MaxTargetFixupKind 

Definition at line 22 of file MCFixup.h.

Enumerator:
MCSA_Invalid 

Not a valid directive.

MCSA_ELF_TypeFunction 

.type _foo, STT_FUNC # aka

MCSA_ELF_TypeIndFunction 

.type _foo, STT_GNU_IFUNC

MCSA_ELF_TypeObject 

.type _foo, STT_OBJECT # aka

MCSA_ELF_TypeTLS 

.type _foo, STT_TLS # aka

MCSA_ELF_TypeCommon 

.type _foo, STT_COMMON # aka

MCSA_ELF_TypeNoType 

.type _foo, STT_NOTYPE # aka

MCSA_ELF_TypeGnuUniqueObject 
MCSA_Global 

.type _foo,

.globl

MCSA_Hidden 

.hidden (ELF)

MCSA_IndirectSymbol 

.indirect_symbol (MachO)

MCSA_Internal 

.internal (ELF)

MCSA_LazyReference 

.lazy_reference (MachO)

MCSA_Local 

.local (ELF)

MCSA_NoDeadStrip 

.no_dead_strip (MachO)

MCSA_SymbolResolver 

.symbol_resolver (MachO)

MCSA_PrivateExtern 

.private_extern (MachO)

MCSA_Protected 

.protected (ELF)

MCSA_Reference 

.reference (MachO)

MCSA_Weak 

.weak

MCSA_WeakDefinition 

.weak_definition (MachO)

MCSA_WeakReference 

.weak_reference (MachO)

MCSA_WeakDefAutoPrivate 

.weak_def_can_be_hidden (MachO)

Definition at line 19 of file MCDirectives.h.

Enumerator:
VMOVModImm 
VMVNModImm 
OtherModImm 

Definition at line 538 of file ARMISelLowering.h.

ParmContext - This enum tracks whether calling convention lowering is in the context of prologue or call generation. Not all backends make use of this information.

Enumerator:
Unknown 
Prologue 
Call 

Definition at line 148 of file CallingConvLower.h.

Enumerator:
EXECUTION_MSG 
MODIFICATION_MSG 
FREEING_MSG 
ON_BASICBLOCK_MSG 
ON_FUNCTION_MSG 
ON_MODULE_MSG 
ON_REGION_MSG 
ON_LOOP_MSG 
ON_CG_MSG 

Definition at line 103 of file PassManagers.h.

Enumerator:
None 
Arguments 
Structure 
Executions 
Details 

Definition at line 44 of file PassManager.cpp.

Enumerator:
PT_BasicBlock 
PT_Region 
PT_Loop 
PT_Function 
PT_CallGraphSCC 
PT_Module 
PT_PassManager 

Definition at line 66 of file Pass.h.

Different types of internal pass managers. External pass managers (PassManager and FunctionPassManager) are not represented here. Ordering of pass manager types is important here.

Enumerator:
PMT_Unknown 
PMT_ModulePassManager 

MPPassManager.

PMT_CallGraphPassManager 

CGPassManager.

PMT_FunctionPassManager 

FPPassManager.

PMT_LoopPassManager 

LPPassManager.

PMT_RegionPassManager 

RGPassManager.

PMT_BasicBlockPassManager 

BBPassManager.

PMT_Last 

Definition at line 54 of file Pass.h.

Enumerator:
PROPERTY_MAXNTID_X 
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_ISKERNEL_FUNCTION 
PROPERTY_ALIGN 
PROPERTY_LAST 

Definition at line 34 of file NVPTXBaseInfo.h.

RemapFlags - These are flags that the value mapping APIs allow.

Enumerator:
RF_None 
RF_NoModuleLevelChanges 

RF_NoModuleLevelChanges - If this flag is set, the remapper knows that only local values within a function (such as an instruction or argument) are mapped, not global values like functions and global metadata.

RF_IgnoreMissingEntries 

RF_IgnoreMissingEntries - If this flag is set, the remapper ignores entries that are not in the value map. If it is unset, it aborts if an operand is asked to be remapped which doesn't exist in the mapping.

Definition at line 38 of file ValueMapper.h.

Enumerator:
scConstant 
scTruncate 
scZeroExtend 
scSignExtend 
scAddExpr 
scMulExpr 
scUDivExpr 
scAddRecExpr 
scUMaxExpr 
scSMaxExpr 
scUnknown 
scCouldNotCompute 

Definition at line 25 of file ScalarEvolutionExpressions.h.

SelectPatternFlavor - We can match a variety of different patterns for select operations.

Enumerator:
SPF_UNKNOWN 
SPF_SMIN 
SPF_UMIN 
SPF_SMAX 
SPF_UMAX 

Definition at line 32 of file InstCombine.h.

SymbolFlags - We store the value for the 'desc' symbol field in the lowest 16 bits of the implementation defined flags.

Enumerator:
ELF_STB_Local 
ELF_STB_Global 
ELF_STB_Weak 
ELF_STB_Loproc 
ELF_STB_Hiproc 
ELF_STT_Notype 
ELF_STT_Object 
ELF_STT_Func 
ELF_STT_Section 
ELF_STT_File 
ELF_STT_Common 
ELF_STT_Tls 
ELF_STT_Loproc 
ELF_STT_Hiproc 
ELF_STV_Default 
ELF_STV_Internal 
ELF_STV_Hidden 
ELF_STV_Protected 
ELF_Other_Weakref 
ELF_Other_ThumbFunc 
SF_DescFlagsMask 
SF_ReferenceTypeMask 
SF_ReferenceTypeUndefinedNonLazy 
SF_ReferenceTypeUndefinedLazy 
SF_ReferenceTypeDefined 
SF_ReferenceTypePrivateDefined 
SF_ReferenceTypePrivateUndefinedNonLazy 
SF_ReferenceTypePrivateUndefinedLazy 
SF_ThumbFunc 
SF_NoDeadStrip 
SF_WeakReference 
SF_WeakDefinition 
SF_SymbolResolver 

Definition at line 24 of file MCMachOSymbolFlags.h.

Enumerator:
ELF_STB_Local 
ELF_STB_Global 
ELF_STB_Weak 
ELF_STB_Loproc 
ELF_STB_Hiproc 
ELF_STT_Notype 
ELF_STT_Object 
ELF_STT_Func 
ELF_STT_Section 
ELF_STT_File 
ELF_STT_Common 
ELF_STT_Tls 
ELF_STT_Loproc 
ELF_STT_Hiproc 
ELF_STV_Default 
ELF_STV_Internal 
ELF_STV_Hidden 
ELF_STV_Protected 
ELF_Other_Weakref 
ELF_Other_ThumbFunc 
SF_DescFlagsMask 
SF_ReferenceTypeMask 
SF_ReferenceTypeUndefinedNonLazy 
SF_ReferenceTypeUndefinedLazy 
SF_ReferenceTypeDefined 
SF_ReferenceTypePrivateDefined 
SF_ReferenceTypePrivateUndefinedNonLazy 
SF_ReferenceTypePrivateUndefinedLazy 
SF_ThumbFunc 
SF_NoDeadStrip 
SF_WeakReference 
SF_WeakDefinition 
SF_SymbolResolver 

Definition at line 30 of file MCELFSymbolFlags.h.

Enumerator:
SingleThread 
CrossThread 

Definition at line 48 of file Instructions.h.

TransformKind - Different types of transformations that TransformForPostIncUse can do.

Enumerator:
Normalize 

Normalize - Normalize according to the given loops.

NormalizeAutodetect 

NormalizeAutodetect - Detect post-inc opportunities on new expressions, update the given loop set, and normalize.

Denormalize 

Denormalize - Perform the inverse transform on the expression with the given loop set.

Definition at line 52 of file ScalarEvolutionNormalization.h.

An enumeration to specify the action to be taken if errors found.

This enumeration is used in the functions below to indicate what should happen if the verifier finds errors. Each of the functions that uses this enumeration as an argument provides a default value for it. The actions are listed below.

Enumerator:
AbortProcessAction 

verifyModule will print to stderr and abort()

PrintMessageAction 

verifyModule will print to stderr and return true

ReturnStatusAction 

verifyModule will just return true

Definition at line 38 of file Verifier.h.


Function Documentation

int64_t llvm::abs64 ( int64_t  x) [inline]

abs64 - absolute value of a 64-bit int. Not all environments support "abs" on whatever their name for the 64-bit int type is. The absolute value of the largest negative number is undefined, as with "abs".

Definition at line 456 of file MathExtras.h.

Referenced by llvm::ARMTargetLowering::isLegalICmpImmediate().

void llvm::AddCatchInfo ( const CallInst I,
MachineModuleInfo MMI,
MachineBasicBlock MBB 
)
static const MachineInstrBuilder& llvm::addConstantPoolReference ( const MachineInstrBuilder &  MIB,
unsigned  CPI,
unsigned  GlobalBaseReg,
unsigned char  OpFlags 
) [inline, static]

addConstantPoolReference - This function is used to add a reference to the base of a constant value spilled to the per-function constant pool. The reference uses the abstract ConstantPoolIndex which is retained until either machine code emission or assembly output. In PIC mode on x86-32, the GlobalBaseReg parameter can be used to make this a GlobalBaseReg-relative reference.

Definition at line 174 of file X86InstrBuilder.h.

References llvm::MachineInstrBuilder::addConstantPoolIndex(), llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().

static const MachineInstrBuilder& llvm::AddDefaultCC ( const MachineInstrBuilder &  MIB) [inline, static]
static const MachineInstrBuilder& llvm::AddDefaultPred ( const MachineInstrBuilder &  MIB) [inline, static]
static const MachineInstrBuilder& llvm::AddDefaultT1CC ( const MachineInstrBuilder &  MIB,
bool  isDead = false 
) [inline, static]
static const MachineInstrBuilder& llvm::addDirectMem ( const MachineInstrBuilder &  MIB,
unsigned  Reg 
) [inline, static]

addDirectMem - This function is used to add a direct memory reference to the current instruction -- that is, a dereference of an address in a register, with no scale, index or displacement. An example is: DWORD PTR [EAX].

Definition at line 90 of file X86InstrBuilder.h.

References llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().

static const MachineInstrBuilder & llvm::addFrameReference ( const MachineInstrBuilder &  MIB,
int  FI,
int  Offset = 0,
bool  mem = true 
) [inline]

addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function. This reference has base register as the FrameIndex offset until it is resolved. This allows a constant offset to be specified as well...

Definition at line 33 of file SPUInstrBuilder.h.

References llvm::MachineInstrBuilder::addFrameIndex(), and llvm::MachineInstrBuilder::addImm().

Referenced by llvm::PPCInstrInfo::emitFrameIndexDebugValue(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::SPUInstrInfo::loadRegFromStackSlot(), llvm::X86InstrInfo::loadRegFromStackSlot(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::SPUInstrInfo::storeRegToStackSlot(), and llvm::X86InstrInfo::storeRegToStackSlot().

static const MachineInstrBuilder& llvm::addFrameReference ( const MachineInstrBuilder &  MIB,
int  FI,
int  Offset = 0 
) [inline, static]

addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function. This reference has base register as the FrameIndex offset until it is resolved. This allows a constant offset to be specified as well...

Definition at line 148 of file X86InstrBuilder.h.

References llvm::MachineInstrBuilder::addFrameIndex(), addOffset(), llvm::MachineInstr::getDesc(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MCInstrDesc::mayLoad(), llvm::MCInstrDesc::mayStore(), llvm::ARMCC::MI, llvm::MachineMemOperand::MOLoad, and llvm::MachineMemOperand::MOStore.

static const MachineInstrBuilder& llvm::addFullAddress ( const MachineInstrBuilder &  MIB,
const X86AddressMode &  AM 
) [inline, static]
void llvm::AddLandingPadInfo ( const LandingPadInst I,
MachineModuleInfo MMI,
MachineBasicBlock MBB 
)
void llvm::addNodeToInterval ( Interval *  Int,
BasicBlock *  BB 
) [inline]

Definition at line 68 of file IntervalIterator.h.

References llvm::Interval::Nodes.

void llvm::addNodeToInterval ( Interval *  Int,
Interval *  I 
) [inline]

Definition at line 79 of file IntervalIterator.h.

References llvm::Interval::Nodes.

static const MachineInstrBuilder& llvm::AddNoT1CC ( const MachineInstrBuilder &  MIB) [inline, static]

Definition at line 318 of file ARMBaseInstrInfo.h.

References llvm::MachineInstrBuilder::addReg().

static const MachineInstrBuilder& llvm::addOffset ( const MachineInstrBuilder &  MIB,
int  Offset 
) [inline, static]
static const MachineInstrBuilder& llvm::addRegOffset ( const MachineInstrBuilder &  MIB,
unsigned  Reg,
bool  isKill,
int  Offset 
) [inline, static]

addRegOffset - This function is used to add a memory reference of the form [Reg + Offset], i.e., one with no scale or index, but with a displacement. An example is: DWORD PTR [EAX + 4].

Definition at line 107 of file X86InstrBuilder.h.

References addOffset(), llvm::MachineInstrBuilder::addReg(), and getKillRegState().

Referenced by llvm::X86InstrInfo::convertToThreeAddress(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), and emitSPUpdate().

static const MachineInstrBuilder& llvm::addRegReg ( const MachineInstrBuilder &  MIB,
unsigned  Reg1,
bool  isKill1,
unsigned  Reg2,
bool  isKill2 
) [inline, static]

addRegReg - This function is used to add a memory reference of the form: [Reg + Reg].

Definition at line 114 of file X86InstrBuilder.h.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), and getKillRegState().

Referenced by llvm::X86InstrInfo::convertToThreeAddress().

template<typename T >
static unsigned llvm::alignOf ( ) [inline, static]

alignOf - A templated function that returns the minimum alignment of of a type. This provides no extra functionality beyond the AlignOf class besides some cosmetic cleanliness. Example usage: alignOf<int>() returns the alignment of an int.

Definition at line 57 of file AlignOf.h.

void llvm::appendToGlobalCtors ( Module M,
Function F,
int  Priority 
)

Append F to the list of global ctors of module M with the given Priority. This wraps the function in the appropriate structure and stores it along side other global constructors. For details see http://llvm.org/docs/LangRef.html#intg_global_ctors

Definition at line 58 of file ModuleUtils.cpp.

References appendToGlobalArray().

void llvm::appendToGlobalDtors ( Module M,
Function F,
int  Priority 
)

Same as appendToGlobalCtors(), but for global dtors.

Definition at line 62 of file ModuleUtils.cpp.

References appendToGlobalArray().

bool llvm::AreStatisticsEnabled ( )

Check if statistics are enabled.

Definition at line 108 of file Statistic.cpp.

References Enabled.

static const char* llvm::ARMCondCodeToString ( ARMCC::CondCodes  CC) [inline, static]
template<class T , std::size_t N>
T* llvm::array_endof ( T(&)  x[N]) [inline]

Find where an array ends (for ending iterators) This returns a pointer to the byte immediately after the end of an array.

Definition at line 228 of file STLExtras.h.

Referenced by llvm::TargetLowering::ValueTypeActionImpl::ValueTypeActionImpl().

template<class T , std::size_t N>
size_t llvm::array_lengthof ( T(&)  [N]) [inline]
template<class IteratorTy >
static void llvm::array_pod_sort ( IteratorTy  Start,
IteratorTy  End 
) [inline, static]

array_pod_sort - This sorts an array with the specified start and end extent. This is just like std::sort, except that it calls qsort instead of using an inlined template. qsort is slightly slower than std::sort, but most sorts are not performance critical in LLVM and std::sort has to be template instantiated for each type, leading to significant measured code bloat. This function should generally be used instead of std::sort where possible.

This function assumes that you have simple POD-like types that can be compared with operator< and can be moved with memcpy. If this isn't true, you should use std::sort.

NOTE: If qsort_r were portable, we could allow a custom comparator and default to std::less.

Definition at line 273 of file STLExtras.h.

References get_array_pad_sort_comparator.

Referenced by llvm::LoopBase< BasicBlock, Loop >::getExitEdges(), llvm::PassNameParser::printOptionInfo(), llvm::TargetRegistry::printRegisteredTargetsForVersion(), llvm::Inliner::removeDeadFunctions(), SimplifyBranchOnICmpChain(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), llvm::MCELFObjectTargetWriter::sortRelocs(), TurnSwitchRangeIntoICmp(), and ValuesOverlap().

template<class IteratorTy >
static void llvm::array_pod_sort ( IteratorTy  Start,
IteratorTy  End,
int(*)(const void *, const void *)  Compare 
) [inline, static]

Definition at line 281 of file STLExtras.h.

References llvm::MCID::Compare.

template<typename T >
static int llvm::array_pod_sort_comparator ( const void *  P1,
const void *  P2 
) [inline, static]

array_pod_sort_comparator - This is helper function for array_pod_sort, which just uses operator< on T.

Definition at line 241 of file STLExtras.h.

bool llvm::AsmVerbosityDefault ( false  )
double llvm::BitsToDouble ( uint64_t  Bits) [inline]

BitsToDouble - This function takes a 64-bit integer and returns the bit equivalent double.

Definition at line 361 of file MathExtras.h.

References llvm::tgtok::Bits.

Referenced by llvm::X86TargetLowering::BuildFILD().

float llvm::BitsToFloat ( uint32_t  Bits) [inline]

BitsToFloat - This function takes a 32-bit integer and returns the bit equivalent float.

Definition at line 372 of file MathExtras.h.

References llvm::tgtok::Bits, F(), and llvm::ARM_PROC::I.

MachineInstrBuilder llvm::BuildMI ( MachineFunction &  MF,
DebugLoc  DL,
const MCInstrDesc &  MCID 
) [inline]

BuildMI - Builder interface. Specify how to create the initial instruction itself.

Definition at line 187 of file MachineInstrBuilder.h.

References llvm::MachineFunction::CreateMachineInstr().

Referenced by llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::SparcInstrInfo::AnalyzeBranch(), llvm::X86InstrInfo::AnalyzeBranch(), llvm::X86InstrInfo::breakPartialRegDependency(), BuildMI(), llvm::PPCInstrInfo::commuteInstruction(), llvm::TargetInstrInfoImpl::commuteInstruction(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::PTXInstrInfo::copyPhysReg(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::SPUInstrInfo::copyPhysReg(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::MSP430InstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::HexagonInstrInfo::copyPhysReg(), llvm::MipsInstrInfo::copyPhysReg(), llvm::SparcInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::MBlazeInstrInfo::copyPhysReg(), llvm::X86InstrInfo::copyPhysReg(), llvm::PTXInstrInfo::copyRegToReg(), llvm::SparcRegisterInfo::eliminateCallFramePseudoInstr(), llvm::MSP430RegisterInfo::eliminateCallFramePseudoInstr(), llvm::MBlazeRegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateCallFramePseudoInstr(), llvm::XCoreRegisterInfo::eliminateCallFramePseudoInstr(), llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::HexagonRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::SPURegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::InstrEmitter::EmitDbgValue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::HexagonFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::SPUFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::MipsFrameLowering::emitEpilogue(), llvm::MBlazeFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::SparcInstrInfo::emitFrameIndexDebugValue(), llvm::XCoreInstrInfo::emitFrameIndexDebugValue(), llvm::MipsInstrInfo::emitFrameIndexDebugValue(), llvm::ARMBaseInstrInfo::emitFrameIndexDebugValue(), llvm::PPCInstrInfo::emitFrameIndexDebugValue(), llvm::X86InstrInfo::emitFrameIndexDebugValue(), llvm::SparcTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::MachineRegisterInfo::EmitLiveInCopies(), llvm::Thumb2RegisterInfo::emitLoadConstPool(), llvm::Thumb1RegisterInfo::emitLoadConstPool(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::XCoreFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::SPUFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::MipsFrameLowering::emitPrologue(), llvm::MBlazeFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitSPUpdate(), emitThumbConstant(), emitThumbRegPlusImmInReg(), expandLargeImm(), llvm::FastISel::FastEmitInst_(), llvm::FastISel::FastEmitInst_extractsubreg(), llvm::FastISel::FastEmitInst_i(), llvm::FastISel::FastEmitInst_ii(), llvm::FastISel::FastEmitInst_r(), llvm::FastISel::FastEmitInst_rf(), llvm::FastISel::FastEmitInst_ri(), llvm::FastISel::FastEmitInst_rii(), llvm::FastISel::FastEmitInst_rr(), llvm::FastISel::FastEmitInst_rri(), llvm::FastISel::FastEmitInst_rrr(), finalizeBundle(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::SparcInstrInfo::getGlobalBaseReg(), llvm::MBlazeInstrInfo::getGlobalBaseReg(), HandleVRSaveUpdate(), llvm::XCoreInstrInfo::InsertBranch(), llvm::HexagonInstrInfo::InsertBranch(), llvm::ARMBaseInstrInfo::InsertBranch(), llvm::NVPTXInstrInfo::InsertBranch(), llvm::MipsInstrInfo::InsertBranch(), llvm::SPUInstrInfo::InsertBranch(), llvm::SparcInstrInfo::InsertBranch(), llvm::MSP430InstrInfo::InsertBranch(), llvm::PTXInstrInfo::InsertBranch(), llvm::PPCInstrInfo::InsertBranch(), llvm::MBlazeInstrInfo::InsertBranch(), llvm::X86InstrInfo::InsertBranch(), InsertLDR_STR(), InsertNewDef(), llvm::MipsInstrInfo::insertNoop(), llvm::PPCInstrInfo::insertNoop(), llvm::MBlazeInstrInfo::insertNoop(), interruptFrameLayout(), loadFromStack(), llvm::X86InstrInfo::loadRegFromAddr(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::SPUInstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::MipsInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::MBlazeInstrInfo::loadRegFromStackSlot(), llvm::X86InstrInfo::loadRegFromStackSlot(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), MakeM0Inst(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseInstrInfo::reMaterialize(), llvm::X86InstrInfo::reMaterialize(), llvm::MSP430FrameLowering::restoreCalleeSavedRegisters(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::X86FrameLowering::restoreCalleeSavedRegisters(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::Thumb1RegisterInfo::saveScavengerRegister(), llvm::FunctionLoweringInfo::set(), llvm::XCoreFrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::MSP430FrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), llvm::X86InstrInfo::storeRegToAddr(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::SPUInstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::MipsInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::MBlazeInstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), and storeToStack().

MachineInstrBuilder llvm::BuildMI ( MachineFunction &  MF,
DebugLoc  DL,
const MCInstrDesc &  MCID,
unsigned  DestReg 
) [inline]

BuildMI - This version of the builder sets up the first operand as a destination virtual register.

Definition at line 196 of file MachineInstrBuilder.h.

References llvm::MachineFunction::CreateMachineInstr(), and llvm::RegState::Define.

MachineInstrBuilder llvm::BuildMI ( MachineBasicBlock &  BB,
MachineBasicBlock::iterator  I,
DebugLoc  DL,
const MCInstrDesc &  MCID,
unsigned  DestReg 
) [inline]

BuildMI - This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and sets up the first operand as a destination virtual register.

Definition at line 208 of file MachineInstrBuilder.h.

References llvm::MachineInstrBuilder::addReg(), llvm::MachineFunction::CreateMachineInstr(), llvm::RegState::Define, llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::ARMCC::MI.

MachineInstrBuilder llvm::BuildMI ( MachineBasicBlock &  BB,
MachineBasicBlock::instr_iterator  I,
DebugLoc  DL,
const MCInstrDesc &  MCID,
unsigned  DestReg 
) [inline]
MachineInstrBuilder llvm::BuildMI ( MachineBasicBlock &  BB,
MachineInstr *  I,
DebugLoc  DL,
const MCInstrDesc &  MCID,
unsigned  DestReg 
) [inline]
MachineInstrBuilder llvm::BuildMI ( MachineBasicBlock &  BB,
MachineBasicBlock::iterator  I,
DebugLoc  DL,
const MCInstrDesc &  MCID 
) [inline]

BuildMI - This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and does NOT take a destination register.

Definition at line 246 of file MachineInstrBuilder.h.

References llvm::MachineFunction::CreateMachineInstr(), llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::ARMCC::MI.

MachineInstrBuilder llvm::BuildMI ( MachineBasicBlock &  BB,
MachineBasicBlock::instr_iterator  I,
DebugLoc  DL,
const MCInstrDesc &  MCID 
) [inline]
MachineInstrBuilder llvm::BuildMI ( MachineBasicBlock &  BB,
MachineInstr *  I,
DebugLoc  DL,
const MCInstrDesc &  MCID 
) [inline]
MachineInstrBuilder llvm::BuildMI ( MachineBasicBlock *  BB,
DebugLoc  DL,
const MCInstrDesc &  MCID 
) [inline]

BuildMI - This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and does NOT take a destination register.

Definition at line 281 of file MachineInstrBuilder.h.

References BuildMI(), and llvm::MachineBasicBlock::end().

MachineInstrBuilder llvm::BuildMI ( MachineBasicBlock *  BB,
DebugLoc  DL,
const MCInstrDesc &  MCID,
unsigned  DestReg 
) [inline]

BuildMI - This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and sets up the first operand as a destination virtual register.

Definition at line 291 of file MachineInstrBuilder.h.

References BuildMI(), and llvm::MachineBasicBlock::end().

uint16_t llvm::ByteSwap_16 ( uint16_t  Value) [inline]

ByteSwap_16 - This function returns a byte-swapped representation of the 16-bit argument, Value.

Definition at line 140 of file MathExtras.h.

References llvm::sys::SwapByteOrder_16().

Referenced by llvm::APInt::byteSwap().

uint32_t llvm::ByteSwap_32 ( uint32_t  Value) [inline]

ByteSwap_32 - This function returns a byte-swapped representation of the 32-bit argument, Value.

Definition at line 146 of file MathExtras.h.

References llvm::sys::SwapByteOrder_32().

Referenced by llvm::APInt::byteSwap().

uint64_t llvm::ByteSwap_64 ( uint64_t  Value) [inline]

ByteSwap_64 - This function returns a byte-swapped representation of the 64-bit argument, Value.

Definition at line 152 of file MathExtras.h.

References llvm::sys::SwapByteOrder_64().

Referenced by llvm::APInt::byteSwap().

template<class T >
SmallVectorImpl<T>::const_pointer llvm::c_str ( SmallVectorImpl< T > &  str)
template<class FuncT , class NodeT >
void llvm::Calculate ( DominatorTreeBase< typename GraphTraits< NodeT >::NodeType > &  DT,
FuncT &  F 
)
template<class FuncT , class N >
void llvm::Calculate ( DominatorTreeBase< typename GraphTraits< N >::NodeType > &  DT,
FuncT &  F 
)

DominatorTree - Calculate the immediate dominator tree for a function.

template<typename PassName >
Pass* llvm::callDefaultCtor ( )

Definition at line 183 of file PassSupport.h.

bool llvm::callIsSmall ( ImmutableCallSite  CS)

Check whether a call will lower to something small.

This tests checks whether this callsite will lower to something significantly cheaper than a traditional call, often a single instruction. Note that if isInstructionFree(CS.getInstruction()) would return true, so will this function.

callIsSmall - If a call is likely to lower to a single target instruction, or is otherwise deemed small return true. TODO: Perhaps calls like memcpy, strcpy, etc?

Definition at line 25 of file CodeMetrics.cpp.

References F(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::Value::getName(), llvm::GlobalValue::hasLocalLinkage(), and llvm::Value::hasName().

Referenced by llvm::CodeMetrics::analyzeBasicBlock().

bool llvm::canConstantFoldCallTo ( const Function F)

canConstantFoldCallTo - Return true if its even possible to fold a call to the specified function.

Definition at line 1075 of file ConstantFolding.cpp.

References llvm::Function::getIntrinsicID(), llvm::Value::getName(), llvm::Value::hasName(), llvm::LibFunc::pow, and llvm::LibFunc::sqrt.

Referenced by CanConstantFold(), and ConstantFoldInstOperands().

bool llvm::CannotBeNegativeZero ( const Value V,
unsigned  Depth = 0 
)

CannotBeNegativeZero - Return true if we can prove that the specified FP value is never equal to -0.0.

CannotBeNegativeZero - Return true if we can prove that the specified FP value is never equal to -0.0.

NOTE: this function will need to be revisited when we support non-default rounding modes!

Definition at line 1299 of file ValueTracking.cpp.

References dyn_cast(), F(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::ARM_PROC::I, and llvm::LibFunc::sqrt.

Referenced by llvm::InstCombiner::visitFAdd().

template<typename T >
static size_t llvm::capacity_in_bytes ( const T &  x) [inline, static]

Definition at line 23 of file Capacity.h.

template<typename KeyT , typename ValueT , typename KeyInfoT >
static size_t llvm::capacity_in_bytes ( const DenseMap< KeyT, ValueT, KeyInfoT > &  X) [inline, static]
template<typename T , unsigned N>
static size_t llvm::capacity_in_bytes ( const SmallVector< T, N > &  X) [inline, static]

Definition at line 924 of file SmallVector.h.

References llvm::SmallVectorBase::capacity_in_bytes().

template<class X , class Y >
cast_retty<X, Y>::ret_type llvm::cast ( const Y Val) [inline]

Definition at line 193 of file Casting.h.

References X, and Y.

template<class X , class Y >
cast_retty<X, Y*>::ret_type llvm::cast_or_null ( Y Val) [inline]

Definition at line 203 of file Casting.h.

Value * llvm::CastToCStr ( Value V,
IRBuilder<> &  B 
)
static bool llvm::CC_ARM_AAPCS_Custom_f64 ( unsigned ValNo,
MVT &  ValVT,
MVT &  LocVT,
CCValAssign::LocInfo &  LocInfo,
ISD::ArgFlagsTy &  ArgFlags,
CCState &  State 
) [static]

Definition at line 106 of file ARMCallingConv.h.

References f64AssignAAPCS(), and llvm::MVT::v2f64.

static bool llvm::CC_ARM_APCS_Custom_f64 ( unsigned ValNo,
MVT &  ValVT,
MVT &  LocVT,
CCValAssign::LocInfo &  LocInfo,
ISD::ArgFlagsTy &  ArgFlags,
CCState &  State 
) [static]

Definition at line 58 of file ARMCallingConv.h.

References f64AssignAPCS(), and llvm::MVT::v2f64.

bool llvm::CheckBitcodeOutputToConsole ( raw_ostream stream_to_check,
bool  print_warning = true 
)

Check for output written to a console.

Determine if the raw_ostream provided is connected to a terminal. If so, generate a warning message to errs() advising against display of bitcode and return true. Otherwise just return false.

Parameters:
stream_to_checkThe stream to be checked
print_warningControl whether warnings are printed

Definition at line 21 of file SystemUtils.cpp.

References errs(), and llvm::raw_ostream::is_displayed().

void llvm::checkForCycles ( const SDNode N)
void llvm::checkForCycles ( const SelectionDAG DAG)
static Type* llvm::checkGEPType ( Type *  Ty) [inline, static]

Definition at line 704 of file Instructions.h.

Referenced by llvm::GetElementPtrInst::getGEPReturnType().

DIVariable llvm::cleanseInlinedVariable ( MDNode DV,
LLVMContext VMContext 
)
void llvm::CloneAndPruneFunctionInto ( Function NewFunc,
const Function OldFunc,
ValueToValueMapTy VMap,
bool  ModuleLevelChanges,
SmallVectorImpl< ReturnInst * > &  Returns,
const char *  NameSuffix = "",
ClonedCodeInfo CodeInfo = 0,
const TargetData TD = 0,
Instruction TheCall = 0 
)

CloneAndPruneFunctionInto - This works exactly like CloneFunctionInto, except that it does some simple constant prop and DCE on the fly. The effect of this is to copy significantly less code in cases where (for example) a function call with constant arguments is inlined, and those constant arguments cause a significant amount of code in the callee to be dead. Since this doesn't produce an exactly copy of the input, it can't be used for things like CloneFunction or CloneModule.

If ModuleLevelChanges is false, VMap contains no non-identity GlobalValue mappings.

CloneAndPruneFunctionInto - This works exactly like CloneFunctionInto, except that it does some simple constant prop and DCE on the fly. The effect of this is to copy significantly less code in cases where (for example) a function call with constant arguments is inlined, and those constant arguments cause a significant amount of code in the callee to be dead. Since this doesn't produce an exact copy of the input, it can't be used for things like CloneFunction or CloneModule.

Definition at line 362 of file CloneFunction.cpp.

References llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::BasicBlock::back(), llvm::BasicBlock::begin(), llvm::Function::begin(), ConstantFoldTerminator(), llvm::ValueMap< KeyT, ValueT, Config >::count(), DeleteDeadBlock(), dyn_cast(), llvm::Function::end(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), llvm::UndefValue::get(), llvm::Function::getBasicBlockList(), llvm::Function::getEntryBlock(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::BasicBlock::getInstList(), llvm::PHINode::getNumIncomingValues(), llvm::Instruction::getParent(), llvm::BasicBlock::getSinglePredecessor(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::ARM_PROC::I, llvm::BranchInst::isConditional(), MapValue(), llvm::PTXRegisterType::Pred, pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), recursivelySimplifyInstruction(), RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::Value::replaceAllUsesWith(), RF_NoModuleLevelChanges, RF_None, llvm::PHINode::setIncomingBlock(), llvm::PHINode::setIncomingValue(), and llvm::SmallVectorTemplateCommon< T >::size().

Referenced by InlineFunction().

BasicBlock * llvm::CloneBasicBlock ( const BasicBlock BB,
ValueToValueMapTy VMap,
const Twine NameSuffix = "",
Function F = 0,
ClonedCodeInfo CodeInfo = 0 
)

CloneBasicBlock - Return a copy of the specified basic block, but without embedding the block into a particular function. The block returned is an exact copy of the specified basic block, without any remapping having been performed. Because of this, this is only suitable for applications where the basic block will be inserted into the same function that it was cloned from (loop unrolling would use this, for example).

Also, note that this function makes a direct copy of the basic block, and can thus produce illegal LLVM code. In particular, it will copy any PHI nodes from the original block, even though there are no predecessors for the newly cloned block (thus, phi nodes will have to be updated). Also, this block will branch to the old successors of the original block: these successors will have to have any PHI nodes updated to account for the new incoming edges.

The correlation between instructions in the source and result basic blocks is recorded in the VMap map.

If you have a particular suffix you'd like to use to add to any cloned names, specify it as the optional third parameter.

If you would like the basic block to be auto-inserted into the end of a function, you can specify it as the optional fourth parameter.

If you would like to collect additional information about the cloned function, you can specify a ClonedCodeInfo object with the optional fifth parameter.

Definition at line 37 of file CloneFunction.cpp.

References llvm::BasicBlock::begin(), llvm::Instruction::clone(), llvm::ClonedCodeInfo::ContainsCalls, llvm::ClonedCodeInfo::ContainsDynamicAllocas, llvm::BasicBlock::Create(), llvm::BasicBlock::end(), F(), llvm::BasicBlock::getContext(), llvm::Function::getEntryBlock(), llvm::BasicBlock::getInstList(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::Value::hasName(), llvm::ARM_PROC::IE, and llvm::Value::setName().

Referenced by CloneFunctionInto(), CloneLoopBlocks(), and UnrollLoop().

Function * llvm::CloneFunction ( const Function F,
ValueToValueMapTy VMap,
bool  ModuleLevelChanges,
ClonedCodeInfo CodeInfo = 0 
)

CloneFunction - Return a copy of the specified function, but without embedding the function into another module. Also, any references specified in the VMap are changed to refer to their mapped value instead of the original one. If any of the arguments to the function are in the VMap, the arguments are deleted from the resultant function. The VMap is updated to include mappings from all of the instructions and basicblocks in the function from their old to new values. The final argument captures information about the cloned code if non-null.

If ModuleLevelChanges is false, VMap contains no non-identity GlobalValue mappings.

CloneFunction - Return a copy of the specified function, but without embedding the function into another module. Also, any references specified in the VMap are changed to refer to their mapped value instead of the original one. If any of the arguments to the function are in the VMap, the arguments are deleted from the resultant function. The VMap is updated to include mappings from all of the instructions and basicblocks in the function from their old to new values.

Definition at line 159 of file CloneFunction.cpp.

References llvm::Function::arg_begin(), llvm::Function::arg_end(), CloneFunctionInto(), llvm::ValueMap< KeyT, ValueT, Config >::count(), llvm::Function::Create(), llvm::FunctionType::get(), llvm::Function::getFunctionType(), llvm::GlobalValue::getLinkage(), llvm::Value::getName(), llvm::FunctionType::getReturnType(), llvm::ARM_PROC::I, and llvm::FunctionType::isVarArg().

Referenced by CloneFunction().

Function* llvm::CloneFunction ( const Function *  F,
ClonedCodeInfo *  CodeInfo = 0 
) [inline]

CloneFunction - Version of the function that doesn't need the VMap.

Definition at line 121 of file Cloning.h.

References CloneFunction().

void llvm::CloneFunctionInto ( Function NewFunc,
const Function OldFunc,
ValueToValueMapTy VMap,
bool  ModuleLevelChanges,
SmallVectorImpl< ReturnInst * > &  Returns,
const char *  NameSuffix = "",
ClonedCodeInfo CodeInfo = 0,
ValueMapTypeRemapper TypeMapper = 0 
)

Clone OldFunc into NewFunc, transforming the old arguments into references to VMap values. Note that if NewFunc already has basic blocks, the ones cloned into it will be added to the end of the function. This function fills in a list of return instructions, and can optionally remap types and/or append the specified suffix to all values cloned.

If ModuleLevelChanges is false, VMap contains no non-identity GlobalValue mappings.

Definition at line 76 of file CloneFunction.cpp.

References llvm::AttrListPtr::addAttr(), llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::Function::arg_size(), llvm::Function::begin(), CloneBasicBlock(), llvm::Function::copyAttributesFrom(), llvm::ValueMap< KeyT, ValueT, Config >::count(), llvm::Function::end(), llvm::BlockAddress::get(), llvm::Function::getAttributes(), llvm::AttrListPtr::getFnAttributes(), llvm::AttrListPtr::getParamAttributes(), llvm::AttrListPtr::getRetAttributes(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::hasAddressTaken(), llvm::ARM_PROC::I, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), RemapInstruction(), RF_NoModuleLevelChanges, RF_None, and llvm::Function::setAttributes().

Referenced by CloneFunction(), and CloneModule().

Module * llvm::CloneModule ( const Module M)

CloneModule - Return an exact copy of the specified module

CloneModule - Return an exact copy of the specified module. This is not as easy as it might seem because we have to worry about making copies of global variables and functions, and making their (initializers and references, respectively) refer to the right globals.

Definition at line 27 of file CloneModule.cpp.

Module * llvm::CloneModule ( const Module M,
ValueToValueMapTy VMap 
)
template<typename T >
unsigned llvm::ComputeEditDistance ( ArrayRef< T >  FromArray,
ArrayRef< T >  ToArray,
bool  AllowReplacements = true,
unsigned  MaxEditDistance = 0 
)

Determine the edit distance between two sequences.

Parameters:
FromArraythe first sequence to compare.
ToArraythe second sequence to compare.
AllowReplacementswhether to allow element replacements (change one element into another) as a single operation, rather than as two operations (an insertion and a removal).
MaxEditDistanceIf non-zero, the maximum edit distance that this routine is allowed to compute. If the edit distance will exceed that maximum, returns MaxEditDistance+1.
Returns:
the minimum number of element insertions, removals, or (if AllowReplacements is true) replacements needed to transform one of the given sequences into the other. If zero, the sequences are identical.

Definition at line 43 of file edit_distance.h.

References llvm::OwningArrayPtr< T >::reset(), and llvm::ArrayRef< T >::size().

Referenced by llvm::StringRef::edit_distance().

unsigned llvm::ComputeLinearIndex ( Type Ty,
const unsigned Indices,
const unsigned IndicesEnd,
unsigned  CurIndex = 0 
)

ComputeLinearIndex - Given an LLVM IR aggregate type and a sequence of insertvalue or extractvalue indices that identify a member, return the linearized index of the start of the member.

Definition at line 35 of file CodeGen/Analysis.cpp.

Referenced by ComputeLinearIndex().

unsigned llvm::ComputeLinearIndex ( Type *  Ty,
ArrayRef< unsigned Indices,
unsigned  CurIndex = 0 
) [inline]
void llvm::ComputeMaskedBits ( Value V,
APInt KnownZero,
APInt KnownOne,
const TargetData TD = 0,
unsigned  Depth = 0 
)

ComputeMaskedBits - Determine which of the bits specified in Mask are known to be either zero or one and return them in the KnownZero/KnownOne bit sets. This code only analyzes bits in Mask, in order to short-circuit processing.

This function is defined on values with integer type, values with pointer type (but only if TD is non-null), and vectors of integers. In the case where V is a vector, the mask, known zero, and known one values are the same width as the vector element, and the bit is set only if it is true for all of the elements in the vector.

ComputeMaskedBits - Determine which of the bits are known to be either zero or one and return them in the KnownZero/KnownOne bit sets.

NOTE: we cannot consider 'undef' to be "IsZero" here. The problem is that we cannot optimize based on the assumption that it is zero without changing it to be an explicit zero. If we don't change it to zero, other code could optimized based on the contradictory assumption that it is non-zero. Because instcombine aggressively folds operations with undef args anyway, this won't lose us code quality.

This function is defined on values with integer type, values with pointer type (but only if TD is non-null), and vectors of integers. In the case where V is a vector, known zero, and known one values are the same width as the vector element, and the bit is set only if it is true for all of the elements in the vector.

Definition at line 228 of file ValueTracking.cpp.

References llvm::ARM_PROC::A, llvm::APInt::abs(), Alloca, llvm::APIntOps::And(), Call, llvm::APInt::clearAllBits(), ComputeMaskedBitsAddSub(), computeMaskedBitsLoad(), ComputeMaskedBitsMul(), llvm::APInt::countLeadingOnes(), CountTrailingZeros_32(), CountTrailingZeros_64(), dyn_cast(), FPExt, FPToSI, gep_type_begin(), llvm::TargetData::getABITypeAlignment(), llvm::AllocaInst::getAlignment(), llvm::APInt::getAllOnesValue(), llvm::APInt::getBitWidth(), llvm::StructLayout::getElementOffset(), llvm::SequentialType::getElementType(), llvm::APInt::getHighBitsSet(), llvm::PHINode::getIncomingValue(), llvm::generic_gep_type_iterator< ItTy >::getIndexedType(), llvm::ExtractValueInst::getIndices(), llvm::APInt::getLowBitsSet(), llvm::PHINode::getNumIncomingValues(), llvm::ExtractValueInst::getNumIndices(), llvm::User::getNumOperands(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::TargetData::getPreferredAlignment(), llvm::Type::getScalarSizeInBits(), llvm::Type::getScalarType(), getTrue(), llvm::AllocaInst::getType(), llvm::Value::getType(), llvm::TargetData::getTypeSizeInBits(), llvm::PHINode::hasConstantValue(), llvm::ARM_PROC::I, IntToPtr, llvm::Type::isIntegerTy(), llvm::Type::isIntOrIntVectorTy(), llvm::APInt::isNonNegative(), llvm::Type::isPointerTy(), llvm::APInt::isPowerOf2(), llvm::Type::isSized(), llvm::Type::isVectorTy(), llvm::SPII::Load, Log2_32(), LShr, llvm::APIntOps::lshr(), MaxDepth, llvm::LLVMContext::MD_range, llvm::APIntOps::Or(), PHI, Select, llvm::APInt::setAllBits(), llvm::APInt::setBit(), SExt, SIToFP, Trunc, llvm::APInt::trunc(), llvm::APIntOps::Xor(), llvm::APInt::zext(), and llvm::APInt::zextOrTrunc().

Referenced by llvm::InstCombiner::ComputeMaskedBits(), ComputeMaskedBitsAddSub(), ComputeMaskedBitsMul(), ComputeNumSignBits(), ComputeSignBit(), EliminateDeadSwitchCases(), llvm::ScalarEvolution::GetMinTrailingZeros(), getOrEnforceKnownAlignment(), llvm::ScalarEvolution::getUnsignedRange(), isKnownNonZero(), isSafeToSpeculativelyExecute(), isZero(), MaskedValueIsZero(), llvm::InstCombiner::visitAdd(), and llvm::InstCombiner::visitICmpInstWithInstAndIntCst().

void llvm::computeMaskedBitsLoad ( const MDNode Ranges,
APInt KnownZero 
)
bool llvm::ComputeMultiple ( Value V,
unsigned  Base,
Value *&  Multiple,
bool  LookThroughSExt = false,
unsigned  Depth = 0 
)

ComputeMultiple - This function computes the integer multiple of Base that equals V. If successful, it returns true and returns the multiple in Multiple. If unsuccessful, it returns false. Also, if V can be simplified to an integer, then the simplified V is returned in Val. Look through sext only if LookThroughSExt=true.

ComputeMultiple - This function computes the integer multiple of Base that equals V. If successful, it returns true and returns the multiple in Multiple. If unsuccessful, it returns false. It looks through SExt instructions only if LookThroughSExt is true.

Definition at line 1177 of file ValueTracking.cpp.

References dyn_cast(), llvm::ConstantInt::get(), llvm::APInt::getBitWidth(), llvm::Value::getContext(), llvm::APInt::getLimitedValue(), llvm::ConstantExpr::getMul(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::ConstantInt::getValue(), llvm::ConstantExpr::getZExt(), llvm::ConstantInt::getZExtValue(), llvm::ARM_PROC::I, llvm::Type::isIntegerTy(), MaxDepth, llvm::APInt::setBit(), and SExt.

Referenced by computeArraySize().

unsigned llvm::ComputeNumSignBits ( Value V,
const TargetData TD = 0,
unsigned  Depth = 0 
)

ComputeNumSignBits - Return the number of times the sign bit of the register is replicated into the other bits. We know that at least 1 bit is always equal to the sign bit (itself), but other cases can give us information. For example, immediately after an "ashr X, 2", we know that the top 3 bits are all equal to each other, so we return 3.

'Op' must have a scalar integer type.

Definition at line 1006 of file ValueTracking.cpp.

References llvm::APIntOps::And(), ComputeMaskedBits(), llvm::APInt::countLeadingZeros(), dyn_cast(), llvm::APInt::getBitWidth(), llvm::PHINode::getIncomingValue(), llvm::PHINode::getNumIncomingValues(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::Type::getScalarSizeInBits(), llvm::Type::getScalarType(), llvm::Value::getType(), llvm::TargetData::getTypeSizeInBits(), llvm::APInt::getZExtValue(), llvm::Type::isIntOrIntVectorTy(), llvm::APInt::isNegative(), llvm::PatternMatch::m_APInt(), llvm::PatternMatch::match(), llvm::APIntOps::Or(), PHI, Select, SExt, Trunc, and llvm::APIntOps::Xor().

Referenced by llvm::InstCombiner::ComputeNumSignBits(), llvm::ScalarEvolution::getSignedRange(), llvm::InstCombiner::visitAShr(), llvm::InstCombiner::visitSExt(), and llvm::InstCombiner::visitShl().

void llvm::ComputeSignBit ( Value V,
bool KnownZero,
bool KnownOne,
const TargetData TD = 0,
unsigned  Depth = 0 
)

ComputeSignBit - Determine whether the sign bit is known to be zero or one. Convenience wrapper around ComputeMaskedBits.

Definition at line 780 of file ValueTracking.cpp.

References ComputeMaskedBits(), getBitWidth(), and llvm::Value::getType().

Referenced by isKnownNonZero(), and SimplifyICmpInst().

void llvm::ComputeUsesVAFloatArgument ( const CallInst I,
MachineModuleInfo MMI 
)

ComputeUsesVAFloatArgument - Determine if any floating-point values are being passed to this variadic function, and set the MachineModuleInfo's usesVAFloatArgument flag if so. This flag is used to emit an undefined reference to _fltused on Windows, which will link in MSVCRT's floating-point support.

Definition at line 382 of file FunctionLoweringInfo.cpp.

References llvm::CallInst::getArgOperand(), llvm::CallInst::getCalledValue(), llvm::Type::getContainedType(), llvm::CallInst::getNumArgOperands(), llvm::Value::getType(), llvm::FunctionType::isVarArg(), po_begin(), po_end(), llvm::MachineModuleInfo::setUsesVAFloatArgument(), and llvm::MachineModuleInfo::usesVAFloatArgument().

void llvm::ComputeValueVTs ( const TargetLowering TLI,
Type Ty,
SmallVectorImpl< EVT > &  ValueVTs,
SmallVectorImpl< uint64_t > *  Offsets = 0,
uint64_t  StartingOffset = 0 
)
constant_iterator llvm::constant_begin ( const Function *  F) [inline]

Definition at line 83 of file ConstantsScanner.h.

constant_iterator llvm::constant_end ( const Function *  F) [inline]

Definition at line 87 of file ConstantsScanner.h.

Constant * llvm::ConstantFoldBinaryInstruction ( unsigned  Opcode,
Constant V1,
Constant V2 
)
Constant * llvm::ConstantFoldCall ( Function F,
ArrayRef< Constant * >  Operands,
const TargetLibraryInfo TLI = 0 
)

ConstantFoldCall - Attempt to constant fold a call to the specified function with the specified arguments, returning null if unsuccessful.

We only fold functions with finite arguments. Folding NaN and inf is likely to be aborted with an exception anyway, and some host libms have known errors raising exceptions.

Currently APFloat versions of these functions do not exist, so we use the host native double versions. Float versions are not called directly but for all these it is true (float)(f((double)arg)) == f(arg). Long double not supported yet.

Definition at line 1197 of file ConstantFolding.cpp.

References llvm::LibFunc::acos, llvm::lltok::APFloat, llvm::LibFunc::asin, llvm::LibFunc::atan, llvm::LibFunc::atan2, llvm::LibFunc::ceil, ConstantFoldBinaryFP(), ConstantFoldConvertToInt(), ConstantFoldFP(), llvm::APFloat::convert(), llvm::LibFunc::cos, llvm::LibFunc::cosf, llvm::LibFunc::cosh, llvm::LibFunc::exp, llvm::LibFunc::exp2, llvm::LibFunc::fabs, llvm::LibFunc::floor, llvm::LibFunc::fmod, llvm::ConstantInt::get(), llvm::ConstantFP::get(), llvm::ConstantStruct::get(), llvm::Constant::getAggregateElement(), llvm::Function::getContext(), llvm::Type::getInt1Ty(), llvm::Function::getIntrinsicID(), llvm::Value::getName(), llvm::Constant::getNullValue(), llvm::Function::getReturnType(), llvm::TargetLibraryInfo::has(), llvm::Value::hasName(), llvm::APFloat::IEEEhalf, llvm::APFloat::IEEEsingle, llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm_unreachable, llvm::LibFunc::log, llvm::LibFunc::log10, llvm::APFloat::opOK, llvm::LibFunc::pow, llvm::APFloat::rmNearestTiesToEven, llvm::APInt::sadd_ov(), llvm::LibFunc::sin, llvm::LibFunc::sinf, llvm::LibFunc::sinh, llvm::ArrayRef< T >::size(), llvm::APInt::smul_ov(), llvm::LibFunc::sqrt, llvm::LibFunc::sqrtf, llvm::APInt::ssub_ov(), llvm::sys::fs::status(), llvm::LibFunc::tan, llvm::LibFunc::tanh, llvm::APInt::uadd_ov(), llvm::APInt::umul_ov(), and llvm::APInt::usub_ov().

Referenced by ConstantFoldInstOperands().

Constant * llvm::ConstantFoldCastInstruction ( unsigned  opcode,
Constant V,
Type DestTy 
)
Parameters:
opcodeThe opcode of the cast
VThe source constant
DestTyThe destination type

Definition at line 505 of file ConstantFold.cpp.

References llvm::APFloat::Bogus, llvm::CallingConv::C, llvm::APFloat::convert(), llvm::APFloat::convertFromAPInt(), llvm::APFloat::convertToInteger(), ExtractConstantBytes(), FoldBitCast(), foldConstantCastPair(), FPExt, FPToSI, llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::ConstantFP::get(), llvm::ConstantVector::get(), llvm::ConstantPointerNull::get(), llvm::UndefValue::get(), getBitWidth(), llvm::ConstantExpr::getCast(), llvm::CastInst::getCastOpcode(), llvm::Value::getContext(), llvm::SequentialType::getElementType(), llvm::ConstantExpr::getExtractElement(), getFoldedAlignOf(), getFoldedOffsetOf(), getFoldedSizeOf(), llvm::ConstantExpr::getMul(), llvm::Constant::getNullValue(), llvm::APInt::getNullValue(), llvm::User::getOperand(), llvm::ConstantExpr::getPointerCast(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::APFloat::IEEEdouble, llvm::APFloat::IEEEhalf, llvm::APFloat::IEEEquad, llvm::APFloat::IEEEsingle, IntToPtr, llvm::Type::isArrayTy(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::Type::isFP128Ty(), llvm::Type::isHalfTy(), llvm::Constant::isNullValue(), llvm::ConstantInt::isOne(), llvm::Type::isPPC_FP128Ty(), llvm::Type::isStructTy(), llvm::Type::isVectorTy(), llvm::Type::isX86_FP80Ty(), llvm::Type::isX86_MMXTy(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::APFloat::rmNearestTiesToEven, llvm::APFloat::rmTowardZero, SExt, SIToFP, Trunc, and llvm::APFloat::x87DoubleExtended.

Referenced by getFoldedCast().

Constant * llvm::ConstantFoldCompareInstOperands ( unsigned  Predicate,
Constant Ops0,
Constant Ops1,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0 
)
Constant * llvm::ConstantFoldCompareInstruction ( unsigned short  predicate,
Constant C1,
Constant C2 
)

Definition at line 1576 of file ConstantFold.cpp.

References llvm::CmpInst::BAD_FCMP_PREDICATE, llvm::CmpInst::BAD_ICMP_PREDICATE, llvm::APFloat::cmpEqual, llvm::APFloat::cmpGreaterThan, llvm::APFloat::cmpLessThan, llvm::APFloat::cmpUnordered, llvm::APFloat::compare(), evaluateFCmpRelation(), evaluateICmpRelation(), llvm::CmpInst::FCMP_FALSE, llvm::CmpInst::FCMP_OEQ, llvm::CmpInst::FCMP_OGE, llvm::CmpInst::FCMP_OGT, llvm::CmpInst::FCMP_OLE, llvm::CmpInst::FCMP_OLT, llvm::CmpInst::FCMP_ONE, llvm::CmpInst::FCMP_ORD, llvm::CmpInst::FCMP_TRUE, llvm::CmpInst::FCMP_UEQ, llvm::CmpInst::FCMP_UGE, llvm::CmpInst::FCMP_UGT, llvm::CmpInst::FCMP_ULE, llvm::CmpInst::FCMP_ULT, llvm::CmpInst::FCMP_UNE, llvm::CmpInst::FCMP_UNO, llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::VectorType::get(), llvm::ConstantVector::get(), llvm::UndefValue::get(), llvm::Constant::getAllOnesValue(), llvm::ConstantExpr::getBitCast(), llvm::ConstantExpr::getCompare(), llvm::Value::getContext(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantInt::getFalse(), llvm::ConstantExpr::getICmp(), llvm::Type::getInt1Ty(), llvm::ConstantExpr::getNot(), llvm::Constant::getNullValue(), llvm::User::getOperand(), llvm::CmpInst::getSwappedPredicate(), llvm::ConstantInt::getTrue(), llvm::ConstantExpr::getTrunc(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::ConstantExpr::getXor(), llvm::ConstantExpr::getZExt(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, llvm::ICmpInst::isEquality(), llvm::Type::isFloatingPointTy(), llvm::Type::isIntegerTy(), llvm::Constant::isNullValue(), llvm::Type::isPPC_FP128Ty(), llvm::CmpInst::isSigned(), llvm::CmpInst::isTrueWhenEqual(), llvm::Type::isVectorTy(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), SExt, llvm::APInt::sge(), llvm::APInt::sgt(), llvm::APInt::sle(), llvm::APInt::slt(), llvm::APInt::uge(), llvm::APInt::ugt(), llvm::APInt::ule(), llvm::APInt::ult(), and llvm::NVPTX::PTXLdStInstCode::V2.

Referenced by llvm::ConstantExpr::getFCmp(), and llvm::ConstantExpr::getICmp().

Constant * llvm::ConstantFoldConstantExpression ( const ConstantExpr CE,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0 
)
Constant * llvm::ConstantFoldExtractElementInstruction ( Constant Val,
Constant Idx 
)
Constant * llvm::ConstantFoldExtractValueInstruction ( Constant Agg,
ArrayRef< unsigned Idxs 
)
Constant * llvm::ConstantFoldGetElementPtr ( Constant C,
bool  inBounds,
ArrayRef< Constant * >  Idxs 
)

Definition at line 2066 of file ConstantFold.cpp.

References ConstantFoldGetElementPtrImpl().

Referenced by llvm::ConstantExpr::getGetElementPtr().

Constant * llvm::ConstantFoldGetElementPtr ( Constant C,
bool  inBounds,
ArrayRef< Value * >  Idxs 
)

Definition at line 2072 of file ConstantFold.cpp.

References ConstantFoldGetElementPtrImpl().

Constant * llvm::ConstantFoldInsertElementInstruction ( Constant Val,
Constant Elt,
Constant Idx 
)
Constant * llvm::ConstantFoldInsertValueInstruction ( Constant Agg,
Constant Val,
ArrayRef< unsigned Idxs 
)

ConstantFoldInsertValueInstruction - Attempt to constant fold an insertvalue instruction with the specified operands and indices. The constant result is returned if successful; if not, null is returned.

Definition at line 834 of file ConstantFold.cpp.

References llvm::CallingConv::C, llvm::ArrayRef< T >::empty(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::Constant::getAggregateElement(), llvm::Value::getType(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::ArrayRef< T >::slice(), and llvm::ARM_MB::ST.

Referenced by llvm::ConstantExpr::getInsertValue(), and SimplifyInsertValueInst().

Constant * llvm::ConstantFoldInstOperands ( unsigned  Opcode,
Type DestTy,
ArrayRef< Constant * >  Ops,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0 
)

ConstantFoldInstOperands - Attempt to constant fold an instruction with the specified operands. If successful, the constant result is returned, if not, null is returned. Note that this function can fail when attempting to fold instructions like loads and stores, which have no constant expression form.

ConstantFoldInstOperands - Attempt to constant fold an instruction with the specified opcode and operands. If successful, the constant result is returned, if not, null is returned. Note that this function can fail when attempting to fold instructions like loads and stores, which have no constant expression form.

TODO: This function neither utilizes nor preserves nsw/nuw/inbounds/etc information, due to only being passed an opcode and operands. Constant folding using this function strips this information.

Definition at line 870 of file ConstantFolding.cpp.

References llvm::ArrayRef< T >::back(), llvm::CallingConv::C, Call, canConstantFoldCallTo(), CastGEPIndices(), ConstantFoldCall(), ExtractElement(), F(), FoldBitCast(), FPExt, FPToSI, llvm::ConstantInt::get(), llvm::ConstantExpr::get(), llvm::ConstantExpr::getAnd(), llvm::ConstantExpr::getBitCast(), llvm::ConstantExpr::getCast(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getInsertElement(), llvm::ConstantExpr::getIntegerCast(), llvm::APInt::getLowBitsSet(), llvm::User::getOperand(), llvm::TargetData::getPointerSizeInBits(), llvm::Type::getScalarSizeInBits(), llvm::ConstantExpr::getSelect(), llvm::ConstantExpr::getShuffleVector(), llvm::Value::getType(), ICmp, IntToPtr, llvm::Instruction::isBinaryOp(), llvm_unreachable, Select, SExt, ShuffleVector, SIToFP, llvm::ArrayRef< T >::size(), llvm::ArrayRef< T >::slice(), SymbolicallyEvaluateBinop(), SymbolicallyEvaluateGEP(), and Trunc.

Referenced by CanShareConstantPoolEntry(), ConstantFoldCompareInstOperands(), ConstantFoldConstantExpression(), ConstantFoldInstruction(), EvaluateExpression(), SimplifyAddInst(), SimplifyAndInst(), SimplifyBinOp(), SimplifyDiv(), SimplifyMulInst(), SimplifyOrInst(), SimplifyRem(), SimplifyShift(), SimplifySubInst(), SimplifyTruncInst(), SimplifyWithOpReplaced(), and SimplifyXorInst().

Constant * llvm::ConstantFoldInstruction ( Instruction I,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0 
)

ConstantFoldInstruction - Try to constant fold the specified instruction. If successful, the constant result is returned, if not, null is returned. Note that this fails if not all of the operands are constant. Otherwise, this function can only fail when attempting to fold instructions like loads and stores, which have no constant expression form.

Definition at line 768 of file ConstantFolding.cpp.

References llvm::CallingConv::C, ConstantFoldCompareInstOperands(), ConstantFoldConstantExpression(), ConstantFoldInstOperands(), ConstantFoldLoadInst(), dyn_cast(), llvm::UndefValue::get(), llvm::ConstantExpr::getExtractValue(), llvm::ConstantExpr::getInsertValue(), llvm::Instruction::getOpcode(), llvm::Value::getType(), llvm::User::op_begin(), llvm::User::op_end(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().

Referenced by AddReachableCodeToWorklist(), CleanupConstantGlobalUsers(), ConstantPropUsersOf(), llvm::InstCombiner::DoOneIteration(), and SimplifyInstruction().

Constant * llvm::ConstantFoldLoadFromConstPtr ( Constant C,
const TargetData TD = 0 
)
Constant * llvm::ConstantFoldLoadThroughGEPConstantExpr ( Constant C,
ConstantExpr CE 
)

ConstantFoldLoadThroughGEPConstantExpr - Given a constant and a getelementptr constantexpr, return the constant value being addressed by the constant expression, or null if something is funny and we can't decide.

Definition at line 1038 of file ConstantFolding.cpp.

References llvm::CallingConv::C, llvm::Constant::getAggregateElement(), llvm::User::getNumOperands(), and llvm::User::getOperand().

Referenced by CleanupConstantGlobalUsers(), ConstantFoldLoadFromConstPtr(), and isSimpleEnoughPointerToCommit().

Constant * llvm::ConstantFoldLoadThroughGEPIndices ( Constant C,
ArrayRef< Constant * >  Indices 
)

ConstantFoldLoadThroughGEPIndices - Given a constant and getelementptr indices (with an *implied* zero pointer index that is not in the list), return the constant value being addressed by a virtual load, or null if something is funny and we can't decide.

Definition at line 1056 of file ConstantFolding.cpp.

References llvm::CallingConv::C, llvm::Constant::getAggregateElement(), and llvm::ArrayRef< T >::size().

Constant * llvm::ConstantFoldSelectInstruction ( Constant Cond,
Constant V1,
Constant V2 
)
Constant * llvm::ConstantFoldShuffleVectorInstruction ( Constant V1,
Constant V2,
Constant Mask 
)
bool llvm::ConstantFoldTerminator ( BasicBlock BB,
bool  DeleteDeadConditions = false 
)

ConstantFoldTerminator - If a terminator instruction is predicated on a constant value, convert it into an unconditional branch to the constant destination. This is a nontrivial operation because the successors of this basic block must have their PHI nodes updated. Also calls RecursivelyDeleteTriviallyDeadInstructions() on any branch/switch conditions and indirectbr addresses this might make dead if DeleteDeadConditions is true.

Definition at line 55 of file Local.cpp.

References llvm::IRBuilder< preserveNames, T, Inserter >::CreateBr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCondBr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpEQ(), dyn_cast(), llvm::Instruction::eraseFromParent(), llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::getCaseSuccessor(), llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::getCaseValue(), llvm::BasicBlock::getContext(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), RecursivelyDeleteTriviallyDeadInstructions(), and llvm::BasicBlock::removePredecessor().

Referenced by CloneAndPruneFunctionInto(), and MarkAliveBlocks().

unsigned llvm::convertAddSubFlagsOpcode ( unsigned  OldOpc)

Map pseudo instructions that imply an 'S' bit onto real opcodes. Whether the instruction is encoded with an 'S' bit is determined by the optional CPSR def operand.

Definition at line 1565 of file ARMBaseInstrInfo.cpp.

References AddSubFlagsOpcodeMap.

Referenced by llvm::ARMTargetLowering::AdjustInstrPostInstrSelection(), and llvm::ARMAsmPrinter::EmitInstruction().

bool llvm::ConvertDebugDeclareToDebugValue ( DbgDeclareInst DDI,
StoreInst SI,
DIBuilder Builder 
)

===---------------------------------------------------------------------===// Dbg Intrinsic utilities Inserts a llvm.dbg.value instrinsic before the stores to an alloca'd value that has an associated llvm.dbg.decl intrinsic.

Definition at line 791 of file Local.cpp.

References dyn_cast(), llvm::Instruction::getDebugLoc(), llvm::User::getOperand(), llvm::DbgDeclareInst::getVariable(), llvm::DIBuilder::insertDbgValueIntrinsic(), llvm::DebugLoc::isUnknown(), llvm::Instruction::setDebugLoc(), and SExt.

Referenced by LowerDbgDeclare().

bool llvm::ConvertDebugDeclareToDebugValue ( DbgDeclareInst DDI,
LoadInst LI,
DIBuilder Builder 
)

Inserts a llvm.dbg.value instrinsic before the stores to an alloca'd value that has an associated llvm.dbg.decl intrinsic.

Definition at line 822 of file Local.cpp.

References llvm::Instruction::getDebugLoc(), llvm::User::getOperand(), llvm::DbgDeclareInst::getVariable(), llvm::DIBuilder::insertDbgValueIntrinsic(), llvm::DebugLoc::isUnknown(), and llvm::Instruction::setDebugLoc().

unsigned llvm::CountLeadingOnes_32 ( uint32_t  Value) [inline]

CountLeadingOnes_32 - this function performs the operation of counting the number of ones from the most significant bit to the first zero bit. Ex. CountLeadingOnes_32(0xFF0FFF00) == 8. Returns 32 if the word is all ones.

Definition at line 188 of file MathExtras.h.

References CountLeadingZeros_32().

unsigned llvm::CountLeadingOnes_64 ( uint64_t  Value) [inline]

CountLeadingOnes_64 - This function performs the operation of counting the number of ones from the most significant bit to the first zero bit (64 bit edition.) Returns 64 if the word is all ones.

Definition at line 240 of file MathExtras.h.

References CountLeadingZeros_64().

Referenced by llvm::APInt::countLeadingOnes().

unsigned llvm::CountLeadingZeros_32 ( uint32_t  Value) [inline]

CountLeadingZeros_32 - this function performs the platform optimal form of counting the number of zeros from the most significant bit to the first one bit. Ex. CountLeadingZeros_32(0x00F000FF) == 8. Returns 32 if the word is zero.

Definition at line 160 of file MathExtras.h.

Referenced by CountLeadingOnes_32(), CountLeadingZeros_64(), llvm::ARM_AM::getT2SOImmValRotateVal(), KnuthDiv(), Log2_32(), Log2_32_Ceil(), PerformBFICombine(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), and rewriteT2FrameIndex().

unsigned llvm::CountLeadingZeros_64 ( uint64_t  Value) [inline]

CountLeadingZeros_64 - This function performs the platform optimal form of counting the number of zeros from the most significant bit to the first one bit (64 bit edition.) Returns 64 if the word is zero.

Definition at line 196 of file MathExtras.h.

References CountLeadingZeros_32(), llvm::SPUISD::Hi, Hi_32(), llvm::SPUISD::Lo, and Lo_32().

Referenced by CheckForMaskedLoad(), CountLeadingOnes_64(), llvm::APInt::countLeadingZeros(), FoldMaskAndShiftToScale(), Log2_64(), and Log2_64_Ceil().

static uint8_t llvm::CountOfUnwindCodes ( std::vector< MCWin64EHInstruction > &  instArray) [static]
unsigned llvm::CountPopulation_32 ( uint32_t  Value) [inline]

CountPopulation_32 - this function counts the number of set bits in a value. Ex. CountPopulation(0xF000F000) = 8 Returns 0 if the word is zero.

Definition at line 299 of file MathExtras.h.

Referenced by llvm::BitVector::count(), llvm::SparseBitVectorElement< ElementSize >::count(), llvm::SmallBitVector::count(), DecodeRegListOperand(), and ExpandPowI().

unsigned llvm::CountPopulation_64 ( uint64_t  Value) [inline]

CountPopulation_64 - this function counts the number of set bits in a value, (64 bit edition.)

Definition at line 311 of file MathExtras.h.

Referenced by llvm::BitVector::count(), llvm::SparseBitVectorElement< ElementSize >::count(), llvm::SmallBitVector::count(), llvm::APInt::countPopulation(), IsShiftedMask(), and llvm::SelectionDAGBuilder::visitBitTestCase().

unsigned llvm::CountTrailingOnes_32 ( uint32_t  Value) [inline]

CountTrailingOnes_32 - this function performs the operation of counting the number of ones from the least significant bit to the first zero bit. Ex. CountTrailingOnes_32(0x00FF00FF) == 8. Returns 32 if the word is all ones.

Definition at line 265 of file MathExtras.h.

References CountTrailingZeros_32().

unsigned llvm::CountTrailingOnes_64 ( uint64_t  Value) [inline]

CountTrailingOnes_64 - This function performs the operation of counting the number of ones from the least significant bit to the first zero bit (64 bit edition.) Returns 64 if the word is all ones.

Definition at line 292 of file MathExtras.h.

References CountTrailingZeros_64().

Referenced by CheckForMaskedLoad(), llvm::APInt::countTrailingOnes(), FoldMaskAndShiftToScale(), and llvm::SelectionDAGBuilder::visitBitTestCase().

unsigned llvm::CountTrailingZeros_32 ( uint32_t  Value) [inline]
unsigned llvm::CountTrailingZeros_64 ( uint64_t  Value) [inline]
aa Exhaustive Alias Analysis Precision true FunctionPass * llvm::createAAEvalPass ( )

Definition at line 87 of file AliasAnalysisEvaluator.cpp.

ModulePass * llvm::createAddressSanitizerPass ( )

Definition at line 192 of file AddressSanitizer.cpp.

FunctionPass * llvm::createAggressiveDCEPass ( )
ModulePass* llvm::createAliasAnalysisCounterPass ( )
Pass* llvm::createAliasDebugger ( )
FunctionPass * llvm::createAllocaHoisting ( )

Definition at line 44 of file NVPTXAllocaHoisting.cpp.

Referenced by llvm::NVPTXPassConfig::addInstSelector().

always Inliner for always_inline false Pass * llvm::createAlwaysInlinerPass ( )

createAlwaysInlinerPass - Return a new pass object that inlines only functions that are marked as "always_inline".

Definition at line 60 of file InlineAlways.cpp.

Referenced by LLVMAddAlwaysInlinerPass().

Pass * llvm::createAlwaysInlinerPass ( bool  InsertLifetime)

Definition at line 62 of file InlineAlways.cpp.

Promote by reference arguments to false Pass * llvm::createArgumentPromotionPass ( unsigned  maxElements = 3)

createArgumentPromotionPass - This pass promotes "by reference" arguments to be passed by value if the number of elements passed is smaller or equal to maxElements (maxElements == 0 means always promote).

Definition at line 95 of file ArgumentPromotion.cpp.

Referenced by LLVMAddArgumentPromotionPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().

MCAsmBackend * llvm::createARMAsmBackend ( const Target T,
StringRef  TT 
)
FunctionPass * llvm::createARMConstantIslandPass ( )

createARMConstantIslandPass - returns an instance of the constpool island pass.

Definition at line 372 of file ARMConstantIslandPass.cpp.

MCObjectWriter * llvm::createARMELFObjectWriter ( raw_ostream OS,
uint8_t  OSABI 
)

createARMELFObjectWriter - Construct an ELF Mach-O object writer.

Definition at line 279 of file ARMELFObjectWriter.cpp.

References createELFObjectWriter().

FunctionPass * llvm::createARMExpandPseudoPass ( )

createARMExpandPseudoPass - returns an instance of the pseudo instruction expansion pass.

Definition at line 1248 of file ARMExpandPseudoInsts.cpp.

FunctionPass* llvm::createARMGlobalMergePass ( const TargetLowering *  tli)
FunctionPass * llvm::createARMISelDag ( ARMBaseTargetMachine TM,
CodeGenOpt::Level  OptLevel 
)

createARMISelDag - This pass converts a legalized DAG into a ARM-specific DAG, ready for instruction scheduling.

Definition at line 3394 of file ARMISelDAGToDAG.cpp.

FunctionPass * llvm::createARMJITCodeEmitterPass ( ARMBaseTargetMachine TM,
JITCodeEmitter JCE 
)

createARMJITCodeEmitterPass - Return a pass that emits the collected ARM code to the specified MCE object.

Definition at line 362 of file ARMCodeEmitter.cpp.

Referenced by llvm::ARMBaseTargetMachine::addCodeEmitter().

FunctionPass * llvm::createARMLoadStoreOptimizationPass ( bool  PreAlloc = false)

createARMLoadStoreOptimizationPass - returns an instance of the load / store optimization pass.

Definition at line 1910 of file ARMLoadStoreOptimizer.cpp.

MCObjectWriter * llvm::createARMMachObjectWriter ( raw_ostream OS,
bool  Is64Bit,
uint32_t  CPUType,
uint32_t  CPUSubtype 
)

createARMMachObjectWriter - Construct an ARM Mach-O object writer.

Definition at line 434 of file ARMMachObjectWriter.cpp.

References createMachObjectWriter().

MCCodeEmitter * llvm::createARMMCCodeEmitter ( const MCInstrInfo MCII,
const MCRegisterInfo MRI,
const MCSubtargetInfo STI,
MCContext Ctx 
)

Definition at line 338 of file ARMMCCodeEmitter.cpp.

Referenced by LLVMInitializeARMTargetMC().

MCStreamer * llvm::createAsmStreamer ( MCContext Ctx,
formatted_raw_ostream OS,
bool  isVerboseAsm,
bool  useLoc,
bool  useCFI,
bool  useDwarfDirectory,
MCInstPrinter InstPrint = 0,
MCCodeEmitter CE = 0,
MCAsmBackend TAB = 0,
bool  ShowInst = false 
)

createAsmStreamer - Create a machine code streamer which will print out assembly for the native target, suitable for compiling with a native assembler.

Parameters:
InstPrint- If given, the instruction printer to use. If not given the MCInst representation will be printed. This method takes ownership of InstPrint.
CE- If given, a code emitter to use to show the instruction encoding inline with the assembly. This method takes ownership of
  • CE.
TAB- If given, a target asm backend to use to show the fixup information in conjunction with encoding information. This method takes ownership of
  • TAB.
ShowInst- Whether to show the MCInst representation inline with the assembly.
DecodeLSDA- If true, emit comments that translates the LSDA into a human readable format. Only usable with CFI.

Definition at line 1325 of file MCAsmStreamer.cpp.

Referenced by llvm::TargetRegistry::RegisterAsmStreamer().

Basic Alias false ImmutablePass * llvm::createBasicAliasAnalysisPass ( )
FunctionPass * llvm::createBasicRegisterAllocator ( )

BasicRegisterAllocation Pass - This pass implements a degenerate global register allocator using the basic regalloc framework.

Definition at line 354 of file RegAllocBasic.cpp.

BasicBlockPass * llvm::createBBVectorizePass ( const VectorizeConfig C = VectorizeConfig())
ModulePass * llvm::createBitcodeWriterPass ( raw_ostream Str)

createBitcodeWriterPass - Create and return a pass that writes the module to the specified ostream.

Definition at line 39 of file BitcodeWriterPass.cpp.

ModulePass* llvm::createBlockExtractorPass ( )

createBlockExtractorPass - This pass extracts all blocks (except those specified in the argument list) from the functions in the module.

block Profile Guided Basic Block false FunctionPass * llvm::createBlockPlacementPass ( )

Definition at line 85 of file BasicBlockPlacement.cpp.

FunctionPass* llvm::createBreakCriticalEdgesPass ( )
llvm::ScheduleDAGSDNodes * llvm::createBURRListDAGScheduler ( SelectionDAGISel IS,
CodeGenOpt::Level  OptLevel 
)

createBURRListDAGScheduler - This creates a bottom up register usage reduction list scheduler.

Definition at line 2949 of file ScheduleDAGRRList.cpp.

References llvm::TargetMachine::getInstrInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::SelectionDAGISel::MF, and llvm::SelectionDAGISel::TM.

Referenced by createDefaultScheduler().

FunctionPass * llvm::createCFGOnlyPrinterPass ( )

Definition at line 162 of file CFGPrinter.cpp.

FunctionPass * llvm::createCFGPrinterPass ( )

Definition at line 158 of file CFGPrinter.cpp.

FunctionPass* llvm::createCFGSimplificationPass ( )
Optimize for code false FunctionPass * llvm::createCodeGenPreparePass ( const TargetLowering TLI = 0)

Definition at line 142 of file CodeGenPrepare.cpp.

Referenced by llvm::TargetPassConfig::addISelPrepare().

MCAsmParserExtension * llvm::createCOFFAsmParser ( )

Definition at line 494 of file COFFAsmParser.cpp.

ModulePass* llvm::createConstantMergePass ( )

createConstantMergePass - This function returns a new pass that merges duplicate global constants together into a single constant that is shared. This is useful because some passes (ie TraceValues) insert a lot of string constants into the program, regardless of whether or not they duplicate an existing string.

Referenced by LLVMAddConstantMergePass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().

Simple constant false FunctionPass * llvm::createConstantPropagationPass ( )
correlated Value false Pass * llvm::createCorrelatedValuePropagationPass ( )
MCAsmParserExtension * llvm::createDarwinAsmParser ( )

Definition at line 664 of file DarwinAsmParser.cpp.

FunctionPass* llvm::createDbgInfoPrinterPass ( )
ModulePass* llvm::createDeadArgEliminationPass ( )

createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the body of the function.

Referenced by LLVMAddDeadArgEliminationPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().

ModulePass * llvm::createDeadArgHackingPass ( )

DeadArgHacking pass - Same as DAE, but delete arguments of external functions as well. This is definitely not safe, and should only be used by bugpoint.

Definition at line 181 of file DeadArgumentElimination.cpp.

FunctionPass * llvm::createDeadCodeEliminationPass ( )

Definition at line 132 of file DCE.cpp.

Referenced by llvm::HexagonTargetMachine::addPassesForOptimizations().

Pass* llvm::createDeadInstEliminationPass ( )
FunctionPass * llvm::createDeadStoreEliminationPass ( )
FunctionPass * llvm::createDefaultPBQPRegisterAllocator ( )

PBQPRegisterAllocation Pass - This pass implements the Partitioned Boolean Quadratic Prograaming (PBQP) based register allocator.

Definition at line 747 of file RegAllocPBQP.cpp.

References createPBQPRegisterAllocator(), and pbqpCoalescing.

ScheduleDAGSDNodes * llvm::createDefaultScheduler ( SelectionDAGISel IS,
CodeGenOpt::Level  OptLevel 
)
FunctionPass * llvm::createDemoteRegisterToMemoryPass ( )

Definition at line 132 of file Reg2Mem.cpp.

Referenced by LLVMAddDemoteMemoryToRegisterPass().

FunctionPass * llvm::createDomOnlyPrinterPass ( )

Definition at line 206 of file DomPrinter.cpp.

FunctionPass * llvm::createDomOnlyViewerPass ( )

Definition at line 214 of file DomPrinter.cpp.

FunctionPass* llvm::createDomPrinterPass ( )
FunctionPass * llvm::createDomViewerPass ( )

Definition at line 210 of file DomPrinter.cpp.

ModulePass* llvm::createDSAAPass ( )
ModulePass* llvm::createDSOptPass ( )
FunctionPass * llvm::createDwarfEHPass ( const TargetMachine tm)

createDwarfEHPass - This pass mulches exception handling code into a form adapted to code generation. Required if using dwarf exception handling.

Definition at line 64 of file DwarfEHPrepare.cpp.

Referenced by addPassesToHandleExceptions().

FunctionPass * llvm::createEarlyCSEPass ( )
ModulePass* llvm::createEdgeProfilerPass ( )
MCAsmParserExtension * llvm::createELFAsmParser ( )

Definition at line 607 of file ELFAsmParser.cpp.

MCObjectWriter * llvm::createELFObjectWriter ( MCELFObjectTargetWriter MOTW,
raw_ostream OS,
bool  IsLittleEndian 
)

Construct a new ELF writer instance.

Parameters:
MOTW- The target specific ELF writer subclass.
OS- The stream to write to.
Returns:
The constructed object writer.

Definition at line 1551 of file ELFObjectWriter.cpp.

Referenced by createARMELFObjectWriter(), createMBlazeELFObjectWriter(), createMipsELFObjectWriter(), createPPCELFObjectWriter(), and createX86ELFObjectWriter().

MCStreamer * llvm::createELFStreamer ( MCContext Ctx,
MCAsmBackend TAB,
raw_ostream OS,
MCCodeEmitter CE,
bool  RelaxAll,
bool  NoExecStack 
)

createELFStreamer - Create a machine code streamer which will generate ELF format object files.

Definition at line 512 of file MCELFStreamer.cpp.

Referenced by createMCStreamer().

FunctionPass* llvm::createEmitX86CodeToMemory ( )

createX86EmitCodeToMemory - Returns a pass that converts a register allocated function into raw machine code in a dynamically allocated chunk of memory.

FunctionPass * llvm::createExecutionDependencyFixPass ( const TargetRegisterClass RC)

createExecutionDependencyFixPass - This pass fixes execution time problems with dependent instructions, such as switching execution domains to match.

The pass will examine instructions using and defining registers in RC.

Definition at line 719 of file ExecutionDepsFix.cpp.

llvm::ScheduleDAGSDNodes * llvm::createFastDAGScheduler ( SelectionDAGISel IS,
CodeGenOpt::Level  OptLevel 
)

createFastDAGScheduler - This creates a "fast" scheduler.

Definition at line 642 of file ScheduleDAGFast.cpp.

References llvm::SelectionDAGISel::MF.

FunctionPass * llvm::createFastRegisterAllocator ( )

FastRegisterAllocation Pass - This pass register allocates as fast as possible. It is best suited for debug code where live ranges are short.

Definition at line 1163 of file RegAllocFast.cpp.

Referenced by llvm::TargetPassConfig::createTargetRegisterAllocator().

Deduce function false Pass * llvm::createFunctionAttrsPass ( )

createFunctionAttrsPass - This pass discovers functions that do not access memory, or only read memory, and gives them the readnone/readonly attribute. It also discovers function arguments that are not captured by the function and marks them with the nocapture attribute.

Definition at line 83 of file FunctionAttrs.cpp.

Referenced by LLVMAddFunctionAttrsPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().

Function Integration false Pass * llvm::createFunctionInliningPass ( )

createFunctionInliningPass - Return a new pass object that uses a heuristic to inline direct function calls to small functions.

The -inline-threshold command line option takes precedence over the threshold given here.

Definition at line 56 of file InlineSimple.cpp.

Referenced by LLVMAddFunctionInliningPass(), LLVMPassManagerBuilderUseInlinerWithThreshold(), and llvm::PassManagerBuilder::populateLTOPassManager().

Pass * llvm::createFunctionInliningPass ( int  Threshold)

Definition at line 58 of file InlineSimple.cpp.

FunctionPass * llvm::createGCInfoDeleter ( )

Deleter Pass - Releases GC metadata.

Definition at line 189 of file GCMetadata.cpp.

Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), and llvm::LLVMTargetMachine::addPassesToEmitMachineCode().

FunctionPass * llvm::createGCInfoPrinter ( raw_ostream OS)

Creates a pass to print GC metadata.

Definition at line 129 of file GCMetadata.cpp.

References Printer.

Referenced by llvm::TargetPassConfig::addMachinePasses().

FunctionPass* llvm::createGCLoweringPass ( )

GCLowering Pass - Performs target-independent LLVM IR transformations for highly portable strategies.

Referenced by llvm::TargetPassConfig::addIRPasses().

ModulePass* llvm::createGCOVProfilerPass ( bool  EmitNotes = true,
bool  EmitData = true,
bool  Use402Format = false,
bool  UseExtraChecksum = false 
)
FunctionPass * llvm::createGlobalBaseRegPass ( )

createGlobalBaseRegPass - This pass initializes a global base register for PIC on x86-32.

Definition at line 3873 of file X86InstrInfo.cpp.

ModulePass* llvm::createGlobalDCEPass ( )

createGlobalDCEPass - This transform is designed to eliminate unreachable internal globals (functions or global variables)

Referenced by LLVMAddGlobalDCEPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().

Pass * llvm::createGlobalMergePass ( const TargetLowering TLI = 0)

Definition at line 224 of file GlobalMerge.cpp.

Global Variable false ModulePass * llvm::createGlobalOptimizerPass ( )

createGlobalOptimizerPass - This function returns a new pass that optimizes non-address taken internal globals.

Definition at line 98 of file GlobalOpt.cpp.

Referenced by LLVMAddGlobalOptimizerPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().

globalsmodref Simple mod ref analysis for false Pass * llvm::createGlobalsModRefPass ( )

Definition at line 197 of file GlobalsModRef.cpp.

Referenced by llvm::PassManagerBuilder::populateLTOPassManager().

FunctionPass * llvm::createGreedyRegisterAllocator ( )

Greedy register allocation pass - This pass implements a global register allocator for optimized builds.

Definition at line 314 of file RegAllocGreedy.cpp.

Referenced by llvm::TargetPassConfig::createTargetRegisterAllocator().

ModulePass * llvm::createGVExtractionPass ( std::vector< GlobalValue * > &  GVs,
bool  deleteFn = false 
)

createGVExtractionPass - If deleteFn is true, this pass deletes the specified global values. Otherwise, it deletes as much of the module as possible, except for the global values specified.

Definition at line 89 of file ExtractGV.cpp.

FunctionPass * llvm::createGVNPass ( bool  NoLoads = false)
FunctionPass * llvm::createHexagonCFGOptimizer ( HexagonTargetMachine TM)

Definition at line 233 of file HexagonCFGOptimizer.cpp.

FunctionPass* llvm::createHexagonDelaySlotFillerPass ( TargetMachine &  TM)
FunctionPass * llvm::createHexagonExpandPredSpillCode ( HexagonTargetMachine TM)

Definition at line 177 of file HexagonExpandPredSpillCode.cpp.

FunctionPass * llvm::createHexagonFixupHwLoops ( )

createHexagonFixupHwLoops - Factory for creating the hardware loop phase.

Definition at line 544 of file HexagonHardwareLoops.cpp.

FunctionPass* llvm::createHexagonFPMoverPass ( TargetMachine &  TM)
FunctionPass * llvm::createHexagonHardwareLoops ( )

createHexagonHardwareLoops - Factory for creating the hardware loop phase.

Definition at line 217 of file HexagonHardwareLoops.cpp.

FunctionPass * llvm::createHexagonISelDag ( HexagonTargetMachine TM)

createHexagonISelDag - This pass converts a legalized DAG into a Hexagon-specific DAG, ready for instruction scheduling.

Definition at line 107 of file HexagonISelDAGToDAG.cpp.

FunctionPass * llvm::createHexagonNewValueJump ( )

Definition at line 647 of file HexagonNewValueJump.cpp.

FunctionPass * llvm::createHexagonPacketizer ( )

Definition at line 3643 of file HexagonVLIWPacketizer.cpp.

FunctionPass * llvm::createHexagonPeephole ( )

Definition at line 286 of file HexagonPeephole.cpp.

FunctionPass * llvm::createHexagonRemoveExtendOps ( HexagonTargetMachine TM)

Definition at line 80 of file HexagonRemoveSZExtArgs.cpp.

FunctionPass * llvm::createHexagonSplitTFRCondSets ( HexagonTargetMachine TM)

Definition at line 213 of file HexagonSplitTFRCondSets.cpp.

llvm::ScheduleDAGSDNodes * llvm::createHybridListDAGScheduler ( SelectionDAGISel IS,
CodeGenOpt::Level  OptLevel 
)

createHybridListDAGScheduler - This creates a bottom up register pressure aware list scheduler that make use of latency information to avoid stalls for long latency instructions in low register pressure mode. In high register pressure mode it schedules to reduce register pressure.

Definition at line 2977 of file ScheduleDAGRRList.cpp.

References llvm::TargetMachine::getInstrInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::SelectionDAGISel::getTargetLowering(), llvm::SelectionDAGISel::MF, and llvm::SelectionDAGISel::TM.

Referenced by createDefaultScheduler().

llvm::ScheduleDAGSDNodes * llvm::createILPListDAGScheduler ( SelectionDAGISel IS,
CodeGenOpt::Level  OptLevel 
)

createILPListDAGScheduler - This creates a bottom up register pressure aware list scheduler that tries to increase instruction level parallelism in low register pressure mode. In high register pressure mode it schedules to reduce register pressure.

Definition at line 2993 of file ScheduleDAGRRList.cpp.

References llvm::TargetMachine::getInstrInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::SelectionDAGISel::getTargetLowering(), llvm::SelectionDAGISel::MF, and llvm::SelectionDAGISel::TM.

Referenced by createDefaultScheduler().

Induction Variable false Pass * llvm::createIndVarSimplifyPass ( )
raw_ostream * llvm::CreateInfoOutputFile ( )
DIVariable llvm::createInlinedVariable ( MDNode DV,
MDNode InlinedScope,
LLVMContext VMContext 
)

createInlinedVariable - Create a new inlined variable based on current variable.

Parameters:
DVCurrent Variable.
InlinedScopeLocation at current variable is inlined.

Definition at line 968 of file DebugInfo.cpp.

References llvm::MDNode::get(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().

Referenced by fixupLineNumbers().

Spiller * llvm::createInlineSpiller ( MachineFunctionPass pass,
MachineFunction mf,
VirtRegMap vrm 
)

Create and return a spiller that will insert spill code directly instead of deferring though VirtRegMap.

Definition at line 190 of file InlineSpiller.cpp.

Referenced by createSpiller().

FunctionPass* llvm::createInstCountPass ( )
FunctionPass * llvm::createInstructionCombiningPass ( )
FunctionPass* llvm::createInstructionNamerPass ( )
FunctionPass * llvm::createInstructionSimplifierPass ( )

Definition at line 98 of file SimplifyInstructions.cpp.

ModulePass * llvm::createInternalizePass ( bool  AllButMain)

createInternalizePass - This pass loops over all of the functions in the input module, internalizing all globals (functions and variables) not part of the api. If a list of symbols is specified with the -internalize-public-api-* command line options, those symbols are not internalized and all others are. Otherwise if AllButMain is set and the main function is found, all other globals are marked as internal. If no api is supplied and AllButMain is not set, or no main function is found, nothing is internalized.

Definition at line 192 of file Internalize.cpp.

Referenced by LLVMAddInternalizePass(), and llvm::PassManagerBuilder::populateLTOPassManager().

ModulePass * llvm::createInternalizePass ( const std::vector< const char * > &  exportList)

createInternalizePass - This pass loops over all of the functions in the input module, internalizing all globals (functions and variables) not in the given exportList.

Note that commandline options that are used with the above function are not used now! Also, when exportList is empty, nothing is internalized.

Definition at line 196 of file Internalize.cpp.

ModulePass* llvm::createIPConstantPropagationPass ( )

createIPConstantPropagationPass - This pass propagates constants from call sites into the bodies of functions.

Referenced by LLVMAddIPConstantPropagationPass().

Interprocedural Sparse Conditional Constant false ModulePass * llvm::createIPSCCPPass ( )

createIPSCCPPass - This pass propagates constants from call sites into the bodies of functions, and keeps track of whether basic blocks are executable in the process.

Definition at line 1662 of file SCCP.cpp.

Referenced by LLVMAddIPSCCPPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().

iv Induction Variable true Pass * llvm::createIVUsersPass ( )

Definition at line 41 of file IVUsers.cpp.

jump Jump false FunctionPass * llvm::createJumpThreadingPass ( )
FunctionPass * llvm::createLazyValueInfoPass ( )

createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.

Definition at line 45 of file LazyValueInfo.cpp.

Pass * llvm::createLCSSAPass ( )

Definition at line 97 of file LCSSA.cpp.

FunctionPass* llvm::createLibCallAliasAnalysisPass ( LibCallInfo *  LCI)

createLibCallAliasAnalysisPass - Create an alias analysis pass that knows about the semantics of a set of libcalls specified by LCI. The newly constructed pass takes ownership of the pointer that is provided.

Pass * llvm::createLICMPass ( )
FunctionPass * llvm::createLintPass ( )

Create a lint pass.

Check a module or function.

Definition at line 635 of file Lint.cpp.

loop Delete dead false Pass * llvm::createLoopDeletionPass ( )
LoopPass * llvm::createLoopDependenceAnalysisPass ( )

Definition at line 47 of file LoopDependenceAnalysis.cpp.

Pass* llvm::createLoopExtractorPass ( )

createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it can.

loop Recognize loop false Pass * llvm::createLoopIdiomPass ( )
loop Simplify instructions in false Pass * llvm::createLoopInstSimplifyPass ( )

Definition at line 62 of file LoopInstSimplify.cpp.

Pass * llvm::createLoopRotatePass ( )
Pass * llvm::createLoopSimplifyPass ( )
loop Loop Strength false Pass * llvm::createLoopStrengthReducePass ( const TargetLowering TLI = 0)
Pass * llvm::createLoopUnrollPass ( int  Threshold = -1,
int  Count = -1,
int  AllowPartial = -1 
)
loop Unswitch false Pass * llvm::createLoopUnswitchPass ( bool  OptimizeForSize = false)
FunctionPass * llvm::createLowerAggrCopies ( )

Definition at line 206 of file NVPTXLowerAggrCopies.cpp.

Referenced by llvm::NVPTXPassConfig::addInstSelector().

Pass* llvm::createLowerAtomicPass ( )
FunctionPass* llvm::createLowerExpectIntrinsicPass ( )
FunctionPass* llvm::createLowerInvokePass ( const TargetLowering *  TLI = 0)
FunctionPass * llvm::createLowerInvokePass ( const TargetLowering TLI,
bool  useExpensiveEHSupport 
)

Definition at line 114 of file LowerInvoke.cpp.

FunctionPass* llvm::createLowerStructArgsPass ( NVPTXTargetMachine &  )
FunctionPass* llvm::createLowerSwitchPass ( )
MachineFunctionPass * llvm::createMachineFunctionPrinterPass ( raw_ostream OS,
const std::string &  Banner = "" 
)

MachineFunctionPrinter pass - This pass prints out the machine function to the given stream as a debugging tool.

Returns a newly-created MachineFunction Printer pass. The default banner is empty.

Definition at line 55 of file MachineFunctionPrinterPass.cpp.

Referenced by llvm::TargetPassConfig::printAndVerify().

FunctionPass* llvm::createMachineVerifierPass ( const char *  Banner = 0)

createMachineVerifierPass - This pass verifies cenerated machine code instructions for correctness.

Referenced by llvm::TargetPassConfig::printAndVerify().

MCObjectWriter * llvm::createMachObjectWriter ( MCMachObjectTargetWriter MOTW,
raw_ostream OS,
bool  IsLittleEndian 
)

Construct a new Mach-O writer instance.

This routine takes ownership of the target writer subclass.

Parameters:
MOTW- The target specific Mach-O writer subclass.
OS- The stream to write to.
Returns:
The constructed object writer.

Definition at line 803 of file MachObjectWriter.cpp.

Referenced by createARMMachObjectWriter(), and createX86MachObjectWriter().

MCStreamer * llvm::createMachOStreamer ( MCContext Ctx,
MCAsmBackend TAB,
raw_ostream OS,
MCCodeEmitter CE,
bool  RelaxAll = false 
)

createMachOStreamer - Create a machine code streamer which will generate Mach-O format object files.

Takes ownership of

  • TAB and
  • CE.

Definition at line 410 of file MCMachOStreamer.cpp.

Referenced by createMCStreamer().

MCAsmBackend * llvm::createMBlazeAsmBackend ( const Target T,
StringRef  TT 
)
FunctionPass * llvm::createMBlazeDelaySlotFillerPass ( MBlazeTargetMachine tm)

createMBlazeDelaySlotFillerPass - Returns a pass that fills in delay slots in MBlaze MachineFunctions

Definition at line 251 of file MBlazeDelaySlotFiller.cpp.

MCObjectWriter * llvm::createMBlazeELFObjectWriter ( raw_ostream OS,
uint8_t  OSABI 
)

Definition at line 73 of file MBlazeELFObjectWriter.cpp.

References createELFObjectWriter().

FunctionPass * llvm::createMBlazeISelDag ( MBlazeTargetMachine TM)

createMBlazeISelDag - This pass converts a legalized DAG into a MBlaze-specific DAG, ready for instruction scheduling.

Definition at line 275 of file MBlazeISelDAGToDAG.cpp.

MCCodeEmitter * llvm::createMBlazeMCCodeEmitter ( const MCInstrInfo MCII,
const MCRegisterInfo MRI,
const MCSubtargetInfo STI,
MCContext Ctx 
)

Definition at line 100 of file MBlazeMCCodeEmitter.cpp.

Referenced by LLVMInitializeMBlazeTargetMC().

MCAsmParser * llvm::createMCAsmParser ( SourceMgr SM,
MCContext C,
MCStreamer Out,
const MCAsmInfo MAI 
)

Create an MCAsmParser instance.

Definition at line 3220 of file AsmParser.cpp.

Referenced by llvm::EDDisassembler::parseInst().

FunctionPass * llvm::createMemCpyOptPass ( )
print Print MemDeps of true FunctionPass * llvm::createMemDepPrinter ( )

Definition at line 87 of file MemDepPrinter.cpp.

ModulePass * llvm::createMergeFunctionsPass ( )

createMergeFunctionsPass - This pass discovers identical functions and collapses them.

Definition at line 606 of file MergeFunctions.cpp.

MCAsmBackend * llvm::createMipsAsmBackendEB32 ( const Target T,
StringRef  TT 
)

Definition at line 221 of file MipsAsmBackend.cpp.

Referenced by LLVMInitializeMipsTargetMC().

MCAsmBackend * llvm::createMipsAsmBackendEB64 ( const Target T,
StringRef  TT 
)

Definition at line 231 of file MipsAsmBackend.cpp.

Referenced by LLVMInitializeMipsTargetMC().

MCAsmBackend * llvm::createMipsAsmBackendEL32 ( const Target T,
StringRef  TT 
)

Definition at line 216 of file MipsAsmBackend.cpp.

Referenced by LLVMInitializeMipsTargetMC().

MCAsmBackend * llvm::createMipsAsmBackendEL64 ( const Target T,
StringRef  TT 
)

Definition at line 226 of file MipsAsmBackend.cpp.

Referenced by LLVMInitializeMipsTargetMC().

FunctionPass * llvm::createMipsDelaySlotFillerPass ( MipsTargetMachine tm)

createMipsDelaySlotFillerPass - Returns a pass that fills in delay slots in Mips MachineFunctions

Definition at line 131 of file MipsDelaySlotFiller.cpp.

MCObjectWriter * llvm::createMipsELFObjectWriter ( raw_ostream OS,
uint8_t  OSABI,
bool  IsLittleEndian,
bool  Is64Bit 
)

Definition at line 243 of file MipsELFObjectWriter.cpp.

References createELFObjectWriter().

FunctionPass * llvm::createMipsExpandPseudoPass ( MipsTargetMachine tm)

createMipsMipsExpandPseudoPass - Returns a pass that expands pseudo instrs into real instrs

Definition at line 121 of file MipsExpandPseudo.cpp.

FunctionPass * llvm::createMipsISelDag ( MipsTargetMachine TM)

createMipsISelDag - This pass converts a legalized DAG into a MIPS-specific DAG, ready for instruction scheduling.

Definition at line 584 of file MipsISelDAGToDAG.cpp.

FunctionPass * llvm::createMipsJITCodeEmitterPass ( MipsTargetMachine TM,
JITCodeEmitter JCE 
)

createMipsJITCodeEmitterPass - Return a pass that emits the collected Mips code to the specified MCE object.

Definition at line 422 of file MipsCodeEmitter.cpp.

Referenced by llvm::MipsTargetMachine::addCodeEmitter().

MCCodeEmitter * llvm::createMipsMCCodeEmitterEB ( const MCInstrInfo MCII,
const MCRegisterInfo MRI,
const MCSubtargetInfo STI,
MCContext Ctx 
)

Definition at line 93 of file MipsMCCodeEmitter.cpp.

Referenced by LLVMInitializeMipsTargetMC().

MCCodeEmitter * llvm::createMipsMCCodeEmitterEL ( const MCInstrInfo MCII,
const MCRegisterInfo MRI,
const MCSubtargetInfo STI,
MCContext Ctx 
)

Definition at line 101 of file MipsMCCodeEmitter.cpp.

Referenced by LLVMInitializeMipsTargetMC().

FunctionPass * llvm::createMLxExpansionPass ( )

Definition at line 331 of file MLxExpansionPass.cpp.

ModulePass* llvm::createModuleDebugInfoPrinterPass ( )
FunctionPass * llvm::createMSP430BranchSelectionPass ( )

createMSP430BranchSelectionPass - returns an instance of the Branch Selection Pass

Definition at line 50 of file MSP430BranchSelector.cpp.

FunctionPass * llvm::createMSP430ISelDag ( MSP430TargetMachine TM,
CodeGenOpt::Level  OptLevel 
)

createMSP430ISelDag - This pass converts a legalized DAG into a MSP430-specific DAG, ready for instruction scheduling.

Definition at line 130 of file MSP430ISelDAGToDAG.cpp.

ImmutablePass* llvm::createNoAAPass ( )
ImmutablePass* llvm::createNoPathProfileInfoPass ( )
ImmutablePass* llvm::createNoProfileInfoPass ( )
MCStreamer * llvm::createNullStreamer ( MCContext Ctx)

createNullStreamer - Create a dummy machine code streamer, which does nothing. This is useful for timing the assembler front end.

Definition at line 108 of file MCNullStreamer.cpp.

Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), and llvm::EDDisassembler::parseInst().

FunctionPass * llvm::createNVPTXISelDag ( NVPTXTargetMachine TM,
llvm::CodeGenOpt::Level  OptLevel 
)

createNVPTXISelDag - This pass converts a legalized DAG into a NVPTX-specific DAG, ready for instruction scheduling.

Definition at line 53 of file NVPTXISelDAGToDAG.cpp.

Referenced by llvm::NVPTXPassConfig::addInstSelector().

FunctionPass* llvm::createNVPTXReMatBlockPass ( NVPTXTargetMachine &  )
FunctionPass* llvm::createNVPTXReMatPass ( NVPTXTargetMachine &  )
ImmutablePass* llvm::createObjCARCAliasAnalysisPass ( )
Pass* llvm::createObjCARCAPElimPass ( )
objc arc ObjC ARC false Pass * llvm::createObjCARCContractPass ( )

Definition at line 3786 of file ObjCARC.cpp.

Pass* llvm::createObjCARCExpandPass ( )
objc ObjC ARC false Pass * llvm::createObjCARCOptPass ( )

Definition at line 1759 of file ObjCARC.cpp.

insert optimal edge Insert optimal instrumentation for edge false ModulePass * llvm::createOptimalEdgeProfilerPass ( )

Definition at line 64 of file OptimalEdgeProfiling.cpp.

ModulePass* llvm::createPartialInliningPass ( )

createPartialInliningPass - This pass inlines parts of functions.

ModulePass * llvm::createPathProfileLoaderPass ( )

Definition at line 98 of file PathProfileInfo.cpp.

ModulePass* llvm::createPathProfilerPass ( )
ModulePass* llvm::createPathProfileVerifierPass ( )
FunctionPass * llvm::createPBQPRegisterAllocator ( std::auto_ptr< PBQPBuilder builder,
char *  customPassID = 0 
)

Definition at line 741 of file RegAllocPBQP.cpp.

Referenced by createDefaultPBQPRegisterAllocator().

FunctionPass * llvm::createPostDomOnlyPrinterPass ( )

Definition at line 222 of file DomPrinter.cpp.

FunctionPass * llvm::createPostDomOnlyViewerPass ( )

Definition at line 230 of file DomPrinter.cpp.

FunctionPass * llvm::createPostDomPrinterPass ( )

Definition at line 218 of file DomPrinter.cpp.

FunctionPass * llvm::createPostDomTree ( )

Definition at line 48 of file PostDominators.cpp.

FunctionPass * llvm::createPostDomViewerPass ( )

Definition at line 226 of file DomPrinter.cpp.

MCAsmBackend * llvm::createPPCAsmBackend ( const Target T,
StringRef  TT 
)
FunctionPass * llvm::createPPCBranchSelectionPass ( )

createPPCBranchSelectionPass - returns an instance of the Branch Selection Pass

Definition at line 51 of file PPCBranchSelector.cpp.

MCObjectWriter * llvm::createPPCELFObjectWriter ( raw_ostream OS,
bool  Is64Bit,
uint8_t  OSABI 
)

createPPCELFObjectWriter - Construct an PPC ELF object writer.

Definition at line 98 of file PPCELFObjectWriter.cpp.

References createELFObjectWriter().

FunctionPass * llvm::createPPCISelDag ( PPCTargetMachine TM)

createPPCISelDag - This pass converts a legalized DAG into a PowerPC-specific DAG, ready for instruction scheduling.

Definition at line 1082 of file PPCISelDAGToDAG.cpp.

FunctionPass * llvm::createPPCJITCodeEmitterPass ( PPCTargetMachine TM,
JITCodeEmitter JCE 
)

createPPCCodeEmitterPass - Return a pass that emits the collected PPC code to the specified MCE object.

Definition at line 88 of file PPCCodeEmitter.cpp.

Referenced by llvm::PPCTargetMachine::addCodeEmitter().

MCCodeEmitter * llvm::createPPCMCCodeEmitter ( const MCInstrInfo MCII,
const MCRegisterInfo MRI,
const MCSubtargetInfo STI,
MCContext Ctx 
)

Definition at line 79 of file PPCMCCodeEmitter.cpp.

Referenced by LLVMInitializePowerPCTargetMC().

FunctionPass * llvm::createPrintFunctionPass ( const std::string &  Banner,
llvm::raw_ostream OS,
bool  DeleteStream = false 
)

createPrintFunctionPass - Create and return a pass that prints functions to the specified raw_ostream as they are processed.

Definition at line 96 of file PrintModulePass.cpp.

Referenced by llvm::TargetPassConfig::addIRPasses(), llvm::TargetPassConfig::addISelPrepare(), llvm::FunctionPassManagerImpl::createPrinterPass(), and llvm::FunctionPass::createPrinterPass().

ModulePass* llvm::createPrintModulePass ( raw_ostream *  OS,
bool  DeleteStream = false,
const std::string &  Banner = "" 
)

createPrintModulePass - Create and return a pass that writes the module to the specified raw_ostream.

Referenced by llvm::ModulePass::createPrinterPass(), llvm::MPPassManager::createPrinterPass(), and llvm::PassManagerImpl::createPrinterPass().

Pass* llvm::createProfileEstimatorPass ( const unsigned  execcount)

createProfileEstimatorPass - This function returns a Pass that estimates profiling information using the given loop execution count.

Definition at line 91 of file ProfileEstimatorPass.cpp.

FunctionPass * llvm::createProfileEstimatorPass ( )

Definition at line 85 of file ProfileEstimatorPass.cpp.

ModulePass* llvm::createProfileLoaderPass ( )
Pass * llvm::createProfileLoaderPass ( const std::string &  Filename)

createProfileLoaderPass - This function returns a Pass that loads the profiling information for the module from the specified filename, making it available to the optimizers.

Definition at line 93 of file ProfileInfoLoaderPass.cpp.

FunctionPass * llvm::createProfileVerifierPass ( )

Definition at line 378 of file ProfileVerifierPass.cpp.

References ProfileVerifierDisableAssertions.

FunctionPass * llvm::createPromoteMemoryToRegisterPass ( )

Definition at line 88 of file Mem2Reg.cpp.

Referenced by LLVMAddPromoteMemoryToRegisterPass().

prune Remove unused exception handling info false false Pass * llvm::createPruneEHPass ( ) [final]

createPruneEHPass - Return a new pass object which transforms invoke instructions into calls, if the callee can _not_ unwind the stack.

Definition at line 58 of file PruneEH.cpp.

Referenced by LLVMAddPruneEHPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().

MCStreamer * llvm::createPTXAsmStreamer ( MCContext Context,
formatted_raw_ostream OS,
bool  isVerboseAsm,
bool  useLoc,
bool  useCFI,
bool  useDwarfDirectory,
MCInstPrinter IP,
MCCodeEmitter CE,
MCAsmBackend MAB,
bool  ShowInst 
)

Definition at line 546 of file PTXMCAsmStreamer.cpp.

Referenced by LLVMInitializePTXTarget().

FunctionPass * llvm::createPTXFPRoundingModePass ( PTXTargetMachine TM,
CodeGenOpt::Level  OptLevel 
)

Definition at line 177 of file PTXFPRoundingModePass.cpp.

Referenced by llvm::PTXPassConfig::addPreEmitPass().

FunctionPass * llvm::createPTXISelDag ( PTXTargetMachine TM,
CodeGenOpt::Level  OptLevel 
)

Definition at line 65 of file PTXISelDAGToDAG.cpp.

Referenced by llvm::PTXPassConfig::addInstSelector().

FunctionPass * llvm::createPTXMFInfoExtract ( PTXTargetMachine TM,
CodeGenOpt::Level  OptLevel 
)

Definition at line 82 of file PTXMFInfoExtract.cpp.

Referenced by llvm::PTXPassConfig::addPreEmitPass().

FunctionPass * llvm::createPTXRegisterAllocator ( )

Definition at line 50 of file PTXRegAlloc.cpp.

Referenced by llvm::PTXPassConfig::createTargetRegisterAllocator().

MCStreamer * llvm::createPureStreamer ( MCContext Ctx,
MCAsmBackend TAB,
raw_ostream OS,
MCCodeEmitter CE 
)

createPureStreamer - Create a machine code streamer which will generate "pure" MC object files, for use with MC-JIT and testing tools.

Takes ownership of

  • TAB and
  • CE.

Definition at line 233 of file MCPureStreamer.cpp.

FunctionPass* llvm::createReassociatePass ( )
FunctionPass * llvm::createRegionInfoPass ( )

Definition at line 863 of file RegionInfo.cpp.

FunctionPass * llvm::createRegionOnlyPrinterPass ( )

Definition at line 215 of file RegionPrinter.cpp.

FunctionPass * llvm::createRegionOnlyViewerPass ( )

Definition at line 207 of file RegionPrinter.cpp.

FunctionPass * llvm::createRegionPrinterPass ( )

Definition at line 211 of file RegionPrinter.cpp.

FunctionPass* llvm::createRegionViewerPass ( )
scev ScalarEvolution based Alias false FunctionPass * llvm::createScalarEvolutionAliasAnalysisPass ( )

Definition at line 69 of file ScalarEvolutionAliasAnalysis.cpp.

FunctionPass* llvm::createScalarReplAggregatesPass ( signed  Threshold = -1,
bool  UseDomTree = true 
)
FunctionPass* llvm::createSCCPPass ( )
simplify Simplify well known library false FunctionPass * llvm::createSimplifyLibCallsPass ( )

createSimplifyLibCallsPass - This pass optimizes specific calls to specific well-known (library) functions.

Definition at line 1572 of file SimplifyLibCalls.cpp.

Referenced by LLVMAddSimplifyLibCallsPass(), and llvm::PassManagerBuilder::populateModulePassManager().

Pass * llvm::createSingleLoopExtractorPass ( )

createSingleLoopExtractorPass - This pass extracts one natural loop from the program into a function if it can. This is used by bugpoint.

Definition at line 151 of file LoopExtractor.cpp.

FunctionPass * llvm::createSinkingPass ( )

Definition at line 68 of file Sink.cpp.

FunctionPass * llvm::createSjLjEHPreparePass ( const TargetLowering tli)

createSjLjEHPreparePass - This pass adapts exception handling code to use the GCC-style builtin setjmp/longjmp (sjlj) to handling EH control flow.

Definition at line 85 of file SjLjEHPrepare.cpp.

Referenced by addPassesToHandleExceptions().

llvm::ScheduleDAGSDNodes * llvm::createSourceListDAGScheduler ( SelectionDAGISel IS,
CodeGenOpt::Level  OptLevel 
)

createBURRListDAGScheduler - This creates a bottom up list scheduler that schedules nodes in source code order when possible.

Definition at line 2963 of file ScheduleDAGRRList.cpp.

References llvm::TargetMachine::getInstrInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::SelectionDAGISel::MF, and llvm::SelectionDAGISel::TM.

Referenced by createDefaultScheduler().

FunctionPass * llvm::createSparcDelaySlotFillerPass ( TargetMachine tm)

createSparcDelaySlotFillerPass - Returns a pass that fills in delay slots in Sparc MachineFunctions

Definition at line 91 of file DelaySlotFiller.cpp.

FunctionPass * llvm::createSparcFPMoverPass ( TargetMachine tm)

createSparcFPMoverPass - Returns a pass that turns FpMOVD instructions into FMOVS instructions

Definition at line 54 of file FPMover.cpp.

FunctionPass * llvm::createSparcISelDag ( SparcTargetMachine TM)

createSparcISelDag - This pass converts a legalized DAG into a SPARC-specific DAG, ready for instruction scheduling.

Definition at line 209 of file SparcISelDAGToDAG.cpp.

llvm::Spiller * llvm::createSpiller ( MachineFunctionPass pass,
MachineFunction mf,
VirtRegMap vrm 
)

Create and return a spiller object, as specified on the command line.

Definition at line 186 of file Spiller.cpp.

References createInlineSpiller(), llvm_unreachable, and spillerOpt.

FunctionPass * llvm::createSplitBBatBarPass ( )

Definition at line 75 of file NVPTXSplitBBatBar.cpp.

Referenced by llvm::NVPTXPassConfig::addInstSelector().

FunctionPass * llvm::createSPUISelDag ( SPUTargetMachine TM)

createSPUISelDag - This pass converts a legalized DAG into a SPU-specific DAG, ready for instruction scheduling.

Definition at line 1191 of file SPUISelDAGToDAG.cpp.

FunctionPass * llvm::createSPUNopFillerPass ( SPUTargetMachine tm)

Definition at line 132 of file SPUNopFiller.cpp.

FunctionPass* llvm::createStackProtectorPass ( const TargetLowering *  tli)

createStackProtectorPass - This pass adds stack protectors to functions.

Referenced by llvm::TargetPassConfig::addISelPrepare().

ModulePass* llvm::createSteensgaardPass ( )
ModulePass* llvm::createStripDeadDebugInfoPass ( )
ModulePass * llvm::createStripDeadPrototypesPass ( )

createStripDeadPrototypesPass - This pass removes any function declarations (prototypes) that are not used.

Definition at line 71 of file StripDeadPrototypes.cpp.

Referenced by LLVMAddStripDeadPrototypesPass(), and llvm::PassManagerBuilder::populateModulePassManager().

ModulePass* llvm::createStripDebugDeclarePass ( )
ModulePass* llvm::createStripNonDebugSymbolsPass ( )
ModulePass* llvm::createStripSymbolsPass ( bool  OnlyDebugInfo = false)

Referenced by LLVMAddStripSymbolsPass().

FunctionPass* llvm::createTailCallEliminationPass ( )
FunctionPass * llvm::createThreadSanitizerPass ( )

Definition at line 109 of file ThreadSanitizer.cpp.

FunctionPass * llvm::createThumb2ITBlockPass ( )

createThumb2ITBlockPass - Returns an instance of the Thumb2 IT blocks insertion pass.

Definition at line 276 of file Thumb2ITBlockPass.cpp.

FunctionPass * llvm::createThumb2SizeReductionPass ( )

createThumb2SizeReductionPass - Returns an instance of the Thumb2 size reduction pass.

Definition at line 942 of file Thumb2SizeReduction.cpp.

ImmutablePass* llvm::createTypeBasedAliasAnalysisPass ( )
Pass* llvm::createUnifyFunctionExitNodesPass ( )
FunctionPass* llvm::createUnreachableBlockEliminationPass ( )

createUnreachableBlockEliminationPass - The LLVM code generator does not work well with unreachable basic blocks (what live ranges make sense for a block that cannot be reached?). As such, a code generator should either not instruction select unreachable blocks, or run this pass as its last LLVM modifying pass to clean up blocks that are not reachable from the entry block.

Referenced by llvm::TargetPassConfig::addIRPasses(), and addPassesToHandleExceptions().

FunctionPass * llvm::createVectorElementizePass ( NVPTXTargetMachine tm)

Definition at line 724 of file VectorElementize.cpp.

Referenced by llvm::NVPTXPassConfig::addInstSelector().

FunctionPass * llvm::createVerifierPass ( VerifierFailureAction  action = AbortProcessAction)

Create a verifier pass.

Check a module or function for validity. When the pass is used, the action indicated by the action argument will be used if errors are found.

Parameters:
actionAction to take

Definition at line 2034 of file Verifier.cpp.

Referenced by llvm::TargetPassConfig::addIRPasses(), llvm::TargetPassConfig::addISelPrepare(), and LLVMAddVerifierPass().

ScheduleDAGSDNodes * llvm::createVLIWDAGScheduler ( SelectionDAGISel IS,
CodeGenOpt::Level  OptLevel 
)

createVLIWDAGScheduler - This creates a top-down list scheduler.

createVLIWDAGScheduler - Scheduler for VLIW targets. This creates top down DFA driven list scheduler with clustering heuristic to control register pressure.

Definition at line 274 of file ScheduleDAGVLIW.cpp.

References llvm::SelectionDAGISel::AA, and llvm::SelectionDAGISel::MF.

Referenced by createDefaultScheduler().

MCObjectWriter * llvm::createWinCOFFObjectWriter ( MCWinCOFFObjectTargetWriter MOTW,
raw_ostream OS 
)

Construct a new Win COFF writer instance.

Parameters:
MOTW- The target specific WinCOFF writer subclass.
OS- The stream to write to.
Returns:
The constructed object writer.

Definition at line 900 of file WinCOFFObjectWriter.cpp.

Referenced by createX86WinCOFFObjectWriter().

MCStreamer * llvm::createWinCOFFStreamer ( MCContext Ctx,
MCAsmBackend TAB,
MCCodeEmitter CE,
raw_ostream OS,
bool  RelaxAll = false 
)

createWinCOFFStreamer - Create a machine code streamer which will generate Microsoft COFF format object files.

Takes ownership of

  • TAB and
  • CE.

Definition at line 409 of file WinCOFFStreamer.cpp.

Referenced by createMCStreamer().

MCAsmBackend * llvm::createX86_32AsmBackend ( const Target T,
StringRef  TT 
)
MCAsmBackend * llvm::createX86_64AsmBackend ( const Target T,
StringRef  TT 
)
MCObjectWriter * llvm::createX86ELFObjectWriter ( raw_ostream OS,
bool  Is64Bit,
uint8_t  OSABI 
)

createX86ELFObjectWriter - Construct an X86 ELF object writer.

Definition at line 218 of file X86ELFObjectWriter.cpp.

References createELFObjectWriter().

FunctionPass * llvm::createX86FloatingPointStackifierPass ( )

createX86FloatingPointStackifierPass - This function returns a pass which converts floating point register references and pseudo instructions into floating point stack references and physical instructions.

Definition at line 323 of file X86FloatingPoint.cpp.

FunctionPass * llvm::createX86ISelDag ( X86TargetMachine TM,
CodeGenOpt::Level  OptLevel 
)

createX86ISelDag - This pass converts a legalized DAG into a X86-specific DAG, ready for instruction scheduling.

Definition at line 2550 of file X86ISelDAGToDAG.cpp.

FunctionPass * llvm::createX86IssueVZeroUpperPass ( )

createX86IssueVZeroUpperPass - This pass inserts AVX vzeroupper instructions before each call to avoid transition penalty between functions encoded with AVX and SSE.

Definition at line 104 of file X86VZeroUpper.cpp.

FunctionPass * llvm::createX86JITCodeEmitterPass ( X86TargetMachine TM,
JITCodeEmitter JCE 
)

createX86CodeEmitterPass - Return a pass that emits the collected X86 code to the specified MCE object.

createX86CodeEmitterPass - Return a pass that emits the collected X86 code to the specified templated MachineCodeEmitter object.

Definition at line 121 of file X86CodeEmitter.cpp.

Referenced by llvm::X86TargetMachine::addCodeEmitter().

MCObjectWriter * llvm::createX86MachObjectWriter ( raw_ostream OS,
bool  Is64Bit,
uint32_t  CPUType,
uint32_t  CPUSubtype 
)

createX86MachObjectWriter - Construct an X86 Mach-O object writer.

Definition at line 546 of file X86MachObjectWriter.cpp.

References createMachObjectWriter().

FunctionPass * llvm::createX86MaxStackAlignmentHeuristicPass ( )

createX86MaxStackAlignmentHeuristicPass - This function returns a pass which determines whether the frame pointer register should be reserved in case dynamic stack alignment is later required.

Definition at line 775 of file X86RegisterInfo.cpp.

MCCodeEmitter * llvm::createX86MCCodeEmitter ( const MCInstrInfo MCII,
const MCRegisterInfo MRI,
const MCSubtargetInfo STI,
MCContext Ctx 
)

Definition at line 141 of file X86MCCodeEmitter.cpp.

Referenced by LLVMInitializeX86TargetMC().

MCObjectWriter * llvm::createX86WinCOFFObjectWriter ( raw_ostream OS,
bool  Is64Bit 
)

createX86WinCOFFObjectWriter - Construct an X86 Win COFF object writer.

Definition at line 61 of file X86WinCOFFObjectWriter.cpp.

References createWinCOFFObjectWriter().

FunctionPass * llvm::createXCoreISelDag ( XCoreTargetMachine TM,
CodeGenOpt::Level  OptLevel 
)

createXCoreISelDag - This pass converts a legalized DAG into a XCore-specific DAG, ready for instruction scheduling.

Definition at line 86 of file XCoreISelDAGToDAG.cpp.

raw_ostream & llvm::dbgs ( )

dbgs - Return a circular-buffered debug stream.

dbgs() - This returns a reference to a raw_ostream for debugging messages. If debugging is disabled it returns errs(). Use it like: dbgs() << "foo" << "bar";

Definition at line 101 of file Debug.cpp.

References llvm::sys::AddSignalHandler(), debug_user_sig_handler(), DebugBufferSize, DebugFlag, EnableDebugBuffering, and errs().

Referenced by addChainDependency(), llvm::ProfileInfoT< FType, BType >::addEdgeWeight(), llvm::ProfileInfoT< FType, BType >::addExecutionCount(), llvm::ExecutionEngine::addGlobalMapping(), llvm::TargetPassConfig::addIRPasses(), llvm::TargetPassConfig::addISelPrepare(), llvm::PMDataManager::addLowerLevelRequiredPass(), llvm::TargetPassConfig::addMachinePasses(), llvm::RegAllocBase::addMBBLiveIns(), llvm::IVUsers::AddUsersImpl(), AdjustStackOffset(), llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(), llvm::RegAllocBase::allocatePhysRegs(), llvm::PTXInstrInfo::AnalyzeBranch(), llvm::Hexagon_CCState::AnalyzeCallOperands(), llvm::CCState::AnalyzeCallOperands(), llvm::Hexagon_CCState::AnalyzeCallResult(), llvm::CCState::AnalyzeCallResult(), llvm::Hexagon_CCState::AnalyzeFormalArguments(), llvm::CCState::AnalyzeFormalArguments(), analyzeFrameIndexes(), AnalyzeLoadFromClobberingWrite(), AnalyzeMips64CallOperands(), llvm::Hexagon_CCState::AnalyzeReturn(), llvm::CCState::AnalyzeReturn(), llvm::RegAllocBase::assign(), llvm::SelectionDAG::AssignTopologicalOrder(), llvm::DwarfDebug::beginFunction(), llvm::CriticalAntiDepBreaker::BreakAntiDependencies(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), BreakUpSubtract(), BUCompareLatency(), BURRSort(), llvm::ProfileInfoT< FType, BType >::CalculateMissingEdge(), llvm::BallLarusDag::calculatePathNumbers(), llvm::LiveRangeEdit::calculateRegClassAndHint(), CanPropagatePredecessorsForPHIs(), llvm::X86InstrInfo::copyPhysReg(), debug_user_sig_handler(), DeleteInstructionInBlock(), llvm::Constant::destroyConstantImpl(), determineFrameLayout(), llvm::ProfileInfoT< FType, BType >::divertFlow(), llvm::MCParsedAsmOperand::dump(), llvm::ExtAddrMode::dump(), llvm::MCLabel::dump(), llvm::BranchProbability::dump(), llvm::MachineLoop::dump(), llvm::MCValue::dump(), llvm::LiveDebugVariables::dump(), llvm::MCDwarfFile::dump(), llvm::LatencyPriorityQueue::dump(), llvm::ValueEnumerator::dump(), llvm::PHITransAddr::dump(), llvm::Value::dump(), llvm::DebugLoc::dump(), llvm::DIEAbbrev::dump(), llvm::SubtargetFeatures::dump(), llvm::DIDescriptor::dump(), llvm::Trace::dump(), llvm::Pass::dump(), llvm::LiveVariables::VarInfo::dump(), llvm::Type::dump(), llvm::MachineJumpTableInfo::dump(), llvm::ResourcePriorityQueue::dump(), llvm::SCEV::dump(), llvm::MCOperand::dump(), llvm::DominanceFrontierBase::dump(), llvm::LiveRange::dump(), llvm::MCSymbol::dump(), llvm::PMStack::dump(), llvm::DwarfAccelTable::Atom::dump(), llvm::CallGraph::dump(), llvm::SlotIndex::dump(), llvm::MachineConstantPool::dump(), llvm::ProfileInfoT< FType, BType >::dump(), llvm::IVUsers::dump(), llvm::DIE::dump(), llvm::MCInst::dump(), llvm::AliasSet::dump(), llvm::object::MachOObject::dump(), llvm::VirtRegMap::dump(), llvm::DICompileUnit::dump(), llvm::DIEValue::dump(), llvm::LexicalScope::dump(), llvm::CallGraphNode::dump(), llvm::NamedMDNode::dump(), llvm::ConstantRange::dump(), llvm::MachineFunction::dump(), llvm::DwarfAccelTable::dump(), llvm::DIType::dump(), llvm::BlockFrequencyImpl< BasicBlock, Function, BranchProbabilityInfo >::dump(), llvm::AttrListPtr::dump(), llvm::DIBasicType::dump(), llvm::Region::dump(), llvm::SlotIndexes::dump(), llvm::AliasSetTracker::dump(), llvm::DIDerivedType::dump(), llvm::SUnit::dump(), llvm::SplitEditor::dump(), llvm::DICompositeType::dump(), llvm::Twine::dump(), llvm::LiveInterval::dump(), llvm::MachineFrameInfo::dump(), llvm::MachineBasicBlock::dump(), llvm::DISubprogram::dump(), llvm::Module::dump(), llvm::Loop::dump(), llvm::ConstantUniqueMap< ExprMapKeyType, const ExprMapKeyType &, Type, ConstantExpr >::dump(), llvm::SDNode::dump(), llvm::DIGlobalVariable::dump(), llvm::DIVariable::dump(), llvm::ConstantAggrUniqueMap< ArrayType, ConstantArray >::dump(), llvm::MachineInstr::dump(), llvm::SelectionDAG::dump(), llvm::APInt::dump(), llvm::SUnit::dumpAll(), llvm::PMTopLevelManager::dumpArguments(), llvm::object::MachOObject::dumpHeader(), llvm::PMDataManager::dumpLastUses(), llvm::ScheduleDAGSDNodes::dumpNode(), DumpNodes(), llvm::PMDataManager::dumpPassArguments(), llvm::PMDataManager::dumpPassInfo(), llvm::Pass::dumpPassStructure(), llvm::MPPassManager::dumpPassStructure(), llvm::FPPassManager::dumpPassStructure(), llvm::SDNode::dumpr(), llvm::Twine::dumpRepr(), llvm::SDNode::dumprWithDepth(), llvm::ScheduleDAGSDNodes::dumpSchedule(), llvm::LiveRangeEdit::eliminateDeadDefs(), EliminateDeadSwitchCases(), llvm::MBlazeRegisterInfo::eliminateFrameIndex(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::PTXAsmPrinter::EmitFunctionBodyStart(), llvm::TargetLowering::EmitInstrWithCustomInserter(), llvm::RuntimeDyldImpl::emitSection(), llvm::SplitEditor::enterIntvAfter(), llvm::SplitEditor::enterIntvAtEnd(), llvm::SplitEditor::enterIntvBefore(), EvaluateStaticConstructor(), executeCmpInst(), executeFAddInst(), executeFCMP_OEQ(), executeFCMP_OGE(), executeFCMP_OGT(), executeFCMP_OLE(), executeFCMP_OLT(), executeFCMP_ONE(), executeFDivInst(), executeFMulInst(), executeFRemInst(), executeFSubInst(), executeICMP_EQ(), executeICMP_NE(), executeICMP_SGE(), executeICMP_SGT(), executeICMP_SLE(), executeICMP_SLT(), executeICMP_UGE(), executeICMP_UGT(), executeICMP_ULE(), executeICMP_ULT(), llvm::ARMBaseInstrInfo::expandPostRAPseudo(), fdbgs(), llvm::SSAUpdaterImpl< UpdaterT >::FindAvailableVals(), llvm::GCStrategy::findCustomSafePoints(), llvm::RegScavenger::FindUnusedReg(), llvm::SplitEditor::finish(), FoldBlockIntoPredecessor(), FoldBranchToCommonDest(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::InstCombiner::FoldShiftByConstant(), FoldTwoEntryPHINode(), llvm::FunctionLoweringInfo::getArgumentFrameIndex(), llvm::X86AsmPrinter::getDebugValueLocation(), llvm::ARMAsmPrinter::getDebugValueLocation(), llvm::ScoreboardHazardRecognizer::getHazardType(), llvm::InlineCostAnalyzer::getInlineCost(), GetLoadValueForLoad(), getPreStartForSignExtend(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), hasVRegCycleUse(), llvm::ExecutionEngine::InitializeMemory(), initVRegCycle(), InlineCallIfPossible(), llvm::PTXInstrInfo::InsertBranch(), isProfitableChain(), KnuthDiv(), llvm::SplitEditor::leaveIntvAfter(), llvm::SplitEditor::leaveIntvAtTop(), llvm::SplitEditor::leaveIntvBefore(), llvm_unreachable_internal(), llvm::RuntimeDyldImpl::loadObject(), llvm::HexagonTargetLowering::LowerCall(), llvm::MBlazeSubtarget::MBlazeSubtarget(), llvm::LiveIntervals::HMEditor::moveAllRangesInto(), llvm::AggressiveAntiDepBreaker::Observe(), OptimizeAwayTrappingUsesOfLoads(), llvm::SplitEditor::overlapIntv(), llvm::cl::ParseCommandLineOptions(), llvm::GCStrategy::performCustomLowering(), PerformHeapAllocSRoA(), llvm::TargetPassConfig::printAndVerify(), printEdgeCounter(), printEdgeError(), PrintOps(), llvm::RuntimeDyldELF::processRelocationRef(), ProfitableToMerge(), llvm::RuntimeDyldImpl::reassignSectionAddress(), llvm::ProfileInfoT< FType, BType >::removeBlock(), llvm::PTXInstrInfo::RemoveBranch(), llvm::PMDataManager::removeDeadPasses(), llvm::ProfileInfoT< FType, BType >::removeEdge(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::SlotIndexes::renumberIndexes(), llvm::ProfileInfoT< FType, BType >::repair(), llvm::ProfileInfoT< FType, BType >::replaceAllUses(), llvm::SCEVExpander::replaceCongruentIVs(), llvm::ProfileInfoT< FType, BType >::replaceEdge(), replaceFrameIndexes(), ReplaceUsesOfWith(), llvm::RuntimeDyldELF::resolveARMRelocation(), llvm::SelectionDAGBuilder::resolveDanglingDebugInfo(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::RuntimeDyldMachO::resolveRelocation(), llvm::RuntimeDyldImpl::resolveRelocationEntry(), llvm::VirtRegMap::rewrite(), llvm::DAGTypeLegalizer::run(), llvm::Interpreter::run(), llvm::BranchProbabilityInfo::runOnFunction(), llvm::RGPassManager::runOnFunction(), llvm::ProcessImplicitDefs::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::CalculateSpillWeights::runOnMachineFunction(), llvm::SlotIndexes::runOnMachineFunction(), llvm::Inliner::runOnSCC(), llvm::RegScavenger::scavengeRegister(), llvm::PMTopLevelManager::schedulePass(), llvm::ScoreboardHazardRecognizer::ScoreboardHazardRecognizer(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::SplitEditor::selectIntv(), llvm::BranchProbabilityInfo::setEdgeWeight(), llvm::ProfileInfoT< FType, BType >::setEdgeWeight(), llvm::ProfileInfoT< FType, BType >::setExecutionCount(), llvm::LiveIntervals::shrinkToUses(), SimplifyBranchOnICmpChain(), SimplifyCondBranchToCondBranch(), SimplifyCondBranchToTwoReturns(), llvm::SparseSolver::Solve(), SpeculativelyExecuteBB(), llvm::ProfileInfoT< FType, BType >::splitBlock(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::SplitEditor::splitLiveThroughBlock(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), SRAGlobal(), llvm::ExecutionEngine::StoreValueToMemory(), llvm::ProfileInfoT< FType, BType >::transfer(), TryToShrinkGlobalToBoolean(), TryToSimplifyUncondBranchFromEmptyBlock(), llvm::RegAllocBase::unassign(), UnrollLoop(), llvm::SplitEditor::useIntv(), llvm::RegAllocBase::verify(), VerifyPHIs(), llvm::ScheduleDAG::VerifyScheduledDAG(), llvm::Interpreter::visitAllocaInst(), llvm::Interpreter::visitBinaryOperator(), llvm::Interpreter::visitFCmpInst(), llvm::Interpreter::visitICmpInst(), llvm::Interpreter::visitLoadInst(), llvm::InstCombiner::visitSExt(), llvm::Interpreter::visitStoreInst(), llvm::InstCombiner::visitTrunc(), llvm::Interpreter::visitVAArgInst(), llvm::InstCombiner::visitZExt(), X86CompilationCallback2(), x86DisassemblerDebug(), llvm::X86Subtarget::X86Subtarget(), llvm::Value::~Value(), and llvm::ValueSymbolTable::~ValueSymbolTable().

void llvm::DecodeINSERTPSMask ( unsigned  Imm,
SmallVectorImpl< int > &  ShuffleMask 
)
void llvm::DecodeMOVHLPSMask ( unsigned  NElts,
SmallVectorImpl< int > &  ShuffleMask 
)
void llvm::DecodeMOVLHPSMask ( unsigned  NElts,
SmallVectorImpl< int > &  ShuffleMask 
)
void llvm::DecodePSHUFHWMask ( MVT  VT,
unsigned  Imm,
SmallVectorImpl< int > &  ShuffleMask 
)
void llvm::DecodePSHUFLWMask ( MVT  VT,
unsigned  Imm,
SmallVectorImpl< int > &  ShuffleMask 
)
void llvm::DecodePSHUFMask ( MVT  VT,
unsigned  Imm,
SmallVectorImpl< int > &  ShuffleMask 
)

DecodePSHUFMask - This decodes the shuffle masks for pshufd, and vpermilp*. VT indicates the type of the vector allowing it to handle different datatypes and vector widths.

Definition at line 67 of file X86ShuffleDecode.cpp.

References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().

static void llvm::decodeRegisterName ( raw_ostream &  OS,
unsigned  EncodedReg 
) [inline, static]
void llvm::DecodeSHUFPMask ( MVT  VT,
unsigned  Imm,
SmallVectorImpl< int > &  ShuffleMask 
)

DecodeSHUFPMask - This decodes the shuffle masks for shufp*. VT indicates the type of the vector allowing it to handle different datatypes and vector widths.

Definition at line 118 of file X86ShuffleDecode.cpp.

References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().

void llvm::DecodeUNPCKHMask ( MVT  VT,
SmallVectorImpl< int > &  ShuffleMask 
)

DecodeUNPCKHMask - This decodes the shuffle masks for unpckhps/unpckhpd and punpckh*. VT indicates the type of the vector allowing it to handle different datatypes and vector widths.

Definition at line 140 of file X86ShuffleDecode.cpp.

References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().

void llvm::DecodeUNPCKLMask ( MVT  VT,
SmallVectorImpl< int > &  ShuffleMask 
)

DecodeUNPCKLMask - This decodes the shuffle masks for unpcklps/unpcklpd and punpckl*. VT indicates the type of the vector allowing it to handle different datatypes and vector widths.

Definition at line 160 of file X86ShuffleDecode.cpp.

References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().

void llvm::DecodeVPERM2X128Mask ( MVT  VT,
unsigned  Imm,
SmallVectorImpl< int > &  ShuffleMask 
)
void llvm::DecodeVPERMMask ( unsigned  Imm,
SmallVectorImpl< int > &  ShuffleMask 
)

DecodeVPERMMask - this decodes the shuffle masks for VPERMQ/VPERMPD. No VT provided since it only works on 256-bit, 4 element vectors.

Definition at line 193 of file X86ShuffleDecode.cpp.

References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().

llvm::DEFINE_INTEGRAL_TYPEBUILDER ( char  )
llvm::DEFINE_INTEGRAL_TYPEBUILDER ( signed  char)
llvm::DEFINE_INTEGRAL_TYPEBUILDER ( unsigned  char)
llvm::DEFINE_INTEGRAL_TYPEBUILDER ( short  )
llvm::DEFINE_INTEGRAL_TYPEBUILDER ( int  )
llvm::DEFINE_INTEGRAL_TYPEBUILDER ( long  )
llvm::DEFINE_INTEGRAL_TYPEBUILDER ( unsigned long  long)
template<typename Container >
void llvm::DeleteContainerPointers ( Container &  C)

For a container of pointers, deletes the pointers and then clears the container.

Definition at line 295 of file STLExtras.h.

References llvm::ARM_PROC::I.

Referenced by llvm::DwarfDebug::endFunction(), llvm::GCOVFile::~GCOVFile(), llvm::GCOVFunction::~GCOVFunction(), and llvm::LLVMContextImpl::~LLVMContextImpl().

template<typename Container >
void llvm::DeleteContainerSeconds ( Container &  C)

In a container of pairs (usually a map) whose second element is a pointer, deletes the second elements and then clears the container.

Definition at line 304 of file STLExtras.h.

References llvm::ARM_PROC::I.

Referenced by llvm::DwarfDebug::endModule(), llvm::LexicalScopes::releaseMemory(), llvm::GCOVBlock::~GCOVBlock(), and llvm::LLVMContextImpl::~LLVMContextImpl().

void llvm::DeleteDeadBlock ( BasicBlock BB)
bool llvm::DeleteDeadPHIs ( BasicBlock BB)

DeleteDeadPHIs - Examine each PHI in the given block and delete it if it is dead. Also recursively delete any operands that become dead as a result. This includes tracing the def-use list from the PHI to see if it is ultimately unused or if it reaches an unused cycle. Return true if any PHIs were deleted.

DeleteDeadPHIs - Examine each PHI in the given block and delete it if it is dead. Also recursively delete any operands that become dead as a result. This includes tracing the def-use list from the PHI to see if it is ultimately unused or if it reaches an unused cycle.

Definition at line 97 of file BasicBlockUtils.cpp.

References llvm::BasicBlock::begin(), dyn_cast(), llvm::ARM_PROC::I, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), RecursivelyDeleteDeadPHINode(), and llvm::SmallVectorTemplateCommon< T >::size().

template<class T >
static void llvm::deleter ( T *  Ptr) [inline, static]

Definition at line 62 of file STLExtras.h.

AllocaInst * llvm::DemotePHIToStack ( PHINode P,
Instruction AllocaPoint = 0 
)

DemotePHIToStack - This function takes a virtual register computed by a phi node and replaces it with a slot in the stack frame, allocated via alloca. The phi node is deleted and it returns the pointer to the alloca inserted.

DemotePHIToStack - This function takes a virtual register computed by a PHI node and replaces it with a slot in the stack frame allocated via alloca. The PHI node is deleted. It returns the pointer to the alloca inserted.

Definition at line 99 of file DemoteRegToStack.cpp.

References llvm::BasicBlock::begin(), llvm::Instruction::eraseFromParent(), F(), llvm::Function::getEntryBlock(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::Value::getName(), llvm::PHINode::getNumIncomingValues(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::Value::replaceAllUsesWith(), and llvm::Value::use_empty().

AllocaInst * llvm::DemoteRegToStack ( Instruction I,
bool  VolatileLoads = false,
Instruction AllocaPoint = 0 
)

DemoteRegToStack - This function takes a virtual register computed by an Instruction and replaces it with a slot in the stack frame, allocated via alloca. This allows the CFG to be changed around without fear of invalidating the SSA information for the value. It returns the pointer to the alloca inserted to create a stack slot for X.

DemoteRegToStack - This function takes a virtual register computed by an Instruction and replaces it with a slot in the stack frame, allocated via alloca. This allows the CFG to be changed around without fear of invalidating the SSA information for the value. It returns the pointer to the alloca inserted to create a stack slot for I.

Definition at line 22 of file DemoteRegToStack.cpp.

References llvm::BasicBlock::begin(), llvm::Instruction::eraseFromParent(), F(), llvm::Function::getEntryBlock(), llvm::Value::getName(), llvm::InvokeInst::getNormalDest(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getSinglePredecessor(), llvm::Value::getType(), llvm::ARM_PROC::I, llvm::User::replaceUsesOfWith(), llvm::Instruction::use_back(), and llvm::Value::use_empty().

template<class T >
df_iterator<T> llvm::df_begin ( const T &  G)
template<class T >
df_iterator<T> llvm::df_end ( const T &  G)
template<class T , class SetTy >
df_ext_iterator<T, SetTy> llvm::df_ext_begin ( const T &  G,
SetTy S 
)
template<class T , class SetTy >
df_ext_iterator<T, SetTy> llvm::df_ext_end ( const T &  G,
SetTy S 
)
template<class GraphT >
unsigned llvm::DFSPass ( DominatorTreeBase< typename GraphT::NodeType > &  DT,
typename GraphT::NodeType *  V,
unsigned  N 
)
int llvm::DiffFilesWithTolerance ( const sys::PathWithStatus FileA,
const sys::PathWithStatus FileB,
double  AbsTol,
double  RelTol,
std::string *  Error = 0 
)

DiffFilesWithTolerance - Compare the two files specified, returning 0 if the files match, 1 if they are different, and 2 if there is a file error. This function allows you to specify an absolute and relative FP error that is allowed to exist. If you specify a string to fill in for the error option, it will set the string to an error message if an error occurs, or if the files are different.

DiffFilesWithTolerance - Compare the two files specified, returning 0 if the files match, 1 if they are different, and 2 if there is a file error. This function differs from DiffFiles in that you can specify an absolete and relative FP error that is allowed to exist. If you specify a string to fill in for the error option, it will set the string to an error message if an error occurs, allowing the caller to distinguish between a failed diff and a file system error.

Definition at line 174 of file FileUtilities.cpp.

References BackupNumber(), llvm::sys::Path::c_str(), CompareNumbers(), llvm::MemoryBuffer::getFile(), llvm::sys::PathWithStatus::getFileStatus(), llvm::sys::FileStatus::getSize(), and isNumberChar().

cl::opt<bool> llvm::DisablePPC32RS ( "disable-ppc32-regscavenger"  ,
cl::  initfalse,
cl::  desc"Disable PPC32 register scavenger",
cl::Hidden   
)
cl::opt<bool> llvm::DisablePPC64RS ( "disable-ppc64-regscavenger"  ,
cl::  initfalse,
cl::  desc"Disable PPC64 register scavenger",
cl::Hidden   
)
void llvm::DisplayGraph ( const sys::Path Filename,
bool  wait = true,
GraphProgram::Name  program = GraphProgram::DOT 
)
uint64_t llvm::DoubleToBits ( double  Double) [inline]

DoubleToBits - This function takes a double and returns the bit equivalent 64-bit integer. Note that copying doubles around changes the bits of NaNs on some hosts, notably x86, so this routine cannot be used if these bits are needed.

Definition at line 385 of file MathExtras.h.

Referenced by LowerConstantFP().

template<unsigned ElementSize>
void llvm::dump ( const SparseBitVector< ElementSize > &  LHS,
raw_ostream &  out 
)
void llvm::dumpBlock ( Value v,
char *  blockName 
)
void llvm::dumpInst ( Value base,
char *  instName 
)

Definition at line 467 of file NVPTXUtilities.cpp.

References llvm::Value::dump(), getInst(), and llvm::ARM_PROC::I.

void llvm::dumpInstRec ( Value v,
std::set< Instruction * > *  visited 
)

Definition at line 474 of file NVPTXUtilities.cpp.

References llvm::ARM_PROC::I.

Referenced by dumpInstRec().

void llvm::dumpInstRec ( Value v)

Definition at line 490 of file NVPTXUtilities.cpp.

References dumpInstRec().

void llvm::dumpParent ( Value v)

Definition at line 499 of file NVPTXUtilities.cpp.

References F(), and llvm::ARM_PROC::I.

template<class X , class Y >
cast_retty<X, Y>::ret_type llvm::dyn_cast ( const Y Val) [inline]

Definition at line 219 of file Casting.h.

Referenced by accumulateGEPOffset(), AddCombineToVPADDL(), AddPHINodeEntriesForMappedBlock(), AddPredecessorToBlock(), AddReachableCodeToWorklist(), llvm::DebugRecVH::allUsesReplacedWith(), AnalyzeLoadFromClobberingMemInst(), llvm::MachineModuleInfo::AnalyzeModule(), llvm::SelectInst::areInvalidOperands(), BuildConstantFromSCEV(), llvm::X86TargetLowering::BuildFILD(), BuildSubAggregate(), cacheAnnotationFromMD(), llvm::Function::callsFunctionThatReturnsTwice(), llvm::DwarfException::CallToNoUnwindFunction(), CanEvaluateSExtd(), CanEvaluateShifted(), CanEvaluateTruncated(), CanEvaluateZExtd(), canExpandBackedgeTakenCount(), canFoldInAddressingMode(), canFoldIVIncExpr(), CannotBeNegativeZero(), CanPropagatePredecessorsForPHIs(), CanSelectOperandBeMappingIntoPredBlock(), llvm::Constant::canTrap(), CheapToScalarize(), CheckAndImm(), CheckInteger(), CheckOrImm(), CloneAndPruneFunctionInto(), CloneNodeWithValues(), CollectAddOperandsWithScales(), CollectInsertionElements(), combineShlAddConstant(), ComputeMaskedBits(), ComputeMultiple(), ComputeNumSignBits(), ConnectProlog(), ConstantFoldInsertElementInstruction(), ConstantFoldInstruction(), ConstantFoldLoadFromConstPtr(), ConstantFoldSelectInstruction(), ConstantFoldTerminator(), ConvertDebugDeclareToDebugValue(), convertMemSetToLoop(), convertTransferToLoop(), createPHIsForSplitLoopExit(), DecomposeGEPExpression(), DecomposeSimpleLinearExpr(), DeleteDeadPHIs(), DemandedBitsLHSMask(), llvm::BitcodeReader::Dematerialize(), llvm::DominatorTree::dominates(), DominatesMergePoint(), llvm::Value::DoPHITranslation(), dyn_castFoldableMul(), EliminateDuplicatePHINodes(), llvm::PTXAsmPrinter::EmitFunctionEntryLabel(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::PTXSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::ARMAsmPrinter::EmitXXStructor(), EraseTerminatorInstAndDCECond(), EvaluateExpression(), evaluateFCmpRelation(), EvaluateGEPOffsetExpression(), evaluateICmpRelation(), llvm::ARMTargetLowering::ExpandInlineAsm(), llvm::X86TargetLowering::ExpandInlineAsm(), ExtractBranchMetadata(), extractCallocCall(), ExtractConstantBytes(), ExtractEquivalentCondition(), extractMallocCall(), extractMallocCallFromBitCast(), ExtractTypeInfo(), FactorizeBinOp(), FindAllMemoryUses(), FindInitTrampoline(), FindInitTrampolineFromAlloca(), FindLoopCounter(), llvm::SelectionDAGBuilder::FindMergedConditions(), FindPHIForConditionForwarding(), FindPhiPredForUseInBlock(), FindUsedValues(), findUsedValues(), llvm::MCAssembler::Finish(), llvm::InstCombiner::FoldAndOfICmps(), FoldBitCast(), FoldBranchToCommonDest(), llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(), FoldCondBranchOnPHI(), llvm::InstCombiner::FoldICmpShrCst(), foldLogOpOfMaskedICmps(), llvm::InstCombiner::FoldOrOfICmps(), llvm::InstCombiner::FoldOrWithConstants(), FoldReinterpretLoadFromConstPtr(), foldSelectICmpAnd(), llvm::InstCombiner::FoldShiftByConstant(), FoldTwoEntryPHINode(), llvm::ScalarEvolution::forgetValue(), GatherConstantCompares(), genLoopLimit(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getCalledFunction(), llvm::CallInst::getCalledFunction(), llvm::InvokeInst::getCalledFunction(), getCommonReturnValue(), getConstantEvolvingPHI(), getConstantEvolvingPHIOperands(), GetConstantInt(), getConstantStringInfo(), llvm::object::GetELFSymbolVersion(), getExactSDiv(), llvm::ConstantInt::getFalse(), llvm::BasicBlock::getFirstNonPHIOrDbgOrLifetime(), llvm::SelectionDAG::getGlobalAddress(), GetIfCondition(), getIndexedTypeInternal(), getInsertPointForUses(), llvm::SCEVExpander::getIVIncOperand(), llvm::TargetLoweringObjectFile::getKindForGlobal(), getKnownConstant(), llvm::BasicBlock::getLandingPadInst(), getLocForWrite(), getLoopPhiForCounter(), llvm::SelectionDAG::getMemcpy(), getMemcpyLoadsAndStores(), llvm::SelectionDAG::getMemmove(), getMemmoveLoadsAndStores(), llvm::SelectionDAG::getMemset(), getMemSetPatternValue(), getMemsetStores(), llvm::SelectionDAG::getNode(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), GetOffsetFromIndex(), getOpenCLAlignment(), llvm::NamedMDNode::getOperand(), llvm::ARMBaseInstrInfo::getOperandLatency(), GetPointerBaseWithConstantOffset(), llvm::LazyValueInfo::getPredicateOnEdge(), getPreStartForSignExtend(), llvm::NVPTXTargetLowering::getPrototype(), llvm::Constant::getRelocationInfo(), llvm::ScalarEvolution::getSmallConstantTripCount(), llvm::ScalarEvolution::getSmallConstantTripMultiple(), llvm::SparcTargetLowering::getSRetArgSize(), llvm::BasicBlock::getTerminator(), llvm::ConstantInt::getTrue(), getTypeName(), getTypeOfMaskedICmp(), llvm::ScalarEvolution::getUDivExpr(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), getVShiftImm(), getVZextMovL(), HandleCallsInBlockInlinedThroughInvoke(), llvm::ARMConstantPoolConstant::hasSameValue(), llvm::ARMConstantPoolSymbol::hasSameValue(), llvm::ARMConstantPoolMBB::hasSameValue(), HoistThenElseCodeToIf(), InlineCallIfPossible(), InlineFunction(), InstCombineStoreToCast(), llvm::SSAUpdaterTraits< SSAUpdater >::InstrIsPHI(), InstructionDereferencesPointer(), isAllOnes(), isBLACompatibleAddress(), isBSwapHWordElement(), isCalleeLoad(), isCMOVWithZeroOrAllOnesLHS(), IsConstantOffsetFromGlobal(), llvm::Constant::isConstantUsed(), isConstVecPow2(), llvm::BitcodeReader::isDematerializable(), isDereferenceablePointer(), llvm::Type::isEmptyTy(), isExistingPhi(), isExtendedBUILD_VECTOR(), isFormingBranchFromSelectProfitable(), isFreeCall(), llvm::TargetLowering::isGAPlusOffset(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), llvm::HexagonTargetObjectFile::IsGlobalInSmallSection(), llvm::MBlazeTargetObjectFile::IsGlobalInSmallSection(), llvm::MipsTargetObjectFile::IsGlobalInSmallSection(), isHighCostExpansion(), isImageOrSamplerVal(), isInTailCallPosition(), llvm::ScalarEvolution::isLoopBackedgeGuardedByCond(), llvm::ScalarEvolution::isLoopEntryGuardedByCond(), isLoopInvariant(), isLSAAddress(), IsMemRefInstr(), llvm::SCEV::isNonConstantNegative(), llvm::ISD::isNormalLoad(), llvm::ISD::isNormalStore(), isOnlyCopiedFromConstantGlobal(), IsPointerOffset(), llvm::PHITransAddr::IsPotentiallyPHITranslatable(), IsPotentialUse(), llvm::DominatorTree::isReachableFromEntry(), isSafePHIToSpeculate(), isSafeSelectToSpeculate(), isSafeSROAElementUse(), isSafeToHoistInvoke(), isSafeToSpeculativelyExecute(), isSameCompare(), isScaledConstantInRange(), isSelect01(), isSimpleEnoughPointerToCommit(), isSimpleIVUser(), isTruncateOf(), llvm::Value::isUsedInBasicBlock(), llvm::Instruction::isUsedOutsideOfBlock(), IsUserOfGlobalSafeForSRA(), llvm::ShuffleVectorInst::isValidOperands(), IsWordAlignedBasePlusConstantOffset(), isXor1OfSetCC(), isZero(), IVUseShouldUsePostIncValue(), llvm::PPCTargetLowering::LowerAsmOperandForConstraint(), llvm::ARMTargetLowering::LowerAsmOperandForConstraint(), llvm::TargetLowering::LowerAsmOperandForConstraint(), LowerBUILD_VECTOR(), LowerByteImmed(), nvptx::LowerConstant(), LowerConstant(), llvm::NVPTXTargetLowering::LowerFormalArguments(), LowerLOAD(), LowerSETCC(), LowerSTORE(), llvm::IntrinsicLowering::LowerToByteSwap(), MaintainNoSignedWrap(), MapValue(), llvm::PatternMatch::MaxMin_match< LHS_t, RHS_t, Pred_t >::match(), MatchingStackOffset(), MatchSelectPattern(), llvm::BitcodeReader::Materialize(), MergeEmptyReturnBlocks(), MipsGetSymAndOffset(), needsLFTR(), onlyUsedByLifetimeMarkers(), llvm::TargetLowering::ParseConstraints(), passingValueIsAlwaysUndefined(), PerformANDCombine(), PerformBFICombine(), llvm::SPUTargetLowering::PerformDAGCombine(), PerformMULCombine(), PerformMulCombine(), PerformORCombine(), PerformOrCombine(), PerformSELECTCombine(), PerformSHLCombine(), PerformZExtCombine(), llvm::X86IntelInstPrinter::print_pcrel_imm(), llvm::X86ATTInstPrinter::print_pcrel_imm(), printExpr(), llvm::ARMInstPrinter::printOperand(), ProcessUAddIdiom(), ProcessUGT_ADDCST_ADD(), PushLoopPHIs(), RecognizePersonality(), RecursivelyDeleteTriviallyDeadInstructions(), llvm::Constant::removeDeadConstantUsers(), removeDeadUsersOfConstant(), RemoveInstInputs(), llvm::BasicBlock::removePredecessor(), removeUndefIntroducingPredecessor(), llvm::SCEVExpander::replaceCongruentIVs(), llvm::LoopInfo::replacementPreservesLCSSAForm(), llvm::BasicBlock::replaceSuccessorsPhiUsesWith(), RewriteUsesOfClonedInstructions(), llvm::NVPTXLowerAggrCopies::runOnFunction(), llvm::NVPTXAllocaHoisting::runOnFunction(), llvm::ExecutionEngine::runStaticConstructorsDestructors(), llvm::FunctionLoweringInfo::set(), ShrinkDemandedConstant(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(), SimplifyAssociativeBinOp(), SimplifyBranchOnICmpChain(), SimplifyCondBranchToCondBranch(), llvm::TargetLowering::SimplifyDemandedBits(), SimplifyGEPInst(), SimplifyICmpInst(), SimplifyIndirectBrOnSelect(), SimplifySwitchOnSelect(), SimplifyWithOpReplaced(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), SolveQuadraticEquation(), SpeculativelyExecuteBB(), llvm::BasicBlock::splitBasicBlock(), SplitCriticalSideEffectEdges(), llvm::DbgInfoIntrinsic::StripCast(), SymbolicallyEvaluateGEP(), ThreadBinOpOverSelect(), TryToOptimizeStoreOfMallocToGlobal(), TryToSimplifyUncondBranchWithICmpInIt(), UnrollLoop(), UpdateCallGraphAfterInlining(), usedInGlobalVarDef(), ValueDominatesPHI(), llvm::SSAUpdaterTraits< SSAUpdater >::ValueIsPHI(), llvm::InlineAsm::Verify(), VerifySubExpr(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitCallInst(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitFPToSI(), llvm::InstCombiner::visitFPToUI(), llvm::InstCombiner::visitFPTrunc(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithCastAndCast(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitLandingPadInst(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitSelectInstWithICmp(), llvm::InstCombiner::visitShuffleVectorInst(), llvm::InstCombiner::visitXor(), and llvm::InstCombiner::visitZExt().

template<class X , class Y >
cast_retty<X, Y*>::ret_type llvm::dyn_cast_or_null ( Y Val) [inline]

Definition at line 227 of file Casting.h.

bool llvm::EliminateDuplicatePHINodes ( BasicBlock BB)

EliminateDuplicatePHINodes - Check for and eliminate duplicate PHI nodes in this block. This doesn't try to be clever about PHI nodes which differ only in the order of the incoming values, but instcombine orders them so it usually won't matter.

Definition at line 646 of file Local.cpp.

References llvm::BasicBlock::begin(), llvm::PHINode::block_begin(), llvm::PHINode::block_end(), dyn_cast(), llvm::DenseMap< KeyT, ValueT, KeyInfoT >::end(), llvm::Instruction::eraseFromParent(), llvm::DenseMap< KeyT, ValueT, KeyInfoT >::find(), llvm::ARM_PROC::I, llvm::DenseMap< KeyT, ValueT, KeyInfoT >::insert(), llvm::User::op_begin(), llvm::User::op_end(), and llvm::Value::replaceAllUsesWith().

static void llvm::EmitAbsDifference ( MCStreamer &  streamer,
MCSymbol *  lhs,
MCSymbol *  rhs 
) [static]
void llvm::EmitAnyX86InstComments ( const MCInst MI,
raw_ostream OS,
const char *(*)(unsigned getRegName 
)
void llvm::emitARMRegPlusImmediate ( MachineBasicBlock &  MBB,
MachineBasicBlock::iterator &  MBBI,
DebugLoc  dl,
unsigned  DestReg,
unsigned  BaseReg,
int  NumBytes,
ARMCC::CondCodes  Pred,
unsigned  PredReg,
const ARMBaseInstrInfo &  TII,
unsigned  MIFlags = 0 
)

emitARMRegPlusImmediate / emitT2RegPlusImmediate - Emits a series of instructions to materializea destreg = basereg + immediate in ARM / Thumb2 code.

Referenced by llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ARMFrameLowering::emitEpilogue(), and emitSPUpdate().

void llvm::EmitFPutC ( Value Char,
Value File,
IRBuilder<> &  B,
const TargetData TD 
)
void llvm::EmitFPutS ( Value Str,
Value File,
IRBuilder<> &  B,
const TargetData TD,
const TargetLibraryInfo TLI 
)
void llvm::EmitFWrite ( Value Ptr,
Value Size,
Value File,
IRBuilder<> &  B,
const TargetData TD,
const TargetLibraryInfo TLI 
)
Value * llvm::EmitMemChr ( Value Ptr,
Value Val,
Value Len,
IRBuilder<> &  B,
const TargetData TD 
)
Value * llvm::EmitMemCmp ( Value Ptr1,
Value Ptr2,
Value Len,
IRBuilder<> &  B,
const TargetData TD 
)
Value * llvm::EmitMemCpyChk ( Value Dst,
Value Src,
Value Len,
Value ObjSize,
IRBuilder<> &  B,
const TargetData TD 
)
Value * llvm::EmitPutChar ( Value Char,
IRBuilder<> &  B,
const TargetData TD 
)
void llvm::EmitPutS ( Value Str,
IRBuilder<> &  B,
const TargetData TD 
)
static void llvm::EmitRuntimeFunction ( MCStreamer &  streamer,
const MCWin64EHUnwindInfo *  info 
) [static]
Value * llvm::EmitStrChr ( Value Ptr,
char  C,
IRBuilder<> &  B,
const TargetData TD 
)
Value * llvm::EmitStrCpy ( Value Dst,
Value Src,
IRBuilder<> &  B,
const TargetData TD,
StringRef  Name = "strcpy" 
)
Value * llvm::EmitStrLen ( Value Ptr,
IRBuilder<> &  B,
const TargetData TD 
)

EmitStrLen - Emit a call to the strlen function to the builder, for the specified pointer. Ptr is required to be some pointer type, and the return value has 'intptr_t' type.

EmitStrLen - Emit a call to the strlen function to the builder, for the specified pointer. This always returns an integer value of size intptr_t.

Definition at line 37 of file BuildLibCalls.cpp.

References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeWithIndex::get(), llvm::AttrListPtr::get(), llvm::BasicBlock::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::TargetData::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().

Value * llvm::EmitStrNCmp ( Value Ptr1,
Value Ptr2,
Value Len,
IRBuilder<> &  B,
const TargetData TD 
)
Value * llvm::EmitStrNCpy ( Value Dst,
Value Src,
Value Len,
IRBuilder<> &  B,
const TargetData TD,
StringRef  Name = "strncpy" 
)

EmitStrNCpy - Emit a call to the strncpy function to the builder, for the specified pointer arguments and length.

EmitStrNCpy - Emit a call to the strncpy function to the builder, for the specified pointer arguments.

Definition at line 121 of file BuildLibCalls.cpp.

References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall3(), F(), llvm::AttributeWithIndex::get(), llvm::AttrListPtr::get(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().

Referenced by llvm::SimplifyFortifiedLibCalls::fold().

void llvm::emitT2RegPlusImmediate ( MachineBasicBlock &  MBB,
MachineBasicBlock::iterator &  MBBI,
DebugLoc  dl,
unsigned  DestReg,
unsigned  BaseReg,
int  NumBytes,
ARMCC::CondCodes  Pred,
unsigned  PredReg,
const ARMBaseInstrInfo &  TII,
unsigned  MIFlags = 0 
)
void llvm::emitThumbRegPlusImmediate ( MachineBasicBlock &  MBB,
MachineBasicBlock::iterator &  MBBI,
DebugLoc  dl,
unsigned  DestReg,
unsigned  BaseReg,
int  NumBytes,
const TargetInstrInfo &  TII,
const ARMBaseRegisterInfo &  MRI,
unsigned  MIFlags = 0 
)
Value * llvm::EmitUnaryFloatFnCall ( Value Op,
StringRef  Name,
IRBuilder<> &  B,
const AttrListPtr Attrs 
)

EmitUnaryFloatFnCall - Emit a call to the unary function named 'Name' (e.g. 'floor'). This function is known to take a single of type matching 'Op' and returns one value with the same type. If 'Op' is a long double, 'l' is added as the suffix of name, if 'Op' is a float, we add a 'f' suffix.

Definition at line 213 of file BuildLibCalls.cpp.

References llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::IRBuilderBase::GetInsertBlock(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::CallInst::setAttributes(), llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().

static void llvm::EmitUnwindCode ( MCStreamer &  streamer,
MCSymbol *  begin,
MCWin64EHInstruction &  inst 
) [static]
static void llvm::EmitUnwindInfo ( MCStreamer &  streamer,
MCWin64EHUnwindInfo *  info 
) [static]
void llvm::EnableStatistics ( )

Enable the collection and printing of statistics.

Definition at line 104 of file Statistic.cpp.

References Enabled.

static int llvm::encode_leb128 ( uint64_t  val,
int *  nbytes,
char *  space,
int  splen 
) [static]

Definition at line 37 of file NVPTXutil.cpp.

References DATA_MASK, DIGIT_WIDTH, llvm::sys::path::end(), and MORE_BYTES.

Referenced by encode_leb128().

uint64_t llvm::encode_leb128 ( const char *  str)

Definition at line 64 of file NVPTXutil.cpp.

References encode_leb128().

raw_ostream & llvm::errs ( )

errs() - This returns a reference to a raw_ostream for standard error. Use it like: errs() << "foo" << "bar";

Definition at line 669 of file raw_ostream.cpp.

Referenced by llvm::InstCombineWorklist::Add(), llvm::InstCombineWorklist::AddInitialGroup(), llvm::FileInfo::addLineCount(), AddReachableCodeToWorklist(), llvm::SPUHazardRecognizer::AdvanceCycle(), llvm::SPUInstrInfo::AnalyzeBranch(), llvm::Interpreter::callExternalFunction(), CheckBitcodeOutputToConsole(), llvm::SelectionDAG::clearGraphAttrs(), computeAllocSize(), CrashHandler(), llvm::EngineBuilder::create(), CreateInfoOutputFile(), dbgs(), DisplayGraph(), llvm::InstCombiner::DoOneIteration(), llvm::SubMultiClassReference::dump(), llvm::RecTy::dump(), llvm::MCFragment::dump(), llvm::ARMConstantPoolValue::dump(), llvm::Init::dump(), llvm::MCSectionData::dump(), llvm::MCSymbolData::dump(), llvm::MCAssembler::dump(), llvm::RecordVal::dump(), llvm::Record::dump(), llvm::MultiClass::dump(), llvm::RecordKeeper::dump(), llvm::LPPassManager::dumpPassStructure(), llvm::RGPassManager::dumpPassStructure(), llvm::XCoreRegisterInfo::eliminateCallFramePseudoInstr(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::MCStreamer::EmitCantUnwind(), llvm::LLVMContext::emitError(), llvm::MCStreamer::EmitFnEnd(), llvm::MCStreamer::EmitFnStart(), llvm::ARMJITInfo::emitFunctionStub(), llvm::MCStreamer::EmitHandlerData(), llvm::MCStreamer::EmitPad(), llvm::MCStreamer::EmitPersonality(), llvm::MCStreamer::EmitRawText(), llvm::MCStreamer::EmitRegSave(), llvm::MCStreamer::EmitSetFP(), llvm::InstCombiner::EraseInstFromFunction(), llvm::cl::Option::error(), ExecGraphViewer(), ferrs(), llvm::MCAssembler::Finish(), llvm::SubtargetFeatures::getFeatureBits(), llvm::SelectionDAG::getGraphAttrs(), llvm::SPUHazardRecognizer::getHazardType(), llvm::MCSubtargetInfo::getInstrItineraryForCPU(), llvm::SubtargetFeatures::getItinerary(), GetOptionInfo(), llvm::LeakDetectorImpl< Value >::hasGarbage(), Help(), INITIALIZE_PASS(), llvm::SPUInstrInfo::InsertBranch(), lle_X_sprintf(), LLVMSetLinkage(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::SPUTargetLowering::LowerOperation(), LowerSTORE(), llvm::PluginLoader::operator=(), OptimizeGlobalAddressOfMalloc(), llvm::cl::ParseCommandLineOptions(), llvm::PassNameParser::passRegistered(), llvm::SPUTargetLowering::PerformDAGCombine(), llvm::PrinterTrait< T >::print(), llvm::PrinterTrait< Value >::print(), llvm::FileInfo::print(), PrintError(), llvm::SourceMgr::PrintMessage(), PrintModRefResults(), PrintPercent(), PrintRecyclerStats(), PrintResults(), llvm::BumpPtrAllocator::PrintStats(), PrintWarning(), llvm::ProfileInfoLoader::ProfileInfoLoader(), ReadProfilingBlock(), llvm::SPUInstrInfo::RemoveBranch(), llvm::ProfileInfoT< FType, BType >::repair(), llvm::InstCombiner::ReplaceInstUsesWith(), llvm::SPUTargetLowering::ReplaceNodeResults(), llvm::DOTGraphTraitsPrinter< Analysis, Simple >::runOnFunction(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::SelectionDAG::setGraphAttrs(), llvm::SelectionDAG::setGraphColor(), llvm::SelectionDAG::setSubgraphColor(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), TableGenMain(), llvm::SubtargetFeatures::ToggleFeature(), llvm::PHITransAddr::Verify(), llvm::DominatorTree::verifyAnalysis(), VerifySubExpr(), llvm::MachineFunction::viewCFG(), llvm::MachineFunction::viewCFGOnly(), llvm::SelectionDAG::viewGraph(), llvm::ScheduleDAG::viewGraph(), llvm::Interpreter::visitInstruction(), and WriteGraph().

template<class GraphT >
GraphT::NodeType* llvm::Eval ( DominatorTreeBase< typename GraphT::NodeType > &  DT,
typename GraphT::NodeType *  VIn,
unsigned  LastLinked 
)
llvm::EXTERN_TEMPLATE_INSTANTIATION ( class DominatorTreeBase< MachineBasicBlock >  )
llvm::EXTERN_TEMPLATE_INSTANTIATION ( class DomTreeNodeBase< BasicBlock >  )
llvm::EXTERN_TEMPLATE_INSTANTIATION ( class DomTreeNodeBase< MachineBasicBlock >  )
llvm::EXTERN_TEMPLATE_INSTANTIATION ( class DominatorTreeBase< BasicBlock >  )
const CallInst * llvm::extractCallocCall ( const Value I)

extractCallocCall - Returns the corresponding CallInst if the instruction is a calloc call.

Definition at line 212 of file MemoryBuiltins.cpp.

References dyn_cast(), llvm::ARM_PROC::I, and isCallocCall().

Referenced by computeAllocSize(), getPointerSize(), isInstructionTriviallyDead(), and llvm::InstCombiner::visitCallInst().

CallInst * llvm::extractCallocCall ( Value I)

Definition at line 217 of file MemoryBuiltins.cpp.

References dyn_cast(), llvm::ARM_PROC::I, and isCallocCall().

const CallInst * llvm::extractMallocCall ( const Value I)

extractMallocCall - Returns the corresponding CallInst if the instruction is a malloc call. Since CallInst::CreateMalloc() only creates calls, we ignore InvokeInst here.

Definition at line 60 of file MemoryBuiltins.cpp.

References dyn_cast(), llvm::ARM_PROC::I, and isMallocCall().

Referenced by computeAllocSize(), getObjectSize(), llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(), getPointerSize(), isArrayMalloc(), isInstructionTriviallyDead(), isMalloc(), OptimizeOnceStoredGlobal(), and llvm::InstCombiner::visitCallInst().

CallInst * llvm::extractMallocCall ( Value I)

Definition at line 65 of file MemoryBuiltins.cpp.

References dyn_cast(), llvm::ARM_PROC::I, and isMallocCall().

const CallInst * llvm::extractMallocCallFromBitCast ( const Value I)

extractMallocCallFromBitCast - Returns the corresponding CallInst if the instruction is a bitcast of the result of a malloc call.

Definition at line 85 of file MemoryBuiltins.cpp.

References dyn_cast(), llvm::User::getOperand(), llvm::ARM_PROC::I, and isBitCastOfMallocCall().

Referenced by isMalloc(), and TryToOptimizeStoreOfMallocToGlobal().

CallInst * llvm::extractMallocCallFromBitCast ( Value I)

extractMallocCallFromBitCast - Returns the corresponding CallInst if the instruction is a bitcast of the result of a malloc call.

Definition at line 79 of file MemoryBuiltins.cpp.

References dyn_cast(), llvm::User::getOperand(), llvm::ARM_PROC::I, and isBitCastOfMallocCall().

GlobalVariable * llvm::ExtractTypeInfo ( Value V)

ExtractTypeInfo - Returns the type info, possibly bitcast, encoded in V.

Definition at line 110 of file CodeGen/Analysis.cpp.

References dyn_cast(), llvm::GlobalVariable::getInitializer(), llvm::Value::getName(), llvm::GlobalVariable::hasInitializer(), and llvm::Value::stripPointerCasts().

Referenced by AddCatchInfo().

static bool llvm::f64AssignAAPCS ( unsigned ValNo,
MVT &  ValVT,
MVT &  LocVT,
CCValAssign::LocInfo &  LocInfo,
CCState &  State,
bool  CanFail 
) [static]
static bool llvm::f64AssignAPCS ( unsigned ValNo,
MVT &  ValVT,
MVT &  LocVT,
CCValAssign::LocInfo &  LocInfo,
CCState &  State,
bool  CanFail 
) [static]
static bool llvm::f64RetAssign ( unsigned ValNo,
MVT &  ValVT,
MVT &  LocVT,
CCValAssign::LocInfo &  LocInfo,
CCState &  State 
) [static]
formatted_raw_ostream & llvm::fdbgs ( )

fdbgs() - This returns a reference to a formatted_raw_ostream for debug output. Use it like: fdbgs() << "foo" << "bar";

fdbgs() - This returns a reference to a formatted_raw_ostream for the debug stream. Use it like: fdbgs() << "foo" << "bar";

Definition at line 98 of file FormattedStream.cpp.

References dbgs().

formatted_raw_ostream & llvm::ferrs ( )

ferrs() - This returns a reference to a formatted_raw_ostream for standard error. Use it like: ferrs() << "foo" << "bar";

Definition at line 91 of file FormattedStream.cpp.

References errs().

void llvm::finalizeBundle ( MachineBasicBlock MBB,
MachineBasicBlock::instr_iterator  FirstMI,
MachineBasicBlock::instr_iterator  LastMI 
)

finalizeBundle - Finalize a machine instruction bundle which includes a sequence of instructions starting from FirstMI to LastMI (exclusive). This routine adds a BUNDLE instruction to represent the bundle, it adds IsInternalRead markers to MachineOperands which are defined inside the bundle, and it copies externally visible defs and uses to the BUNDLE instruction.

Definition at line 100 of file MachineInstrBundle.cpp.

References llvm::MachineInstrBuilder::addReg(), BuildMI(), llvm::TargetOpcode::BUNDLE, llvm::SmallVectorImpl< T >::clear(), llvm::SmallSet< T, N, C >::count(), llvm::SmallSet< T, N, C >::erase(), llvm::MCInstrInfo::get(), getDeadRegState(), getDefRegState(), getImplRegState(), llvm::TargetMachine::getInstrInfo(), getKillRegState(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::TargetMachine::getRegisterInfo(), llvm::MCRegisterInfo::getSubRegisters(), llvm::MachineFunction::getTarget(), getUndefRegState(), llvm::SmallSet< T, N, C >::insert(), llvm::MachineOperand::isDead(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isKill(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isUndef(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::MachineOperand::setIsInternalRead(), and llvm::SmallVectorTemplateCommon< T >::size().

Referenced by llvm::VLIWPacketizerList::endPacket(), finalizeBundle(), and finalizeBundles().

finalizeBundle - Same functionality as the previous finalizeBundle except the last instruction in the bundle is not provided as an input. This is used in cases where bundles are pre-determined by marking instructions with 'InsideBundle' marker. It returns the MBB instruction iterator that points to the end of the bundle.

Definition at line 210 of file MachineInstrBundle.cpp.

References finalizeBundle(), llvm::MachineBasicBlock::instr_end(), and next().

bool llvm::finalizeBundles ( MachineFunction MF)

finalizeBundles - Finalize instruction bundles in the specified MachineFunction. Return true if any bundles are finalized.

Definition at line 222 of file MachineInstrBundle.cpp.

References llvm::MachineFunction::begin(), llvm::MachineFunction::end(), finalizeBundle(), llvm::ARM_PROC::I, llvm::MachineBasicBlock::instr_begin(), llvm::MachineBasicBlock::instr_end(), and prior().

Referenced by INITIALIZE_PASS().

bool llvm::findAllNVVMAnnotation ( const llvm::GlobalValue gv,
std::string  prop,
std::vector< unsigned > &  retval 
)
DbgDeclareInst * llvm::FindAllocaDbgDeclare ( Value V)

FindAllocaDbgDeclare - Finds the llvm.dbg.declare intrinsic corresponding to an alloca, if any.

FindAllocaDbgDeclare - Finds the llvm.dbg.declare intrinsic describing the alloca 'V', if any.

Definition at line 877 of file Local.cpp.

References llvm::Value::getContext(), and llvm::MDNode::getIfExists().

Value * llvm::FindAvailableLoadedValue ( Value Ptr,
BasicBlock ScanBB,
BasicBlock::iterator ScanFrom,
unsigned  MaxInstsToScan = 6,
AliasAnalysis AA = 0,
MDNode **  TBAATag = 0 
)

FindAvailableLoadedValue - Scan the ScanBB block backwards (starting at the instruction before ScanFrom) checking to see if we have the value at the memory address *Ptr locally available within a small number of instructions. If the value is available, return it.

If not, return the iterator for the last validated instruction that the value would be live through. If we scanned the entire block and didn't find something that invalidates *Ptr or provides it, ScanFrom would be left at begin() and this returns null. ScanFrom could also be left

MaxInstsToScan specifies the maximum instructions to scan in the block. If it is set to 0, it will scan the whole block. You can also optionally specify an alias analysis implementation, which makes this more precise.

If TBAATag is non-null and a load or store is found, the TBAA tag from the load or store is recorded there. If there is no TBAA tag or if no access is found, it is left unmodified.

Definition at line 168 of file Loads.cpp.

References AreEquivalentAddressValues(), llvm::BasicBlock::begin(), llvm::AliasAnalysis::getModRefInfo(), llvm::MDNode::getOperand(), llvm::Value::getType(), llvm::AliasAnalysis::getTypeStoreSize(), llvm::Instruction::mayWriteToMemory(), llvm::LLVMContext::MD_tbaa, and llvm::AliasAnalysis::Mod.

Referenced by llvm::InstCombiner::visitLoadInst().

void llvm::FindFunctionBackedges ( const Function F,
SmallVectorImpl< std::pair< const BasicBlock *, const BasicBlock * > > &  Result 
)

FindFunctionBackedges - Analyze the specified function to find all of the loop backedges in the function and return them. This is a relatively cheap (compared to computing dominators and loop info) analysis.

The output is added to Result, as pairs of <from,to> edge info.

Definition at line 606 of file BasicBlockUtils.cpp.

References llvm::SmallVectorTemplateCommon< T >::back(), llvm::SmallPtrSet< PtrType, SmallSize >::count(), llvm::SmallVectorBase::empty(), llvm::SmallPtrSet< PtrType, SmallSize >::erase(), llvm::Function::getEntryBlock(), llvm::ARM_PROC::I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), succ_begin(), and succ_end().

Value * llvm::FindInsertedValue ( Value V,
ArrayRef< unsigned idx_range,
Instruction InsertBefore = 0 
)

FindInsertedValue - Given an aggregrate and an sequence of indices, see if the scalar value indexed is already around as a register, for example if it were inserted directly into the aggregrate.

If InsertBefore is not null, this function will duplicate (modified) insertvalues when a part of a nested struct is extracted.

Definition at line 1497 of file ValueTracking.cpp.

References llvm::SmallVectorImpl< T >::append(), llvm::ArrayRef< T >::begin(), BuildSubAggregate(), llvm::CallingConv::C, llvm::ArrayRef< T >::empty(), llvm::ArrayRef< T >::end(), llvm::ExtractValueInst::getIndexedType(), llvm::Value::getType(), llvm::ARM_PROC::I, llvm::Type::isArrayTy(), llvm::Type::isStructTy(), makeArrayRef(), llvm::SmallVectorImpl< T >::reserve(), llvm::ArrayRef< T >::size(), llvm::SmallVectorTemplateCommon< T >::size(), and llvm::ArrayRef< T >::slice().

Referenced by BuildSubAggregate().

bool llvm::findOneNVVMAnnotation ( const llvm::GlobalValue gv,
std::string  prop,
unsigned retval 
)
MachineBasicBlock::iterator llvm::findPHICopyInsertPoint ( MachineBasicBlock MBB,
MachineBasicBlock SuccMBB,
unsigned  SrcReg 
)
uint32_t llvm::FloatToBits ( float  Float) [inline]

FloatToBits - This function takes a float and returns the bit equivalent 32-bit integer. Note that copying floats around changes the bits of NaNs on some hosts, notably x86, so this routine cannot be used if these bits are needed.

Definition at line 398 of file MathExtras.h.

References F(), llvm::NVPTX::PTXLdStInstCode::Float, and llvm::ARM_PROC::I.

Referenced by llvm::PPC::get_VSPLTI_elt().

bool llvm::FoldBranchToCommonDest ( BranchInst BI)

FoldBranchToCommonDest - If this basic block is ONLY a setcc and a branch, and if a predecessor branches to us and one of our successors, fold the setcc into the predecessor and use logical operations to pick the right destination.

FoldBranchToCommonDest - If this basic block is simple enough, and if a predecessor branches to us and one of our successors, fold the block into the predecessor and use logical operations to pick the right destination.

Definition at line 1497 of file SimplifyCFG.cpp.

References llvm::ARM_PROC::A, AddPredecessorToBlock(), llvm::APIntOps::And(), llvm::SmallVectorTemplateCommon< T >::back(), llvm::BasicBlock::begin(), llvm::CallingConv::C, llvm::Instruction::clone(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateBinOp(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateNot(), dbgs(), DEBUG, dyn_cast(), llvm::SmallVectorBase::empty(), llvm::SmallPtrSetImpl::empty(), llvm::BasicBlock::end(), llvm::SmallPtrSet< PtrType, SmallSize >::erase(), ExtractBranchMetadata(), llvm::BasicBlock::front(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::BranchInst::getCondition(), llvm::Value::getContext(), llvm::BasicBlock::getInstList(), llvm::CmpInst::getInversePredicate(), llvm::Instruction::getMetadata(), llvm::Value::getName(), llvm::User::getOperand(), llvm::MDNode::getOperand(), llvm::Instruction::getParent(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::APIntOps::GreatestCommonDivisor(), llvm::Value::hasOneUse(), llvm::ARM_PROC::I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::APInt::isNegative(), isSafeToSpeculativelyExecute(), llvm::BranchInst::isUnconditional(), llvm::APInt::lshr(), llvm::LLVMContext::MD_prof, MultiplyAndLosePrecision(), llvm::User::op_begin(), llvm::User::op_end(), llvm::APIntOps::Or(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::User::replaceUsesOfWith(), SafeToMergeTerminators(), llvm::BranchInst::setCondition(), llvm::Instruction::setMetadata(), llvm::Value::setName(), llvm::CmpInst::setPredicate(), llvm::BranchInst::setSuccessor(), llvm::BranchInst::swapSuccessors(), llvm::Value::takeName(), llvm::APInt::uadd_ov(), and llvm::APInt::udiv().

ReturnInst * llvm::FoldReturnIntoUncondBranch ( ReturnInst RI,
BasicBlock BB,
BasicBlock Pred 
)

FoldReturnIntoUncondBranch - This method duplicates the specified return instruction into a predecessor which ends in an unconditional branch. If the return instruction returns a value defined by a PHI, propagate the right value into the return. It returns the new return instruction in the predecessor.

Definition at line 652 of file BasicBlockUtils.cpp.

References llvm::Instruction::clone(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::getInstList(), llvm::BasicBlock::getTerminator(), llvm::User::op_begin(), llvm::User::op_end(), and llvm::BasicBlock::removePredecessor().

void llvm::FoldSingleEntryPHINodes ( BasicBlock BB,
Pass P = 0 
)

FoldSingleEntryPHINodes - We know that BB has one predecessor. If there are any single-entry PHI nodes in it, fold them away. This handles the case when all entries to the PHI nodes in a block are guaranteed equal, such as when the block has exactly one predecessor.

Definition at line 67 of file BasicBlockUtils.cpp.

References llvm::BasicBlock::begin(), llvm::AliasAnalysis::deleteValue(), llvm::UndefValue::get(), llvm::Pass::getAnalysisIfAvailable(), and llvm::MemoryDependenceAnalysis::removeInstruction().

Referenced by FoldBlockIntoPredecessor(), FoldCondBranchOnPHI(), and MergeBlockIntoPredecessor().

template<typename T >
format_object1<T> llvm::format ( const char *  Fmt,
const T &  Val 
) [inline]

format - This is a helper function that is used to produce formatted output. This is typically used like: OS << format("%0.4f", myfloat) << '
';

Definition at line 176 of file Format.h.

Referenced by llvm::ProfileInfoT< FType, BType >::addEdgeWeight(), llvm::ProfileInfoT< FType, BType >::addExecutionCount(), llvm::ProfileInfoT< FType, BType >::CalculateMissingEdge(), dbgprintf(), llvm::ProfileInfoT< FType, BType >::divertFlow(), llvm::DWARFDebugInfoEntryMinimal::dump(), llvm::DWARFContext::dump(), llvm::DWARFAbbreviationDeclaration::dump(), llvm::DWARFCompileUnit::dump(), llvm::DWARFFormValue::dump(), llvm::DWARFDebugAranges::Range::dump(), llvm::DWARFDebugArangeSet::dump(), llvm::DWARFDebugAbbrev::dump(), llvm::DWARFDebugLine::Prologue::dump(), llvm::DWARFDebugAranges::dump(), llvm::DWARFDebugLine::Row::dump(), llvm::ProfileInfoT< FType, BType >::dump(), llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), llvm::RuntimeDyldImpl::emitCommonSymbols(), EmitGlobalConstantDataSequential(), EmitGlobalConstantFP(), EmitGlobalConstantImpl(), llvm::RuntimeDyldImpl::emitSection(), getSizeForEncoding(), Help(), llvm::RuntimeDyldImpl::loadObject(), llvm::raw_ostream::operator<<(), llvm::BranchProbability::print(), llvm::TimeRecord::print(), llvm::DIEAbbrev::print(), llvm::DIE::print(), llvm::DIEEntry::print(), llvm::X86ATTInstPrinter::printOperand(), PrintStatistics(), printVal(), llvm::RuntimeDyldImpl::reassignSectionAddress(), llvm::RuntimeDyldELF::resolveARMRelocation(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::RuntimeDyldMachO::resolveRelocation(), llvm::RuntimeDyldImpl::resolveRelocationEntry(), llvm::ProfileInfoT< FType, BType >::setEdgeWeight(), and llvm::ProfileInfoT< FType, BType >::setExecutionCount().

template<typename T1 , typename T2 >
format_object2<T1, T2> llvm::format ( const char *  Fmt,
const T1 &  Val1,
const T2 &  Val2 
) [inline]

format - This is a helper function that is used to produce formatted output. This is typically used like: OS << format("%0.4f", myfloat) << '
';

Definition at line 183 of file Format.h.

template<typename T1 , typename T2 , typename T3 >
format_object3<T1, T2, T3> llvm::format ( const char *  Fmt,
const T1 &  Val1,
const T2 &  Val2,
const T3 &  Val3 
) [inline]

format - This is a helper function that is used to produce formatted output. This is typically used like: OS << format("%0.4f", myfloat) << '
';

Definition at line 191 of file Format.h.

template<typename T1 , typename T2 , typename T3 , typename T4 >
format_object4<T1, T2, T3, T4> llvm::format ( const char *  Fmt,
const T1 &  Val1,
const T2 &  Val2,
const T3 &  Val3,
const T4 &  Val4 
) [inline]

format - This is a helper function that is used to produce formatted output. This is typically used like: OS << format("%0.4f", myfloat) << '
';

Definition at line 199 of file Format.h.

template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
format_object5<T1, T2, T3, T4, T5> llvm::format ( const char *  Fmt,
const T1 &  Val1,
const T2 &  Val2,
const T3 &  Val3,
const T4 &  Val4,
const T5 &  Val5 
) [inline]

format - This is a helper function that is used to produce formatted output. This is typically used like: OS << format("%0.4f", myfloat) << '
';

Definition at line 208 of file Format.h.

formatted_raw_ostream & llvm::fouts ( )

fouts() - This returns a reference to a formatted_raw_ostream for standard output. Use it like: fouts() << "foo" << "bar";

Definition at line 84 of file FormattedStream.cpp.

References outs().

const error_category & llvm::generic_category ( )
gep_type_iterator llvm::gep_type_begin ( const User *  GEP) [inline]
gep_type_iterator llvm::gep_type_begin ( const User &  GEP) [inline]
template<typename T >
generic_gep_type_iterator<const T *> llvm::gep_type_begin ( Type *  Op0,
ArrayRef< T >  A 
) [inline]
gep_type_iterator llvm::gep_type_end ( const User *  GEP) [inline]
gep_type_iterator llvm::gep_type_end ( const User &  GEP) [inline]
template<typename T >
generic_gep_type_iterator<const T *> llvm::gep_type_end ( Type *  Op0,
ArrayRef< T >  A 
) [inline]
bool llvm::getAlign ( const llvm::Function F,
unsigned  index,
unsigned align 
)
bool llvm::getAlign ( const llvm::CallInst I,
unsigned  index,
unsigned align 
)

Definition at line 290 of file NVPTXUtilities.cpp.

References llvm::Instruction::getMetadata().

static unsigned llvm::getARMRegisterNumbering ( unsigned  Reg) [inline, static]

getARMRegisterNumbering - Given the enum value for some register, e.g. ARM::LR, return the number that it corresponds to (e.g. 14).

Definition at line 150 of file ARMBaseInfo.h.

References llvm::ExceptionHandling::ARM, llvm::X86II::D8, llvm::X86II::D9, and llvm_unreachable.

Referenced by encodeNEONRd(), encodeNEONRm(), encodeNEONRn(), encodeVFPRd(), encodeVFPRm(), encodeVFPRn(), and llvm::ARMJITInfo::relocate().

bool llvm::getAsSignedInteger ( StringRef  Str,
unsigned  Radix,
long long &  Result 
)
bool llvm::getAsUnsignedInteger ( StringRef  Str,
unsigned  Radix,
unsigned long long &  Result 
)

Helper functions for StringRef::getAsInteger.

GetAsUnsignedInteger - Workhorse method that converts a integer character sequence of radix up to 36 to an unsigned long long value.

Definition at line 322 of file StringRef.cpp.

References llvm::StringRef::empty(), GetAutoSenseRadix(), and llvm::StringRef::substr().

Referenced by llvm::StringRef::getAsInteger(), and getAsSignedInteger().

bool llvm::GetBitcodeSymbols ( const sys::Path fName,
LLVMContext Context,
std::vector< std::string > &  symbols,
std::string *  ErrMsg 
)
Module * llvm::GetBitcodeSymbols ( const char *  Buffer,
unsigned  Length,
const std::string &  ModuleID,
LLVMContext Context,
std::vector< std::string > &  symbols,
std::string *  ErrMsg 
)
std::string llvm::getBitcodeTargetTriple ( MemoryBuffer Buffer,
LLVMContext Context,
std::string *  ErrMsg = 0 
)

getBitcodeTargetTriple - Read the header of the specified bitcode buffer and extract just the triple information. If successful, this returns a string and *does not* take ownership of 'buffer'. On error, this returns "", and fills in *ErrMsg if ErrMsg is non-null.

Definition at line 2958 of file BitcodeReader.cpp.

References llvm::BitcodeReader::getErrorString(), llvm::BitcodeReader::ParseTriple(), and llvm::BitcodeReader::setBufferOwned().

static MachineInstr* llvm::getBundleStart ( MachineInstr *  MI) [inline, static]
static const MachineInstr* llvm::getBundleStart ( const MachineInstr *  MI) [inline, static]

Definition at line 53 of file MachineInstrBundle.h.

References llvm::ARM_PROC::I, and llvm::ARMCC::MI.

static unsigned llvm::getComplexity ( Value *  V) [inline, static]

getComplexity: Assign a complexity or rank value to LLVM Values... 0 -> undef, 1 -> Const, 2 -> Other, 3 -> Arg, 3 -> Unary, 4 -> OtherInst

Definition at line 41 of file InstCombine.h.

References llvm::BinaryOperator::isFNeg(), llvm::BinaryOperator::isNeg(), and llvm::BinaryOperator::isNot().

Referenced by llvm::InstCombiner::visitFCmpInst(), and llvm::InstCombiner::visitICmpInst().

bool llvm::getConstantStringInfo ( const Value V,
StringRef Str,
uint64_t  Offset = 0,
bool  TrimAtNul = true 
)

getConstantStringInfo - This function computes the length of a null-terminated C string pointed to by V. If successful, it returns true and returns the string in Str. If unsuccessful, it returns false. This does not include the trailing nul character by default. If TrimAtNul is set to false, then this returns any trailing nul characters as well as any other characters that come after it.

getConstantStringInfo - This function computes the length of a null-terminated C string pointed to by V. If successful, it returns true and returns the string in Str. If unsuccessful, it returns false.

Definition at line 1626 of file ValueTracking.cpp.

References dyn_cast(), llvm::StringRef::find(), llvm::Type::getArrayNumElements(), llvm::ConstantDataSequential::getAsString(), llvm::SequentialType::getElementType(), llvm::GlobalVariable::getInitializer(), llvm::ConstantDataArray::getType(), llvm::ConstantInt::getZExtValue(), llvm::GlobalVariable::hasDefinitiveInitializer(), llvm::GlobalVariable::isConstant(), llvm::Constant::isNullValue(), llvm::ConstantDataSequential::isString(), llvm::ConstantInt::isZero(), llvm::Value::stripPointerCasts(), and llvm::StringRef::substr().

Referenced by ConstantFoldLoadFromConstPtr(), GetStringLengthH(), and isMemSrcFromString().

DataStreamer * llvm::getDataFileStreamer ( const std::string &  Filename,
std::string *  Err 
)

Definition at line 87 of file DataStream.cpp.

unsigned llvm::getDeadRegState ( bool  B) [inline]
unsigned llvm::getDefRegState ( bool  B) [inline]
DICompositeType llvm::getDICompositeType ( DIType  T)

getDICompositeType - Find underlying composite type.

Definition at line 1207 of file DebugInfo.cpp.

References llvm::DIDerivedType::getTypeDerivedFrom(), llvm::DIDescriptor::isCompositeType(), and llvm::DIDescriptor::isDerivedType().

Referenced by llvm::DIType::print().

DISubprogram llvm::getDISubprogram ( const MDNode Scope)
ISD::CondCode llvm::getFCmpCodeWithoutNaN ( ISD::CondCode  CC)
ISD::CondCode llvm::getFCmpCondCode ( FCmpInst::Predicate  Pred)
DebugLoc llvm::GetFirstDebugLocInBasicBlock ( const BasicBlock BB)

GetFirstDebugLocInBasicBlock - Return first valid DebugLoc entry in a given basic block.

Definition at line 676 of file BasicBlockUtils.cpp.

References llvm::BasicBlock::getFirstNonPHI(), and llvm::ARM_PROC::I.

Referenced by llvm::SSAUpdater::GetValueInMiddleOfBlock().

NamedMDNode * llvm::getFnSpecificMDNode ( const Module M,
DISubprogram  Fn 
)

getFnSpecificMDNode - Return a NameMDNode, if available, that is suitable to hold function specific information.

Definition at line 933 of file DebugInfo.cpp.

References fixupObjcLikeName(), llvm::DISubprogram::getFunction(), llvm::Value::getName(), llvm::DISubprogram::getName(), llvm::Module::getNamedMetadata(), llvm::StringRef::startswith(), llvm::SmallString< InternalLen >::str(), and llvm::StringRef::substr().

Referenced by llvm::DIBuilder::finalize().

LLVMContext & llvm::getGlobalContext ( )

getGlobalContext - Returns a global context. This is for LLVM clients that only care about operating on a single thread.

Definition at line 27 of file LLVMContext.cpp.

References GlobalContext.

Referenced by LLVMGetGlobalContext(), LLVMIntPtrType(), LLVMModuleCreateWithName(), and LLVMParseBitcode().

unsigned llvm::getICmpCode ( const ICmpInst ICI,
bool  InvertPred = false 
)

getICmpCode - Encode a icmp predicate into a three bit mask. These bits are carefully arranged to allow folding of expressions such as:

(A < B) | (A > B) --> (A != B)

Note that this is only valid if the first and second predicates have the same sign. Is illegal to do: (A u< B) | (A s> B)

Three bits are used to represent the condition, as follows: 0 A > B 1 A == B 2 A < B

<=> Value Definition 000 0 Always false 001 1 A > B 010 2 A == B 011 3 A >= B 100 4 A < B 101 5 A != B 110 6 A <= B 111 7 Always true

Definition at line 44 of file CmpInstAnalysis.cpp.

References llvm::CmpInst::getInversePredicate(), llvm::CmpInst::getPredicate(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, llvm_unreachable, and llvm::PTXRegisterType::Pred.

Referenced by llvm::InstCombiner::FoldAndOfICmps(), llvm::InstCombiner::FoldOrOfICmps(), and llvm::InstCombiner::visitXor().

ISD::CondCode llvm::getICmpCondCode ( ICmpInst::Predicate  Pred)
Value * llvm::getICmpValue ( bool  Sign,
unsigned  Code,
Value LHS,
Value RHS,
CmpInst::Predicate NewICmpPred 
)

getICmpValue - This is the complement of getICmpCode, which turns an opcode and two operands into either a constant true or false, or the predicate for a new ICmp instruction. The sign is passed in to determine which kind of predicate to use in the new icmp instruction. Non-NULL return value will be a true or false constant. NULL return means a new ICmp is needed. The predicate for which is output in NewICmpPred.

Definition at line 72 of file CmpInstAnalysis.cpp.

References llvm::ConstantInt::get(), llvm::Value::getType(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, llvm_unreachable, and llvm::CmpInst::makeCmpResultType().

Referenced by getNewICmpValue().

unsigned llvm::getImplRegState ( bool  B) [inline]

Definition at line 301 of file MachineInstrBuilder.h.

References llvm::RegState::Implicit.

Referenced by finalizeBundle().

Instruction * llvm::getInst ( Value base,
char *  instName 
)
ARMCC::CondCodes llvm::getInstrPredicate ( const MachineInstr MI,
unsigned PredReg 
)
ARMCC::CondCodes llvm::getITInstrPredicate ( const MachineInstr MI,
unsigned PredReg 
)

getITInstrPredicate - Valid only in Thumb2 mode. This function is identical to llvm::getInstrPredicate except it returns AL for conditional branch instructions which are "predicated", but are not in IT blocks.

Definition at line 609 of file Thumb2InstrInfo.cpp.

References llvm::ARMCC::AL, getInstrPredicate(), and llvm::MachineInstr::getOpcode().

Referenced by llvm::Thumb2InstrInfo::isLegalToSplitMBBAt().

unsigned llvm::getKillRegState ( bool  B) [inline]

Definition at line 304 of file MachineInstrBuilder.h.

References llvm::RegState::Kill.

Referenced by addRegOffset(), addRegReg(), llvm::PPCInstrInfo::commuteInstruction(), llvm::TargetInstrInfoImpl::commuteInstruction(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::PTXInstrInfo::copyPhysReg(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::SPUInstrInfo::copyPhysReg(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::MSP430InstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::MipsInstrInfo::copyPhysReg(), llvm::SparcInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::MBlazeInstrInfo::copyPhysReg(), llvm::X86InstrInfo::copyPhysReg(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::FastISel::FastEmitInst_extractsubreg(), finalizeBundle(), llvm::ARMBaseInstrInfo::FoldImmediate(), InsertLDR_STR(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::X86InstrInfo::storeRegToAddr(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::SPUInstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::MipsInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::MBlazeInstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), and llvm::X86InstrInfo::unfoldMemoryOperand().

static unsigned llvm::getKnownAlignment ( Value *  V,
const TargetData *  TD = 0 
) [inline, static]

getKnownAlignment - Try to infer an alignment for the specified pointer.

Definition at line 159 of file Local.h.

References getOrEnforceKnownAlignment().

Referenced by llvm::InstCombiner::visitCallInst().

Module * llvm::getLazyBitcodeModule ( MemoryBuffer Buffer,
LLVMContext Context,
std::string *  ErrMsg = 0 
)

getLazyBitcodeModule - Read the header of the specified bitcode buffer and prepare for lazy deserialization of function bodies. If successful, this takes ownership of 'buffer' and returns a non-null pointer. On error, this returns null, *does not* take ownership of Buffer, and fills in *ErrMsg with an error description if ErrMsg is non-null.

getLazyBitcodeModule - lazy function-at-a-time loading from a file.

Definition at line 2896 of file BitcodeReader.cpp.

References llvm::MemoryBuffer::getBufferIdentifier(), and llvm::Module::setMaterializer().

Referenced by llvm::Archive::findModuleDefiningSymbol(), getLazyIRModule(), LLVMGetBitcodeModuleInContext(), and ParseBitcodeFile().

Module* llvm::getLazyIRFileModule ( const std::string &  Filename,
SMDiagnostic &  Err,
LLVMContext &  Context 
) [inline]

If the given file holds a bitcode image, return a Module for it which does lazy deserialization of function bodies. Otherwise, attempt to parse it as LLVM Assembly and return a fully populated Module.

Definition at line 59 of file IRReader.h.

References llvm::SourceMgr::DK_Error, ARMBuildAttrs::File, llvm::MemoryBuffer::getFileOrSTDIN(), getLazyIRModule(), and llvm::OwningPtr< T >::take().

Module* llvm::getLazyIRModule ( MemoryBuffer *  Buffer,
SMDiagnostic &  Err,
LLVMContext &  Context 
) [inline]

If the given MemoryBuffer holds a bitcode image, return a Module for it which does lazy deserialization of function bodies. Otherwise, attempt to parse it as LLVM Assembly and return a fully populated Module. This function *always* takes ownership of the given MemoryBuffer.

Definition at line 35 of file IRReader.h.

References llvm::SourceMgr::DK_Error, llvm::MemoryBuffer::getBufferEnd(), llvm::MemoryBuffer::getBufferIdentifier(), llvm::MemoryBuffer::getBufferStart(), getLazyBitcodeModule(), isBitcode(), and ParseAssembly().

Referenced by getLazyIRFileModule().

Type * llvm::getMallocAllocatedType ( const CallInst CI)

getMallocAllocatedType - Returns the Type allocated by malloc call. The Type depends on the number of bitcast uses of the malloc call: 0: PointerType is the malloc calls' return type. 1: PointerType is the bitcast's result type. >1: Unique PointerType cannot be determined, return NULL.

Definition at line 167 of file MemoryBuiltins.cpp.

References llvm::SequentialType::getElementType(), and getMallocType().

Referenced by computeArraySize(), OptimizeOnceStoredGlobal(), PerformHeapAllocSRoA(), and TryToOptimizeStoreOfMallocToGlobal().

Value * llvm::getMallocArraySize ( CallInst CI,
const TargetData TD,
bool  LookThroughSExt = false 
)

getMallocArraySize - Returns the array size of a malloc call. If the argument passed to malloc is a multiple of the size of the malloced type, then return that multiple. For non-array mallocs, the multiple is constant 1. Otherwise, return NULL for mallocs whose array size cannot be determined.

Definition at line 177 of file MemoryBuiltins.cpp.

References computeArraySize(), and isMalloc().

Referenced by TryToOptimizeStoreOfMallocToGlobal().

PointerType * llvm::getMallocType ( const CallInst CI)

getMallocType - Returns the PointerType resulting from the malloc call. The PointerType depends on the number of bitcast uses of the malloc call: 0: PointerType is the malloc calls' return type. 1: PointerType is the bitcast's result type. >1: Unique PointerType cannot be determined, return NULL.

getMallocType - Returns the PointerType resulting from the malloc call. The PointerType depends on the number of bitcast uses of the malloc call: 0: PointerType is the calls' return type. 1: PointerType is the bitcast's result type. >1: Unique PointerType cannot be determined, return NULL.

Definition at line 136 of file MemoryBuiltins.cpp.

References llvm::Value::getType(), isMalloc(), llvm::Value::use_begin(), and llvm::Value::use_end().

Referenced by getMallocAllocatedType().

int llvm::getMatchingCondBranchOpcode ( int  Opc)

Definition at line 1492 of file ARMBaseInstrInfo.cpp.

References llvm_unreachable.

Referenced by llvm::ARMBaseInstrInfo::PredicateInstruction().

bool llvm::getMaxNTIDx ( const llvm::Function F,
unsigned x 
)
bool llvm::getMaxNTIDy ( const llvm::Function F,
unsigned y 
)
bool llvm::getMaxNTIDz ( const llvm::Function F,
unsigned z 
)
static unsigned llvm::getMBlazeRegisterFromNumbering ( unsigned  Reg) [inline, static]

getRegisterFromNumbering - Given the enum value for some register, e.g. MBlaze::R0, return the number that it corresponds to (e.g. 0).

Definition at line 167 of file MBlazeBaseInfo.h.

References llvm_unreachable.

Referenced by getRA(), getRB(), and getRD().

static unsigned llvm::getMBlazeRegisterNumbering ( unsigned  RegEnum) [inline, static]

getMBlazeRegisterNumbering - Given the enum value for some register, e.g. MBlaze::R0, return the number that it corresponds to (e.g. 0).

Definition at line 103 of file MBlazeBaseInfo.h.

References llvm_unreachable.

bool llvm::getMinCTASm ( const llvm::Function F,
unsigned x 
)
static unsigned llvm::getMipsRegisterNumbering ( unsigned  RegEnum) [inline, static]

getMipsRegisterNumbering - Given the enum value for some register, return the number that it corresponds to.

Definition at line 116 of file MipsBaseInfo.h.

References llvm::X86II::D8, llvm::X86II::D9, llvm_unreachable, and llvm::X86II::T8.

Referenced by llvm::MipsAsmPrinter::printSavedRegsBitmask().

BasicBlock* llvm::getNodeHeader ( BasicBlock *  BB) [inline]

Definition at line 49 of file IntervalIterator.h.

BasicBlock* llvm::getNodeHeader ( Interval *  I) [inline]

Definition at line 50 of file IntervalIterator.h.

References llvm::Interval::getHeaderNode().

StreamableMemoryObject * llvm::getNonStreamedMemoryObject ( const unsigned char *  Start,
const unsigned char *  End 
)

Definition at line 128 of file StreamableMemoryObject.cpp.

Referenced by llvm::BitstreamReader::init().

const TargetRegisterClass * llvm::getNVPTXElemClass ( TargetRegisterClass const *  RC)

Definition at line 203 of file NVPTXRegisterInfo.cpp.

References llvm::TargetRegisterClass::getID().

std::string llvm::getNVPTXElemClassName ( TargetRegisterClass const *  RC)
std::string llvm::getNVPTXRegClassName ( TargetRegisterClass const *  RC)

Definition at line 31 of file NVPTXRegisterInfo.cpp.

Referenced by getNVPTXElemClassName().

std::string llvm::getNVPTXRegClassStr ( TargetRegisterClass const *  RC)

Definition at line 93 of file NVPTXRegisterInfo.cpp.

Referenced by llvm::NVPTXAsmPrinter::getVirtualRegisterName().

int llvm::getNVPTXVectorSize ( TargetRegisterClass const *  RC)
unsigned llvm::getOrEnforceKnownAlignment ( Value V,
unsigned  PrefAlign,
const TargetData TD = 0 
)

getOrEnforceKnownAlignment - If the specified pointer has an alignment that we can determine, return it, otherwise return 0. If PrefAlign is specified, and it is more than the alignment of the ultimate object, see if we can increase the alignment of the ultimate object, making this check succeed.

Definition at line 760 of file Local.cpp.

References ComputeMaskedBits(), enforceKnownAlignment(), llvm::TargetData::getPointerSizeInBits(), llvm::Value::getType(), llvm::Type::isPointerTy(), and llvm::Value::MaximumAlignment.

Referenced by getKnownAlignment(), HandleByValArgument(), llvm::InstCombiner::visitCallInst(), llvm::InstCombiner::visitLoadInst(), and llvm::InstCombiner::visitStoreInst().

NamedMDNode * llvm::getOrInsertFnSpecificMDNode ( Module M,
DISubprogram  Fn 
)
BasicBlock * llvm::getParentBlock ( Value v)

Definition at line 412 of file NVPTXUtilities.cpp.

References llvm::ARM_PROC::I.

Function * llvm::getParentFunction ( Value v)

Definition at line 422 of file NVPTXUtilities.cpp.

References F(), and llvm::ARM_PROC::I.

Referenced by dumpBlock(), and getInst().

Timer * llvm::getPassTimer ( Pass P)
Value * llvm::GetPointerBaseWithConstantOffset ( Value Ptr,
int64_t &  Offset,
const TargetData TD 
)
static const Value* llvm::GetPointerBaseWithConstantOffset ( const Value *  Ptr,
int64_t &  Offset,
const TargetData &  TD 
) [inline, static]

Definition at line 123 of file ValueTracking.h.

References GetPointerBaseWithConstantOffset().

static unsigned llvm::getPPCRegisterNumbering ( unsigned  RegEnum) [inline, static]

getPPCRegisterNumbering - Given the enum value for some register, e.g. PPC::F14, return the number that it corresponds to (e.g. 14).

Definition at line 27 of file PPCBaseInfo.h.

References llvm_unreachable, llvm::NVPTX::PTXLdStInstCode::V2, and llvm::NVPTX::PTXLdStInstCode::V4.

Referenced by HandleVRSaveUpdate(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().

bool llvm::getReqNTIDx ( const llvm::Function F,
unsigned x 
)
bool llvm::getReqNTIDy ( const llvm::Function F,
unsigned y 
)
bool llvm::getReqNTIDz ( const llvm::Function F,
unsigned z 
)
void llvm::GetReturnInfo ( Type ReturnType,
Attributes  attr,
SmallVectorImpl< ISD::OutputArg > &  Outs,
const TargetLowering TLI,
SmallVectorImpl< uint64_t > *  Offsets = 0 
)

GetReturnInfo - Given an LLVM IR type and return type attributes, compute the return value EVTs and flags, and optionally also the offsets, if the return value is being lowered to memory.

Get the EVTs and ArgFlags collections that represent the legalized return type of the given function. This does not require a DAG or a return value, and is suitable for use before any DAGs for the function are constructed. TODO: Move this out of TargetLowering.cpp.

Definition at line 998 of file TargetLowering.cpp.

References llvm::ISD::ANY_EXTEND, llvm::EVT::bitsLT(), ComputeValueVTs(), llvm::Type::getContext(), llvm::TargetLowering::getNumRegisters(), llvm::TargetLowering::getRegisterType(), llvm::TargetLowering::getTargetData(), llvm::TargetData::getTypeAllocSize(), llvm::EVT::getTypeForEVT(), llvm::MVT::i32, llvm::EVT::isInteger(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::ISD::ArgFlagsTy::setInReg(), llvm::ISD::ArgFlagsTy::setSExt(), llvm::ISD::ArgFlagsTy::setZExt(), SExt, llvm::ISD::SIGN_EXTEND, llvm::SmallVectorTemplateCommon< T >::size(), and llvm::ISD::ZERO_EXTEND.

Referenced by llvm::SelectionDAGBuilder::LowerCallTo(), and llvm::FunctionLoweringInfo::set().

std::string llvm::getSamplerName ( const llvm::Value val)

Definition at line 211 of file NVPTXUtilities.cpp.

References llvm::Value::getName(), and llvm::Value::hasName().

BasicBlock* llvm::getSourceGraphNode ( Function *  ,
BasicBlock *  BB 
) [inline]
Interval* llvm::getSourceGraphNode ( IntervalPartition *  IP,
BasicBlock *  BB 
) [inline]

Definition at line 59 of file IntervalIterator.h.

References llvm::IntervalPartition::getBlockInterval().

static unsigned llvm::getSpecialMBlazeRegisterFromNumbering ( unsigned  Reg) [inline, static]

Definition at line 205 of file MBlazeBaseInfo.h.

References llvm_unreachable.

Referenced by getRS().

Module * llvm::getStreamedBitcodeModule ( const std::string &  name,
DataStreamer streamer,
LLVMContext Context,
std::string *  ErrMsg = 0 
)

getStreamedBitcodeModule - Read the header of the specified stream and prepare for lazy deserialization and streaming of function bodies. On error, this returns null, and fills in *ErrMsg with an error description if ErrMsg is non-null.

Definition at line 2918 of file BitcodeReader.cpp.

References llvm::BitcodeReader::getErrorString(), llvm::BitcodeReader::ParseBitcodeInto(), llvm::BitcodeReader::setBufferOwned(), and llvm::Module::setMaterializer().

uint64_t llvm::GetStringLength ( Value V)

GetStringLength - If we can compute the length of the string pointed to by the specified pointer, return 'len+1'. If we can't, return 0.

Definition at line 1760 of file ValueTracking.cpp.

References GetStringLengthH(), llvm::Value::getType(), and llvm::Type::isPointerTy().

unsigned llvm::GetSuccessorNumber ( BasicBlock BB,
BasicBlock Succ 
)

GetSuccessorNumber - Search for the specified successor of basic block BB and return its position in the terminator instruction's list of successors. It is an error to call this with a block that is not a successor.

Definition at line 242 of file BasicBlockUtils.cpp.

References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), and llvm::BasicBlock::getTerminator().

Referenced by SplitCriticalSideEffectEdges(), and SplitEdge().

std::string llvm::getSurfaceName ( const llvm::Value val)

Definition at line 206 of file NVPTXUtilities.cpp.

References llvm::Value::getName(), and llvm::Value::hasName().

std::string llvm::getTextureName ( const llvm::Value val)

Definition at line 201 of file NVPTXUtilities.cpp.

References llvm::Value::getName(), and llvm::Value::hasName().

std::pair< StringRef, StringRef > llvm::getToken ( StringRef  Source,
StringRef  Delimiters = " \t\n\v\f\r" 
)

getToken - This function extracts one token from source, ignoring any leading characters that appear in the Delimiters string, and ending the token at any of the characters that appear in the Delimiters string. If there are no tokens in the source string, an empty string is returned. The function returns a pair containing the extracted token and the remaining tail string.

Definition at line 38 of file StringExtras.cpp.

References llvm::StringRef::find_first_not_of(), llvm::StringRef::find_first_of(), llvm::StringRef::slice(), and llvm::StringRef::substr().

Referenced by llvm::Module::getEndianness(), llvm::Module::getPointerSize(), and SplitString().

unsigned llvm::getUndefRegState ( bool  B) [inline]
Value * llvm::GetUnderlyingObject ( Value V,
const TargetData TD = 0,
unsigned  MaxLookup = 6 
)

GetUnderlyingObject - This method strips off any GEP address adjustments and pointer casts from the specified value, returning the original object being addressed. Note that the returned value has pointer type if the specified value does. If the MaxLookup value is non-zero, it limits the number of instructions to be stripped off.

Definition at line 1771 of file ValueTracking.cpp.

References llvm::Operator::getOpcode(), llvm::Value::getType(), llvm::ARM_PROC::I, llvm::Type::isPointerTy(), and SimplifyInstruction().

Referenced by AnalyzeLoadFromClobberingMemInst(), llvm::AliasAnalysis::callCapturesBefore(), ConstantFoldLoadFromConstPtr(), llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(), GetUnderlyingObjCPtr(), getUnderlyingObject(), GetUnderlyingObject(), GetUnderlyingObjects(), InstructionDereferencesPointer(), isOverwrite(), and UnderlyingObjectsAlias().

static const Value* llvm::GetUnderlyingObject ( const Value *  V,
const TargetData *  TD = 0,
unsigned  MaxLookup = 6 
) [inline, static]

Definition at line 149 of file ValueTracking.h.

References GetUnderlyingObject().

void llvm::GetUnderlyingObjects ( Value V,
SmallVectorImpl< Value * > &  Objects,
const TargetData TD = 0,
unsigned  MaxLookup = 6 
)

GetUnderlyingObjects - This method is similar to GetUnderlyingObject except that it can look through phi and select instructions and return multiple objects.

Definition at line 1800 of file ValueTracking.cpp.

References llvm::SmallVectorBase::empty(), GetUnderlyingObject(), llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::SmallVectorImpl< T >::pop_back_val(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

static const MCSection* llvm::getWin64EHFuncTableSection ( StringRef  suffix,
MCContext &  context 
) [static]
static const MCSection* llvm::getWin64EHTableSection ( StringRef  suffix,
MCContext &  context 
) [static]
unsigned llvm::getX86SubSuperRegister ( unsigned  Reg,
EVT  VT,
bool  High 
)
uint64_t llvm::GreatestCommonDivisor64 ( uint64_t  A,
uint64_t  B 
) [inline]

GreatestCommonDivisor64 - Return the greatest common divisor of the two values using Euclid's algorithm.

Definition at line 350 of file MathExtras.h.

References llvm::ARM_PROC::A.

Referenced by UnrollLoop().

void* llvm::GVTOP ( const GenericValue &  GV) [inline]
llvm::HANDLE_BINARY_INST ( 20  ,
Shl  ,
BinaryOperator   
)
BinaryOperator llvm::HANDLE_BINARY_INST ( 22  ,
AShr  ,
BinaryOperator   
)
BinaryOperator AllocaInst TruncInst llvm::HANDLE_CAST_INST ( 34  ,
ZExt  ,
ZExtInst   
)
BinaryOperator AllocaInst TruncInst SExtInst llvm::HANDLE_CAST_INST ( 36  ,
FPToUI  ,
FPToUIInst   
)
BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst llvm::HANDLE_CAST_INST ( 38  ,
UIToFP  ,
UIToFPInst   
)
BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst llvm::HANDLE_CAST_INST ( 40  ,
FPTrunc  ,
FPTruncInst   
)
BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst llvm::HANDLE_CAST_INST ( 42  ,
PtrToInt  ,
PtrToIntInst   
)
BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst llvm::HANDLE_CAST_INST ( 44  ,
BitCast  ,
BitCastInst   
)
BinaryOperator AllocaInst llvm::HANDLE_MEMORY_INST ( 27  ,
Load  ,
LoadInst   
)
BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst llvm::HANDLE_OTHER_INST ( 46  ,
FCmp  ,
FCmpInst   
)
BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode llvm::HANDLE_OTHER_INST ( 48  ,
Call  ,
CallInst   
)
BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst llvm::HANDLE_OTHER_INST ( 50  ,
UserOp1  ,
Instruction   
)

Base class for instruction visitors.

Instruction visitors are used when you want to perform different actions for different kinds of instructions without having to use lots of casts and a big switch statement (in your code, that is).

To define your own visitor, inherit from this class, specifying your new type for the 'SubClass' template parameter, and "override" visitXXX functions in your class. I say "override" because this class is defined in terms of statically resolved overloading, not virtual functions.

For example, here is a visitor that counts the number of malloc instructions processed:

/ Declare the class. Note that we derive from InstVisitor instantiated / with _our new subclasses_ type. / struct CountAllocaVisitor : public InstVisitor<CountAllocaVisitor> { unsigned Count; CountAllocaVisitor() : Count(0) {}

void visitAllocaInst(AllocaInst &AI) { ++Count; } };

And this class would be used like this: CountAllocaVisitor CAV; CAV.visit(function); NumAllocas = CAV.Count;

The defined has 'visit' methods for Instruction, and also for BasicBlock, Function, and Module, which recursively process all contained instructions.

Note that if you don't implement visitXXX for some instruction type, the visitXXX method for instruction superclass will be invoked. So if instructions are added in the future, they will be automatically supported, if you handle one of their superclasses.

The optional second template argument specifies the type that instruction visitation functions should return. If you specify this, you *MUST* provide an implementation of visitInstruction though!.

Note that this class is specifically designed as a template to avoid virtual function call overhead. Defining and using an InstVisitor is just as efficient as having your own switch statement over the instruction opcode.

template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
hash_code llvm::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 llvm::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 llvm::hash_combine ( const T1 &  arg1,
const T2 &  arg2,
const T3 &  arg3,
const T4 &  arg4 
)
template<typename T1 , typename T2 , typename T3 >
hash_code llvm::hash_combine ( const T1 &  arg1,
const T2 &  arg2,
const T3 &  arg3 
)
template<typename T1 , typename T2 >
hash_code llvm::hash_combine ( const T1 &  arg1,
const T2 &  arg2 
)
template<typename T1 >
hash_code llvm::hash_combine ( const T1 &  arg1)
template<typename InputIteratorT >
hash_code llvm::hash_combine_range ( InputIteratorT  first,
InputIteratorT  last 
)

Compute a hash_code for a sequence of values.

This hashes a sequence of values. It produces the same hash_code as 'hash_combine(a, b, c, ...)', but can run over arbitrary sized sequences and is significantly faster given pointers and types which can be hashed as a sequence of bytes.

Definition at line 492 of file Hashing.h.

References llvm::hashing::detail::hash_combine_range_impl().

Referenced by llvm::FoldingSetNodeIDRef::ComputeHash(), llvm::AnonStructTypeKeyInfo::getHashValue(), llvm::FunctionTypeKeyInfo::getHashValue(), llvm::MachineInstrExpressionTrait::getHashValue(), and hash_value().

template<typename T >
enable_if< is_integral_or_enum< T >, hash_code >::type llvm::hash_value ( value)

Compute a hash_code for any integer value.

Note that this function is intended to compute the same hash_code for a particular value without regard to the pre-promotion type. This is in contrast to hash_combine which may produce different hash_codes for differing argument types even if they would implicit promote to a common type without changing the value.

Definition at line 743 of file Hashing.h.

References llvm::hashing::detail::hash_integer_value().

Referenced by llvm::DenseMapAPIntKeyInfo::getHashValue(), llvm::DenseMapInfo< TableGenStringKey >::getHashValue(), llvm::DenseMapInfo< std::pair< BasicBlock *, unsigned > >::getHashValue(), llvm::DenseMapAPFloatKeyInfo::getHashValue(), and llvm::DenseMapInfo< Expression >::getHashValue().

template<typename T >
hash_code llvm::hash_value ( const T *  ptr)

Compute a hash_code for a pointer's address.

N.B.: This hashes the *address*. Not the value and not the type.

Definition at line 749 of file Hashing.h.

References llvm::hashing::detail::hash_integer_value().

template<typename T , typename U >
hash_code llvm::hash_value ( const std::pair< T, U > &  arg)

Compute a hash_code for a pair of objects.

Definition at line 757 of file Hashing.h.

References hash_combine().

template<typename T >
hash_code llvm::hash_value ( const std::basic_string< T > &  arg)

Compute a hash_code for a standard string.

Definition at line 764 of file Hashing.h.

References hash_combine_range().

hash_code llvm::hash_value ( StringRef  S)

Compute a hash_code for a StringRef.

Definition at line 466 of file StringRef.cpp.

References llvm::StringRef::begin(), llvm::StringRef::end(), and hash_combine_range().

static unsigned llvm::HashString ( StringRef  Str,
unsigned  Result = 0 
) [inline, static]

HashString - Hash function for strings.

This is the Bernstein hash function.

Definition at line 126 of file StringExtras.h.

References llvm::StringRef::size().

Referenced by llvm::StringMapImpl::FindKey(), and llvm::StringMapImpl::LookupBucketFor().

bool llvm::hasInlineAsmMemConstraint ( InlineAsm::ConstraintInfoVector CInfos,
const TargetLowering TLI 
)

hasInlineAsmMemConstraint - Return true if the inline asm instruction being processed uses a memory 'm' constraint.

Definition at line 130 of file CodeGen/Analysis.cpp.

References llvm::TargetLowering::C_Memory, llvm::InlineAsm::ConstraintInfo::Codes, llvm::TargetLowering::getConstraintType(), and llvm::InlineAsm::ConstraintInfo::isIndirect.

void llvm::HexagonLowerToMC ( const MachineInstr MI,
MCInst MCI,
HexagonAsmPrinter AP 
)

Definition at line 41 of file HexagonMCInstLower.cpp.

References llvm::MCInst::addOperand(), llvm::APFloat::bitcastToAPInt(), llvm::MCSymbolRefExpr::Create(), llvm::MCOperand::CreateExpr(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), llvm::MachineInstr::dump(), llvm::MachineOperand::getBlockAddress(), llvm::AsmPrinter::GetBlockAddressSymbol(), llvm::AsmPrinter::GetCPISymbol(), llvm::AsmPrinter::GetExternalSymbolSymbol(), llvm::MachineOperand::getFPImm(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::MachineOperand::getMBB(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::APInt::getRawData(), llvm::MachineOperand::getReg(), llvm::Mangler::getSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::MachineOperand::getSymbolName(), GetSymbolRef(), llvm::MachineOperand::getType(), llvm::ConstantFP::getValueAPF(), llvm::MachineOperand::isImplicit(), llvm_unreachable, llvm::AsmPrinter::Mang, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_FPImmediate, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, llvm::AsmPrinter::OutContext, and llvm::MCInst::setOpcode().

Referenced by llvm::HexagonAsmPrinter::EmitInstruction().

static char llvm::hexdigit ( unsigned  X,
bool  LowerCase = false 
) [inline, static]

hexdigit - Return the hexadecimal character for the given number

  • X (which should be less than 16).

Definition at line 25 of file StringExtras.h.

Referenced by llvm::MCFragment::dump(), PrintEscapedString(), and utohex_buffer().

uint32_t llvm::Hi_32 ( uint64_t  Value) [inline]

Hi_32 - This function returns the high 32 bits of a 64 bit value.

Definition at line 26 of file MathExtras.h.

Referenced by CountLeadingZeros_64().

template<class T >
idf_iterator<T> llvm::idf_begin ( const T &  G)
template<class T >
idf_iterator<T> llvm::idf_end ( const T &  G)
template<class T , class SetTy >
idf_ext_iterator<T, SetTy> llvm::idf_ext_begin ( const T &  G,
SetTy S 
)
template<class T , class SetTy >
idf_ext_iterator<T, SetTy> llvm::idf_ext_end ( const T &  G,
SetTy S 
)
void llvm::IncrementCounterInBlock ( BasicBlock *  BB,
unsigned  CounterNum,
GlobalValue *  CounterArray,
bool  beginning = true 
)
void llvm::initializeAAEvalPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeADCEPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeAddressSanitizerPass ( PassRegistry &  )
void llvm::initializeAliasAnalysisAnalysisGroup ( PassRegistry &  )
void llvm::initializeAliasAnalysisCounterPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeAliasDebuggerPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeAliasSetPrinterPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::InitializeAllAsmParsers ( ) [inline]

InitializeAllAsmParsers - The main program should call this function if it wants all asm parsers that LLVM is configured to support, to make them available via the TargetRegistry.

It is legal for a client to make multiple calls to this function.

Definition at line 96 of file TargetSelect.h.

Referenced by LLVMCreateDisasm().

void llvm::InitializeAllAsmPrinters ( ) [inline]

InitializeAllAsmPrinters - The main program should call this function if it wants all asm printers that LLVM is configured to support, to make them available via the TargetRegistry.

It is legal for a client to make multiple calls to this function.

Definition at line 86 of file TargetSelect.h.

void llvm::InitializeAllDisassemblers ( ) [inline]

InitializeAllDisassemblers - The main program should call this function if it wants all disassemblers that LLVM is configured to support, to make them available via the TargetRegistry.

It is legal for a client to make multiple calls to this function.

Definition at line 106 of file TargetSelect.h.

Referenced by LLVMCreateDisasm().

void llvm::InitializeAllTargetInfos ( ) [inline]

InitializeAllTargetInfos - The main program should call this function if it wants access to all available targets that LLVM is configured to support, to make them available via the TargetRegistry.

It is legal for a client to make multiple calls to this function.

Definition at line 53 of file TargetSelect.h.

Referenced by InitializeAllTargets(), and LLVMCreateDisasm().

void llvm::InitializeAllTargetMCs ( ) [inline]

InitializeAllTargetMCs - The main program should call this function if it wants access to all available target MC that LLVM is configured to support, to make them available via the TargetRegistry.

It is legal for a client to make multiple calls to this function.

Definition at line 76 of file TargetSelect.h.

Referenced by LLVMCreateDisasm().

void llvm::InitializeAllTargets ( ) [inline]

InitializeAllTargets - The main program should call this function if it wants access to all available target machines that LLVM is configured to support, to make them available via the TargetRegistry.

It is legal for a client to make multiple calls to this function.

Definition at line 63 of file TargetSelect.h.

References InitializeAllTargetInfos().

void llvm::initializeAlwaysInlinerPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeAnalysis ( PassRegistry Registry)

initializeAnalysis - Initialize all passes linked into the Analysis library.

Definition at line 19 of file Analysis/Analysis.cpp.

References initializeAAEvalPass(), initializeAliasAnalysisAnalysisGroup(), initializeAliasAnalysisCounterPass(), initializeAliasDebuggerPass(), initializeAliasSetPrinterPass(), initializeBasicAliasAnalysisPass(), initializeBlockFrequencyInfoPass(), initializeBranchProbabilityInfoPass(), initializeCFGOnlyPrinterPass(), initializeCFGOnlyViewerPass(), initializeCFGPrinterPass(), initializeCFGViewerPass(), initializeDominanceFrontierPass(), initializeDomOnlyPrinterPass(), initializeDomOnlyViewerPass(), initializeDomPrinterPass(), initializeDomViewerPass(), initializeInstCountPass(), initializeIntervalPartitionPass(), initializeIVUsersPass(), initializeLazyValueInfoPass(), initializeLibCallAliasAnalysisPass(), initializeLintPass(), initializeLoaderPassPass(), initializeLoopDependenceAnalysisPass(), initializeLoopInfoPass(), initializeMemDepPrinterPass(), initializeMemoryDependenceAnalysisPass(), initializeModuleDebugInfoPrinterPass(), initializeNoAAPass(), initializeNoPathProfileInfoPass(), initializeNoProfileInfoPass(), initializePathProfileInfoAnalysisGroup(), initializePathProfileLoaderPassPass(), initializePathProfileVerifierPass(), initializePostDominatorTreePass(), initializePostDomOnlyPrinterPass(), initializePostDomOnlyViewerPass(), initializePostDomPrinterPass(), initializePostDomViewerPass(), initializePrintDbgInfoPass(), initializeProfileEstimatorPassPass(), initializeProfileInfoAnalysisGroup(), initializeProfileVerifierPassPass(), initializeRegionInfoPass(), initializeRegionOnlyPrinterPass(), initializeRegionOnlyViewerPass(), initializeRegionPrinterPass(), initializeRegionViewerPass(), initializeScalarEvolutionAliasAnalysisPass(), initializeScalarEvolutionPass(), and initializeTypeBasedAliasAnalysisPass().

Referenced by LLVMInitializeAnalysis().

void llvm::initializeArgPromotionPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeBasicAliasAnalysisPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeBasicCallGraphPass ( PassRegistry &  )

Referenced by initializeIPA().

void llvm::initializeBBVectorizePass ( PassRegistry &  )

Referenced by initializeVectorization().

void llvm::initializeBlockExtractorPassPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeBlockFrequencyInfoPass ( PassRegistry &  )
void llvm::initializeBlockPlacementPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeBranchFolderPassPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeBranchProbabilityInfoPass ( PassRegistry &  )
void llvm::initializeBreakCriticalEdgesPass ( PassRegistry &  )
void llvm::initializeCalculateSpillWeightsPass ( PassRegistry &  )
void llvm::initializeCallGraphAnalysisGroup ( PassRegistry &  )

Referenced by initializeIPA().

void llvm::initializeCFGOnlyPrinterPass ( PassRegistry &  )
void llvm::initializeCFGOnlyViewerPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeCFGPrinterPass ( PassRegistry &  )
void llvm::initializeCFGSimplifyPassPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeCFGViewerPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeCodeGen ( PassRegistry Registry)

initializeCodeGen - Initialize all passes linked into the CodeGen library.

Definition at line 21 of file CodeGen.cpp.

References initializeBranchFolderPassPass(), initializeCalculateSpillWeightsPass(), initializeCodePlacementOptPass(), initializeDeadMachineInstructionElimPass(), initializeExpandISelPseudosPass(), initializeExpandPostRAPass(), initializeFinalizeMachineBundlesPass(), initializeGCMachineCodeAnalysisPass(), initializeGCModuleInfoPass(), initializeIfConverterPass(), initializeLiveDebugVariablesPass(), initializeLiveIntervalsPass(), initializeLiveStacksPass(), initializeLiveVariablesPass(), initializeLocalStackSlotPassPass(), initializeLowerIntrinsicsPass(), initializeMachineBlockFrequencyInfoPass(), initializeMachineBlockPlacementPass(), initializeMachineBlockPlacementStatsPass(), initializeMachineCopyPropagationPass(), initializeMachineCSEPass(), initializeMachineDominatorTreePass(), initializeMachineLICMPass(), initializeMachineLoopInfoPass(), initializeMachineModuleInfoPass(), initializeMachineSchedulerPass(), initializeMachineSinkingPass(), initializeMachineVerifierPassPass(), initializeOptimizePHIsPass(), initializePeepholeOptimizerPass(), initializePEIPass(), initializePHIEliminationPass(), initializePostRASchedulerPass(), initializeProcessImplicitDefsPass(), initializeRegisterCoalescerPass(), initializeRenderMachineFunctionPass(), initializeSlotIndexesPass(), initializeStackProtectorPass(), initializeStackSlotColoringPass(), initializeStrongPHIEliminationPass(), initializeTailDuplicatePassPass(), initializeTargetPassConfigPass(), initializeTwoAddressInstructionPassPass(), initializeUnpackMachineBundlesPass(), initializeUnreachableBlockElimPass(), initializeUnreachableMachineBlockElimPass(), and initializeVirtRegMapPass().

Referenced by LLVMInitializeCodeGen(), and llvm::TargetPassConfig::TargetPassConfig().

void llvm::initializeCodeGenPreparePass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeCodePlacementOptPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeConstantMergePass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeConstantPropagationPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeCore ( PassRegistry Registry)

initializeCore - Initialize all passes linked into the TransformUtils library.

Definition at line 38 of file Core.cpp.

References initializeDominatorTreePass(), initializePreVerifierPass(), initializePrintFunctionPassPass(), initializePrintModulePassPass(), and initializeVerifierPass().

Referenced by LLVMInitializeCore().

void llvm::initializeCorrelatedValuePropagationPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeDAEPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeDAHPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeDCEPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeDeadInstEliminationPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeDeadMachineInstructionElimPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeDominanceFrontierPass ( PassRegistry &  )
void llvm::initializeDominatorTreePass ( PassRegistry &  )
void llvm::initializeDomOnlyPrinterPass ( PassRegistry &  )
void llvm::initializeDomOnlyViewerPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeDomPrinterPass ( PassRegistry &  )
void llvm::initializeDomViewerPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeDSEPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeEarlyCSEPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeEdgeBundlesPass ( PassRegistry &  )
void llvm::initializeEdgeProfilerPass ( PassRegistry &  )
void llvm::initializeExpandISelPseudosPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeExpandPostRAPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeFinalizeMachineBundlesPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeFindUsedTypesPass ( PassRegistry &  )
void llvm::initializeFunctionAttrsPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeGCInfoDeleterPass ( PassRegistry &  )
void llvm::initializeGCMachineCodeAnalysisPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeGCModuleInfoPass ( PassRegistry &  )
void llvm::initializeGCOVProfilerPass ( PassRegistry &  )
void llvm::initializeGlobalDCEPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeGlobalMergePass ( PassRegistry &  )
void llvm::initializeGlobalOptPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeGlobalsModRefPass ( PassRegistry &  )

Referenced by initializeIPA().

void llvm::initializeGVNPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeIfConverterPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeIndVarSimplifyPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeInstCombine ( PassRegistry Registry)

initializeInstCombine - Initialize all passes linked into the ScalarOpts library.

Definition at line 69 of file InstructionCombining.cpp.

References initializeInstCombinerPass().

Referenced by LLVMInitializeInstCombine().

void llvm::initializeInstCombinerPass ( PassRegistry &  )
void llvm::initializeInstCountPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeInstNamerPass ( PassRegistry &  )
void llvm::initializeInstrumentation ( PassRegistry Registry)

initializeInstrumentation - Initialize all passes linked into the Instrumentation library.

initializeInstrumentation - Initialize all passes in the TransformUtils library.

Definition at line 22 of file Instrumentation.cpp.

References initializeAddressSanitizerPass(), initializeEdgeProfilerPass(), initializeGCOVProfilerPass(), initializeOptimalEdgeProfilerPass(), initializePathProfilerPass(), and initializeThreadSanitizerPass().

Referenced by LLVMInitializeInstrumentation().

void llvm::initializeInstSimplifierPass ( PassRegistry &  )
void llvm::initializeInternalizePassPass ( PassRegistry &  )

Referenced by INITIALIZE_PASS(), and initializeIPO().

void llvm::initializeIntervalPartitionPass ( PassRegistry &  )
void llvm::initializeIPA ( PassRegistry Registry)

initializeIPA - Initialize all passes linked into the IPA library.

Definition at line 20 of file IPA.cpp.

References initializeBasicCallGraphPass(), initializeCallGraphAnalysisGroup(), initializeFindUsedTypesPass(), and initializeGlobalsModRefPass().

Referenced by LLVMInitializeIPA().

void llvm::initializeIPCPPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeIPO ( PassRegistry Registry)
void llvm::initializeIPSCCPPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeIVUsersPass ( PassRegistry &  )
void llvm::initializeJumpThreadingPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLazyValueInfoPass ( PassRegistry &  )
void llvm::initializeLCSSAPass ( PassRegistry &  )
void llvm::initializeLibCallAliasAnalysisPass ( PassRegistry &  )
void llvm::initializeLICMPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLintPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeLiveDebugVariablesPass ( PassRegistry &  )
void llvm::initializeLiveIntervalsPass ( PassRegistry &  )
void llvm::initializeLiveStacksPass ( PassRegistry &  )
void llvm::initializeLiveVariablesPass ( PassRegistry &  )
void llvm::initializeLoaderPassPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeLocalStackSlotPassPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeLoopDeletionPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLoopDependenceAnalysisPass ( PassRegistry &  )
void llvm::initializeLoopExtractorPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeLoopIdiomRecognizePass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLoopInfoPass ( PassRegistry &  )
void llvm::initializeLoopInstSimplifyPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLoopRotatePass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLoopSimplifyPass ( PassRegistry &  )
void llvm::initializeLoopStrengthReducePass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLoopUnrollPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLoopUnswitchPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLowerAtomicPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLowerExpectIntrinsicPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeLowerIntrinsicsPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeLowerInvokePass ( PassRegistry &  )
void llvm::initializeLowerSwitchPass ( PassRegistry &  )
void llvm::initializeMachineBlockFrequencyInfoPass ( PassRegistry &  )
void llvm::initializeMachineBlockPlacementPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeMachineBlockPlacementStatsPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeMachineBranchProbabilityInfoPass ( PassRegistry &  )
void llvm::initializeMachineCopyPropagationPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeMachineCSEPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeMachineDominatorTreePass ( PassRegistry &  )
void llvm::initializeMachineLICMPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeMachineLoopInfoPass ( PassRegistry &  )
void llvm::initializeMachineLoopRangesPass ( PassRegistry &  )
void llvm::initializeMachineModuleInfoPass ( PassRegistry &  )
void llvm::initializeMachineSchedulerPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeMachineSinkingPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeMachineVerifierPassPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeMemCpyOptPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeMemDepPrinterPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeMemoryDependenceAnalysisPass ( PassRegistry &  )
void llvm::initializeMergeFunctionsPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeModuleDebugInfoPrinterPass ( PassRegistry &  )

Referenced by initializeAnalysis().

bool llvm::InitializeNativeTarget ( ) [inline]

InitializeNativeTarget - The main program should call this function to initialize the native target corresponding to the host. This is useful for JIT applications to ensure that the target gets linked in correctly.

It is legal for a client to make multiple calls to this function.

Definition at line 116 of file TargetSelect.h.

References LLVM_NATIVE_TARGET, LLVM_NATIVE_TARGETINFO, and LLVM_NATIVE_TARGETMC.

bool llvm::InitializeNativeTargetAsmParser ( ) [inline]

InitializeNativeTargetAsmParser - The main program should call this function to initialize the native target asm parser.

Definition at line 142 of file TargetSelect.h.

References LLVM_NATIVE_ASMPARSER.

bool llvm::InitializeNativeTargetAsmPrinter ( ) [inline]

InitializeNativeTargetAsmPrinter - The main program should call this function to initialize the native target asm printer.

Definition at line 130 of file TargetSelect.h.

References LLVM_NATIVE_ASMPRINTER.

bool llvm::InitializeNativeTargetDisassembler ( ) [inline]

InitializeNativeTargetDisassembler - The main program should call this function to initialize the native target disassembler.

Definition at line 154 of file TargetSelect.h.

References LLVM_NATIVE_DISASSEMBLER.

void llvm::initializeNoAAPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeNoPathProfileInfoPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeNoProfileInfoPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeObjCARCAliasAnalysisPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeObjCARCAPElimPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeObjCARCContractPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeObjCARCExpandPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeObjCARCOptPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeOptimalEdgeProfilerPass ( PassRegistry &  )
void llvm::initializeOptimizePHIsPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializePartialInlinerPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializePathProfileInfoAnalysisGroup ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializePathProfileLoaderPassPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializePathProfilerPass ( PassRegistry &  )
void llvm::initializePathProfileVerifierPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializePeepholeOptimizerPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializePEIPass ( PassRegistry &  )
void llvm::initializePHIEliminationPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializePostDominatorTreePass ( PassRegistry &  )
void llvm::initializePostDomOnlyPrinterPass ( PassRegistry &  )
void llvm::initializePostDomOnlyViewerPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializePostDomPrinterPass ( PassRegistry &  )
void llvm::initializePostDomViewerPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializePostRASchedulerPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializePreVerifierPass ( PassRegistry &  )

Referenced by initializeCore().

void llvm::initializePrintDbgInfoPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializePrintFunctionPassPass ( PassRegistry &  )

Referenced by initializeCore().

void llvm::initializePrintModulePassPass ( PassRegistry &  )

Referenced by initializeCore().

void llvm::initializeProcessImplicitDefsPass ( PassRegistry &  )
void llvm::initializeProfileEstimatorPassPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeProfileInfoAnalysisGroup ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeProfileVerifierPassPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializePromotePassPass ( PassRegistry &  )
void llvm::initializePruneEHPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeReassociatePass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeRegionInfoPass ( PassRegistry &  )
void llvm::initializeRegionOnlyPrinterPass ( PassRegistry &  )
void llvm::initializeRegionOnlyViewerPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeRegionPrinterPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeRegionViewerPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeRegisterCoalescerPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeRegToMemPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeRenderMachineFunctionPass ( PassRegistry &  )
void llvm::initializeScalarEvolutionAliasAnalysisPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeScalarEvolutionPass ( PassRegistry &  )
void llvm::initializeScalarOpts ( PassRegistry Registry)
void llvm::initializeSCCPPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeSimpleInlinerPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeSimplifyLibCallsPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeSingleLoopExtractorPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeSinkingPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeSlotIndexesPass ( PassRegistry &  )
void llvm::initializeSpillPlacementPass ( PassRegistry &  )
void llvm::initializeSROA_DTPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeSROA_SSAUpPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeStackProtectorPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeStackSlotColoringPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeStripDeadDebugInfoPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeStripDeadPrototypesPassPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeStripDebugDeclarePass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeStripNonDebugSymbolsPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeStripSymbolsPass ( PassRegistry &  )

Referenced by initializeIPO().

void llvm::initializeStrongPHIEliminationPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeTailCallElimPass ( PassRegistry &  )

Referenced by initializeScalarOpts().

void llvm::initializeTailDuplicatePassPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeTarget ( PassRegistry Registry)

initializeCodeGen - Initialize all passes linked into the CodeGen library.

Definition at line 26 of file Target.cpp.

References initializeTargetDataPass(), and initializeTargetLibraryInfoPass().

Referenced by LLVMInitializeTarget().

void llvm::initializeTargetDataPass ( PassRegistry &  )

Referenced by initializeTarget().

void llvm::initializeTargetLibraryInfoPass ( PassRegistry &  )
void llvm::initializeTargetPassConfigPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeThreadSanitizerPass ( PassRegistry &  )
void llvm::initializeTransformUtils ( PassRegistry Registry)

initializeTransformUtils - Initialize all passes linked into the TransformUtils library.

initializeTransformUtils - Initialize all passes in the TransformUtils library.

Definition at line 22 of file Utils.cpp.

References initializeBreakCriticalEdgesPass(), initializeInstNamerPass(), initializeInstSimplifierPass(), initializeLCSSAPass(), initializeLoopSimplifyPass(), initializeLowerInvokePass(), initializeLowerSwitchPass(), initializePromotePassPass(), and initializeUnifyFunctionExitNodesPass().

Referenced by LLVMInitializeTransformUtils().

void llvm::initializeTwoAddressInstructionPassPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeTypeBasedAliasAnalysisPass ( PassRegistry &  )

Referenced by initializeAnalysis().

void llvm::initializeUnifyFunctionExitNodesPass ( PassRegistry &  )
void llvm::initializeUnpackMachineBundlesPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeUnreachableBlockElimPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeUnreachableMachineBlockElimPass ( PassRegistry &  )

Referenced by initializeCodeGen().

void llvm::initializeVectorization ( PassRegistry Registry)

initializeVectorization - Initialize all passes linked into the Vectorize library.

initializeVectorizationPasses - Initialize all passes linked into the Vectorization library.

Definition at line 28 of file Vectorize.cpp.

References initializeBBVectorizePass().

Referenced by LLVMInitializeVectorization().

void llvm::initializeVerifierPass ( PassRegistry &  )

Referenced by initializeCore().

void llvm::initializeVirtRegMapPass ( PassRegistry &  )

Referenced by initializeCodeGen().

bool llvm::InlineFunction ( CallInst C,
InlineFunctionInfo IFI,
bool  InsertLifetime = true 
)

InlineFunction - This function inlines the called function into the basic block of the caller. This returns false if it is not possible to inline this call. The program is still in a well defined state if this occurs though.

Note that this only does one level of inlining. For example, if the instruction 'call B' is inlined, and 'B' calls 'C', then the call to 'C' now exists in the instruction stream. Similarly this will inline a recursive function by one level.

Definition at line 34 of file InlineFunction.cpp.

Referenced by InlineCallIfPossible(), and InlineFunction().

bool llvm::InlineFunction ( InvokeInst II,
InlineFunctionInfo IFI,
bool  InsertLifetime = true 
)

Definition at line 38 of file InlineFunction.cpp.

References InlineFunction().

bool llvm::InlineFunction ( CallSite  CS,
InlineFunctionInfo IFI,
bool  InsertLifetime = true 
)

InlineFunction - This function inlines the called function into the basic block of the caller. This returns false if it is not possible to inline this call. The program is still in a well defined state if this occurs though.

Note that this only does one level of inlining. For example, if the instruction 'call B' is inlined, and 'B' calls 'C', then the call to 'C' now exists in the instruction stream. Similarly this will inline a recursive function by one level.

Definition at line 489 of file InlineFunction.cpp.

References llvm::PHINode::addIncoming(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_size(), llvm::Function::arg_size(), llvm::Function::back(), llvm::BasicBlock::begin(), llvm::Function::begin(), llvm::InlineFunctionInfo::CG, CloneAndPruneFunctionInto(), llvm::ClonedCodeInfo::ContainsCalls, llvm::ClonedCodeInfo::ContainsDynamicAllocas, llvm::PHINode::Create(), llvm::BranchInst::Create(), llvm::IRBuilderBase::CreateLifetimeEnd(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotThrow(), dyn_cast(), llvm::SmallVectorBase::empty(), llvm::Function::end(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), fixupLineNumbers(), llvm::UndefValue::get(), llvm::AllocaInst::getArraySize(), llvm::Function::getBasicBlockList(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction(), llvm::Intrinsic::getDeclaration(), llvm::Function::getEntryBlock(), llvm::Function::getFunctionType(), llvm::Function::getGC(), llvm::BasicBlock::getInstList(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::BasicBlock::getLandingPadInst(), llvm::Value::getName(), llvm::InvokeInst::getNormalDest(), llvm::Instruction::getOpcode(), llvm::Function::getParamAlignment(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::LandingPadInst::getPersonalityFn(), llvm::Function::getReturnType(), llvm::ReturnInst::getReturnValue(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::InvokeInst::getUnwindDest(), HandleByValArgument(), HandleInlinedInvoke(), llvm::Function::hasGC(), hasLifetimeMarkers(), llvm::ARM_PROC::I, llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isByValArgument(), llvm::GlobalValue::isDeclaration(), llvm::FunctionType::isVarArg(), PHI, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::InlineFunctionInfo::reset(), llvm::Function::setGC(), llvm::User::setOperand(), SimplifyInstruction(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::BasicBlock::splitBasicBlock(), llvm::InlineFunctionInfo::StaticAllocas, llvm::InlineFunctionInfo::TD, UpdateCallGraphAfterInlining(), and llvm::Value::use_empty().

void llvm::InsertProfilingInitCall ( Function *  MainFn,
const char *  FnName,
GlobalValue *  Arr = 0,
PointerType *  arrayType = 0 
)
void llvm::InsertProfilingShutdownCall ( Function *  Callee,
Module *  Mod 
)
inst_iterator llvm::inst_begin ( Function *  F) [inline]
const_inst_iterator llvm::inst_begin ( const Function *  F) [inline]

Definition at line 130 of file InstIterator.h.

inst_iterator llvm::inst_begin ( Function &  F) [inline]

Definition at line 136 of file InstIterator.h.

const_inst_iterator llvm::inst_begin ( const Function &  F) [inline]

Definition at line 138 of file InstIterator.h.

inst_iterator llvm::inst_end ( Function *  F) [inline]
const_inst_iterator llvm::inst_end ( const Function *  F) [inline]

Definition at line 133 of file InstIterator.h.

inst_iterator llvm::inst_end ( Function &  F) [inline]

Definition at line 137 of file InstIterator.h.

const_inst_iterator llvm::inst_end ( const Function &  F) [inline]

Definition at line 141 of file InstIterator.h.

void llvm::install_fatal_error_handler ( fatal_error_handler_t  handler,
void *  user_data = 0 
)

install_fatal_error_handler - Installs a new error handler to be used whenever a serious (non-recoverable) error is encountered by LLVM.

If you are using llvm_start_multithreaded, you should register the handler before doing that.

If no error handler is installed the default is to print the error message to stderr, and call exit(1). If an error handler is installed then it is the handler's responsibility to log the message, it will no longer be printed to stderr. If the error handler returns, then exit(1) will be called.

It is dangerous to naively use an error handler which throws an exception. Even though some applications desire to gracefully recover from arbitrary faults, blindly throwing exceptions through unfamiliar code isn't a way to achieve this.

Parameters:
user_data- An argument which will be passed to the install error handler.

Definition at line 39 of file ErrorHandling.cpp.

References ErrorHandler, ErrorHandlerUserData, and llvm_is_multithreaded().

Referenced by llvm::ScopedFatalErrorHandler::ScopedFatalErrorHandler().

function_interval_iterator llvm::intervals_begin ( Function *  F,
bool  DeleteInts = true 
) [inline]
interval_part_interval_iterator llvm::intervals_begin ( IntervalPartition &  IP,
bool  DeleteIntervals = true 
) [inline]

Definition at line 249 of file IntervalIterator.h.

function_interval_iterator llvm::intervals_end ( Function *  ) [inline]
interval_part_interval_iterator llvm::intervals_end ( IntervalPartition &  IP) [inline]

Definition at line 253 of file IntervalIterator.h.

template<class T >
ipo_iterator<T> llvm::ipo_begin ( G,
bool  Reverse = false 
)
template<class T >
ipo_iterator<T> llvm::ipo_end ( G)
template<class T , class SetType >
ipo_ext_iterator<T, SetType> llvm::ipo_ext_begin ( G,
SetType &  S 
)
template<class T , class SetType >
ipo_ext_iterator<T, SetType> llvm::ipo_ext_end ( G,
SetType &  S 
)
template<class X , class Y >
bool llvm::isa ( const Y Val) [inline]
bool llvm::isAllocaPromotable ( const AllocaInst AI)

isAllocaPromotable - Return true if this alloca is legal for promotion. This is true if there are only loads and stores to the alloca...

isAllocaPromotable - Return true if this alloca is legal for promotion. This is true if there are only loads and stores to the alloca.

Definition at line 82 of file PromoteMemoryToRegister.cpp.

References llvm::Value::getContext(), llvm::Type::getInt8PtrTy(), onlyUsedByLifetimeMarkers(), llvm::Value::use_begin(), and llvm::Value::use_end().

static bool llvm::isARMArea1Register ( unsigned  Reg,
bool  isIOS 
) [inline, static]

isARMArea1Register - Returns true if the register is a low register (r0-r7) or a stack/pc register that we should push/pop.

Definition at line 38 of file ARMBaseRegisterInfo.h.

References llvm::ExceptionHandling::ARM.

Referenced by llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().

static bool llvm::isARMArea2Register ( unsigned  Reg,
bool  isIOS 
) [inline, static]
static bool llvm::isARMArea3Register ( unsigned  Reg,
bool  isIOS 
) [inline, static]
static bool llvm::isARMLowRegister ( unsigned  Reg) [inline, static]
const CallInst * llvm::isArrayMalloc ( const Value I,
const TargetData TD 
)

isArrayMalloc - Returns the corresponding CallInst if the instruction is a call to malloc whose array size can be determined and the array size is not constant 1. Otherwise, return NULL.

Definition at line 119 of file MemoryBuiltins.cpp.

References computeArraySize(), extractMallocCall(), llvm::ConstantInt::get(), llvm::CallInst::getArgOperand(), and llvm::Value::getType().

Referenced by getObjectSize().

bool llvm::isBarrierIntrinsic ( llvm::Intrinsic::ID  id)

Definition at line 310 of file NVPTXUtilities.cpp.

Referenced by llvm::NVPTXSplitBBatBar::runOnFunction().

static bool llvm::isBitcode ( const unsigned char *  BufPtr,
const unsigned char *  BufEnd 
) [inline, static]

isBitcode - Return true if the given bytes are the magic bytes for LLVM IR bitcode, either with or without a wrapper.

Definition at line 102 of file ReaderWriter.h.

References isBitcodeWrapper(), and isRawBitcode().

Referenced by getLazyIRModule(), and ParseIR().

static bool llvm::isBitcodeWrapper ( const unsigned char *  BufPtr,
const unsigned char *  BufEnd 
) [inline, static]

isBitcodeWrapper - Return true if the given bytes are the magic bytes for an LLVM IR bitcode wrapper.

Definition at line 74 of file ReaderWriter.h.

Referenced by isBitcode().

Value * llvm::isBytewiseValue ( Value V)

isBytewiseValue - If the specified value can be set by repeating the same byte in memory, return the i8 value that it is represented with. This is true for all i8 values obviously, but is also true for i32 0, i32 -1, i16 0xF0F0, double 0.0 etc. If the value can't be handled with a repeated byte store (e.g. i16 0x1234), return null.

Definition at line 1347 of file ValueTracking.cpp.

References llvm::CallingConv::C, llvm::ConstantInt::get(), llvm::ConstantExpr::getBitCast(), llvm::APInt::getBitWidth(), llvm::Value::getContext(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::Type::getInt8Ty(), llvm::Constant::getNullValue(), llvm::Value::getType(), llvm::ARM_PROC::I, llvm::Type::isIntegerTy(), isPowerOf2_32(), llvm::APInt::lshr(), and llvm::APInt::trunc().

static bool llvm::isCondBranchOpcode ( int  Opc) [inline, static]
bool llvm::isCriticalEdge ( const TerminatorInst TI,
unsigned  SuccNum,
bool  AllowIdenticalEdges = false 
)

isCriticalEdge - Return true if the specified edge is a critical edge. Critical edges are edges from a block with multiple successors to a block with multiple predecessors.

Definition at line 91 of file BreakCriticalEdges.cpp.

References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), llvm::ARM_PROC::I, pred_begin(), and pred_end().

Referenced by SplitCriticalEdge().

bool llvm::isCurrentDebugType ( const char *  Type)

isCurrentDebugType - Return true if the specified string is the debug type specified on the command line, or if none was specified on the command line with the -debug-only=X option.

Definition at line 88 of file Debug.cpp.

References CurrentDebugType.

Referenced by LowerSTORE(), and llvm::SPUTargetLowering::PerformDAGCombine().

const CallInst * llvm::isFreeCall ( const Value I)
static CallInst* llvm::isFreeCall ( Value *  I) [inline, static]

Definition at line 89 of file MemoryBuiltins.h.

References isFreeCall().

static bool llvm::isGlobalRelativeToPICBase ( unsigned char  TargetFlag) [inline, static]

isGlobalRelativeToPICBase - Return true if the specified global value reference is relative to a 32-bit PIC base (X86ISD::GlobalBaseReg). If this is true, the addressing mode has the PIC base register added in (e.g. EBX).

Definition at line 89 of file X86InstrInfo.h.

References llvm::X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE, llvm::X86II::MO_DARWIN_NONLAZY_PIC_BASE, llvm::X86II::MO_GOT, llvm::X86II::MO_GOTOFF, llvm::X86II::MO_PIC_BASE_OFFSET, and llvm::X86II::MO_TLVP.

Referenced by llvm::X86TargetLowering::isLegalAddressingMode().

static bool llvm::isGlobalStubReference ( unsigned char  TargetFlag) [inline, static]

isGlobalStubReference - Return true if the specified TargetFlag operand is a reference to a stub for a global, not the global itself.

Definition at line 72 of file X86InstrInfo.h.

References llvm::X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE, llvm::X86II::MO_DARWIN_NONLAZY, llvm::X86II::MO_DARWIN_NONLAZY_PIC_BASE, llvm::X86II::MO_DLLIMPORT, llvm::X86II::MO_GOT, and llvm::X86II::MO_GOTPCREL.

Referenced by gvNeedsNonLazyPtr(), llvm::X86TargetLowering::isLegalAddressingMode(), and llvm::X86TargetLowering::LowerAsmOperandForConstraint().

bool llvm::isIdentifiedObject ( const Value V)

isIdentifiedObject - Return true if this pointer refers to a distinct and identifiable object. This returns true for: Global Variables and Functions (but not Global Aliases) Allocas and Mallocs ByVal and NoAlias Arguments NoAlias returns

Definition at line 515 of file AliasAnalysis.cpp.

References llvm::ARM_PROC::A, and isNoAliasCall().

Referenced by llvm::AliasAnalysis::callCapturesBefore(), getUnderlyingObjectForInstr(), isUnsafeMemoryObject(), and SimplifyICmpInst().

bool llvm::isImage ( const llvm::Value val)

Definition at line 197 of file NVPTXUtilities.cpp.

References isImageReadOnly(), and isImageWriteOnly().

bool llvm::isImageOrSamplerVal ( const Value arg,
const Module context 
)
bool llvm::isImageReadOnly ( const llvm::Value val)
bool llvm::isImageWriteOnly ( const llvm::Value val)
static bool llvm::isIndirectBranchOpcode ( int  Opc) [inline, static]

Definition at line 339 of file ARMBaseInstrInfo.h.

Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch().

int llvm::IsInf ( float  f)

Platform-independent wrappers for the C99 isinf() function.

Definition at line 46 of file IsInf.cpp.

int llvm::IsInf ( double  d)

Definition at line 47 of file IsInf.cpp.

bool llvm::isInstructionFree ( const Instruction I,
const TargetData TD = 0 
)
bool llvm::isInstructionTriviallyDead ( Instruction I)
template<unsigned N>
bool llvm::isInt ( int64_t  x) [inline]

isInt - Checks if an integer fits into the given bit width.

Definition at line 37 of file MathExtras.h.

References N.

Referenced by combineSelectAndUse().

template<>
bool llvm::isInt< 16 > ( int64_t  x) [inline]
template<>
bool llvm::isInt< 32 > ( int64_t  x) [inline]
template<>
bool llvm::isInt< 8 > ( int64_t  x) [inline]
bool llvm::isInTailCallPosition ( ImmutableCallSite  CS,
Attributes  CalleeRetAttr,
const TargetLowering TLI 
)
bool llvm::isInTailCallPosition ( SelectionDAG DAG,
SDNode Node,
SDValue Chain,
const TargetLowering TLI 
)
bool llvm::isIntN ( unsigned  N,
int64_t  x 
) [inline]

isIntN - Checks if an signed integer fits into the given (dynamic) bit width.

Definition at line 95 of file MathExtras.h.

Referenced by llvm::MCStreamer::EmitIntValue(), isExtendedBUILD_VECTOR(), and llvm::TargetLowering::SimplifyDemandedBits().

static bool llvm::isJumpTableBranchOpcode ( int  Opc) [inline, static]

Definition at line 333 of file ARMBaseInstrInfo.h.

Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch().

bool llvm::isKernelFunction ( const llvm::Function F)
bool llvm::isKnownNonNull ( const Value V)

isKnownNonNull - Return true if this pointer couldn't possibly be null by its definition. This returns true for allocas, non-extern-weak globals and byval arguments.

isKnownNonNull - Return true if we know that the specified value is never null.

Definition at line 529 of file AliasAnalysis.cpp.

References llvm::ARM_PROC::A.

Referenced by SimplifyICmpInst().

bool llvm::isKnownNonZero ( Value V,
const TargetData TD = 0,
unsigned  Depth = 0 
)
static bool llvm::isLeaMem ( const MachineInstr *  MI,
unsigned  Op 
) [inline, static]
bool llvm::isMalloc ( const Value I)

isMalloc - Returns true if the value is either a malloc call or a bitcast of the result of a malloc call

isMalloc - Returns true if the value is either a malloc call or a bitcast of the result of a malloc call.

Definition at line 29 of file MemoryBuiltins.cpp.

References extractMallocCall(), and extractMallocCallFromBitCast().

Referenced by getMallocArraySize(), getMallocType(), llvm::InstCombiner::visitCallInst(), and llvm::InstCombiner::visitGetElementPtrInst().

bool llvm::isMask_32 ( uint32_t  Value) [inline]

isMask_32 - This function returns true if the argument is a sequence of ones starting at the least significant bit with the remainder zero (32 bit version). Ex. isMask_32(0x0000FFFFU) == true.

Definition at line 102 of file MathExtras.h.

Referenced by isShiftedMask_32().

bool llvm::isMask_64 ( uint64_t  Value) [inline]

isMask_64 - This function returns true if the argument is a sequence of ones starting at the least significant bit with the remainder zero (64 bit version).

Definition at line 109 of file MathExtras.h.

Referenced by isShiftedMask_64().

static bool llvm::isMBlazeRegister ( unsigned  Reg) [inline, static]

Definition at line 82 of file MBlazeBaseInfo.h.

Referenced by getRD().

static bool llvm::isMem ( const MachineInstr *  MI,
unsigned  Op 
) [inline, static]
bool llvm::isMemorySpaceTransferIntrinsic ( Intrinsic::ID  id)

Definition at line 321 of file NVPTXUtilities.cpp.

Referenced by skipPointerTransfer().

int llvm::IsNAN ( float  f)

Platform-independent wrappers for the C99 isnan() function.

Definition at line 31 of file IsNAN.cpp.

int llvm::IsNAN ( double  d)

Definition at line 32 of file IsNAN.cpp.

bool llvm::isNoAliasCall ( const Value V)

isNoAliasCall - Return true if this pointer is returned by a noalias function.

Definition at line 501 of file AliasAnalysis.cpp.

References llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::paramHasAttr().

Referenced by isIdentifiedObject(), isNonEscapingLocalObject(), and PointerMayBeCaptured().

bool llvm::isNVPTXVectorRegClass ( TargetRegisterClass const *  RC)

Definition at line 154 of file NVPTXRegisterInfo.cpp.

References llvm::TargetRegisterClass::getID().

bool llvm::isParamLoad ( const MachineInstr MI)
bool llvm::isPowerOf2_32 ( uint32_t  Value) [inline]
bool llvm::isPowerOf2_64 ( uint64_t  Value) [inline]

isPowerOf2_64 - This function returns true if the argument is a power of two > 0 (64 bit edition.)

Definition at line 134 of file MathExtras.h.

Referenced by llvm::X86TargetLowering::BuildFILD(), llvm::FastISel::FastEmit_ri_(), isConstVecPow2(), llvm::APInt::isPowerOf2(), isRepeatedByteSequence(), and PerformMulCombine().

bool llvm::isPowerOfTwo ( Value V,
const TargetData TD = 0,
bool  OrZero = false,
unsigned  Depth = 0 
)

isPowerOfTwo - Return true if the given value is known to have exactly one bit set when defined. For vectors return true if every element is known to be a power of two when defined. Supports values with integer or pointer type and vectors of integers. If 'OrZero' is set then returns true if the given value is either a power of two or zero.

isPowerOfTwo - Return true if the given value is known to have exactly one bit set when defined. For vectors return true if every element is known to be a power of two when defined. Supports values with integer or pointer types and vectors of integers.

Definition at line 799 of file ValueTracking.cpp.

References llvm::CallingConv::C, llvm::PatternMatch::m_And(), llvm::PatternMatch::m_Exact(), llvm::PatternMatch::m_LShr(), llvm::PatternMatch::m_Neg(), llvm::PatternMatch::m_One(), llvm::PatternMatch::m_Shl(), llvm::PatternMatch::m_Shr(), llvm::PatternMatch::m_SignBit(), llvm::PatternMatch::m_Specific(), llvm::PatternMatch::m_UDiv(), llvm::PatternMatch::m_Value(), llvm::PatternMatch::match(), MaxDepth, X, and Y.

Referenced by isKnownNonZero(), SimplifyAndInst(), and simplifyValueKnownNonZero().

static bool llvm::isRawBitcode ( const unsigned char *  BufPtr,
const unsigned char *  BufEnd 
) [inline, static]

isRawBitcode - Return true if the given bytes are the magic bytes for raw LLVM IR bitcode (without a wrapper).

Definition at line 88 of file ReaderWriter.h.

Referenced by isBitcode().

bool llvm::isSafeToLoadUnconditionally ( Value V,
Instruction ScanFrom,
unsigned  Align,
const TargetData TD = 0 
)

isSafeToLoadUnconditionally - Return true if we know that executing a load from this value cannot trap. If it is not obviously safe to load from the specified pointer, we do a quick local scan of the basic block containing ScanFrom, to determine if the address is already accessed.

Definition at line 87 of file Loads.cpp.

References AreEquivalentAddressValues(), llvm::BasicBlock::begin(), llvm::SequentialType::getElementType(), llvm::Instruction::getParent(), llvm::TargetData::getPrefTypeAlignment(), llvm::Value::getType(), llvm::TargetData::getTypeStoreSize(), getUnderlyingObjectWithOffset(), and llvm::Type::isSized().

Referenced by isSafePHIToSpeculate(), isSafeSelectToSpeculate(), and llvm::InstCombiner::visitLoadInst().

bool llvm::isSafeToSpeculativelyExecute ( const Value V,
const TargetData TD = 0 
)

isSafeToSpeculativelyExecute - Return true if the instruction does not have any effects besides calculating the result and does not have undefined behavior.

This method never returns true for an instruction that returns true for mayHaveSideEffects; however, this method also does some other checks in addition. It checks for undefined behavior, like dividing by zero or loading from an invalid pointer (but not for undefined results, like a shift with a shift amount larger than the width of the result). It checks for malloc and alloca because speculatively executing them might cause a memory leak. It also returns false for instructions related to control flow, specifically terminators and PHI nodes.

This method only looks at the instruction itself and its operands, so if this method returns true, it is safe to move the instruction as long as the correct dominance relationships for the operands and users hold. However, this method can return true for instructions that read memory; for such instructions, moving them may change the resulting value.

Definition at line 1846 of file ValueTracking.cpp.

References Alloca, llvm::CallingConv::C, Call, ComputeMaskedBits(), dyn_cast(), getBitWidth(), llvm::User::getNumOperands(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::LoadInst::getPointerOperand(), llvm::Value::getType(), llvm::Value::isDereferenceablePointer(), isKnownNonZero(), llvm::LoadInst::isUnordered(), llvm::SPII::Load, PHI, llvm::MBlazeISD::Ret, and llvm::SPII::Store.

Referenced by CanPHITrans(), ComputeSpeculationCost(), DominatesMergePoint(), FoldBranchToCommonDest(), isInTailCallPosition(), llvm::Loop::makeLoopInvariant(), shouldSpeculateInstrs(), and SpeculativelyExecuteBB().

bool llvm::isSampler ( const llvm::Value val)
static bool llvm::isScale ( const MachineOperand &  MO) [inline, static]

Definition at line 103 of file X86InstrInfo.h.

References llvm::MachineOperand::getImm(), and llvm::MachineOperand::isImm().

Referenced by isLeaMem().

template<unsigned N, unsigned S>
bool llvm::isShiftedInt ( int64_t  x) [inline]

isShiftedInt<N,S> - Checks if a signed integer is an N bit number shifted left by S.

Definition at line 57 of file MathExtras.h.

bool llvm::isShiftedMask_32 ( uint32_t  Value) [inline]

isShiftedMask_32 - This function returns true if the argument contains a sequence of ones with the remainder zero (32 bit version.) Ex. isShiftedMask_32(0x0000FF00U) == true.

Definition at line 116 of file MathExtras.h.

References isMask_32().

bool llvm::isShiftedMask_64 ( uint64_t  Value) [inline]

isShiftedMask_64 - This function returns true if the argument contains a sequence of ones with the remainder zero (64 bit version.)

Definition at line 122 of file MathExtras.h.

References isMask_64().

Referenced by IsShiftedMask().

template<unsigned N, unsigned S>
bool llvm::isShiftedUInt ( uint64_t  x) [inline]

isShiftedUInt<N,S> - Checks if a unsigned integer is an N bit number shifted left by S.

Definition at line 83 of file MathExtras.h.

static bool llvm::isSpecialMBlazeRegister ( unsigned  Reg) [inline, static]

Definition at line 86 of file MBlazeBaseInfo.h.

Referenced by getRS().

bool llvm::isSubprogramContext ( const MDNode Context)

isSubprogramContext - Return true if Context is either a subprogram or another context nested inside a subprogram.

Definition at line 1219 of file DebugInfo.cpp.

References llvm::DIType::getContext(), llvm::DIDescriptor::isSubprogram(), and llvm::DIDescriptor::isType().

Referenced by llvm::CompileUnit::createGlobalVariableDIE().

bool llvm::isSurface ( const llvm::Value val)
bool llvm::isTexture ( const llvm::Value val)
template<unsigned N>
bool llvm::isUInt ( uint64_t  x) [inline]

isUInt - Checks if an unsigned integer fits into the given bit width.

Definition at line 63 of file MathExtras.h.

References N.

template<>
bool llvm::isUInt< 16 > ( uint64_t  x) [inline]

Definition at line 72 of file MathExtras.h.

Referenced by llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc().

template<>
bool llvm::isUInt< 32 > ( uint64_t  x) [inline]
template<>
bool llvm::isUInt< 8 > ( uint64_t  x) [inline]

Definition at line 68 of file MathExtras.h.

Referenced by llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc().

bool llvm::isUIntN ( unsigned  N,
uint64_t  x 
) [inline]

isUIntN - Checks if an unsigned integer fits into the given (dynamic) bit width.

Definition at line 89 of file MathExtras.h.

Referenced by llvm::MCStreamer::EmitIntValue(), llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc(), isExtendedBUILD_VECTOR(), llvm::APInt::isIntN(), and llvm::SelectionDAGBuilder::visitBitTestHeader().

static bool llvm::isUncondBranchOpcode ( int  Opc) [inline, static]
static std::string llvm::itostr ( int64_t  X) [inline, static]
void llvm::linkOcamlGC ( )

Creates an ocaml-compatible garbage collector.

FIXME: Collector instances are not useful on their own. These no longer serve any purpose except to link in the plugins.

Definition at line 32 of file OcamlGC.cpp.

void llvm::linkOcamlGCPrinter ( )

Creates an ocaml-compatible metadata printer.

Definition at line 45 of file OcamlGCPrinter.cpp.

void llvm::linkShadowStackGC ( )

Creates a shadow stack garbage collector. This collector requires no code generator support.

Definition at line 195 of file ShadowStackGC.cpp.

void llvm::lintFunction ( const Function f)

lintFunction - Check a function for errors, printing messages on stderr.

Parameters:
fThe function to be checked

Definition at line 641 of file Lint.cpp.

References llvm::GlobalValue::getParent(), and llvm::GlobalValue::isDeclaration().

void llvm::lintModule ( const Module M)

Check a module.

This should only be used for debugging, because it plays games with PassManagers and stuff.

lintModule - Check a module for errors, printing messages on stderr.

Parameters:
MThe module to be checked

Definition at line 653 of file Lint.cpp.

References llvm::PassManager::add(), and llvm::PassManager::run().

void llvm::llvm_acquire_global_lock ( )

acquire_global_lock - Acquire the global lock. This is a no-op if called before llvm_start_multithreaded().

Definition at line 58 of file Threading.cpp.

References llvm::sys::SmartMutex< mt_only >::acquire(), global_lock, and multithreaded_mode.

Referenced by getDefaultTimerGroup(), and llvm::ManagedStaticBase::RegisterManagedStatic().

void llvm::llvm_execute_on_thread ( void(*)(void *)  UserFn,
void *  UserData,
unsigned  RequestedStackSize = 0 
)

llvm_execute_on_thread - Execute the given

  • UserFn on a separate thread, passing it the provided
  • UserData.

This function does not guarantee that the code will actually be executed on a separate thread or honoring the requested stack size, but tries to do so where system support is available.

Parameters:
UserFn- The callback to execute.
UserData- An argument to pass to the callback function.
RequestedStackSize- If non-zero, a requested size (in bytes) for the thread stack.

Definition at line 141 of file Threading.cpp.

Referenced by llvm::CrashRecoveryContext::RunSafelyOnThread().

bool llvm::llvm_is_multithreaded ( )
void llvm::llvm_release_global_lock ( )

release_global_lock - Release the global lock. This is a no-op if called before llvm_start_multithreaded().

Definition at line 62 of file Threading.cpp.

References global_lock, multithreaded_mode, and llvm::sys::SmartMutex< mt_only >::release().

Referenced by getDefaultTimerGroup(), and llvm::ManagedStaticBase::RegisterManagedStatic().

void llvm::llvm_shutdown ( )

llvm_shutdown - Deallocate and destroy all ManagedStatic variables.

Definition at line 76 of file ManagedStatic.cpp.

References llvm::ManagedStaticBase::destroy(), llvm_is_multithreaded(), llvm_stop_multithreaded(), and StaticList.

Referenced by llvm::llvm_shutdown_obj::~llvm_shutdown_obj().

bool llvm::llvm_start_multithreaded ( )

llvm_start_multithreaded - Allocate and initialize structures needed to make LLVM safe for multithreading. The return value indicates whether multithreaded initialization succeeded. LLVM will still be operational on "failed" return, and will still be safe for hosting threading applications in the JIT, but will not be safe for concurrent calls to the LLVM APIs. THIS MUST EXECUTE IN ISOLATION FROM ALL OTHER LLVM API CALLS.

Definition at line 26 of file Threading.cpp.

References global_lock, llvm::sys::MemoryFence(), and multithreaded_mode.

Referenced by llvm::llvm_shutdown_obj::llvm_shutdown_obj().

void llvm::llvm_stop_multithreaded ( )

llvm_stop_multithreaded - Deallocate structures necessary to make LLVM safe for multithreading. THIS MUST EXECUTE IN ISOLATION FROM ALL OTHER LLVM API CALLS.

Definition at line 41 of file Threading.cpp.

References global_lock, llvm::sys::MemoryFence(), and multithreaded_mode.

Referenced by llvm_shutdown().

void llvm::llvm_unreachable_internal ( const char *  msg = 0,
const char *  file = 0,
unsigned  line = 0 
)

This function calls abort(), and prints the optional message to stderr. Use the llvm_unreachable macro (that adds location info), instead of calling this function directly.

Definition at line 87 of file ErrorHandling.cpp.

References dbgs().

uint32_t llvm::Lo_32 ( uint64_t  Value) [inline]

Lo_32 - This function returns the low 32 bits of a 64 bit value.

Definition at line 31 of file MathExtras.h.

Referenced by CountLeadingZeros_64().

static cl::opt<PluginLoader, false, cl::parser<std::string> > llvm::LoadOpt ( "load"  ,
cl::ZeroOrMore  ,
cl::  value_desc"pluginfilename",
cl::  desc"Load the specified plugin" 
) [static]
unsigned llvm::Log2_32 ( uint32_t  Value) [inline]
unsigned llvm::Log2_32_Ceil ( uint32_t  Value) [inline]

Log2_32_Ceil - This function returns the ceil log base 2 of the specified value, 32 if the value is zero. (32 bit edition). Ex. Log2_32_Ceil(32) == 5, Log2_32_Ceil(1) == 0, Log2_32_Ceil(6) == 3

Definition at line 338 of file MathExtras.h.

References CountLeadingZeros_32().

Referenced by llvm::SelectionDAG::getNode(), llvm::MVT::getPow2VectorType(), llvm::EVT::getPow2VectorType(), llvm::EVT::getRoundIntegerType(), llvm::TargetLowering::SimplifySetCC(), WriteBlockInfo(), WriteConstants(), WriteModuleInfo(), and WriteTypeTable().

unsigned llvm::Log2_64 ( uint64_t  Value) [inline]

Log2_64 - This function returns the floor log base 2 of the specified value, -1 if the value is zero. (64 bit edition.)

Definition at line 331 of file MathExtras.h.

References CountLeadingZeros_64().

Referenced by llvm::FastISel::FastEmit_ri_(), isConstVecPow2(), PerformMulCombine(), PerformVCVTCombine(), and PerformVDIVCombine().

unsigned llvm::Log2_64_Ceil ( uint64_t  Value) [inline]

Log2_64_Ceil - This function returns the ceil log base 2 of the specified value, 64 if the value is zero. (64 bit edition.)

Definition at line 344 of file MathExtras.h.

References CountLeadingZeros_64().

Referenced by llvm::X86TargetLowering::BuildFILD().

void llvm::LowerARMMachineInstrToMCInst ( const MachineInstr MI,
MCInst OutMI,
ARMAsmPrinter AP 
)
bool llvm::LowerDbgDeclare ( Function F)
void llvm::LowerPPCMachineInstrToMCInst ( const MachineInstr MI,
MCInst OutMI,
AsmPrinter AP,
bool  isDarwin 
)
void llvm::LowerPTXMachineInstrToMCInst ( const MachineInstr *  MI,
MCInst &  OutMI,
PTXAsmPrinter &  AP 
)
error_code llvm::make_error_code ( errc  _e) [inline]
error_code llvm::make_error_code ( windows_error  e) [inline]

Definition at line 897 of file system_error.h.

References system_category().

error_condition llvm::make_error_condition ( errc  _e) [inline]
template<typename T >
std::vector<T> llvm::make_vector ( A,
  ... 
) [inline]

make_vector - Helper function which is useful for building temporary vectors to pass into type construction of CallInst ctors. This turns a null terminated list of pointers (or other value types) into a real live vector.

Definition at line 68 of file NVPTXUtilities.h.

template<typename T >
ArrayRef<T> llvm::makeArrayRef ( const T &  OneElt)
template<typename T >
ArrayRef<T> llvm::makeArrayRef ( const T *  data,
size_t  length 
)

Construct an ArrayRef from a pointer and length.

Definition at line 243 of file ArrayRef.h.

template<typename T >
ArrayRef<T> llvm::makeArrayRef ( const T *  begin,
const T *  end 
)

Construct an ArrayRef from a range.

Definition at line 249 of file ArrayRef.h.

References llvm::sys::path::begin(), and llvm::sys::path::end().

template<typename T >
ArrayRef<T> llvm::makeArrayRef ( const SmallVectorImpl< T > &  Vec)

Construct an ArrayRef from a SmallVector.

Definition at line 255 of file ArrayRef.h.

template<typename T , unsigned N>
ArrayRef<T> llvm::makeArrayRef ( const SmallVector< T, N > &  Vec)

Construct an ArrayRef from a SmallVector.

Definition at line 261 of file ArrayRef.h.

template<typename T >
ArrayRef<T> llvm::makeArrayRef ( const std::vector< T > &  Vec)

Construct an ArrayRef from a std::vector.

Definition at line 267 of file ArrayRef.h.

template<typename T , size_t N>
ArrayRef<T> llvm::makeArrayRef ( const T(&)  Arr[N])

Construct an ArrayRef from a C array.

Definition at line 273 of file ArrayRef.h.

template<class ItTy , class FuncTy >
mapped_iterator<ItTy, FuncTy> llvm::map_iterator ( const ItTy &  I,
FuncTy  F 
) [inline]
Value * llvm::MapValue ( const Value V,
ValueToValueMapTy VM,
RemapFlags  Flags = RF_None,
ValueMapTypeRemapper TypeMapper = 0 
)
MDNode* llvm::MapValue ( const MDNode *  V,
ValueToValueMapTy &  VM,
RemapFlags  Flags = RF_None,
ValueMapTypeRemapper *  TypeMapper = 0 
) [inline]

MapValue - provide versions that preserve type safety for MDNode and Constants.

Definition at line 66 of file ValueMapper.h.

References MapValue().

Constant* llvm::MapValue ( const Constant *  V,
ValueToValueMapTy &  VM,
RemapFlags  Flags = RF_None,
ValueMapTypeRemapper *  TypeMapper = 0 
) [inline]

Definition at line 71 of file ValueMapper.h.

References MapValue().

bool llvm::MaskedValueIsZero ( Value V,
const APInt Mask,
const TargetData TD = 0,
unsigned  Depth = 0 
)

MaskedValueIsZero - Return true if 'V & Mask' is known to be zero. We use this predicate to simplify operations downstream. Mask is known to be zero for bits that V cannot have.

This function is defined on values with integer type, values with pointer type (but only if TD is non-null), and vectors of integers. In the case where V is a vector, the mask, known zero, and known one values are the same width as the vector element, and the bit is set only if it is true for all of the elements in the vector.

Definition at line 988 of file ValueTracking.cpp.

References ComputeMaskedBits(), and llvm::APInt::getBitWidth().

Referenced by CanEvaluateShifted(), CanEvaluateTruncated(), CanEvaluateZExtd(), GetLinearExpression(), llvm::InstCombiner::MaskedValueIsZero(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAnd(), llvm::InstCombiner::visitAShr(), llvm::InstCombiner::visitLShr(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitSDiv(), llvm::InstCombiner::visitShl(), llvm::InstCombiner::visitSRem(), llvm::InstCombiner::visitXor(), and llvm::InstCombiner::visitZExt().

void llvm::MergeBasicBlockIntoOnlyPred ( BasicBlock DestBB,
Pass P = 0 
)

MergeBasicBlockIntoOnlyPred - BB is a block with one predecessor and its predecessor is known to have one successor (BB!). Eliminate the edge between them, moving the instructions in the predecessor into BB. This deletes the predecessor block.

MergeBasicBlockIntoOnlyPred - DestBB is a block with one predecessor and its predecessor is known to have one successor (DestBB!). Eliminate the edge between them, moving the instructions in the predecessor into DestBB and deleting the predecessor block.

Definition at line 434 of file Local.cpp.

References llvm::BasicBlock::begin(), llvm::DominatorTree::changeImmediateDominator(), llvm::BlockAddress::destroyConstant(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), llvm::DominatorTree::eraseNode(), llvm::ConstantInt::get(), llvm::BlockAddress::get(), llvm::UndefValue::get(), llvm::Pass::getAnalysisIfAvailable(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::Value::getContext(), llvm::ProfileInfoT< FType, BType >::getEdge(), llvm::DomTreeNodeBase< NodeT >::getIDom(), llvm::BasicBlock::getInstList(), llvm::Type::getInt32Ty(), llvm::ConstantExpr::getIntToPtr(), llvm::DominatorTree::getNode(), llvm::BasicBlock::getSinglePredecessor(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::BasicBlock::hasAddressTaken(), llvm::ProfileInfoT< FType, BType >::removeEdge(), llvm::ProfileInfoT< FType, BType >::replaceAllUses(), and llvm::Value::replaceAllUsesWith().

bool llvm::MergeBlockIntoPredecessor ( BasicBlock BB,
Pass P = 0 
)
static uint64_t llvm::MinAlign ( uint64_t  A,
uint64_t  B 
) [inline, static]
static std::pair<const MCSymbolRefExpr*, int64_t> llvm::MipsGetSymAndOffset ( const MCFixup &  Fixup) [inline, static]
template<typename ItTy , typename Dist >
ItTy llvm::next ( ItTy  it,
Dist  n 
) [inline]

Definition at line 154 of file STLExtras.h.

References llvm::object::advance().

Referenced by llvm::RegAllocBase::addMBBLiveIns(), llvm::ScheduleDAGInstrs::addVRegDefDeps(), llvm::SparcInstrInfo::AnalyzeBranch(), llvm::MSP430InstrInfo::AnalyzeBranch(), llvm::X86InstrInfo::AnalyzeBranch(), BBHasFallthrough(), llvm::DwarfDebug::beginFunction(), llvm::PBQPBuilder::build(), buildExtractionBlockSet(), canFallThroughTo(), checkAndUpdateEFLAGSKill(), llvm::MachineBasicBlock::CorrectExtraCFGEdges(), llvm::ImutAVLTree< ImutInfo >::destroy(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::SparcTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::MSP430FrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::ScheduleDAGSDNodes::EmitSchedule(), llvm::MSP430TargetLowering::EmitShiftInstr(), llvm::SplitEditor::enterIntvAfter(), llvm::MachineBasicBlock::erase(), llvm::iplist< IVStrideUse >::erase(), llvm::iplist< IVStrideUse >::erase_if(), finalizeBundle(), findInsertLocation(), FixTail(), llvm::RegScavenger::forward(), llvm::MachineLoop::getBottomBlock(), getNextEdge(), llvm::ProfilePath::getPathBlocks(), llvm::ProfilePath::getPathEdges(), llvm::SDNode::hasOneUse(), llvm::object::content_iterator< content_type >::increment(), llvm::HexagonInstrInfo::InsertBranch(), llvm::SlotIndexes::insertMachineInstrInMaps(), llvm::SlotIndexes::insertMBBInMaps(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), isKilled(), llvm::MachineBasicBlock::isLayoutSuccessor(), isSimpleEnoughPointerToCommit(), isSuitableForMask(), llvm::SpillPlacement::iterate(), llvm::LiveInterval::join(), llvm::SplitEditor::leaveIntvAfter(), llvm::iplist< IVStrideUse >::merge(), mergeSPUpdates(), mergeSPUpdatesDown(), llvm::ARMBaseInstrInfo::OptimizeCompareInstr(), llvm::LatencyPriorityQueue::pop(), llvm::ResourcePriorityQueue::pop(), llvm::SCEV::print(), llvm::MachineFunction::print(), llvm::MachineInstr::print(), llvm::SDNode::print_details(), llvm::MachineBasicBlock::remove(), llvm::LiveInterval::removeRange(), llvm::Thumb1RegisterInfo::rewriteFrameIndex(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::MachineBasicBlock::splice(), llvm::BasicBlock::splitBasicBlock(), and llvm::MachineBasicBlock::SplitCriticalEdge().

template<typename ItTy >
ItTy llvm::next ( ItTy  it) [inline]

Definition at line 161 of file STLExtras.h.

static uint64_t llvm::NextPowerOf2 ( uint64_t  A) [inline, static]
static float llvm::normalizeSpillWeight ( float  UseDefFreq,
unsigned  Size 
) [inline, static]

normalizeSpillWeight - The spill weight of a live interval is computed as:

(sum(use freq) + sum(def freq)) / (K + size)

Parameters:
UseDefFreqExpected number of executed use and def instructions per function call. Derived from block frequencies.
SizeSize of live interval as returnexd by getSize()

Definition at line 31 of file CalcSpillWeights.h.

References llvm::SlotIndex::InstrDist.

Referenced by llvm::VirtRegAuxInfo::CalculateWeightAndHint().

raw_ostream & llvm::nulls ( )

nulls() - This returns a reference to a raw_ostream which discards output.

nulls() - This returns a reference to a raw_ostream which simply discards output.

Definition at line 676 of file raw_ostream.cpp.

Referenced by llvm::EDDisassembler::createInst(), llvm::MCStreamer::GetCommentOS(), llvm::X86Disassembler::X86GenericDisassembler::getInstruction(), and LLVMDisasmInstruction().

static const char* llvm::NVPTXCondCodeToString ( NVPTXCC::CondCodes  CC) [inline, static]
template<class C >
void* llvm::object_creator ( )

object_creator - Helper method for ManagedStatic.

Definition at line 25 of file ManagedStatic.h.

References llvm::CallingConv::C.

uint64_t llvm::OffsetToAlignment ( uint64_t  Value,
uint64_t  Align 
) [inline]

OffsetToAlignment - Return the offset to the next integer (mod 2**64) that is greater than or equal to

  • Value and is a multiple of
  • Align. Align must be non-zero.

Definition at line 449 of file MathExtras.h.

References RoundUpToAlignment().

Referenced by llvm::MCAssembler::computeFragmentSize(), llvm::MachObjectWriter::getPaddingSize(), and llvm::MachObjectWriter::WriteObject().

bool llvm::onlyUsedByLifetimeMarkers ( const Value V)

onlyUsedByLifetimeMarkers - Return true if the only users of this pointer are lifetime markers.

Definition at line 1833 of file ValueTracking.cpp.

References dyn_cast(), llvm::IntrinsicInst::getIntrinsicID(), llvm::Value::use_begin(), and llvm::Value::use_end().

Referenced by isAllocaPromotable(), and tryToMakeAllocaBePromotable().

template<typename T , typename U >
void llvm::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.

This routine will never be defined. It returns void to help diagnose errors at compile time.

template<class T , class U >
bool llvm::operator!= ( const IntrusiveRefCntPtr< T > &  A,
const IntrusiveRefCntPtr< U > &  B 
) [inline]

Definition at line 193 of file IntrusiveRefCntPtr.h.

References llvm::IntrusiveRefCntPtr< T >::getPtr().

template<class T , class U >
bool llvm::operator!= ( const IntrusiveRefCntPtr< T > &  A,
U *  B 
) [inline]

Definition at line 207 of file IntrusiveRefCntPtr.h.

References llvm::IntrusiveRefCntPtr< T >::getPtr().

template<class T , class U >
bool llvm::operator!= ( T *  A,
const IntrusiveRefCntPtr< U > &  B 
) [inline]

Definition at line 221 of file IntrusiveRefCntPtr.h.

References llvm::IntrusiveRefCntPtr< T >::getPtr().

template<typename T >
bool llvm::operator!= ( const T *  LHS,
const ilist_iterator< const T > &  RHS 
)

Definition at line 251 of file ilist.h.

References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().

template<typename T >
bool llvm::operator!= ( T *  LHS,
const ilist_iterator< T > &  RHS 
)

Definition at line 259 of file ilist.h.

References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().

template<typename T >
bool llvm::operator!= ( ArrayRef< T >  LHS,
ArrayRef< T >  RHS 
) [inline]

Definition at line 287 of file ArrayRef.h.

bool llvm::operator!= ( StringRef  LHS,
StringRef  RHS 
) [inline]

Definition at line 521 of file StringRef.h.

bool llvm::operator!= ( const error_code &  _x,
const error_code &  _y 
) [inline]

Definition at line 806 of file system_error.h.

bool llvm::operator!= ( const error_code &  _x,
const error_condition &  _y 
) [inline]

Definition at line 810 of file system_error.h.

bool llvm::operator!= ( const error_condition &  _x,
const error_code &  _y 
) [inline]

Definition at line 814 of file system_error.h.

bool llvm::operator!= ( const error_condition &  _x,
const error_condition &  _y 
) [inline]

Definition at line 818 of file system_error.h.

bool llvm::operator!= ( uint64_t  V1,
const APInt &  V2 
) [inline]

Definition at line 1563 of file APInt.h.

SmallBitVector llvm::operator& ( const SmallBitVector &  LHS,
const SmallBitVector &  RHS 
) [inline]

Definition at line 431 of file SmallBitVector.h.

template<unsigned ElementSize>
SparseBitVector<ElementSize> llvm::operator& ( const SparseBitVector< ElementSize > &  LHS,
const SparseBitVector< ElementSize > &  RHS 
) [inline]

Definition at line 845 of file SparseBitVector.h.

template<unsigned ElementSize>
bool llvm::operator&= ( SparseBitVector< ElementSize > *  LHS,
const SparseBitVector< ElementSize > &  RHS 
) [inline]

Definition at line 821 of file SparseBitVector.h.

template<unsigned ElementSize>
bool llvm::operator&= ( SparseBitVector< ElementSize > &  LHS,
const SparseBitVector< ElementSize > *  RHS 
) [inline]

Definition at line 827 of file SparseBitVector.h.

template<class _Iterator , class Func >
mapped_iterator<_Iterator, Func> llvm::operator+ ( typename mapped_iterator< _Iterator, Func >::difference_type  N,
const mapped_iterator< _Iterator, Func > &  X 
) [inline]
template<typename T >
void llvm::operator+ ( int  ,
ilist_iterator< T >   
)
template<typename T >
void llvm::operator+ ( ilist_iterator< T >  ,
int   
)
Twine llvm::operator+ ( const Twine &  LHS,
const Twine &  RHS 
) [inline]

Definition at line 498 of file Twine.h.

References llvm::Twine::concat().

Twine llvm::operator+ ( const char *  LHS,
const StringRef &  RHS 
) [inline]

Additional overload to guarantee simplified codegen; this is equivalent to concat().

Definition at line 505 of file Twine.h.

Twine llvm::operator+ ( const StringRef &  LHS,
const char *  RHS 
) [inline]

Additional overload to guarantee simplified codegen; this is equivalent to concat().

Definition at line 512 of file Twine.h.

std::string& llvm::operator+= ( std::string &  buffer,
llvm::StringRef  string 
) [inline]

Definition at line 541 of file StringRef.h.

template<typename T >
void llvm::operator- ( int  ,
ilist_iterator< T >   
)
template<typename T >
void llvm::operator- ( ilist_iterator< T >  ,
int   
)
template<unsigned ElementSize>
SparseBitVector<ElementSize> llvm::operator- ( const SparseBitVector< ElementSize > &  LHS,
const SparseBitVector< ElementSize > &  RHS 
) [inline]
template<typename T , typename U >
void llvm::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.

This routine will never be defined. It returns void to help diagnose errors at compile time.

bool llvm::operator< ( SlotIndex  V,
const LiveRange &  LR 
) [inline]

Definition at line 165 of file LiveInterval.h.

References llvm::LiveRange::start.

bool llvm::operator< ( const LiveRange &  LR,
SlotIndex  V 
) [inline]

Definition at line 169 of file LiveInterval.h.

References llvm::LiveRange::start.

bool llvm::operator< ( SlotIndex  V,
const IdxMBBPair &  IM 
) [inline]

Definition at line 323 of file SlotIndexes.h.

bool llvm::operator< ( const IdxMBBPair &  IM,
SlotIndex  V 
) [inline]

Definition at line 327 of file SlotIndexes.h.

bool llvm::operator< ( StringRef  LHS,
StringRef  RHS 
) [inline]

Definition at line 525 of file StringRef.h.

References llvm::StringRef::compare().

bool llvm::operator< ( const error_condition &  _x,
const error_condition &  _y 
) [inline]
bool llvm::operator< ( const error_code &  _x,
const error_code &  _y 
) [inline]

Definition at line 784 of file system_error.h.

References llvm::error_code::category(), and llvm::error_code::value().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MCParsedAsmOperand &  MO 
) [inline]

Definition at line 40 of file MCParsedAsmOperand.h.

References llvm::MCParsedAsmOperand::print().

raw_ostream & llvm::operator<< ( raw_ostream O,
std::pair< const BasicBlock *, const BasicBlock * >  E 
)

Definition at line 1035 of file ProfileInfo.cpp.

raw_ostream & llvm::operator<< ( raw_ostream O,
std::pair< const MachineBasicBlock *, const MachineBasicBlock * >  E 
)

Definition at line 1053 of file ProfileInfo.cpp.

raw_ostream & llvm::operator<< ( raw_ostream O,
const BasicBlock BB 
)

Definition at line 1027 of file ProfileInfo.cpp.

References llvm::Value::getName().

raw_ostream & llvm::operator<< ( raw_ostream O,
const MachineBasicBlock MBB 
)
raw_ostream & llvm::operator<< ( raw_ostream O,
const Function F 
)

Definition at line 1019 of file ProfileInfo.cpp.

References llvm::Value::getName().

static raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const ExtAddrMode &  AM 
) [inline, static]

Definition at line 50 of file AddrModeMatcher.h.

References llvm::ExtAddrMode::print().

raw_ostream & llvm::operator<< ( raw_ostream O,
const MachineFunction MF 
)
raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MCLabel &  Label 
) [inline]

Definition at line 50 of file MCLabel.h.

References llvm::MCLabel::print().

raw_ostream & llvm::operator<< ( raw_ostream OS,
const BlockFrequency Freq 
)

Definition at line 125 of file BlockFrequency.cpp.

References llvm::BlockFrequency::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MachineConstantPoolValue &  V 
) [inline]

Definition at line 64 of file MachineConstantPool.h.

References llvm::MachineConstantPoolValue::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MCDwarfFile &  DwarfFile 
) [inline]

Definition at line 68 of file MCDwarf.h.

References llvm::MCDwarfFile::print().

raw_ostream & llvm::operator<< ( raw_ostream OS,
const BranchProbability Prob 
)

Definition at line 31 of file BranchProbability.cpp.

References llvm::BranchProbability::print().

raw_ostream & llvm::operator<< ( raw_ostream OS,
const MachineLoopRange MLR 
)

Definition at line 113 of file MachineLoopRanges.cpp.

References llvm::MachineLoopRange::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MCExpr &  E 
) [inline]

Definition at line 106 of file MCExpr.h.

References llvm::MCExpr::print().

raw_ostream& llvm::operator<< ( raw_ostream &  O,
const ARMConstantPoolValue &  V 
) [inline]

Definition at line 109 of file ARMConstantPoolValue.h.

References llvm::ARMConstantPoolValue::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const RecTy &  Ty 
) [inline]

Definition at line 125 of file Record.h.

References llvm::RecTy::print().

raw_ostream & llvm::operator<< ( raw_ostream &  OS,
const RegionNode &  Node 
) [inline]
raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const SCEV &  S 
) [inline]

Definition at line 151 of file ScalarEvolution.h.

References llvm::SCEV::print().

template<class NodeT >
static raw_ostream& llvm::operator<< ( raw_ostream &  o,
const DomTreeNodeBase< NodeT > *  Node 
) [static]
raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MCSymbol &  Sym 
) [inline]

Definition at line 158 of file MCSymbol.h.

References llvm::MCSymbol::print().

raw_ostream & llvm::operator<< ( raw_ostream os,
const LiveRange LR 
)
raw_ostream & llvm::operator<< ( raw_ostream OS,
const MachineMemOperand MRO 
)

Definition at line 430 of file MachineInstr.cpp.

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const VirtRegMap &  VRM 
) [inline]

Definition at line 191 of file VirtRegMap.h.

References llvm::VirtRegMap::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MCOperand &  MO 
) [inline]

Definition at line 192 of file MCInst.h.

References llvm::MCOperand::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MCInst &  MI 
) [inline]

Definition at line 197 of file MCInst.h.

References llvm::MCInst::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const APSInt &  I 
) [inline]

Definition at line 258 of file APSInt.h.

References llvm::APSInt::isSigned(), and llvm::APInt::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const ConstantRange &  CR 
) [inline]

Definition at line 258 of file ConstantRange.h.

References llvm::ConstantRange::print().

raw_ostream & llvm::operator<< ( raw_ostream OS,
const LVILatticeVal &  Val 
)

Definition at line 277 of file LazyValueInfo.cpp.

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const AliasSet &  AS 
) [inline]

Definition at line 276 of file AliasSetTracker.h.

References llvm::AliasSet::print().

raw_ostream& llvm::operator<< ( raw_ostream &  os,
SlotIndex  li 
) [inline]

Definition at line 316 of file SlotIndexes.h.

References llvm::SlotIndex::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const Value &  V 
) [inline]

Definition at line 324 of file Value.h.

References llvm::Value::print().

raw_ostream & llvm::operator<< ( raw_ostream os,
const BLInstrumentationEdge &  edge 
)

Definition at line 393 of file PathProfiling.cpp.

static raw_ostream& llvm::operator<< ( raw_ostream &  OS,
Type &  T 
) [inline, static]

Definition at line 407 of file Type.h.

References llvm::Type::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const AliasSetTracker &  AST 
) [inline]

Definition at line 432 of file AliasSetTracker.h.

References llvm::AliasSetTracker::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const LiveInterval &  LI 
) [inline]

Definition at line 498 of file LiveInterval.h.

References llvm::LiveInterval::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const Init &  I 
) [inline]

Definition at line 514 of file Record.h.

References llvm::Init::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const Twine &  RHS 
) [inline]

Definition at line 516 of file Twine.h.

References llvm::Twine::print().

raw_ostream& llvm::operator<< ( raw_ostream os,
const RenderMachineFunction::Spacer &  s 
)

Definition at line 531 of file RenderMachineFunction.cpp.

template<class BlockT , class LoopT >
raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const LoopBase< BlockT, LoopT > &  Loop 
)

Definition at line 538 of file LoopInfo.h.

References llvm::LoopBase< BlockT, LoopT >::print().

raw_ostream& llvm::operator<< ( raw_ostream &  O,
const Module &  M 
) [inline]

An raw_ostream inserter for modules.

Definition at line 596 of file Module.h.

References llvm::Module::print().

raw_ostream & llvm::operator<< ( raw_ostream OS,
const MachineBasicBlock MBB 
)

Definition at line 58 of file MachineBasicBlock.cpp.

References llvm::MachineBasicBlock::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MachineOperand &  MO 
) [inline]

Definition at line 667 of file MachineOperand.h.

References llvm::MachineOperand::print().

raw_ostream& llvm::operator<< ( raw_ostream OS,
const MCFixup AF 
)
static raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const PrintReg &  PR 
) [inline, static]

Definition at line 842 of file TargetRegisterInfo.h.

References llvm::PrintReg::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const MachineInstr &  MI 
) [inline]

Definition at line 954 of file MachineInstr.h.

References llvm::MachineInstr::print().

raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const RecordVal &  RV 
) [inline]

Definition at line 1293 of file Record.h.

References llvm::RecordVal::print().

raw_ostream & llvm::operator<< ( raw_ostream OS,
const Record R 
)
raw_ostream& llvm::operator<< ( raw_ostream &  OS,
const APInt &  I 
) [inline]

Definition at line 1567 of file APInt.h.

References llvm::APInt::print().

raw_ostream & llvm::operator<< ( raw_ostream OS,
const RecordKeeper RK 
)
template<typename T , typename U >
void llvm::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.

This routine will never be defined. It returns void to help diagnose errors at compile time.

bool llvm::operator<= ( StringRef  LHS,
StringRef  RHS 
) [inline]

Definition at line 529 of file StringRef.h.

References llvm::StringRef::compare().

template<typename T , typename U >
void llvm::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.

This routine will never be defined. It returns void to help diagnose errors at compile time.

template<class T , class U >
bool llvm::operator== ( const IntrusiveRefCntPtr< T > &  A,
const IntrusiveRefCntPtr< U > &  B 
) [inline]

Definition at line 186 of file IntrusiveRefCntPtr.h.

References llvm::IntrusiveRefCntPtr< T >::getPtr().

template<class T , class U >
bool llvm::operator== ( const IntrusiveRefCntPtr< T > &  A,
U *  B 
) [inline]

Definition at line 200 of file IntrusiveRefCntPtr.h.

References llvm::IntrusiveRefCntPtr< T >::getPtr().

template<class T , class U >
bool llvm::operator== ( T *  A,
const IntrusiveRefCntPtr< U > &  B 
) [inline]

Definition at line 214 of file IntrusiveRefCntPtr.h.

References llvm::IntrusiveRefCntPtr< T >::getPtr().

template<typename T >
bool llvm::operator== ( const T *  LHS,
const ilist_iterator< const T > &  RHS 
)

Definition at line 255 of file ilist.h.

References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().

template<typename T >
bool llvm::operator== ( T *  LHS,
const ilist_iterator< T > &  RHS 
)

Definition at line 263 of file ilist.h.

References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().

template<typename T >
bool llvm::operator== ( ArrayRef< T >  LHS,
ArrayRef< T >  RHS 
) [inline]

Definition at line 282 of file ArrayRef.h.

References llvm::ArrayRef< T >::equals().

bool llvm::operator== ( StringRef  LHS,
StringRef  RHS 
) [inline]

Definition at line 517 of file StringRef.h.

References llvm::StringRef::equals().

bool llvm::operator== ( const error_code &  _x,
const error_code &  _y 
) [inline]

Definition at line 789 of file system_error.h.

References llvm::error_code::category(), and llvm::error_code::value().

bool llvm::operator== ( const error_code &  _x,
const error_condition &  _y 
) [inline]
bool llvm::operator== ( const error_condition &  _x,
const error_code &  _y 
) [inline]

Definition at line 798 of file system_error.h.

bool llvm::operator== ( const error_condition &  _x,
const error_condition &  _y 
) [inline]
bool llvm::operator== ( uint64_t  V1,
const APInt &  V2 
) [inline]
template<typename T , typename U >
void llvm::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.

This routine will never be defined. It returns void to help diagnose errors at compile time.

bool llvm::operator> ( StringRef  LHS,
StringRef  RHS 
) [inline]

Definition at line 533 of file StringRef.h.

References llvm::StringRef::compare().

template<typename T , typename U >
void llvm::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.

This routine will never be defined. It returns void to help diagnose errors at compile time.

bool llvm::operator>= ( StringRef  LHS,
StringRef  RHS 
) [inline]

Definition at line 537 of file StringRef.h.

References llvm::StringRef::compare().

SmallBitVector llvm::operator^ ( const SmallBitVector &  LHS,
const SmallBitVector &  RHS 
) [inline]

Definition at line 445 of file SmallBitVector.h.

static RemapFlags llvm::operator| ( RemapFlags  LHS,
RemapFlags  RHS 
) [inline, static]

Definition at line 52 of file ValueMapper.h.

SmallBitVector llvm::operator| ( const SmallBitVector &  LHS,
const SmallBitVector &  RHS 
) [inline]

Definition at line 438 of file SmallBitVector.h.

template<unsigned ElementSize>
SparseBitVector<ElementSize> llvm::operator| ( const SparseBitVector< ElementSize > &  LHS,
const SparseBitVector< ElementSize > &  RHS 
) [inline]

Definition at line 836 of file SparseBitVector.h.

template<unsigned ElementSize>
bool llvm::operator|= ( SparseBitVector< ElementSize > &  LHS,
const SparseBitVector< ElementSize > *  RHS 
) [inline]

Definition at line 809 of file SparseBitVector.h.

template<unsigned ElementSize>
bool llvm::operator|= ( SparseBitVector< ElementSize > *  LHS,
const SparseBitVector< ElementSize > &  RHS 
) [inline]

Definition at line 815 of file SparseBitVector.h.

raw_ostream & llvm::outs ( )
bool llvm::overlap ( const LiveRange &  VRSeg,
const IntervalMap< SlotIndex, LiveInterval * >::const_iterator &  LUSeg 
) [inline]
Module * llvm::ParseAssembly ( MemoryBuffer F,
Module M,
SMDiagnostic Err,
LLVMContext Context 
)

Parse LLVM Assembly from a MemoryBuffer. This function *always* takes ownership of the MemoryBuffer.

This function is the low-level interface to the LLVM Assembly Parser. ParseAssemblyFile and ParseAssemblyString are wrappers around this function.

Parameters:
FThe MemoryBuffer containing assembly
MA module to add the assembly too.
ErrError result info.

Definition at line 25 of file Parser.cpp.

References llvm::SourceMgr::AddNewSourceBuffer(), llvm::OwningPtr< T >::get(), llvm::MemoryBuffer::getBufferIdentifier(), llvm::LLParser::Run(), and llvm::OwningPtr< T >::take().

Referenced by getLazyIRModule(), ParseAssemblyFile(), ParseAssemblyString(), and ParseIR().

Module * llvm::ParseAssemblyFile ( const std::string &  Filename,
SMDiagnostic Error,
LLVMContext Context 
)

Parse LLVM Assembly from a file.

This function is the main interface to the LLVM Assembly Parser. It parses an ASCII file that (presumably) contains LLVM Assembly code. It returns a Module (intermediate representation) with the corresponding features. Note that this does not verify that the generated Module is valid, so you should run the verifier after parsing the file to check that it is okay.

Parameters:
FilenameThe name of the file to parse
ErrorError result info.
ContextContext in which to allocate globals info.

Definition at line 43 of file Parser.cpp.

References llvm::SourceMgr::DK_Error, ARMBuildAttrs::File, llvm::MemoryBuffer::getFileOrSTDIN(), ParseAssembly(), and llvm::OwningPtr< T >::take().

Module * llvm::ParseAssemblyString ( const char *  AsmString,
Module M,
SMDiagnostic Error,
LLVMContext Context 
)

Parse LLVM Assembly from a string.

The function is a secondary interface to the LLVM Assembly Parser. It parses an ASCII string that (presumably) contains LLVM Assembly code. It returns a Module (intermediate representation) with the corresponding features. Note that this does not verify that the generated Module is valid, so you should run the verifier after parsing the file to check that it is okay.

Parameters:
AsmStringThe string containing assembly
MA module to add the assembly too.
ErrorError result info.

Definition at line 55 of file Parser.cpp.

References F(), llvm::MemoryBuffer::getMemBuffer(), and ParseAssembly().

Module * llvm::ParseBitcodeFile ( MemoryBuffer Buffer,
LLVMContext Context,
std::string *  ErrMsg = 0 
)

ParseBitcodeFile - Read the specified bitcode file, returning the module. If an error occurs, this returns null and fills in *ErrMsg if it is non-null. This method *never* takes ownership of Buffer.

ParseBitcodeFile - Read the specified bitcode file, returning the module. If an error occurs, return null and fill in *ErrMsg if non-null.

Definition at line 2937 of file BitcodeReader.cpp.

References getLazyBitcodeModule(), llvm::Module::getMaterializer(), and llvm::Module::MaterializeAllPermanently().

Referenced by llvm::Archive::getAllModules(), GetBitcodeSymbols(), llvm::Archive::isBitcodeArchive(), llvm::Linker::LinkInFile(), LLVMParseBitcodeInContext(), and ParseIR().

Module* llvm::ParseIR ( MemoryBuffer *  Buffer,
SMDiagnostic &  Err,
LLVMContext &  Context 
) [inline]

If the given MemoryBuffer holds a bitcode image, return a Module for it. Otherwise, attempt to parse it as LLVM Assembly and return a Module for it. This function *always* takes ownership of the given MemoryBuffer.

Definition at line 76 of file IRReader.h.

References llvm::SourceMgr::DK_Error, llvm::MemoryBuffer::getBufferEnd(), llvm::MemoryBuffer::getBufferIdentifier(), llvm::MemoryBuffer::getBufferStart(), isBitcode(), ParseAssembly(), and ParseBitcodeFile().

Referenced by ParseIRFile().

Module* llvm::ParseIRFile ( const std::string &  Filename,
SMDiagnostic &  Err,
LLVMContext &  Context 
) [inline]

If the given file holds a bitcode image, return a Module for it. Otherwise, attempt to parse it as LLVM Assembly and return a Module for it.

Definition at line 97 of file IRReader.h.

References llvm::SourceMgr::DK_Error, ARMBuildAttrs::File, llvm::MemoryBuffer::getFileOrSTDIN(), ParseIR(), and llvm::OwningPtr< T >::take().

template<class T >
po_iterator<T> llvm::po_begin ( G)
template<class T >
po_iterator<T> llvm::po_end ( G)
template<class T , class SetType >
po_ext_iterator<T, SetType> llvm::po_ext_begin ( G,
SetType &  S 
)
template<class T , class SetType >
po_ext_iterator<T, SetType> llvm::po_ext_end ( G,
SetType &  S 
)
bool llvm::PointerMayBeCaptured ( const Value V,
bool  ReturnCaptures,
bool  StoreCaptures 
)

PointerMayBeCaptured - Return true if this pointer value may be captured by the enclosing function (which is required to exist). This routine can be expensive, so consider caching the results. The boolean ReturnCaptures specifies whether returning the value (or part of it) from the function counts as capturing it or not. The boolean StoreCaptures specified whether storing the value (or part of it) into memory anywhere automatically counts as capturing it or not.

Definition at line 56 of file CaptureTracking.cpp.

Referenced by llvm::AliasAnalysis::callCapturesBefore(), and isNonEscapingLocalObject().

void llvm::PointerMayBeCaptured ( const Value V,
CaptureTracker Tracker 
)
const error_category & llvm::posix_category ( )

Get the error_category used for errno values from POSIX functions. This is the same as the system_category on POSIX systems, but is the same as the generic_category on Windows.

Definition at line 100 of file system_error.cpp.

References generic_category(), and system_category().

Referenced by llvm::MemoryBuffer::getFile(), llvm::MemoryBuffer::getOpenFile(), llvm::MemoryBuffer::getSTDIN(), and shouldUseMmap().

pred_iterator llvm::pred_begin ( BasicBlock *  BB) [inline]

Definition at line 86 of file CFG.h.

const_pred_iterator llvm::pred_begin ( const BasicBlock *  BB) [inline]

Definition at line 87 of file CFG.h.

Interval::pred_iterator llvm::pred_begin ( Interval *  I) [inline]

pred_begin/pred_end - define methods so that Intervals may be used just like BasicBlocks can with the pred_* functions, and *pred_iterator.

Definition at line 117 of file Interval.h.

Referenced by AddBlockAndPredsToSet(), buildExtractionBlockSet(), llvm::ProfileInfoT< FType, BType >::CalculateMissingEdge(), CanPropagatePredecessorsForPHIs(), llvm::GraphTraits< Inverse< Interval * > >::child_begin(), llvm::GraphTraits< Inverse< BasicBlock * > >::child_begin(), llvm::GraphTraits< Inverse< const BasicBlock * > >::child_begin(), CloneAndPruneFunctionInto(), ComputePostOrders(), ConnectProlog(), DeleteDeadBlock(), llvm::DominatorTree::dominates(), llvm::ProfileInfoT< FType, BType >::EstimateMissingEdges(), llvm::SSAUpdaterTraits< SSAUpdater >::FindPredecessorBlocks(), FindUnconditionalPreds(), FoldBranchToCommonDest(), FoldTwoEntryPHINode(), GetBestDestForJumpOnUndef(), llvm::Loop::getCanonicalInductionVariable(), llvm::Region::getEnteringBlock(), llvm::ProfileInfoT< FType, BType >::getExecutionCount(), llvm::Region::getExitingBlock(), llvm::Region::getExpandedRegion(), llvm::RegionInfo::getMaxRegionExit(), llvm::PredIteratorCache::GetPreds(), llvm::BasicBlock::getSinglePredecessor(), llvm::Loop::getUniqueExitBlocks(), llvm::BasicBlock::getUniquePredecessor(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::Loop::hasDedicatedExits(), isCriticalEdge(), llvm::Interval::isLoop(), IsValueFullyAvailableInBlock(), MarkBlocksLiveIn(), MergeEmptyReturnBlocks(), llvm::BasicBlock::removePredecessor(), llvm::ProfileInfoT< FType, BType >::repair(), SimplifyCondBranchToCondBranch(), SplitCriticalEdge(), SplitLandingPadPredecessors(), and TryToSimplifyUncondBranchFromEmptyBlock().

pred_iterator llvm::pred_end ( BasicBlock *  BB) [inline]

Definition at line 90 of file CFG.h.

const_pred_iterator llvm::pred_end ( const BasicBlock *  BB) [inline]

Definition at line 91 of file CFG.h.

Interval::pred_iterator llvm::pred_end ( Interval *  I) [inline]
bool llvm::PredicatesFoldable ( CmpInst::Predicate  p1,
CmpInst::Predicate  p2 
)

PredicatesFoldable - Return true if both predicates match sign or if at least one of them is an equality comparison (which is signless).

Definition at line 92 of file CmpInstAnalysis.cpp.

References llvm::ICmpInst::isEquality(), and llvm::CmpInst::isSigned().

Referenced by llvm::InstCombiner::FoldAndOfICmps(), llvm::InstCombiner::FoldOrOfICmps(), and llvm::InstCombiner::visitXor().

sys::Path llvm::PrependMainExecutablePath ( const std::string &  ExeName,
const char *  Argv0,
void *  MainAddr 
)

Find a named executable.

PrependMainExecutablePath - Prepend the path to the program being executed to ExeName, given the value of argv[0] and the address of main() itself. This allows us to find another LLVM tool if it is built in the same directory. An empty string is returned on error; note that this function just mainpulates the path and doesn't check for executability.

Definition at line 41 of file SystemUtils.cpp.

References llvm::sys::Path::appendComponent(), llvm::sys::Path::appendSuffix(), llvm::sys::Path::eraseComponent(), llvm::sys::Path::GetEXESuffix(), llvm::sys::Path::GetMainExecutable(), and llvm::sys::Path::isEmpty().

template<class NodeT >
static void llvm::PrintDomTree ( const DomTreeNodeBase< NodeT > *  N,
raw_ostream &  o,
unsigned  Lev 
) [static]

Definition at line 168 of file Dominators.h.

References llvm::ARM_PROC::I, and llvm::raw_ostream::indent().

void llvm::PrintError ( SMLoc  ErrorLoc,
const Twine &  Msg 
)
void llvm::PrintError ( const char *  Loc,
const Twine &  Msg 
)
void llvm::PrintError ( const Twine &  Msg)

Definition at line 47 of file TableGen/Error.cpp.

References errs().

void llvm::PrintError ( const TGError &  Error)
void llvm::PrintRecyclerStats ( size_t  Size,
size_t  Align,
size_t  FreeListSize 
)

PrintRecyclingAllocatorStats - Helper for RecyclingAllocator for printing statistics.

Definition at line 180 of file Allocator.cpp.

References errs().

Referenced by llvm::Recycler< MachineBasicBlock >::PrintStats().

void llvm::PrintStatistics ( )

Print statistics to the file returned by CreateInfoOutputFile().

Definition at line 144 of file Statistic.cpp.

References CreateInfoOutputFile(), StatInfo, and Stats.

void llvm::PrintStatistics ( raw_ostream OS)

Print statistics to the given output stream.

Definition at line 112 of file Statistic.cpp.

References llvm::raw_ostream::flush(), format(), StatInfo, Stats, and utostr().

void llvm::PrintWarning ( SMLoc  WarningLoc,
const Twine &  Msg 
)

Definition at line 23 of file TableGen/Error.cpp.

References llvm::SourceMgr::DK_Warning, llvm::SourceMgr::PrintMessage(), and SrcMgr.

Referenced by PrintWarning().

void llvm::PrintWarning ( const char *  Loc,
const Twine &  Msg 
)
void llvm::PrintWarning ( const Twine &  Msg)

Definition at line 31 of file TableGen/Error.cpp.

References errs().

void llvm::PrintWarning ( const TGError &  Warning)
template<typename ItTy , typename Dist >
ItTy llvm::prior ( ItTy  it,
Dist  n 
) [inline]
template<typename ItTy >
ItTy llvm::prior ( ItTy  it) [inline]

Definition at line 174 of file STLExtras.h.

void llvm::PromoteMemToReg ( const std::vector< AllocaInst * > &  Allocas,
DominatorTree DT,
AliasSetTracker AST = 0 
)

PromoteMemToReg - Promote the specified list of alloca instructions into scalar registers, inserting PHI nodes as appropriate. This function makes use of DominanceFrontier information. This function does not modify the CFG of the function at all. All allocas must be from the same function.

If AST is specified, the specified tracker is updated to reflect changes made to the IR.

PromoteMemToReg - Promote the specified list of alloca instructions into scalar registers, inserting PHI nodes as appropriate. This function does not modify the CFG of the function at all. All allocas must be from the same function.

If AST is specified, the specified tracker is updated to reflect changes made to the IR.

Definition at line 1135 of file PromoteMemoryToRegister.cpp.

GenericValue llvm::PTOGV ( void *  P) [inline]
Init * llvm::QualifyName ( Record CurRec,
MultiClass CurMultiClass,
Init Name,
const std::string &  Scoper 
)

QualifyName - Return an Init with a qualifier prefix referring to CurRec's name.

Definition at line 2035 of file Record.cpp.

References llvm::BinOpInit::Fold(), llvm::StringInit::get(), llvm::BinOpInit::get(), llvm::Record::getNameInit(), getType(), llvm::MultiClass::Rec, and llvm::BinOpInit::STRCONCAT.

Referenced by llvm::UnOpInit::Fold(), and QualifyName().

Init * llvm::QualifyName ( Record CurRec,
MultiClass CurMultiClass,
const std::string &  Name,
const std::string &  Scoper 
)

QualifyName - Return an Init with a qualifier prefix referring to CurRec's name.

Definition at line 2064 of file Record.cpp.

References llvm::StringInit::get(), and QualifyName().

static void llvm::readEdge ( ProfileInfo PI,
ProfileInfo::Edge  e,
double &  calcw,
std::set< ProfileInfo::Edge > &  misscount 
) [static]
static double llvm::readEdgeOrRemember ( ProfileInfo::Edge  edge,
double  w,
ProfileInfo::Edge tocalc,
unsigned uncalc 
) [static]
bool llvm::RecursivelyDeleteDeadPHINode ( PHINode PN)

RecursivelyDeleteDeadPHINode - If the specified value is an effectively dead PHI node, due to being a def-use chain of single-use nodes that either forms a cycle or is terminated by a trivially dead instruction, delete it. If that makes any of its operands trivially dead, delete them too, recursively. Return true if a change was made.

Definition at line 332 of file Local.cpp.

References areAllUsesEqual(), llvm::UndefValue::get(), llvm::ARM_PROC::I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), and RecursivelyDeleteTriviallyDeadInstructions().

Referenced by DeleteDeadPHIs().

bool llvm::RecursivelyDeleteTriviallyDeadInstructions ( Value V)

RecursivelyDeleteTriviallyDeadInstructions - If the specified value is a trivially dead instruction, delete it. If that makes any of its operands trivially dead, delete them too, recursively. Return true if any instructions were deleted.

Definition at line 276 of file Local.cpp.

References dyn_cast(), llvm::SmallVectorBase::empty(), llvm::Instruction::eraseFromParent(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::ARM_PROC::I, isInstructionTriviallyDead(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::User::setOperand(), and llvm::Value::use_empty().

Referenced by ConstantFoldTerminator(), EraseInstruction(), EraseTerminatorInstAndDCECond(), RecursivelyDeleteDeadPHINode(), SimplifyInstructionsInBlock(), and UnrollLoop().

bool llvm::recursivelySimplifyInstruction ( Instruction I,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

Recursively attempt to simplify an instruction.

This routine uses SimplifyInstruction to simplify 'I', and if successful replaces uses of 'I' with the simplified value. It then recurses on each of the users impacted. It returns true if any simplifications were performed.

Definition at line 2932 of file InstructionSimplify.cpp.

References replaceAndRecursivelySimplifyImpl().

Referenced by CloneAndPruneFunctionInto(), RemovePredecessorAndSimplify(), and SimplifyInstructionsInBlock().

llvm::RegionGraphTraits ( Region  ,
RegionNode   
)
llvm::RegionNodeGraphTraits ( RegionNode  )
void llvm::RemapInstruction ( Instruction I,
ValueToValueMapTy VMap,
RemapFlags  Flags = RF_None,
ValueMapTypeRemapper TypeMapper = 0 
)
void llvm::remove_fatal_error_handler ( )

Restores default error handling behaviour. This must not be called between llvm_start_multithreaded() and llvm_stop_multithreaded().

Definition at line 48 of file ErrorHandling.cpp.

References ErrorHandler.

Referenced by llvm::ScopedFatalErrorHandler::~ScopedFatalErrorHandler().

template<typename T >
static void llvm::RemoveFromVector ( std::vector< T * > &  V,
T *  N 
) [static]

Definition at line 49 of file LoopInfo.h.

References llvm::ARM_PROC::I.

Referenced by llvm::LoopBase< BasicBlock, Loop >::removeBlockFromLoop().

void llvm::RemovePredecessorAndSimplify ( BasicBlock BB,
BasicBlock Pred,
TargetData TD = 0 
)

RemovePredecessorAndSimplify - Like BasicBlock::removePredecessor, this method is called when we're about to delete Pred as a predecessor of BB. If BB contains any PHI nodes, this drops the entries in the PHI nodes for Pred.

Unlike the removePredecessor method, this attempts to simplify uses of PHI nodes that collapse into identity values. For example, if we have: x = phi(1, 0, 0, 0) y = and x, z

.. and delete the predecessor corresponding to the '1', this will attempt to recursively fold the 'and' to 0.

RemovePredecessorAndSimplify - Like BasicBlock::removePredecessor, this method is called when we're about to delete Pred as a predecessor of BB. If BB contains any PHI nodes, this drops the entries in the PHI nodes for Pred.

Unlike the removePredecessor method, this attempts to simplify uses of PHI nodes that collapse into identity values. For example, if we have: x = phi(1, 0, 0, 0) y = and x, z

.. and delete the predecessor corresponding to the '1', this will attempt to recursively fold the and to 0.

Definition at line 402 of file Local.cpp.

References llvm::BasicBlock::begin(), llvm::BasicBlock::front(), recursivelySimplifyInstruction(), and llvm::BasicBlock::removePredecessor().

bool llvm::replaceAndRecursivelySimplify ( Instruction I,
Value SimpleV,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

Replace all uses of 'I' with 'SimpleV' and simplify the uses recursively.

This first performs a normal RAUW of I with SimpleV. It then recursively attempts to simplify those users updated by the operation. The 'I' instruction must not be equal to the simplified value 'SimpleV'.

The function returns true if any simplifications were performed.

Definition at line 2939 of file InstructionSimplify.cpp.

References replaceAndRecursivelySimplifyImpl().

void llvm::ReplaceInstWithInst ( BasicBlock::InstListType BIL,
BasicBlock::iterator BI,
Instruction I 
)

ReplaceInstWithInst - Replace the instruction specified by BI with the instruction specified by I. The original instruction is deleted and BI is updated to point to the new instruction.

Definition at line 215 of file BasicBlockUtils.cpp.

References llvm::Instruction::getParent(), llvm::iplist< NodeTy, Traits >::insert(), and ReplaceInstWithValue().

Referenced by ReplaceInstWithInst().

void llvm::ReplaceInstWithInst ( Instruction From,
Instruction To 
)

ReplaceInstWithInst - Replace the instruction specified by From with the instruction specified by To.

Definition at line 233 of file BasicBlockUtils.cpp.

References llvm::BasicBlock::getInstList(), llvm::Instruction::getParent(), and ReplaceInstWithInst().

void llvm::ReplaceInstWithValue ( BasicBlock::InstListType BIL,
BasicBlock::iterator BI,
Value V 
)

ReplaceInstWithValue - Replace all uses of an instruction (specified by BI) with a value, then remove and delete the original instruction.

Definition at line 196 of file BasicBlockUtils.cpp.

References llvm::iplist< NodeTy, Traits >::erase(), llvm::Value::hasName(), llvm::ARM_PROC::I, llvm::Value::replaceAllUsesWith(), and llvm::Value::takeName().

Referenced by ReplaceInstWithInst().

void llvm::report_fatal_error ( const char *  reason)

Reports a serious error, calling any installed error handler. These functions are intended to be used for error conditions which are outside the control of the compiler (I/O errors, invalid user input, etc.)

If no error handler is installed the default is to print the message to standard error, followed by a newline. After the error handler is called this function will call exit(1), it does not return.

Definition at line 52 of file ErrorHandling.cpp.

Referenced by llvm::JIT::addModule(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::object::advanceTo(), llvm::RegAllocBase::allocatePhysRegs(), applyOverride(), llvm::ARMTargetMachine::ARMTargetMachine(), llvm::yaml::Stream::begin(), llvm::object::MachOObjectFile::begin_dynamic_symbols(), llvm::object::COFFObjectFile::begin_dynamic_symbols(), llvm::object::MachOObjectFile::begin_libraries_needed(), llvm::object::COFFObjectFile::begin_libraries_needed(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::begin_libraries_needed(), llvm::Interpreter::callExternalFunction(), checkInterfaceFunction(), llvm::TargetInstrInfoImpl::commuteInstruction(), llvm::MCAssembler::computeFragmentSize(), llvm::object::ObjectFile::createELFObjectFile(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::ELFObjectFile(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::MCStreamer::EmitCFIStartProc(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::SPUFrameLowering::emitEpilogue(), llvm::MachineInstr::emitError(), llvm::PTXAsmPrinter::EmitFunctionEntryLabel(), llvm::AsmPrinter::EmitFunctionEntryLabel(), llvm::ExecutionEngine::emitGlobals(), llvm::MCStreamer::EmitGPRel32Value(), llvm::MCStreamer::EmitGPRel64Value(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), llvm::XCoreFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::SPUFrameLowering::emitPrologue(), llvm::RuntimeDyldImpl::emitSection(), llvm::MCObjectStreamer::EmitWeakReference(), llvm::MCStreamer::EmitWin64EHAllocStack(), llvm::MCStreamer::EmitWin64EHEndChained(), llvm::MCStreamer::EmitWin64EHEndProc(), llvm::MCStreamer::EmitWin64EHHandler(), llvm::MCStreamer::EmitWin64EHHandlerData(), llvm::MCStreamer::EmitWin64EHPushFrame(), llvm::MCStreamer::EmitWin64EHSaveReg(), llvm::MCStreamer::EmitWin64EHSaveXMM(), llvm::MCStreamer::EmitWin64EHSetFrame(), llvm::MCStreamer::EmitWin64EHStartProc(), llvm::object::MachOObjectFile::end_dynamic_symbols(), llvm::object::COFFObjectFile::end_dynamic_symbols(), llvm::object::MachOObjectFile::end_libraries_needed(), llvm::object::COFFObjectFile::end_libraries_needed(), llvm::CodeExtractor::extractCodeRegion(), llvm::MCContext::FatalError(), llvm::MCStreamer::Finish(), llvm::MCJIT::freeMachineCodeForFunction(), llvm::FunctionBlackList::FunctionBlackList(), llvm::TargetLoweringObjectFileELF::getCFIPersonalitySymbol(), llvm::ExecutionEngine::getConstantValue(), llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), llvm::TargetLoweringObjectFile::getExprForDwarfReference(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::getFileFormatName(), llvm::object::MachOObjectFile::getLibraryNext(), llvm::object::COFFObjectFile::getLibraryNext(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::getLibraryNext(), llvm::object::MachOObjectFile::getLibraryPath(), llvm::object::COFFObjectFile::getLibraryPath(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::getLibraryPath(), llvm::object::MachOObjectFile::getLoadName(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::getLoadName(), llvm::JIT::getMemoryForGV(), llvm::JIT::getOrEmitGlobalVariable(), llvm::MCJIT::getPointerToBasicBlock(), llvm::JIT::getPointerToFunction(), llvm::MCJIT::getPointerToNamedFunction(), llvm::JIT::getPointerToNamedFunction(), llvm::SPURegisterInfo::getRegisterNumbering(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::getRelocationAdditionalInfo(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::getRelocationAddress(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::getRelocationOffset(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::getRelocationSymbol(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::getRelocationType(), llvm::object::MachOObjectFile::getRelocationValueString(), GetScratchRegister(), llvm::MachObjectWriter::getSymbolAddress(), llvm::MCAsmLayout::getSymbolOffset(), LLVMGetRelocationAddress(), LLVMGetRelocationOffset(), LLVMGetRelocationSymbol(), LLVMGetRelocationType(), LLVMGetRelocationTypeName(), LLVMGetRelocationValueString(), LLVMGetSectionAddress(), LLVMGetSectionContainsSymbol(), LLVMGetSectionContents(), LLVMGetSectionName(), LLVMGetSectionSize(), LLVMGetSymbolAddress(), LLVMGetSymbolFileOffset(), LLVMGetSymbolName(), LLVMGetSymbolSize(), LLVMMoveToContainingSection(), LLVMMoveToNextRelocation(), LLVMMoveToNextSection(), LLVMMoveToNextSymbol(), loadFromStack(), llvm::RuntimeDyld::loadObject(), llvm::RuntimeDyldImpl::loadObject(), llvm::ExecutionEngine::LoadValueFromMemory(), LowerBUILD_VECTOR(), nvptx::LowerConstant(), LowerConstant(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), LowerEXTRACT_VECTOR_ELT(), llvm::SPUTargetLowering::LowerFormalArguments(), LowerGlobalAddress(), llvm::IntrinsicLowering::LowerIntrinsicCall(), LowerSETCC(), llvm::X86RegisterInfo::needsStackRealignment(), llvm::TargetLowering::ParseConstraints(), llvm::sys::fs::recursive_directory_iterator::pop(), llvm::AsmPrinter::PrintSpecial(), llvm::MCJIT::recompileAndRelinkFunction(), llvm::JIT::removeModule(), llvm::MipsJITInfo::replaceMachineCodeForFunction(), llvm::ARMJITInfo::replaceMachineCodeForFunction(), report_fatal_error(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::FunctionPassManager::run(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::LiveVariables::runOnMachineFunction(), llvm::SelectionDAGISel::SelectInlineAsmMemoryOperands(), storeToStack(), llvm::TargetData::TargetData(), llvm::object::ELFObjectFile< target_endianness, is64Bits >::validateSymbol(), llvm::Interpreter::visitUnreachableInst(), WriteFragmentData(), llvm::MachObjectWriter::WriteNlist(), and llvm::raw_fd_ostream::~raw_fd_ostream().

void llvm::report_fatal_error ( const std::string &  reason)

Definition at line 56 of file ErrorHandling.cpp.

References report_fatal_error().

void llvm::report_fatal_error ( StringRef  reason)

Definition at line 60 of file ErrorHandling.cpp.

References report_fatal_error().

void llvm::report_fatal_error ( const Twine reason)
RecTy * llvm::resolveTypes ( RecTy T1,
RecTy T2 
)

resolveTypes - Find a common type that T1 and T2 convert to. Return 0 if no such type exists.

Definition at line 393 of file Record.cpp.

References llvm::RecordRecTy::get(), llvm::RecordRecTy::getRecord(), llvm::Record::getSuperClasses(), and llvm::RecTy::typeIsConvertibleTo().

static bool llvm::RetCC_ARM_AAPCS_Custom_f64 ( unsigned ValNo,
MVT &  ValVT,
MVT &  LocVT,
CCValAssign::LocInfo &  LocInfo,
ISD::ArgFlagsTy &  ArgFlags,
CCState &  State 
) [static]

Definition at line 149 of file ARMCallingConv.h.

References RetCC_ARM_APCS_Custom_f64().

static bool llvm::RetCC_ARM_APCS_Custom_f64 ( unsigned ValNo,
MVT &  ValVT,
MVT &  LocVT,
CCValAssign::LocInfo &  LocInfo,
ISD::ArgFlagsTy &  ArgFlags,
CCState &  State 
) [static]

Definition at line 138 of file ARMCallingConv.h.

References f64RetAssign(), and llvm::MVT::v2f64.

Referenced by RetCC_ARM_AAPCS_Custom_f64().

bool llvm::rewriteARMFrameIndex ( MachineInstr MI,
unsigned  FrameRegIdx,
unsigned  FrameReg,
int &  Offset,
const ARMBaseInstrInfo TII 
)
bool llvm::rewriteT2FrameIndex ( MachineInstr MI,
unsigned  FrameRegIdx,
unsigned  FrameReg,
int &  Offset,
const ARMBaseInstrInfo TII 
)
uint64_t llvm::RoundUpToAlignment ( uint64_t  Value,
uint64_t  Align 
) [inline]

RoundUpToAlignment - Returns the next integer (mod 2**64) that is greater than or equal to

  • Value and is a multiple of
  • Align. Align must be non-zero.

Examples: RoundUpToAlignment(5, 8) = 8 RoundUpToAlignment(17, 8) = 24 RoundUpToAlignment(~0LL, 8) = 0

Definition at line 442 of file MathExtras.h.

Referenced by llvm::MachObjectWriter::computeSectionAddresses(), llvm::JITCodeEmitter::emitAlignment(), llvm::JITCodeEmitter::emitAlignmentWithFill(), llvm::MipsFrameLowering::emitPrologue(), llvm::MemoryBuffer::getNewUninitMemBuffer(), getObjectSize(), and OffsetToAlignment().

template<class T >
scc_iterator<T> llvm::scc_begin ( const T &  G)

Definition at line 199 of file SCCIterator.h.

References llvm::scc_iterator< GraphT, GT >::begin().

template<class T >
scc_iterator<Inverse<T> > llvm::scc_begin ( const Inverse< T > &  G)

Definition at line 209 of file SCCIterator.h.

References llvm::sys::path::begin().

template<class T >
scc_iterator<T> llvm::scc_end ( const T &  G)

Definition at line 204 of file SCCIterator.h.

References llvm::scc_iterator< GraphT, GT >::end().

template<class T >
scc_iterator<Inverse<T> > llvm::scc_end ( const Inverse< T > &  G)

Definition at line 214 of file SCCIterator.h.

References llvm::sys::path::end().

void * llvm::SearchForAddressOfSpecialSymbol ( const char *  symbolName)
template<class S1Ty , class S2Ty >
S1Ty llvm::set_difference ( const S1Ty &  S1,
const S2Ty &  S2 
)

set_difference(A, B) - Return A - B

Definition at line 51 of file SetOperations.h.

void llvm::set_fixed_execution_hash_seed ( size_t  fixed_value)

Override the execution seed with a fixed value.

This hashing library uses a per-execution seed designed to change on each run with high probability in order to ensure that the hash codes are not attackable and to ensure that output which is intended to be stable does not rely on the particulars of the hash codes produced.

That said, there are use cases where it is important to be able to reproduce *exactly* a specific behavior. To that end, we provide a function which will forcibly set the seed to a fixed value. This must be done at the start of the program, before any hashes are computed. Also, it cannot be undone. This makes it thread-hostile and very hard to use outside of immediately on start of a simple program designed for reproducible behavior.

Definition at line 27 of file Hashing.cpp.

References llvm::hashing::detail::fixed_seed_override.

template<class S1Ty , class S2Ty >
void llvm::set_intersect ( S1Ty &  S1,
const S2Ty &  S2 
)

set_intersect(A, B) - Compute A := A ^ B Identical to set_intersection, except that it works on set<>'s and is nicer to use. Functionally, this iterates through S1, removing elements that are not contained in S2.

Definition at line 40 of file SetOperations.h.

References llvm::ARM_PROC::I.

template<class S1Ty , class S2Ty >
void llvm::set_subtract ( S1Ty &  S1,
const S2Ty &  S2 
)

set_subtract(A, B) - Compute A := A - B

Definition at line 63 of file SetOperations.h.

Referenced by llvm::Linker::LinkInArchive().

template<class S1Ty , class S2Ty >
bool llvm::set_union ( S1Ty &  S1,
const S2Ty &  S2 
)

set_union(A, B) - Compute A := A u B, return whether A changed.

Definition at line 23 of file SetOperations.h.

void llvm::SetCurrentDebugType ( const char *  Type)

SetCurrentDebugType - Set the current debug type, as if the -debug-only=X option were specified. Note that DebugFlag also needs to be set to true for debug output to be produced.

Definition at line 96 of file Debug.cpp.

References CurrentDebugType.

static bool llvm::ShouldPrintAfterPass ( const PassInfo PI) [static]

This is a utility to check whether a pass should have IR dumped after it.

Definition at line 105 of file PassManager.cpp.

References PrintAfter, PrintAfterAll, and ShouldPrintBeforeOrAfterPass().

Referenced by llvm::PMTopLevelManager::schedulePass().

static bool llvm::ShouldPrintBeforeOrAfterPass ( const PassInfo PI,
PassOptionList PassesToPrint 
) [static]

This is a helper to determine whether to print IR before or after a pass.

Definition at line 85 of file PassManager.cpp.

References llvm::PassInfo::getPassArgument().

Referenced by ShouldPrintAfterPass(), and ShouldPrintBeforePass().

static bool llvm::ShouldPrintBeforePass ( const PassInfo PI) [static]

This is a utility to check whether a pass should have IR dumped before it.

Definition at line 99 of file PassManager.cpp.

References PrintBefore, PrintBeforeAll, and ShouldPrintBeforeOrAfterPass().

Referenced by llvm::PMTopLevelManager::schedulePass().

template<unsigned B>
int32_t llvm::SignExtend32 ( uint32_t  x) [inline]

SignExtend32 - Sign extend B-bit number x to 32-bit int. Usage int32_t r = SignExtend32<5>(x);

Definition at line 462 of file MathExtras.h.

template<unsigned B>
int64_t llvm::SignExtend64 ( uint64_t  x) [inline]

SignExtend64 - Sign extend B-bit number x to 64-bit int. Usage int64_t r = SignExtend64<5>(x);

Definition at line 468 of file MathExtras.h.

Value * llvm::SimplifyAddInst ( Value LHS,
Value RHS,
bool  isNSW,
bool  isNUW,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyAddInst - Given operands for an Add, see if we can fold the result. If not, this returns null.

Definition at line 653 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitAdd().

Value * llvm::SimplifyAndInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyAndInst - Given operands for an And, see if we can fold the result. If not, this returns null.

Definition at line 1410 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), SimplifyMulInst(), ThreadCmpOverSelect(), and llvm::InstCombiner::visitAnd().

Value * llvm::SimplifyAShrInst ( Value Op0,
Value Op1,
bool  isExact,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyAShrInst - Given operands for a AShr, see if we can fold the result. If not, this returns null.

Definition at line 1309 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitAShr().

Value * llvm::SimplifyBinOp ( unsigned  Opcode,
Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyBinOp - Given operands for a BinaryOperator, see if we can fold the result. If not, this returns null.

Definition at line 2726 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by ExpandBinOp(), FactorizeBinOp(), SimplifyAssociativeBinOp(), SimplifySubInst(), SimplifyWithOpReplaced(), ThreadBinOpOverPHI(), and ThreadBinOpOverSelect().

bool llvm::SimplifyCFG ( BasicBlock BB,
const TargetData TD = 0 
)

SimplifyCFG - This function is used to do simplification of a CFG. For example, it adjusts branches to branches to eliminate the extra hop, it eliminates unreachable basic blocks, and does other "peephole" optimization of the CFG. It returns true if a modification was made, possibly deleting the basic block that was pointed to.

SimplifyCFG - This function is used to do simplification of a CFG. For example, it adjusts branches to branches to eliminate the extra hop, it eliminates unreachable basic blocks, and does other "peephole" optimization of the CFG. It returns true if a modification was made.

Definition at line 2985 of file SimplifyCFG.cpp.

Referenced by IterativeSimplifyCFG(), and TryToSimplifyUncondBranchWithICmpInIt().

Value * llvm::SimplifyCmpInst ( unsigned  Predicate,
Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyCmpInst - Given operands for a CmpInst, see if we can fold the result. If not, this returns null.

Definition at line 2741 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyWithOpReplaced(), ThreadCmpOverPHI(), and ThreadCmpOverSelect().

Value * llvm::SimplifyFCmpInst ( unsigned  Predicate,
Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyFCmpInst - Given operands for an FCmpInst, see if we can fold the result. If not, this returns null.

Definition at line 2492 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyCmpInst(), SimplifyInstruction(), and llvm::InstCombiner::visitFCmpInst().

Value * llvm::SimplifyFDivInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyFDivInst - Given operands for an FDiv, see if we can fold the result. If not, this returns null.

Definition at line 1077 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFDiv().

Value * llvm::SimplifyFRemInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyFRemInst - Given operands for an FRem, see if we can fold the result. If not, this returns null.

Definition at line 1182 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFRem().

Value * llvm::SimplifyGEPInst ( ArrayRef< Value * >  Ops,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyGEPInst - Given operands for an GetElementPtrInst, see if we can fold the result. If not, this returns null.

Definition at line 2576 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyInstruction(), and llvm::InstCombiner::visitGetElementPtrInst().

Value * llvm::SimplifyICmpInst ( unsigned  Predicate,
Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyICmpInst - Given operands for an ICmpInst, see if we can fold the result. If not, this returns null.

Definition at line 2395 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyCmpInst(), SimplifyICmpInst(), SimplifyInstruction(), and llvm::InstCombiner::visitICmpInst().

Value * llvm::SimplifyInsertValueInst ( Value Agg,
Value Val,
ArrayRef< unsigned Idxs,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyInsertValueInst - Given operands for an InsertValueInst, see if we can fold the result. If not, this returns null.

Definition at line 2611 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyInstruction().

Value * llvm::SimplifyInstruction ( Instruction I,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyInstruction - See if we can compute a simplified version of this instruction. If not, this returns null.

If called on unreachable code, the above logic may report that the instruction simplified to itself. Make life easier for users by detecting that case here, returning a safe value instead.

Definition at line 2758 of file InstructionSimplify.cpp.

References llvm::APIntOps::And(), Call, ConstantFoldInstruction(), llvm::UndefValue::get(), llvm::InsertValueInst::getAggregateOperand(), llvm::InsertValueInst::getIndices(), llvm::InsertValueInst::getInsertedValueOperand(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::ARM_PROC::I, ICmp, InsertValue, LShr, llvm::User::op_begin(), llvm::User::op_end(), llvm::APIntOps::Or(), PHI, Select, SimplifyAddInst(), SimplifyAndInst(), SimplifyAShrInst(), SimplifyCallInst(), SimplifyFCmpInst(), SimplifyFDivInst(), SimplifyFRemInst(), SimplifyGEPInst(), SimplifyICmpInst(), SimplifyInsertValueInst(), SimplifyLShrInst(), SimplifyMulInst(), SimplifyOrInst(), SimplifyPHINode(), SimplifySDivInst(), SimplifySelectInst(), SimplifyShlInst(), SimplifySRemInst(), SimplifySubInst(), SimplifyTruncInst(), SimplifyUDivInst(), SimplifyURemInst(), SimplifyXorInst(), Trunc, and llvm::APIntOps::Xor().

Referenced by DecomposeGEPExpression(), FindPHIToPartitionLoops(), FoldCondBranchOnPHI(), FoldTwoEntryPHINode(), GetUnderlyingObject(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), InlineFunction(), replaceAndRecursivelySimplifyImpl(), TryToSimplifyUncondBranchWithICmpInIt(), UnrollLoop(), and llvm::InstCombiner::visitPHINode().

bool llvm::SimplifyInstructionsInBlock ( BasicBlock BB,
const TargetData TD = 0 
)

SimplifyInstructionsInBlock - Scan the specified basic block and try to simplify any instructions in it and recursively delete dead instructions.

This returns true if it changed the code, note that it can delete instructions in other blocks as well in this block.

Definition at line 356 of file Local.cpp.

References llvm::BasicBlock::begin(), llvm::BasicBlock::end(), RecursivelyDeleteTriviallyDeadInstructions(), and recursivelySimplifyInstruction().

bool llvm::simplifyLoopIVs ( Loop L,
ScalarEvolution SE,
LPPassManager LPM,
SmallVectorImpl< WeakVH > &  Dead 
)

SimplifyLoopIVs - Simplify users of induction variables within this loop. This does not actually change or add IVs.

simplifyLoopIVs - Simplify users of induction variables within this loop. This does not actually change or add IVs.

Definition at line 386 of file SimplifyIndVar.cpp.

References llvm::BasicBlock::begin(), llvm::LoopBase< BlockT, LoopT >::getHeader(), llvm::ARM_PROC::I, and simplifyUsersOfIV().

Referenced by UnrollLoop().

Value * llvm::SimplifyLShrInst ( Value Op0,
Value Op1,
bool  isExact,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyLShrInst - Given operands for a LShr, see if we can fold the result. If not, this returns null.

Definition at line 1277 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitLShr().

Value * llvm::SimplifyMulInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyMulInst - Given operands for a Mul, see if we can fold the result. If not, this returns null.

Definition at line 954 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitMul().

Value * llvm::SimplifyOrInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyOrInst - Given operands for an Or, see if we can fold the result. If not, this returns null.

Definition at line 1504 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), ThreadCmpOverSelect(), and llvm::InstCombiner::visitOr().

Value * llvm::SimplifySDivInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifySDivInst - Given operands for an SDiv, see if we can fold the result. If not, this returns null.

Definition at line 1042 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitSDiv().

Value * llvm::SimplifySelectInst ( Value Cond,
Value TrueVal,
Value FalseVal,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifySelectInst - Given operands for a SelectInst, see if we can fold the result. If not, this returns null.

Definition at line 2527 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyInstruction(), and llvm::InstCombiner::visitSelectInst().

Value * llvm::SimplifyShlInst ( Value Op0,
Value Op1,
bool  isNSW,
bool  isNUW,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyShlInst - Given operands for a Shl, see if we can fold the result. If not, this returns null.

Definition at line 1250 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitShl().

Value * llvm::SimplifySRemInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifySRemInst - Given operands for an SRem, see if we can fold the result. If not, this returns null.

Definition at line 1147 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitSRem().

Value * llvm::SimplifySubInst ( Value LHS,
Value RHS,
bool  isNSW,
bool  isNUW,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifySubInst - Given operands for a Sub, see if we can fold the result. If not, this returns null.

Definition at line 882 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitSub().

Value * llvm::SimplifyTruncInst ( Value Op,
Type Ty,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyTruncInst - Given operands for an TruncInst, see if we can fold the result. If not, this returns null.

Definition at line 2661 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyInstruction(), and SimplifySubInst().

Value * llvm::SimplifyUDivInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyUDivInst - Given operands for a UDiv, see if we can fold the result. If not, this returns null.

Definition at line 1058 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitUDiv().

Value * llvm::SimplifyURemInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyURemInst - Given operands for a URem, see if we can fold the result. If not, this returns null.

Definition at line 1163 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitURem().

bool llvm::simplifyUsersOfIV ( PHINode CurrIV,
ScalarEvolution SE,
LPPassManager LPM,
SmallVectorImpl< WeakVH > &  Dead,
IVVisitor V = NULL 
)

simplifyUsersOfIV - Simplify instructions that use this induction variable by using ScalarEvolution to analyze the IV's recurrence.

Definition at line 375 of file SimplifyIndVar.cpp.

References llvm::Pass::getAnalysis(), llvm::LoopInfo::getLoopFor(), and llvm::Instruction::getParent().

Referenced by simplifyLoopIVs().

Value * llvm::SimplifyXorInst ( Value LHS,
Value RHS,
const TargetData TD = 0,
const TargetLibraryInfo TLI = 0,
const DominatorTree DT = 0 
)

SimplifyXorInst - Given operands for a Xor, see if we can fold the result. If not, this returns null.

Definition at line 1564 of file InstructionSimplify.cpp.

References RecursionLimit.

Referenced by SimplifyAddInst(), SimplifyBinOp(), SimplifyInstruction(), SimplifySubInst(), ThreadCmpOverSelect(), and llvm::InstCombiner::visitXor().

static bool llvm::SkipBitcodeWrapperHeader ( const unsigned char *&  BufPtr,
const unsigned char *&  BufEnd,
bool  VerifyBufferSize 
) [inline, static]

SkipBitcodeWrapperHeader - Some systems wrap bc files with a special header for padding or other reasons. The format of this header is:

struct bc_header { uint32_t Magic; // 0x0B17C0DE uint32_t Version; // Version, currently always 0. uint32_t BitcodeOffset; // Offset to traditional bitcode file. uint32_t BitcodeSize; // Size of traditional bitcode file. ... potentially other gunk ... };

This function is called when we find a file with a matching magic number. In this case, skip down to the subsection of the file that is actually a BC file. If 'VerifyBufferSize' is true, check that the buffer is large enough to contain the whole bitcode file.

Definition at line 124 of file ReaderWriter.h.

const Value * llvm::skipPointerTransfer ( const Value V,
bool  ignore_GEP_indices 
)
const Value * llvm::skipPointerTransfer ( const Value V,
std::set< const Value * > &  processed 
)
static const char* llvm::SPARCCondCodeToString ( SPCC::CondCodes  CC) [inline, static]
BasicBlock * llvm::SplitBlock ( BasicBlock Old,
Instruction SplitPt,
Pass P 
)

SplitBlock - Split the specified block at the specified instruction - every thing before SplitPt stays in Old and everything starting with SplitPt moves to a new block. The two blocks are joined by an unconditional branch and the loop info is updated.

Definition at line 287 of file BasicBlockUtils.cpp.

References llvm::Pass::getAnalysisIfAvailable(), llvm::Value::getName(), llvm::ARM_PROC::I, and llvm::BasicBlock::splitBasicBlock().

Referenced by SplitEdge(), and UnrollRuntimeLoopProlog().

BasicBlock * llvm::SplitBlockPredecessors ( BasicBlock BB,
ArrayRef< BasicBlock * >  Preds,
const char *  Suffix,
Pass P = 0 
)

SplitBlockPredecessors - This method transforms BB by introducing a new basic block into the function, and moving some of the predecessors of BB to be predecessors of the new block. The new predecessors are indicated by the Preds array, which has NumPreds elements in it. The new block is given a suffix of 'Suffix'. This function returns the new block.

This currently updates the LLVM IR, AliasAnalysis, DominatorTree, DominanceFrontier, LoopInfo, and LCCSA but no other analyses. In particular, it does not preserve LoopSimplify (because it's complicated to handle the case where one of the edges being split is an exit of a loop with other exits).

SplitBlockPredecessors - This method transforms BB by introducing a new basic block into the function, and moving some of the predecessors of BB to be predecessors of the new block. The new predecessors are indicated by the Preds array, which has NumPreds elements in it. The new block is given a suffix of 'Suffix'.

This currently updates the LLVM IR, AliasAnalysis, DominatorTree, LoopInfo, and LCCSA but no other analyses. In particular, it does not preserve LoopSimplify (because it's complicated to handle the case where one of the edges being split is an exit of a loop with other exits).

Definition at line 454 of file BasicBlockUtils.cpp.

References llvm::BasicBlock::begin(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), llvm::UndefValue::get(), llvm::BasicBlock::getContext(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::ARM_PROC::I, llvm::ArrayRef< T >::size(), UpdateAnalysisInformation(), and UpdatePHINodes().

Referenced by ConnectProlog(), and SplitCriticalEdge().

BasicBlock * llvm::SplitCriticalEdge ( TerminatorInst TI,
unsigned  SuccNum,
Pass P = 0,
bool  MergeIdenticalEdges = false,
bool  DontDeleteUselessPhis = false,
bool  SplitLandingPads = false 
)

SplitCriticalEdge - If this edge is a critical edge, insert a new node to split the critical edge. This will update DominatorTree and DominatorFrontier information if it is available, thus calling this pass will not invalidate either of them. This returns the new block if the edge was split, null otherwise.

If MergeIdenticalEdges is true (not the default), *all* edges from TI to the specified successor will be merged into the same critical edge block. This is most commonly interesting with switch instructions, which may have many edges to any one destination. This ensures that all edges to that dest go to one block instead of each going to a different block, but isn't the standard definition of a "critical edge".

It is invalid to call this function on a critical edge that starts at an IndirectBrInst. Splitting these edges will almost always create an invalid program because the address of the new block won't be the one that is jumped to.

SplitCriticalEdge - If this edge is a critical edge, insert a new node to split the critical edge. This will update DominatorTree information if it is available, thus calling this pass will not invalidate either of them. This returns the new block if the edge was split, null otherwise.

If MergeIdenticalEdges is true (not the default), *all* edges from TI to the specified successor will be merged into the same critical edge block. This is most commonly interesting with switch instructions, which may have many edges to any one destination. This ensures that all edges to that dest go to one block instead of each going to a different block, but isn't the standard definition of a "critical edge".

It is invalid to call this function on a critical edge that starts at an IndirectBrInst. Splitting these edges will almost always create an invalid program because the address of the new block won't be the one that is jumped to.

Definition at line 174 of file BreakCriticalEdges.cpp.

References llvm::DominatorTree::addNewBlock(), llvm::SmallVectorTemplateCommon< T >::back(), llvm::BasicBlock::begin(), llvm::DominatorTree::changeImmediateDominator(), llvm::SmallVectorImpl< T >::clear(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), createPHIsForSplitLoopExit(), llvm::DominatorTree::dominates(), llvm::SmallVectorBase::empty(), llvm::Pass::getAnalysisIfAvailable(), llvm::PHINode::getBasicBlockIndex(), llvm::Function::getBasicBlockList(), llvm::Value::getContext(), llvm::Instruction::getDebugLoc(), llvm::PHINode::getIncomingBlock(), llvm::Value::getName(), llvm::DominatorTree::getNode(), llvm::TerminatorInst::getNumSuccessors(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::TerminatorInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::ARM_PROC::I, isCriticalEdge(), llvm::BasicBlock::isLandingPad(), LCSSAID, LoopSimplifyID, llvm::Pass::mustPreserveAnalysisID(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::BasicBlock::removePredecessor(), llvm::PHINode::setIncomingBlock(), llvm::TerminatorInst::setSuccessor(), llvm::SmallVectorTemplateCommon< T >::size(), SplitBlockPredecessors(), and SplitLandingPadPredecessors().

Referenced by SplitCriticalEdge(), SplitCriticalSideEffectEdges(), and SplitEdge().

BasicBlock* llvm::SplitCriticalEdge ( BasicBlock *  BB,
succ_iterator  SI,
Pass *  P = 0 
) [inline]
bool llvm::SplitCriticalEdge ( BasicBlock *  Succ,
pred_iterator  PI,
Pass *  P = 0 
) [inline]

SplitCriticalEdge - If the edge from *PI to BB is not critical, return false. Otherwise, split all edges between the two blocks and return true. This updates all of the same analyses as the other SplitCriticalEdge function. If P is specified, it updates the analyses described above.

Definition at line 126 of file BasicBlockUtils.h.

References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), and SplitCriticalEdge().

BasicBlock* llvm::SplitCriticalEdge ( BasicBlock *  Src,
BasicBlock *  Dst,
Pass *  P = 0,
bool  MergeIdenticalEdges = false,
bool  DontDeleteUselessPHIs = false 
) [inline]

SplitCriticalEdge - If an edge from Src to Dst is critical, split the edge and return true, otherwise return false. This method requires that there be an edge between the two blocks. If P is specified, it updates the analyses described above.

Definition at line 139 of file BasicBlockUtils.h.

References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), llvm::BasicBlock::getTerminator(), and SplitCriticalEdge().

BasicBlock * llvm::SplitEdge ( BasicBlock BB,
BasicBlock Succ,
Pass P 
)
void llvm::SplitLandingPadPredecessors ( BasicBlock OrigBB,
ArrayRef< BasicBlock * >  Preds,
const char *  Suffix1,
const char *  Suffix2,
Pass P,
SmallVectorImpl< BasicBlock * > &  NewBBs 
)

SplitLandingPadPredecessors - This method transforms the landing pad, OrigBB, by introducing two new basic blocks into the function. One of those new basic blocks gets the predecessors listed in Preds. The other basic block gets the remaining predecessors of OrigBB. The landingpad instruction OrigBB is clone into both of the new basic blocks. The new blocks are given the suffixes 'Suffix1' and 'Suffix2', and are returned in the NewBBs vector.

This currently updates the LLVM IR, AliasAnalysis, DominatorTree, DominanceFrontier, LoopInfo, and LCCSA but no other analyses. In particular, it does not preserve LoopSimplify (because it's complicated to handle the case where one of the edges being split is an exit of a loop with other exits).

Definition at line 507 of file BasicBlockUtils.cpp.

References llvm::PHINode::addIncoming(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::Instruction::clone(), llvm::BasicBlock::Create(), llvm::PHINode::Create(), llvm::BranchInst::Create(), llvm::SmallVectorBase::empty(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::getContext(), llvm::BasicBlock::getFirstInsertionPt(), llvm::BasicBlock::getInstList(), llvm::BasicBlock::getLandingPadInst(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::BasicBlock::isLandingPad(), llvm::PTXRegisterType::Pred, pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::Value::setName(), llvm::ArrayRef< T >::size(), UpdateAnalysisInformation(), and UpdatePHINodes().

Referenced by ConnectProlog(), and SplitCriticalEdge().

void llvm::SplitString ( StringRef  Source,
SmallVectorImpl< StringRef > &  OutFragments,
StringRef  Delimiters = " \t\n\v\f\r" 
)

SplitString - Split up the specified string according to the specified delimiters, appending the result fragments to the output list.

Definition at line 51 of file StringExtras.cpp.

References getToken(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().

Referenced by llvm::ARMTargetLowering::ExpandInlineAsm(), llvm::X86TargetLowering::ExpandInlineAsm(), and llvm::FunctionBlackList::FunctionBlackList().

StringRef::size_type llvm::StrInStrNoCase ( StringRef  s1,
StringRef  s2 
)

StrInStrNoCase - Portable version of strcasestr. Locates the first occurrence of string 's1' in string 's2', ignoring case. Returns the offset of s2 in s1 or npos if s2 cannot be found.

Definition at line 22 of file StringExtras.cpp.

References llvm::StringRef::equals_lower(), N, llvm::StringRef::npos, llvm::StringRef::size(), and llvm::StringRef::substr().

Interval::succ_iterator llvm::succ_begin ( Interval *  I) [inline]
succ_iterator llvm::succ_begin ( BasicBlock *  BB) [inline]

Definition at line 226 of file CFG.h.

References llvm::BasicBlock::getTerminator().

succ_const_iterator llvm::succ_begin ( const BasicBlock *  BB) [inline]

Definition at line 229 of file CFG.h.

References llvm::BasicBlock::getTerminator().

template<class NodeType >
RNSuccIterator<NodeType> llvm::succ_begin ( NodeType *  Node) [inline]

Definition at line 249 of file RegionIterator.h.

Interval::succ_iterator llvm::succ_end ( Interval *  I) [inline]
succ_iterator llvm::succ_end ( BasicBlock *  BB) [inline]

Definition at line 232 of file CFG.h.

References llvm::BasicBlock::getTerminator().

succ_const_iterator llvm::succ_end ( const BasicBlock *  BB) [inline]

Definition at line 235 of file CFG.h.

References llvm::BasicBlock::getTerminator().

template<class NodeType >
RNSuccIterator<NodeType> llvm::succ_end ( NodeType *  Node) [inline]

Definition at line 254 of file RegionIterator.h.

template<class T >
void llvm::swap ( OwningPtr< T > &  a,
OwningPtr< T > &  b 
) [inline]

Definition at line 74 of file OwningPtr.h.

References llvm::OwningPtr< T >::swap().

Referenced by llvm::PBQPBuilderWithCoalescing::build(), BuildConstantFromSCEV(), Calculate(), combineSelectAndUse(), commuteShuffle(), EmitCMP(), encodeCompactUnwindRegistersWithoutFrame(), llvm::CoalescerPair::flip(), llvm::InstCombiner::FoldAndOfFCmps(), llvm::InstCombiner::FoldAndOfICmps(), foldLogOpOfMaskedICmpsHelper(), FoldOperationIntoSelectOperand(), llvm::InstCombiner::FoldOrOfFCmps(), llvm::InstCombiner::FoldOrOfICmps(), formConditionalOp(), llvm::BitcodeReader::FreeState(), llvm::Loop::getCanonicalInductionVariable(), llvm::TargetRegisterInfo::getCommonSuperRegClass(), GetIfCondition(), llvm::SelectionDAG::getNode(), GroupByComplexity(), llvm::CoalescerPair::isCoalescable(), LowerMUL(), LowerVECTOR_SHUFFLE(), LowerVECTOR_SHUFFLE_128v4(), LowerVSETCC(), llvm::BitcodeReader::MaterializeModule(), MergeSeqs(), llvm::LiveInterval::MergeValueNumberInto(), llvm::hashing::detail::hash_state::mix(), needsLFTR(), llvm::Triple::normalize(), llvm::LiveInterval::overlapsFrom(), PerformCMOVCombine(), PerformMulCombine(), PerformOrCombine(), PerformSELECTCombine(), PerformVMULCombine(), llvm::LatencyPriorityQueue::pop(), llvm::ResourcePriorityQueue::pop(), PrintResults(), RegistersDefinedFromSameValue(), llvm::LatencyPriorityQueue::remove(), llvm::ResourcePriorityQueue::remove(), llvm::SCEVExpander::replaceCongruentIVs(), llvm::SelectionDAGISel::SelectInlineAsmMemoryOperands(), llvm::CoalescerPair::setRegisters(), SimplifyAddInst(), SimplifyAndInst(), SimplifyBranchOnICmpChain(), SimplifyDiv(), SimplifyFCmpInst(), SimplifyICmpInst(), llvm::ScalarEvolution::SimplifyICmpOperands(), SimplifyMulInst(), SimplifyOrInst(), SimplifyXorInst(), llvm::CallGraphNode::stealCalledFunctionsFrom(), llvm::SmallVectorImpl< T >::swap(), llvm::BinaryOperator::swapOperands(), llvm::ICmpInst::swapOperands(), llvm::FCmpInst::swapOperands(), llvm::BranchInst::swapSuccessors(), llvm::MMIAddrLabelMap::takeDeletedSymbolsForFunction(), ThreadCmpOverPHI(), ThreadCmpOverSelect(), TranslateX86CC(), llvm::JIT::UnregisterJITEventListener(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAnd(), llvm::InstCombiner::visitCallInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitSelectInst(), llvm::InstCombiner::visitSelectInstWithICmp(), llvm::SelectionDAGBuilder::visitSwitchCase(), and llvm::InstCombiner::visitXor().

template<class T >
void llvm::swap ( OwningArrayPtr< T > &  a,
OwningArrayPtr< T > &  b 
) [inline]

Definition at line 127 of file OwningPtr.h.

References llvm::OwningArrayPtr< T >::swap().

const error_category & llvm::system_category ( )

Definition at line 94 of file system_error.cpp.

Referenced by llvm::error_code::clear(), make_error_code(), and posix_category().

int llvm::TableGenMain ( char *  argv0,
TableGenAction Action 
)
llvm::TEMPLATE_INSTANTIATION ( class DomTreeNodeBase< MachineBasicBlock )
llvm::TEMPLATE_INSTANTIATION ( class DominatorTreeBase< MachineBasicBlock )
llvm::TEMPLATE_INSTANTIATION ( MLB  )
llvm::TEMPLATE_INSTANTIATION ( MLIB  )
template<typename T1 , typename T2 >
tier<T1, T2> llvm::tie ( T1 &  f,
T2 &  s 
) [inline]
const SCEV * llvm::TransformForPostIncUse ( TransformKind  Kind,
const SCEV S,
Instruction User,
Value OperandValToReplace,
PostIncLoopSet Loops,
ScalarEvolution SE,
DominatorTree DT 
)

TransformForPostIncUse - Transform the given expression according to the given transformation kind.

Top level driver for transforming an expression DAG into its requested post-inc form (either "Normalized" or "Denormalized".

Definition at line 214 of file ScalarEvolutionNormalization.cpp.

Referenced by llvm::IVUsers::AddUsersImpl(), and llvm::IVUsers::getExpr().

bool llvm::TryToSimplifyUncondBranchFromEmptyBlock ( BasicBlock BB)

TryToSimplifyUncondBranchFromEmptyBlock - BB is known to contain an unconditional branch, and contains no instructions other than PHI nodes, potential debug intrinsics and the branch. If possible, eliminate BB by rewriting all the predecessors to branch to the successor block and return true. If we can't transform, return false.

TryToSimplifyUncondBranchFromEmptyBlock - BB is known to contain an unconditional branch, and contains no instructions other than PHI nodes, potential side-effect free intrinsics and the branch. If possible, eliminate BB by rewriting all the predecessors to branch to the successor block and return true. If we can't transform, return false.

Definition at line 545 of file Local.cpp.

References llvm::PHINode::addIncoming(), llvm::BasicBlock::begin(), CanPropagatePredecessorsForPHIs(), dbgs(), DEBUG, llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), llvm::BasicBlock::front(), llvm::Function::getEntryBlock(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::BasicBlock::getInstList(), llvm::PHINode::getNumIncomingValues(), llvm::BasicBlock::getParent(), getParent(), llvm::BasicBlock::getTerminator(), llvm::ARM_PROC::I, pred_begin(), pred_end(), llvm::PHINode::removeIncomingValue(), llvm::Value::replaceAllUsesWith(), and llvm::SmallVectorTemplateCommon< T >::size().

bool llvm::UnrollLoop ( Loop L,
unsigned  Count,
unsigned  TripCount,
bool  AllowRuntime,
unsigned  TripMultiple,
LoopInfo LI,
LPPassManager LPM 
)

Unroll the given loop by Count. The loop must be in LCSSA form. Returns true if unrolling was successful, or false if the loop was unmodified. Unrolling can only fail when the loop's latch block is not terminated by a conditional branch instruction. However, if the trip count (and multiple) are not known, loop unrolling will mostly produce more code that is no faster.

TripCount is generally defined as the number of times the loop header executes. UnrollLoop relaxes the definition to permit early exits: here TripCount is the iteration on which control exits LatchBlock if no early exits were taken. Note that UnrollLoop assumes that the loop counter test terminates LatchBlock in order to remove unnecesssary instances of the test. In other words, control may exit the loop prior to TripCount iterations via an early branch, but control may not exit the loop from the LatchBlock's terminator prior to TripCount iterations.

Similarly, TripMultiple divides the number of times that the LatchBlock may execute without exiting the loop.

The LoopInfo Analysis that is passed will be kept consistent.

If a LoopPassManager is passed in, and the loop is fully removed, it will be removed from the LoopPassManager as well. LPM can also be NULL.

This utility preserves LoopInfo. If DominatorTree or ScalarEvolution are available it must also preserve those analyses.

Definition at line 137 of file LoopUnroll.cpp.

References llvm::LoopBase< BlockT, LoopT >::addBasicBlockToLoop(), llvm::PHINode::addIncoming(), llvm::sys::path::begin(), llvm::ValueMap< KeyT, ValueT, Config >::begin(), llvm::BasicBlock::begin(), llvm::LoopBlocksDFS::beginRPO(), CloneBasicBlock(), llvm::LoopBase< BlockT, LoopT >::contains(), llvm::BranchInst::Create(), dbgs(), DEBUG, llvm::LPPassManager::deleteLoopFromQueue(), dyn_cast(), llvm::SmallVectorBase::empty(), llvm::ValueMap< KeyT, ValueT, Config >::end(), llvm::LoopBlocksDFS::endRPO(), llvm::Instruction::eraseFromParent(), llvm::ValueMap< KeyT, ValueT, Config >::find(), FoldBlockIntoPredecessor(), llvm::ScalarEvolution::forgetLoop(), llvm::Pass::getAnalysisIfAvailable(), llvm::LoopInfo::getBase(), llvm::Function::getBasicBlockList(), llvm::LoopBase< BlockT, LoopT >::getBlocks(), llvm::LoopBase< BlockT, LoopT >::getHeader(), llvm::PHINode::getIncomingValueForBlock(), llvm::BasicBlock::getInstList(), llvm::LoopBase< BlockT, LoopT >::getLoopLatch(), llvm::LoopBase< BlockT, LoopT >::getLoopPreheader(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), GreatestCommonDivisor64(), llvm::BasicBlock::hasAddressTaken(), llvm::ARM_PROC::I, isInstructionTriviallyDead(), llvm::Loop::isSafeToClone(), llvm::BranchInst::isUnconditional(), llvm::LoopBlocksDFS::perform(), llvm::SmallVectorImpl< T >::pop_back_val(), RecursivelyDeleteTriviallyDeadInstructions(), RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::Value::replaceAllUsesWith(), llvm::LoopInfo::replacementPreservesLCSSAForm(), llvm::BranchInst::setSuccessor(), SimplifyInstruction(), simplifyLoopIVs(), succ_begin(), succ_end(), and UnrollRuntimeLoopProlog().

bool llvm::UnrollRuntimeLoopProlog ( Loop L,
unsigned  Count,
LoopInfo LI,
LPPassManager LPM 
)

Insert code in the prolog code when unrolling a loop with a run-time trip-count.

This method assumes that the loop unroll factor is total number of loop bodes in the loop after unrolling. (Some folks refer to the unroll factor as the number of *extra* copies added). We assume also that the loop unroll factor is a power-of-two. So, after unrolling the loop, the number of loop bodies executed is 2, 4, 8, etc. Note - LLVM converts the if-then-sequence to a switch instruction in SimplifyCFG.cpp. Then, the backend decides how code for the switch instruction is generated.

extraiters = tripcount % loopfactor if (extraiters == 0) jump Loop: if (extraiters == loopfactor) jump L1 if (extraiters == loopfactor-1) jump L2 ... L1: LoopBody; L2: LoopBody; ... if tripcount < loopfactor jump End Loop: ... End:

Definition at line 227 of file LoopUnrollRuntime.cpp.

References llvm::sys::path::begin(), CloneLoopBlocks(), ConnectProlog(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), llvm::Function::end(), F(), llvm::ScalarEvolution::forgetLoop(), llvm::ConstantInt::get(), llvm::ScalarEvolution::getAddExpr(), llvm::Pass::getAnalysisIfAvailable(), llvm::LPPassManager::getAsPass(), llvm::ScalarEvolution::getBackedgeTakenCount(), llvm::LoopInfo::getBase(), llvm::Function::getBasicBlockList(), llvm::ScalarEvolution::getConstant(), llvm::BasicBlock::getContext(), llvm::LoopBase< BlockT, LoopT >::getExitingBlock(), llvm::LoopBase< BlockT, LoopT >::getHeader(), llvm::LoopBase< BlockT, LoopT >::getLoopLatch(), llvm::LoopBase< BlockT, LoopT >::getLoopPreheader(), llvm::BasicBlock::getParent(), llvm::LoopBase< BlockT, LoopT >::getParentLoop(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::SCEV::getType(), llvm::Loop::getUniqueExitBlock(), llvm::ARM_PROC::I, llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::Instruction::insertBefore(), llvm::Type::isIntegerTy(), llvm::Loop::isLoopSimplifyForm(), llvm::LoopBlocksDFS::perform(), RemapInstruction(), RF_IgnoreMissingEntries, RF_NoModuleLevelChanges, llvm::TerminatorInst::setSuccessor(), SplitBlock(), and SplitEdge().

Referenced by UnrollLoop().

void llvm::UpgradeCallsToIntrinsic ( Function F)

This is an auto-upgrade hook for any old intrinsic function syntaxes which need to have both the function updated as well as all calls updated to the new function. This should only be run in a post-processing fashion so that it can update all calls to the old function.

Definition at line 237 of file AutoUpgrade.cpp.

References llvm::Function::eraseFromParent(), UpgradeIntrinsicCall(), UpgradeIntrinsicFunction(), llvm::Value::use_begin(), and llvm::Value::use_end().

bool llvm::UpgradeGlobalVariable ( GlobalVariable GV)

This checks for global variables which should be upgraded. It returns true if it requires upgrading.

Definition at line 104 of file AutoUpgrade.cpp.

void llvm::UpgradeIntrinsicCall ( CallInst CI,
Function NewFn 
)

This is the complement to the above, replacing a specific call to an intrinsic function with a call to the specified new function.

Definition at line 112 of file AutoUpgrade.cpp.

References llvm::CallingConv::C, llvm::IRBuilder< preserveNames, T, Inserter >::CreateBitCast(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall2(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall3(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpEQ(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpSGT(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateShuffleVector(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateStore(), llvm::Instruction::eraseFromParent(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::ConstantVector::get(), llvm::CallInst::getArgOperand(), llvm::CallInst::getCalledFunction(), llvm::Value::getContext(), llvm::IRBuilderBase::getFalse(), llvm::IRBuilderBase::getInt32(), llvm::Type::getInt32Ty(), llvm::Function::getIntrinsicID(), llvm::Module::getMDKindID(), llvm::Value::getName(), llvm::CallInst::getNumArgOperands(), llvm::Instruction::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::PointerType::getUnqual(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::StoreInst::setAlignment(), llvm::IRBuilderBase::SetInsertPoint(), llvm::Instruction::setMetadata(), llvm::Value::setName(), and llvm::StringRef::startswith().

Referenced by llvm::BitcodeReader::Materialize(), llvm::BitcodeReader::MaterializeModule(), and UpgradeCallsToIntrinsic().

bool llvm::UpgradeIntrinsicFunction ( Function F,
Function *&  NewFn 
)

This is a more granular function that simply checks an intrinsic function for upgrading, and returns true if it requires upgrading. It may return null in NewFn if the all calls to the original intrinsic function should be transformed to non-function-call instructions.

Definition at line 92 of file AutoUpgrade.cpp.

References llvm::Intrinsic::getAttributes(), llvm::Function::getIntrinsicID(), llvm::Function::setAttributes(), and UpgradeIntrinsicFunction1().

Referenced by UpgradeCallsToIntrinsic().

template<typename IntTy >
static char* llvm::utohex_buffer ( IntTy  X,
char *  BufferEnd 
) [inline, static]

utohex_buffer - Emit the specified number into the buffer specified by BufferEnd, returning a pointer to the start of the string. This can be used like this: (note that the buffer must be large enough to handle any number): char Buffer[40]; printf("0x%s", utohex_buffer(X, Buffer+40));

This should only be used with unsigned types.

Definition at line 39 of file StringExtras.h.

References hexdigit(), and X.

Referenced by utohexstr(), and WriteConstantInternal().

static std::string llvm::utohexstr ( uint64_t  X) [inline, static]

Definition at line 55 of file StringExtras.h.

References utohex_buffer().

Referenced by llvm::yaml::escape(), and llvm::MipsAsmPrinter::PrintAsmOperand().

static std::string llvm::utostr ( uint64_t  X,
bool  isNeg = false 
) [inline, static]
static std::string llvm::utostr_32 ( uint32_t  X,
bool  isNeg = false 
) [inline, static]

Definition at line 60 of file StringExtras.h.

bool llvm::vectorizeBasicBlock ( Pass P,
BasicBlock BB,
const VectorizeConfig C = VectorizeConfig() 
)

Vectorize the BasicBlock.

Parameters:
BBThe BasicBlock to be vectorized
PThe current running pass, should require AliasAnalysis and ScalarEvolution. After the vectorization, AliasAnalysis, ScalarEvolution and CFG are preserved.
Returns:
True if the BB is changed, false otherwise.

Definition at line 1948 of file BBVectorize.cpp.

bool llvm::verifyFunction ( const Function f,
VerifierFailureAction  action = AbortProcessAction 
)

verifyFunction - Check a function for errors, printing messages on stderr. Return true if the function is corrupt.

Parameters:
fThe function to be verified
actionAction to take

Definition at line 2042 of file Verifier.cpp.

References llvm::GlobalValue::getParent(), and llvm::GlobalValue::isDeclaration().

Referenced by llvm::CodeExtractor::extractCodeRegion(), and LLVMVerifyFunction().

bool llvm::verifyModule ( const Module M,
VerifierFailureAction  action = AbortProcessAction,
std::string *  ErrorInfo = 0 
)

Check a module for errors.

If there are no errors, the function returns false. If an error is found, the action taken depends on the action parameter. This should only be used for debugging, because it plays games with PassManagers and stuff.

verifyModule - Check a module for errors, printing messages on stderr. Return true if the module is corrupt.

Parameters:
MThe module to be verified
actionAction to take
ErrorInfoInformation about failures.

Definition at line 2056 of file Verifier.cpp.

References llvm::PassManager::add(), and llvm::PassManager::run().

Referenced by LLVMVerifyModule().

template<typename GraphType >
void llvm::ViewGraph ( const GraphType &  G,
const Twine &  Name,
bool  ShortNames = false,
const Twine &  Title = "",
GraphProgram::Name  Program = GraphProgram::DOT 
)
void llvm::WriteAsOperand ( raw_ostream Out,
const Value V,
bool  PrintTy = true,
const Module Context = 0 
)
void llvm::WriteAsOperand ( raw_ostream OS,
const MachineBasicBlock MBB,
bool  t 
)

Definition at line 942 of file MachineBasicBlock.cpp.

References llvm::MachineBasicBlock::getNumber().

void llvm::WriteBitcodeToFile ( const Module M,
raw_ostream Out 
)

WriteBitcodeToFile - Write the specified module to the specified raw output stream. For streams where it matters, the given stream should be in "binary" mode.

WriteBitcodeToFile - Write the specified module to the specified output stream.

Definition at line 1879 of file BitcodeWriter.cpp.

References llvm::SmallVectorTemplateCommon< T >::begin(), DarwinBCHeaderSize, llvm::BitstreamWriter::Emit(), EmitDarwinBCHeaderAndTrailer(), llvm::SmallVectorTemplateCommon< T >::front(), llvm::Module::getTargetTriple(), llvm::SmallVectorImpl< T >::insert(), llvm::SmallVectorImpl< T >::reserve(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::raw_ostream::write(), and WriteModule().

Referenced by LLVMWriteBitcodeToFD(), and LLVMWriteBitcodeToFile().

raw_ostream & llvm::WriteGraph ( raw_ostream O,
const EdgeBundles G,
bool  ShortNames = false,
const Twine Title = "" 
)
template<typename GraphType >
raw_ostream& llvm::WriteGraph ( raw_ostream &  O,
const GraphType &  G,
bool  ShortNames = false,
const Twine &  Title = "" 
)

Definition at line 297 of file GraphWriter.h.

References llvm::GraphWriter< GraphType >::writeGraph().

template<typename GraphType >
sys::Path llvm::WriteGraph ( const GraphType &  G,
const Twine &  Name,
bool  ShortNames = false,
const Twine &  Title = "" 
)

Variable Documentation

Definition at line 54 of file NVPTXBaseInfo.h.

Definition at line 485 of file ARMDisassembler.cpp.

Referenced by AddThumb1SBit(), and getInstDesc().

char & llvm::BranchFolderPassID = BranchFolderPass::ID

BranchFolding - This pass performs machine code CFG based optimizations to delete branches to branches, eliminate branches to successor blocks (creating fall throughs), and eliminating branches over branches.

Definition at line 80 of file BranchFolding.cpp.

Referenced by llvm::PTXPassConfig::addMachineLateOptimization(), llvm::TargetPassConfig::addMachineLateOptimization(), and overridePass().

char & llvm::CodePlacementOptID = CodePlacementOpt::ID

Code Placement - This pass optimize code placement and aligns loop headers to target specific alignment boundary.

Definition at line 69 of file CodePlacementOpt.cpp.

Referenced by llvm::TargetPassConfig::addBlockPlacement(), and overridePass().

char & llvm::DeadMachineInstructionElimID = DeadMachineInstructionElim::ID

DeadMachineInstructionElim - This pass removes dead machine instructions.

Definition at line 49 of file DeadMachineInstructionElim.cpp.

Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), and overridePass().

DebugFlag - This boolean is set to true if the '-debug' command line option is specified. This should probably not be referenced directly, instead, use the DEBUG macro below.

Definition at line 35 of file Debug.cpp.

Referenced by dbgs(), LowerSTORE(), and llvm::SPUTargetLowering::PerformDAGCombine().

char & llvm::DemoteRegisterToMemoryID = RegToMem::ID

Definition at line 131 of file Reg2Mem.cpp.

cl::opt<bool> llvm::DisablePPC32RS("disable-ppc32-regscavenger", cl::init(false), cl::desc("Disable PPC32 register scavenger"), cl::Hidden)
cl::opt<bool> llvm::DisablePPC64RS("disable-ppc64-regscavenger", cl::init(false), cl::desc("Disable PPC64 register scavenger"), cl::Hidden)

DisablePrettyStackTrace - Set this to true to disable this module. This might be necessary if the host application installs its own signal handlers which conflict with the ones installed by this module. Defaults to false.

Definition at line 29 of file PrettyStackTrace.cpp.

Referenced by RegisterCrashPrinter().

EdgeBundles analysis - Bundle machine CFG edges.

EnableDebugBuffering - This defaults to false. If true, the debug stream will install signal handlers to dump any buffered debug output. It allows clients to selectively allow the debug stream to install signal handlers if they are certain there will be no conflict.

EnableDebugBuffering - Turn on signal handler installation.

Definition at line 134 of file Debug.cpp.

Referenced by dbgs().

char & llvm::ExpandISelPseudosID = ExpandISelPseudos::ID

ExpandISelPseudos - This pass expands pseudo-instructions.

Definition at line 42 of file ExpandISelPseudos.cpp.

Referenced by llvm::TargetPassConfig::addMachinePasses().

char & llvm::ExpandPostRAPseudosID = ExpandPostRA::ID

ExpandPostRAPseudos - This pass expands pseudo instructions after register allocation.

Definition at line 60 of file ExpandPostRAPseudos.cpp.

Referenced by llvm::TargetPassConfig::addMachinePasses().

char & llvm::FinalizeMachineBundlesID = FinalizeMachineBundles::ID

FinalizeMachineBundles - This pass finalize machine instruction bundles (created earlier, e.g. during pre-RA scheduling).

Definition at line 85 of file MachineInstrBundle.cpp.

char & llvm::GCMachineCodeAnalysisID = GCMachineCodeAnalysis::ID

GCMachineCodeAnalysis - Target-independent pass to mark safe points in machine code. Must be added very late during code generation, just prior to output, and importantly after all CFG transformations (such as branch folding).

Definition at line 337 of file GCStrategy.cpp.

Referenced by llvm::TargetPassConfig::addMachinePasses().

int(*)(const void*, const void*) llvm::get_array_pad_sort_comparator(const T &) [static]

get_array_pad_sort_comparator - This is an internal helper function used to get type deduction of T right.

Definition at line 252 of file STLExtras.h.

Referenced by array_pod_sort().

Definition at line 26 of file TargetMachine.cpp.

Definition at line 40 of file APInt.h.

char & llvm::IfConverterID = IfConverter::ID

IfConverter - This pass performs machine code if conversion.

Definition at line 255 of file IfConversion.cpp.

Remove redundant false char & llvm::InstructionSimplifierID = InstSimplifier::ID

Definition at line 95 of file SimplifyInstructions.cpp.

Definition at line 65 of file NVPTXAsmPrinter.cpp.

Referenced by llvm::NVPTXAsmPrinter::emitLineNumberAsDotLoc().

char & llvm::LCSSAID = LCSSA::ID

Definition at line 98 of file LCSSA.cpp.

Referenced by SplitCriticalEdge(), and UpdateAnalysisInformation().

LiveStacks pass. An analysis keeping track of the liveness of stack slots.

LiveVariables pass - This pass computes the set of blocks in which each variable is life and sets machine operand kill flags.

Definition at line 45 of file LiveVariables.cpp.

Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().

char & llvm::LocalStackSlotAllocationID = LocalStackSlotPass::ID

LocalStackSlotAllocation - This pass assigns local frame indices to stack slots relative to one another and allocates base registers to access them when it is estimated by the target to be out of range of normal frame pointer or stack pointer index addressing.

Definition at line 80 of file LocalStackSlotAllocation.cpp.

Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::TargetPassConfig::addMachineSSAOptimization().

loop Canonicalize natural false char & llvm::LoopSimplifyID = LoopSimplify::ID

Definition at line 120 of file LoopSimplify.cpp.

Referenced by SplitCriticalEdge().

char & llvm::MachineBlockPlacementID = MachineBlockPlacement::ID

MachineBlockPlacement - This pass places basic blocks based on branch probabilities.

Definition at line 242 of file MachineBlockPlacement.cpp.

Referenced by llvm::TargetPassConfig::addBlockPlacement(), and overridePass().

char & llvm::MachineBlockPlacementStatsID = MachineBlockPlacementStats::ID

MachineBlockPlacementStats - This pass collects statistics about the basic block placement using branch probabilities and block frequency information.

Definition at line 1083 of file MachineBlockPlacement.cpp.

Referenced by llvm::TargetPassConfig::addBlockPlacement().

char & llvm::MachineCopyPropagationID = MachineCopyPropagation::ID

MachineCopyPropagation - This pass performs copy propagation on machine instructions.

Definition at line 56 of file MachineCopyPropagation.cpp.

Referenced by llvm::TargetPassConfig::addMachineLateOptimization(), and overridePass().

char & llvm::MachineCSEID = MachineCSE::ID

MachineCSE - This pass performs global CSE on machine instructions.

Definition at line 110 of file MachineCSE.cpp.

Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), and overridePass().

MachineDominators - This pass is a machine dominators analysis pass.

Referenced by llvm::ProcessImplicitDefs::getAnalysisUsage(), and llvm::LiveIntervals::getAnalysisUsage().

char & llvm::MachineLICMID = MachineLICM::ID

MachineLICM - This pass performs LICM on machine instructions.

Definition at line 298 of file MachineLICM.cpp.

Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), overridePass(), and llvm::TargetPassConfig::TargetPassConfig().

machine Machine Natural Loop true char & llvm::MachineLoopInfoID = MachineLoopInfo::ID

MachineLoopRanges - This pass is an on-demand loop coverage analysis.

Definition at line 28 of file MachineLoopRanges.cpp.

char & llvm::MachineSchedulerID = MachineScheduler::ID

MachineScheduler - This pass schedules machine instructions.

Definition at line 85 of file MachineScheduler.cpp.

Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc(), overridePass(), and llvm::TargetPassConfig::TargetPassConfig().

char & llvm::MachineSinkingID = MachineSinking::ID

MachineSinking - This pass performs sinking on machine instructions.

Definition at line 105 of file MachineSink.cpp.

Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), and overridePass().

const unsigned int llvm::maxExponent = 16383

Definition at line 77 of file APFloat.cpp.

Referenced by powerOf5().

Definition at line 79 of file APFloat.cpp.

Initial value:
 2 + ((maxPowerOfFiveExponent * 815)
                                                / (351 * integerPartWidth))

Definition at line 80 of file APFloat.cpp.

Referenced by powerOf5().

const unsigned int llvm::maxPrecision = 113

Definition at line 78 of file APFloat.cpp.

const char* llvm::NamedMDForAnnotations = "nvvm.annotations" [static]

Definition at line 83 of file NVPTXBaseInfo.h.

Referenced by cacheAnnotationFromMD().

Definition at line 16 of file NVPTXNumRegisters.h.

char & llvm::OptimizePHIsID = OptimizePHIs::ID

OptimizePHIs - This pass optimizes machine instruction PHIs to take advantage of opportunities created during DAG legalization.

Definition at line 59 of file OptimizePHIs.cpp.

Referenced by llvm::TargetPassConfig::addMachineSSAOptimization().

cl::opt<enum PassDebugLevel> llvm::PassDebugging("debug-pass", cl::Hidden, cl::desc("Print PassManager debugging information"), cl::values(clEnumVal(None,"disable debug output"),clEnumVal(Arguments,"print pass arguments to pass to 'opt'"),clEnumVal(Structure,"print pass structure before run()"),clEnumVal(Executions,"print pass name before it is executed"),clEnumVal(Details,"print pass details when it is executed"),clEnumValEnd)) [static]
path profile Load path profile information from false char & llvm::PathProfileLoaderPassID = PathProfileLoaderPass::ID

Definition at line 95 of file PathProfileInfo.cpp.

char & llvm::PeepholeOptimizerID = PeepholeOptimizer::ID

PeepholeOptimizer - This pass performs peephole optimizations - like extension and comparison eliminations.

Definition at line 121 of file PeepholeOptimizer.cpp.

Referenced by llvm::TargetPassConfig::addMachineSSAOptimization().

Definition at line 164 of file InstVisitor.h.

Referenced by llvm::IVUsers::AddUsersImpl(), CanEvaluateSExtd(), CanEvaluateShifted(), CanEvaluateTruncated(), CanEvaluateZExtd(), llvm::SSAUpdaterImpl< UpdaterT >::CheckIfPHIMatches(), llvm::PHINode::classof(), collectFailStats(), ComputeMaskedBits(), ComputeNumSignBits(), llvm::SSAUpdaterTraits< SSAUpdater >::CreateEmptyPHI(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::CreateEmptyPHI(), llvm::SparcTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitShiftInstr(), llvm::SSAUpdaterImpl< UpdaterT >::FindAvailableVals(), FindPHIForConditionForwarding(), ForwardSwitchConditionToPHI(), getConstantEvolvingPHIOperands(), getInsertPointForUses(), GetInstructionClass(), llvm::Instruction::getOpcodeName(), llvm::SSAUpdaterTraits< SSAUpdater >::GetPHIValue(), GetShiftedValue(), InlineFunction(), llvm::MachineInstr::isPHI(), isSafeToSpeculativelyExecute(), isUnmovableInstruction(), PointerMayBeCaptured(), llvm::SSAUpdaterImpl< UpdaterT >::RecordMatchingPHIs(), removeUndefIntroducingPredecessor(), llvm::FastISel::SelectOperator(), SimplifyInstruction(), llvm::SSAUpdaterTraits< SSAUpdater >::ValueIsNewPHI(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::ValueIsNewPHI(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitICmpInst(), and WriteInstruction().

char & llvm::PHIEliminationID = PHIElimination::ID

PHIElimination - This pass eliminates machine instruction PHI nodes by inserting copy instructions. This destroys SSA information, but is the desired input for some register allocators. This pass is "required" by these register allocator like this: AU.addRequiredID(PHIEliminationID);

Definition at line 95 of file PHIElimination.cpp.

Referenced by llvm::TargetPassConfig::addFastRegAlloc(), llvm::TargetPassConfig::addOptimizedRegAlloc(), and llvm::ProcessImplicitDefs::getAnalysisUsage().

char & llvm::PostRASchedulerID = PostRAScheduler::ID

createPostRAScheduler - This pass performs post register allocation scheduling.

Definition at line 192 of file PostRASchedulerList.cpp.

Referenced by llvm::TargetPassConfig::addMachinePasses(), and overridePass().

PassOptionList llvm::PrintAfter("print-after", llvm::cl::desc("Print IR after specified passes"), cl::Hidden) [static]

Referenced by ShouldPrintAfterPass().

cl::opt<bool> llvm::PrintAfterAll("print-after-all", llvm::cl::desc("Print IR after each pass"), cl::init(false)) [static]

Referenced by ShouldPrintAfterPass().

PassOptionList llvm::PrintBefore("print-before", llvm::cl::desc("Print IR before specified passes"), cl::Hidden) [static]

Referenced by ShouldPrintBeforePass().

cl::opt<bool> llvm::PrintBeforeAll("print-before-all", llvm::cl::desc("Print IR before each pass"), cl::init(false)) [static]

Referenced by ShouldPrintBeforePass().

ProcessImpicitDefs pass - This pass removes IMPLICIT_DEFs.

Definition at line 29 of file ProcessImplicitDefs.cpp.

Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().

char & llvm::ProfileEstimatorPassID = ProfileEstimatorPass::ID

Definition at line 83 of file ProfileEstimatorPass.cpp.

PrologEpilogCodeInserter - This pass inserts prolog and epilog code, and eliminates abstract frame references.

Definition at line 48 of file PrologEpilogInserter.cpp.

Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::PTXTargetMachine::createPassConfig().

const char llvm::PropertyAnnotationNames[PROPERTY_LAST+1][AnnotationNameLen+1]
Initial value:
 {
  "maxntidx",               
  "maxntidy",               
  "maxntidz",               
  "reqntidx",               
  "reqntidy",               
  "reqntidz",               
  "minctasm",               
  "texture",                
  "surface",                
  "sampler",                
  "rdoimage",               
  "wroimage",               
  "kernel",                 
  "align",                  

  
  "proplast",               
}

Definition at line 56 of file NVPTXBaseInfo.h.

Referenced by getAlign(), getMaxNTIDx(), getMaxNTIDy(), getMaxNTIDz(), getMinCTASm(), getReqNTIDx(), getReqNTIDy(), getReqNTIDz(), isImageReadOnly(), isImageWriteOnly(), isKernelFunction(), isSampler(), isSurface(), and isTexture().

char & llvm::RegisterCoalescerID = RegisterCoalescer::ID

RegisterCoalescer - This pass merges live ranges to eliminate copies.

end anonymous namespace

Definition at line 189 of file RegisterCoalescer.cpp.

Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().

spill code Spill Code Placement true char & llvm::SpillPlacementID = SpillPlacement::ID

SpillPlacement analysis. Suggest optimal placement of spill code between basic blocks.

Definition at line 51 of file SpillPlacement.cpp.

Definition at line 21 of file TableGen/Error.cpp.

Referenced by PrintError(), PrintWarning(), and TableGenMain().

char & llvm::StackSlotColoringID = StackSlotColoring::ID

StackSlotColoring - This pass performs stack slot coloring.

Definition at line 115 of file StackSlotColoring.cpp.

Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc(), and overridePass().

strong phi node Eliminate PHI nodes for register false char & llvm::StrongPHIEliminationID = StrongPHIElimination::ID

StrongPHIElimination - This pass eliminates machine instruction PHI nodes by inserting copy instructions. This destroys SSA information, but is the desired input for some register allocators. This pass is "required" by these register allocator like this: AU.addRequiredID(PHIEliminationID); This pass is still in development

Definition at line 205 of file StrongPHIElimination.cpp.

Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().

char & llvm::TailDuplicateID = TailDuplicatePass::ID

TailDuplicate - Duplicate blocks with unconditional branches into tails of their predecessors.

Definition at line 120 of file TailDuplication.cpp.

Referenced by llvm::PTXPassConfig::addMachineLateOptimization(), llvm::TargetPassConfig::addMachineLateOptimization(), overridePass(), and llvm::TargetPassConfig::TargetPassConfig().

This is the storage for the -time-passes option.

If the user specifies the -time-passes argument on an LLVM tool command line then the value of this boolean will be true, otherwise false.

Definition at line 1672 of file PassManager.cpp.

Referenced by llvm::RegAllocBase::addMBBLiveIns(), llvm::AsmPrinter::doFinalization(), llvm::DwarfDebug::DwarfDebug(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitFunctionHeader(), and llvm::RegAllocBase::init().

Two Address instruction false char & llvm::TwoAddressInstructionPassID = TwoAddressInstructionPass::ID

TwoAddressInstruction - This pass reduces two-address instructions to use two operands. This destroys SSA information but it is desired by register allocators.

Definition at line 187 of file TwoAddressInstructionPass.cpp.

Referenced by llvm::TargetPassConfig::addFastRegAlloc(), llvm::TargetPassConfig::addOptimizedRegAlloc(), and llvm::ProcessImplicitDefs::getAnalysisUsage().

char & llvm::UnpackMachineBundlesID = UnpackMachineBundles::ID

UnpackMachineBundles - This pass unpack machine instruction bundles.

Definition at line 34 of file MachineInstrBundle.cpp.

UnreachableMachineBlockElimination - This pass removes unreachable machine basic blocks.

Referenced by llvm::LiveVariables::getAnalysisUsage().

Definition at line 168 of file InstVisitor.h.

RegisterPass<NVPTXAllocaHoisting> llvm::X("alloca-hoisting","Hoisting alloca instructsion in non-entry ""blocks to the entry block")

Referenced by llvm::ConstantRange::add(), llvm::AliasSetTracker::add(), llvm::cl::parser< const PassInfo * >::addLiteralOption(), cast(), llvm::InstCombiner::commonIDivTransforms(), llvm::LoopInfoBase< BasicBlock, Loop >::ConsiderForLoop(), createARMMCCodeGenInfo(), createARMMCInstrInfo(), createARMMCRegisterInfo(), llvm::ARM_MC::createARMMCSubtargetInfo(), createCellSPUMCRegisterInfo(), createHexagonMCCodeGenInfo(), createHexagonMCInstrInfo(), createHexagonMCRegisterInfo(), createHexagonMCSubtargetInfo(), createMBlazeMCCodeGenInfo(), createMBlazeMCInstrInfo(), createMBlazeMCRegisterInfo(), createMBlazeMCSubtargetInfo(), createMipsMCCodeGenInfo(), createMipsMCInstrInfo(), createMipsMCRegisterInfo(), createMipsMCSubtargetInfo(), createMSP430MCCodeGenInfo(), createMSP430MCInstrInfo(), createMSP430MCRegisterInfo(), createMSP430MCSubtargetInfo(), createNVPTXMCCodeGenInfo(), createNVPTXMCInstrInfo(), createNVPTXMCRegisterInfo(), createNVPTXMCSubtargetInfo(), createPPCMCCodeGenInfo(), createPPCMCInstrInfo(), createPPCMCRegisterInfo(), createPPCMCSubtargetInfo(), createPTXMCCodeGenInfo(), createPTXMCInstrInfo(), createPTXMCRegisterInfo(), createPTXMCSubtargetInfo(), createSparcMCCodeGenInfo(), createSparcMCInstrInfo(), createSparcMCRegisterInfo(), createSparcMCSubtargetInfo(), createSPUMCCodeGenInfo(), createSPUMCInstrInfo(), createSPUMCSubtargetInfo(), createX86MCCodeGenInfo(), createX86MCInstrInfo(), createX86MCRegisterInfo(), llvm::X86_MC::createX86MCSubtargetInfo(), createXCoreMCCodeGenInfo(), createXCoreMCInstrInfo(), createXCoreMCRegisterInfo(), createXCoreMCSubtargetInfo(), llvm::InstCombiner::FoldICmpDivCst(), FoldMaskAndShiftToScale(), llvm::InstCombiner::FoldShiftByConstant(), llvm::PMDataManager::freePass(), llvm::SDNode::getVTList(), isKnownNonZero(), isPowerOfTwo(), LLVMInitializeARMAsmLexer(), LLVMInitializeARMAsmParser(), LLVMInitializeARMAsmPrinter(), LLVMInitializeARMTarget(), LLVMInitializeARMTargetInfo(), LLVMInitializeCellSPUAsmPrinter(), LLVMInitializeCellSPUTarget(), LLVMInitializeCellSPUTargetInfo(), LLVMInitializeCellSPUTargetMC(), LLVMInitializeCppBackendTarget(), LLVMInitializeHexagonAsmPrinter(), LLVMInitializeHexagonTarget(), LLVMInitializeHexagonTargetInfo(), LLVMInitializeHexagonTargetMC(), LLVMInitializeMBlazeAsmLexer(), LLVMInitializeMBlazeAsmParser(), LLVMInitializeMBlazeAsmPrinter(), LLVMInitializeMBlazeTarget(), LLVMInitializeMBlazeTargetInfo(), LLVMInitializeMBlazeTargetMC(), LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), LLVMInitializeMipsTargetMC(), LLVMInitializeMSP430AsmPrinter(), LLVMInitializeMSP430Target(), LLVMInitializeMSP430TargetInfo(), LLVMInitializeMSP430TargetMC(), LLVMInitializeNVPTXAsmPrinter(), LLVMInitializeNVPTXBackendAsmPrinter(), LLVMInitializeNVPTXTarget(), LLVMInitializeNVPTXTargetInfo(), LLVMInitializeNVPTXTargetMC(), LLVMInitializePowerPCTargetInfo(), LLVMInitializePTXAsmPrinter(), LLVMInitializePTXTarget(), LLVMInitializePTXTargetMC(), LLVMInitializeSparcAsmPrinter(), LLVMInitializeSparcTarget(), LLVMInitializeSparcTargetInfo(), LLVMInitializeSparcTargetMC(), LLVMInitializeX86AsmLexer(), LLVMInitializeX86AsmParser(), LLVMInitializeX86AsmPrinter(), LLVMInitializeX86Target(), LLVMInitializeX86TargetInfo(), LLVMInitializeXCoreAsmPrinter(), LLVMInitializeXCoreTarget(), LLVMInitializeXCoreTargetInfo(), LLVMInitializeXCoreTargetMC(), LowerFABS32(), LowerFABS64(), LowerFCOPYSIGN32(), LowerFCOPYSIGN64(), LowerSDIV_v4i8(), OptimizeAndOrXor(), PerformOrCombine(), llvm::SetVector< Type * >::remove(), llvm::LPPassManager::runOnFunction(), llvm::RGPassManager::runOnFunction(), llvm::FPPassManager::runOnFunction(), llvm::MPPassManager::runOnModule(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(), SimplifyAShrInst(), SimplifyDiv(), SimplifyLShrInst(), SimplifyMulInst(), SimplifyShlInst(), SimplifySubInst(), llvm::ConstantRange::sub(), sub_1(), utohex_buffer(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAShr(), llvm::InstCombiner::visitBranchInst(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitSub(), and llvm::InstCombiner::visitZExt().