|
LLVM
3.7.0
|
Compute iterated dominance frontiers using a linear time algorithm. More...
Namespaces | |
| AArch64 | |
| AArch64_AM | |
| AArch64_AM - AArch64 Addressing Mode Stuff. | |
| AArch64AT | |
| AArch64CC | |
| AArch64DB | |
| AArch64DC | |
| AArch64IC | |
| AArch64II | |
| AArch64ISB | |
| AArch64ISD | |
| AArch64Layout | |
| AArch64PRFM | |
| AArch64PState | |
| AArch64SE | |
| AArch64SysReg | |
| AArch64TLBI | |
| AMDGPU | |
| AMDGPUIntrinsic | |
| AMDGPUISD | |
| APIntOps | |
| ARM | |
| Define some predicates that are used for node matching. | |
| ARM_AM | |
| ARM_AM - ARM Addressing Mode Stuff. | |
| ARM_ISB | |
| ARM_MB | |
| ARM_MC | |
| ARM_PROC | |
| ARMBuildAttrs | |
| ARMCC | |
| ARMCP | |
| ARMII | |
| ARMII - This namespace holds all of the target specific flags that instruction info tracks. | |
| ARMISD | |
| ARMRI | |
| Register allocation hints. | |
| AttributeFuncs | |
| bfi_detail | |
| bitc | |
| BPFISD | |
| CallingConv | |
| CallingConv Namespace - This namespace contains an enum with a value for the well-known calling conventions. | |
| cl | |
| cl Namespace - This namespace contains all of the command line option processing machinery. | |
| CodeGenOpt | |
| CodeModel | |
| COFF | |
| COFFYAML | |
| coverage | |
| detail | |
| Implementation details of the pass manager interfaces. | |
| DOT | |
| dwarf | |
| DWARFFlavour | |
| Flavour of dwarf regnumbers. | |
| ELF | |
| ELFYAML | |
| EngineKind | |
| FloatABI | |
| FPOpFusion | |
| GC | |
| GCOV | |
| GraphProgram | |
| hashing | |
| Hexagon | |
| HexagonII | |
| HexagonII - This namespace holds all of the target specific flags that instruction info tracks. | |
| HexagonISD | |
| HexagonMCInstrInfo | |
| HexStyle | |
| IndexedInstrProf | |
| InlineConstants | |
| IntervalMapImpl | |
| IntervalMapImpl - Namespace used for IntervalMap implementation details. | |
| Intrinsic | |
| This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM. | |
| ISD | |
| ISD namespace - This namespace contains an enum which represents all of the SelectionDAG node types and value types. | |
| JumpTable | |
| LCOMM | |
| legacy | |
| LibFunc | |
| lltok | |
| MachineCombinerPattern | |
| Enumeration of instruction pattern supported by machine combiner. | |
| MachO | |
| MCD | |
| MCID | |
| MCOI | |
| MCParserUtils | |
| mdconst | |
| Transitional API for extracting constants from Metadata. | |
| Mips | |
| Mips16HardFloatInfo | |
| MIPS_MC | |
| MipsII | |
| MipsII - This namespace holds all of the target specific flags that instruction info tracks. | |
| MipsISD | |
| MSP430II | |
| MSP430II - This namespace holds all of the target specific flags that instruction info tracks. | |
| MSP430ISD | |
| N86 | |
| Native X86 register numbers. | |
| NVPTX | |
| NVPTXCC | |
| NVPTXII | |
| NVPTXISD | |
| objcarc | |
| object | |
| opt | |
| orc | |
| PatternMatch | |
| PBQP | |
| PICLevel | |
| PICStyles | |
| The X86 backend supports a number of different styles of PIC. | |
| PPC | |
| Define some predicates that are used for node matching. | |
| PPCII | |
| PPCII - This namespace holds all of the PowerPC target-specific per-instruction flags. | |
| PPCISD | |
| RegState | |
| Reloc | |
| RTLIB | |
| sampleprof | |
| ScaledNumbers | |
| Sched | |
| SI | |
| Sparc | |
| SPCC | |
| SPII | |
| SPII - This namespace holds all of the target specific flags that instruction info tracks. | |
| SPISD | |
| support | |
| SymbolRewriter | |
| sys | |
| SystemZ | |
| SystemZCP | |
| SystemZICMP | |
| SystemZII | |
| SystemZISD | |
| SystemZMC | |
| TargetOpcode | |
| Invariant opcodes: All instruction sets have these as their low opcodes. | |
| tgtok | |
| ThreadModel | |
| TLSModel | |
| types | |
| WebAssemblyISD | |
| Win64EH | |
| WinEH | |
| X86 | |
| Define some predicates that are used for node matching. | |
| X86_MC | |
| X86Disassembler | |
| X86II | |
| X86II - This namespace holds all of the target specific flags that instruction info tracks. | |
| X86ISD | |
| XCore | |
| XCoreISD | |
| yaml | |
| zlib | |
Classes | |
| class | APFloat |
| A self-contained host- and target-independent arbitrary-precision floating-point software implementation. More... | |
| class | SmallVectorImpl |
| This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More... | |
| class | APInt |
| Class for arbitrary precision integers. More... | |
| class | APSInt |
| class | ArrayRef |
| ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. More... | |
| class | MutableArrayRef |
| MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memory), i.e. More... | |
| struct | isPodLike |
| isPodLike - This is a type trait that is used to determine whether a given type can be copied around with memcpy instead of running ctors etc. More... | |
| struct | isPodLike< ArrayRef< T > > |
| class | BitVector |
| class | DAGDeltaAlgorithm |
| DAGDeltaAlgorithm - Implements a "delta debugging" algorithm for minimizing directed acyclic graphs using a predicate function. More... | |
| class | DeltaAlgorithm |
| DeltaAlgorithm - Implements the delta debugging algorithm (A. More... | |
| class | DenseMapIterator |
| class | DenseMapBase |
| class | DenseMap |
| class | SmallDenseMap |
| 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 > > |
| struct | DenseMapInfo< StringRef > |
| class | DenseSet |
| DenseSet - This implements a dense probed hash-table based set. More... | |
| 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 | DebugEpochBase |
| class | EquivalenceClasses |
| EquivalenceClasses - This represents a collection of equivalence classes and supports three efficient operations: insert an element into a class of its own, union two classes, and find the class for a given element. More... | |
| class | FoldingSetImpl |
| FoldingSetImpl - Implements the folding set functionality. More... | |
| struct | FoldingSetTrait |
| FoldingSetTrait - This trait class is used to define behavior of how to "profile" (in the FoldingSet parlance) an object of a given type. More... | |
| struct | DefaultFoldingSetTrait |
| DefaultFoldingSetTrait - This class provides default implementations for FoldingSetTrait implementations. More... | |
| struct | ContextualFoldingSetTrait |
| ContextualFoldingSetTrait - Like FoldingSetTrait, but for ContextualFoldingSets. More... | |
| struct | DefaultContextualFoldingSetTrait |
| DefaultContextualFoldingSetTrait - Like DefaultFoldingSetTrait, but for ContextualFoldingSets. More... | |
| class | FoldingSetNodeIDRef |
| FoldingSetNodeIDRef - This class describes a reference to an interned FoldingSetNodeID, which can be a useful to store node id data rather than using plain FoldingSetNodeIDs, since the 32-element SmallVector is often much larger than necessary, and the possibility of heap allocation means it requires a non-trivial destructor call. More... | |
| class | FoldingSetNodeID |
| FoldingSetNodeID - This class is used to gather all the unique data bits of a node. More... | |
| class | FoldingSetIterator |
| class | FoldingSetBucketIterator |
| class | FoldingSet |
| FoldingSet - This template class is used to instantiate a specialized implementation of the folding set to the node class T. More... | |
| class | ContextualFoldingSet |
| ContextualFoldingSet - This template class is a further refinement of FoldingSet which provides a context argument when calling Profile on its nodes. More... | |
| class | FoldingSetVector |
| FoldingSetVector - This template class combines a FoldingSet and a vector to provide the interface of FoldingSet but with deterministic iteration order based on the insertion order. More... | |
| class | FoldingSetIteratorImpl |
| FoldingSetIteratorImpl - This is the common iterator support shared by all folding sets, which knows how to walk the folding set hash table. More... | |
| class | FoldingSetBucketIteratorImpl |
| FoldingSetBucketIteratorImpl - This is the common bucket iterator support shared by all folding sets, which knows how to walk a particular bucket of a folding set hash table. More... | |
| class | FoldingSetNodeWrapper |
| FoldingSetNodeWrapper - This template class is used to "wrap" arbitrary types in an enclosing object so that they can be inserted into FoldingSets. More... | |
| class | FastFoldingSetNode |
| FastFoldingSetNode - This is a subclass of FoldingSetNode which stores a FoldingSetNodeID value rather than requiring the node to recompute it each time it is needed. More... | |
| struct | FoldingSetTrait< T * > |
| struct | FoldingSetTrait< std::pair< T1, T2 > > |
| struct | GraphTraits |
| DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterators. More... | |
| struct | Inverse |
| struct | GraphTraits< Inverse< Inverse< T > > > |
| class | hash_code |
| An opaque object representing a hash code. More... | |
| class | iplist |
| iplist - The subset of list functionality that can safely be used on nodes of polymorphic types, i.e. More... | |
| class | ilist_iterator |
| struct | ilist_nextprev_traits |
| ilist_nextprev_traits - A fragment for template traits for intrusive list that provides default next/prev implementations for common operations. More... | |
| struct | ilist_traits |
| struct | ilist_sentinel_traits |
| ilist_sentinel_traits - A fragment for template traits for intrusive list that provides default sentinel implementations for common operations. More... | |
| struct | ilist_node_traits |
| ilist_node_traits - A fragment for template traits for intrusive list that provides default node related operations. More... | |
| struct | ilist_default_traits |
| ilist_default_traits - Default template traits for intrusive list. More... | |
| struct | ilist_traits< const Ty > |
| struct | simplify_type |
| struct | simplify_type< ilist_iterator< NodeTy > > |
| struct | simplify_type< const ilist_iterator< NodeTy > > |
| struct | ilist |
| class | ilist_half_node |
| ilist_half_node - Base class that provides prev services for sentinels. More... | |
| class | ilist_node |
| ilist_node - Base class that provides next/prev services for nodes that use ilist_nextprev_traits or ilist_default_traits. More... | |
| class | ImmutableListFactory |
| class | ImmutableListImpl |
| class | ImmutableList |
| ImmutableList - This class represents an immutable (functional) list. More... | |
| struct | DenseMapInfo< ImmutableList< T > > |
| struct | isPodLike< ImmutableList< T > > |
| struct | ImutKeyValueInfo |
| ImutKeyValueInfo -Traits class used by ImmutableMap. More... | |
| class | ImmutableMap |
| class | ImmutableMapRef |
| class | ImutAVLFactory |
| class | ImutIntervalAVLFactory |
| class | ImutAVLTreeInOrderIterator |
| class | ImutAVLTreeGenericIterator |
| class | ImutAVLTree |
| struct | ImutAVLValueIterator |
| Generic iterator that wraps a T::TreeTy::iterator and exposes iterator::getValue() on dereference. More... | |
| struct | ImutProfileInfo |
| Generic profile template. More... | |
| struct | ImutProfileInteger |
| Profile traits for integers. More... | |
| struct | ImutProfileInfo< bool > |
| Profile traits for booleans. More... | |
| struct | ImutProfileInfo< T * > |
| Generic profile trait for pointer types. More... | |
| struct | ImutContainerInfo |
| ImutContainerInfo - Generic definition of comparison operations for elements of immutable containers that defaults to using std::equal_to<> and std::less<> to perform comparison of elements. More... | |
| struct | ImutContainerInfo< T * > |
| ImutContainerInfo - Specialization for pointer values to treat pointers as references to unique objects. More... | |
| class | ImmutableSet |
| class | ImmutableSetRef |
| class | IndexedMap |
| class | IntEqClasses |
| struct | IntervalMapInfo |
| struct | IntervalMapHalfOpenInfo |
| class | IntervalMap |
| class | IntervalMapOverlaps |
| IntervalMapOverlaps - Iterate over the overlaps of mapped intervals in two IntervalMaps. More... | |
| class | IntrusiveRefCntPtr |
| IntrusiveRefCntPtr - A template class that implements a "smart pointer" that assumes the wrapped object has a reference count associated with it that can be managed via calls to IntrusivePtrAddRef/IntrusivePtrRelease. More... | |
| class | RefCountedBase |
| RefCountedBase - A generic base class for objects that wish to have their lifetimes managed using reference counts. More... | |
| class | RefCountedBaseVPTR |
| RefCountedBaseVPTR - A class that has the same function as RefCountedBase, but with a virtual destructor. More... | |
| struct | IntrusiveRefCntPtrInfo |
| class | ThreadSafeRefCountedBase |
A thread-safe version of llvm::RefCountedBase. More... | |
| struct | simplify_type< IntrusiveRefCntPtr< T > > |
| struct | simplify_type< const IntrusiveRefCntPtr< T > > |
| class | iterator_facade_base |
| CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of the interface. More... | |
| class | iterator_adaptor_base |
| CRTP base class for adapting an iterator to a different type. More... | |
| struct | pointee_iterator |
| An iterator type that allows iterating over the pointees via some other iterator. More... | |
| class | iterator_range |
| A range adaptor for a pair of iterators. More... | |
| class | MapVector |
| This class implements a map that also provides access to all stored values in a deterministic order. More... | |
| struct | SmallMapVector |
| A MapVector that performs no allocations if smaller than a certain size. More... | |
| class | Optional |
| struct | isPodLike< Optional< T > > |
| class | PackedVectorBase |
| class | PackedVectorBase< T, BitNum, BitVectorTy, false > |
| class | PackedVectorBase< T, BitNum, BitVectorTy, true > |
| class | PackedVector |
| Store a vector of values using a specific number of bits for each value. More... | |
| class | PointerIntPair |
| PointerIntPair - This class implements a pair of a pointer and small integer. More... | |
| 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. More... | |
| struct | PointerUnionTypeSelector< T, T, RET_EQ, RET_NE > |
| struct | PointerUnionTypeSelectorReturn< PointerUnionTypeSelector< T1, T2, RET_EQ, RET_NE > > |
| class | PointerUnionUIntTraits |
| Provide PointerLikeTypeTraits for void* that is used by PointerUnion for the two template arguments. More... | |
| class | PointerUnion |
| PointerUnion - This implements a discriminated union of two pointer types, and keeps the discriminator bit-mangled into the low bits of the pointer. More... | |
| class | PointerLikeTypeTraits< PointerUnion< PT1, PT2 > > |
| class | PointerUnion3 |
| PointerUnion3 - This is a pointer union of three pointer types. More... | |
| class | PointerLikeTypeTraits< PointerUnion3< PT1, PT2, PT3 > > |
| class | PointerUnion4 |
| PointerUnion4 - This is a pointer union of four pointer types. More... | |
| class | PointerLikeTypeTraits< PointerUnion4< PT1, PT2, PT3, PT4 > > |
| struct | DenseMapInfo< PointerUnion< T, U > > |
| class | po_iterator_storage |
| Default po_iterator_storage implementation with an internal set object. More... | |
| class | po_iterator_storage< SetType, true > |
| Specialization of po_iterator_storage that references an external set. More... | |
| class | po_iterator |
| struct | po_ext_iterator |
| struct | ipo_iterator |
| struct | ipo_ext_iterator |
| class | ReversePostOrderTraversal |
| class | PriorityQueue |
| PriorityQueue - This class behaves like std::priority_queue and provides a few additional convenience functions. More... | |
| class | scc_iterator |
| Enumerate the SCCs of a directed graph in reverse topological order of the SCC DAG. More... | |
| class | ScopedHashTable |
| class | ScopedHashTableVal |
| class | ScopedHashTableScope |
| class | ScopedHashTableIterator |
| class | SetVector |
| A vector that has set insertion semantics. More... | |
| class | SmallSetVector |
| A SetVector that performs no allocations if smaller than a certain size. More... | |
| class | SmallBitVector |
| SmallBitVector - This is a 'bitvector' (really, a variable-sized bit array), optimized for the case when the array is small. More... | |
| class | SmallPtrSetImplBase |
| SmallPtrSetImplBase - This is the common code shared among all the SmallPtrSet<>'s, which is almost everything. More... | |
| class | SmallPtrSetIteratorImpl |
| SmallPtrSetIteratorImpl - This is the common base class shared between all instances of SmallPtrSetIterator. More... | |
| class | SmallPtrSetIterator |
| SmallPtrSetIterator - This implements a const_iterator for SmallPtrSet. More... | |
| struct | RoundUpToPowerOfTwo |
| RoundUpToPowerOfTwo - This is a helper template that rounds N up to the next power of two (which means N itself if N is already a power of two). More... | |
| struct | RoundUpToPowerOfTwoH |
| RoundUpToPowerOfTwoH - If N is not a power of two, increase it. More... | |
| struct | RoundUpToPowerOfTwoH< N, false > |
| class | SmallPtrSetImpl |
A templated base class for SmallPtrSet which provides the typesafe interface that is common across all small sizes. More... | |
| class | SmallPtrSet |
| SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements. More... | |
| class | SmallSet |
| SmallSet - This maintains a set of unique values, optimizing for the case when the set is small (less than N). More... | |
| class | SmallSet< PointeeType *, N > |
| If this set is of pointer values, transparently switch over to using SmallPtrSet for performance. More... | |
| class | SmallString |
| SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better as a string (e.g. More... | |
| class | SmallVectorBase |
| This is all the non-templated stuff common to all SmallVectors. More... | |
| struct | SmallVectorStorage |
| Storage for the SmallVector elements which aren't contained in SmallVectorTemplateCommon. More... | |
| class | SmallVectorTemplateCommon |
| This is the part of SmallVectorTemplateBase which does not depend on whether the type T is a POD. More... | |
| class | SmallVectorTemplateBase |
| SmallVectorTemplateBase<isPodLike = false> - This is where we put method implementations that are designed to work with non-POD-like T's. More... | |
| class | SmallVectorTemplateBase< T, true > |
| SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's. More... | |
| struct | SmallVectorStorage< T, 1 > |
| struct | SmallVectorStorage< T, 0 > |
| class | SmallVector |
| This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small. More... | |
| struct | SparseBitVectorElement |
| SparseBitVector is an implementation of a bitvector that is sparse by only storing the elements that have non-zero bits set. More... | |
| struct | ilist_traits< SparseBitVectorElement< ElementSize > > |
| class | SparseBitVector |
| class | SparseMultiSet |
| Fast multiset implementation for objects that can be identified by small unsigned keys. More... | |
| struct | SparseSetValTraits |
| SparseSetValTraits - Objects in a SparseSet are identified by keys that can be uniquely converted to a small integer less than the set's universe. More... | |
| struct | SparseSetValFunctor |
| SparseSetValFunctor - Helper class for selecting SparseSetValTraits. More... | |
| struct | SparseSetValFunctor< KeyT, KeyT, KeyFunctorT > |
| SparseSetValFunctor<KeyT, KeyT> - Helper class for the common case of identity key/value sets. More... | |
| class | SparseSet |
| SparseSet - Fast set implmentation for objects that can be identified by small unsigned keys. More... | |
| class | Statistic |
| struct | identity |
| struct | less_ptr |
| struct | greater_ptr |
| class | function_ref |
| An efficient, type-erasing, non-owning reference to a callable. More... | |
| class | function_ref< Ret(Params...)> |
| class | mapped_iterator |
| struct | less_first |
| Function object to check whether the first component of a std::pair compares less than the first component of another std::pair. More... | |
| struct | less_second |
| Function object to check whether the second component of a std::pair compares less than the second component of another std::pair. More... | |
| struct | integer_sequence |
| Represents a compile-time sequence of integers. More... | |
| struct | index_sequence |
| Alias for the common case of a sequence of size_ts. More... | |
| struct | build_index_impl |
| struct | build_index_impl< 0, I...> |
| struct | index_sequence_for |
| Creates a compile-time integer sequence for a parameter pack. More... | |
| struct | FreeDeleter |
| struct | pair_hash |
| struct | less |
| A functor like C++14's std::less<void> in its absence. More... | |
| struct | equal |
| A functor like C++14's std::equal<void> in its absence. More... | |
| struct | deref |
| Binary functor that adapts to any other binary functor after dereferencing operands. More... | |
| class | StringMapConstIterator |
| class | StringMapIterator |
| class | StringMapEntry |
| StringMapEntry - This is used to represent one value that is inserted into a StringMap. More... | |
| class | StringMapEntryBase |
| StringMapEntryBase - Shared base class of StringMapEntry instances. More... | |
| class | StringMapImpl |
| StringMapImpl - This is the base class of StringMap that is shared among all of its instantiations. More... | |
| class | StringMap |
| StringMap - This is an unconventional map that is specialized for handling keys that are "strings", which are basically ranges of bytes. More... | |
| class | StringRef |
| StringRef - Represent a constant reference to a string, i.e. More... | |
| struct | isPodLike< StringRef > |
| class | StringSet |
| StringSet - A wrapper for StringMap that provides set-like functionality. More... | |
| class | StringSwitch |
| A switch()-like statement whose cases are string literals. More... | |
| class | TinyPtrVector |
| TinyPtrVector - This class is specialized for cases where there are normally 0 or 1 element in a vector, but is general enough to go beyond that when required. More... | |
| class | Triple |
| Triple - Helper class for working with autoconf configuration names. More... | |
| class | Twine |
| Twine - A lightweight data structure for efficiently representing the concatenation of temporary values as strings. More... | |
| class | UniqueVector |
| UniqueVector - This class produces a sequential ID number (base 1) for each unique entry that is added. More... | |
| struct | VariadicFunction |
| Class which can simulate a type-safe variadic function. More... | |
| struct | VariadicFunction1 |
| struct | VariadicFunction2 |
| struct | VariadicFunction3 |
| class | AliasAnalysis |
| class | AliasSet |
| class | AliasSetTracker |
| class | AnalysisManager |
| A generic analysis pass manager with lazy running and caching of results. More... | |
| class | AssumptionCache |
| A cache of .assume calls within a function. More... | |
| class | AssumptionAnalysis |
A function analysis which provides an AssumptionCache. More... | |
| class | AssumptionPrinterPass |
Printer pass for the AssumptionAnalysis results. More... | |
| class | AssumptionCacheTracker |
An immutable pass that tracks lazily created AssumptionCache objects. More... | |
| class | BlockFrequencyInfoImpl |
| Shared implementation for block frequency analysis. More... | |
| class | BlockFrequencyInfo |
| BlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate IR basic block frequencies. More... | |
| struct | isPodLike< bfi_detail::BlockMass > |
| class | BlockFrequencyInfoImplBase |
| Base class for BlockFrequencyInfoImpl. More... | |
| class | BranchProbabilityInfo |
| Analysis pass providing branch probability information. More... | |
| class | CallGraph |
The basic data container for the call graph of a Module of IR. More... | |
| class | CallGraphNode |
| A node in the call graph for a module. More... | |
| class | CallGraphAnalysis |
An analysis pass to compute the CallGraph for a Module. More... | |
| class | CallGraphWrapperPass |
The ModulePass which wraps up a CallGraph and the logic to build it. More... | |
| struct | GraphTraits< CallGraphNode * > |
| struct | GraphTraits< const CallGraphNode * > |
| struct | GraphTraits< CallGraph * > |
| struct | GraphTraits< const CallGraph * > |
| class | CallGraphSCCPass |
| class | CallGraphSCC |
| CallGraphSCC - This is a single SCC that a CallGraphSCCPass is run on. More... | |
| struct | CaptureTracker |
| This callback is used in conjunction with PointerMayBeCaptured. More... | |
| struct | DOTGraphTraits< const Function * > |
| class | CGSCCAnalysisManagerModuleProxy |
| A module analysis which acts as a proxy for a CGSCC analysis manager. More... | |
| class | ModuleAnalysisManagerCGSCCProxy |
| A CGSCC analysis which acts as a proxy for a module analysis manager. More... | |
| class | ModuleToPostOrderCGSCCPassAdaptor |
| The core module pass which does a post-order walk of the SCCs and runs a CGSCC pass over each one. More... | |
| class | FunctionAnalysisManagerCGSCCProxy |
| A CGSCC analysis which acts as a proxy for a function analysis manager. More... | |
| class | CGSCCAnalysisManagerFunctionProxy |
| A function analysis which acts as a proxy for a CGSCC analysis manager. More... | |
| class | CGSCCToFunctionPassAdaptor |
| Adaptor that maps from a SCC to its functions. More... | |
| struct | CodeMetrics |
| Utility to calculate the size and a few similar metrics for a set of basic blocks. More... | |
| class | Dependence |
| Dependence - This class represents a dependence between two memory memory references in a function. More... | |
| class | FullDependence |
| FullDependence - This class represents a dependence between two memory references in a function. More... | |
| class | DependenceAnalysis |
| DependenceAnalysis - This class is the main dependence-analysis driver. More... | |
| class | DominanceFrontierBase |
| DominanceFrontierBase - Common base class for computing forward and inverse dominance frontiers for a function. More... | |
| class | ForwardDominanceFrontierBase |
| DominanceFrontier Class - Concrete subclass of DominanceFrontierBase that is used to compute a forward dominator frontiers. More... | |
| class | DominanceFrontier |
| class | DFCalculateWorkObject |
| struct | DefaultAnalysisGraphTraits |
| Default traits class for extracting a graph from an analysis pass. More... | |
| class | DOTGraphTraitsViewer |
| class | DOTGraphTraitsPrinter |
| class | DOTGraphTraitsModuleViewer |
| class | DOTGraphTraitsModulePrinter |
| class | InlineCost |
| Represents the cost of inlining a function. More... | |
| class | InlineCostAnalysis |
| Cost analyzer used by inliner. More... | |
| class | Interval |
| Interval Class - An Interval is a set of nodes defined such that every node in the interval has all of its predecessors in the interval (except for the header) More... | |
| struct | GraphTraits< Interval * > |
| struct | GraphTraits< Inverse< Interval * > > |
| class | IntervalIterator |
| class | IntervalPartition |
| class | DomTreeNodeBase |
| Base class for the actual dominator tree node. More... | |
| class | IDFCalculator |
| Determine the iterated dominance frontier, given a set of defining blocks, and optionally, a set of live-in blocks. More... | |
| class | IVStrideUse |
| IVStrideUse - Keep track of one use of a strided induction variable. More... | |
| struct | ilist_traits< IVStrideUse > |
| class | IVUsers |
| class | LazyCallGraph |
| A lazily constructed view of the call graph of a module. More... | |
| struct | GraphTraits< LazyCallGraph::Node * > |
| struct | GraphTraits< LazyCallGraph * > |
| class | LazyCallGraphAnalysis |
| An analysis pass which computes the call graph for a module. More... | |
| class | LazyCallGraphPrinterPass |
A pass which prints the call graph to a raw_ostream. More... | |
| class | LazyValueInfo |
| This pass computes, caches, and vends lazy value constraint information. More... | |
| struct | LibCallAliasAnalysis |
| LibCallAliasAnalysis - Alias analysis driven from LibCallInfo. More... | |
| struct | LibCallLocationInfo |
| LibCallLocationInfo - This struct describes a set of memory locations that are accessed by libcalls. More... | |
| struct | LibCallFunctionInfo |
| LibCallFunctionInfo - Each record in the array of FunctionInfo structs records the behavior of one libcall that is known by the optimizer. More... | |
| class | LibCallInfo |
| LibCallInfo - Abstract interface to query about library call information. More... | |
| class | LoopAccessReport |
| Optimization analysis message produced during vectorization. More... | |
| struct | VectorizerParams |
| Collection of parameters shared beetween the Loop Vectorizer and the Loop Access Analysis. More... | |
| class | MemoryDepChecker |
| Checks memory dependences among accesses to the same underlying object to determine whether there vectorization is legal or not (and at which vectorization factor). More... | |
| class | RuntimePointerChecking |
| Holds information about the memory runtime legality checks to verify that a group of pointers do not overlap. More... | |
| class | LoopAccessInfo |
| Drive the analysis of memory accesses in the loop. More... | |
| class | LoopAccessAnalysis |
| This analysis provides dependence information for the memory accesses of a loop. More... | |
| class | DominatorTreeBase |
| Core dominator tree base class. More... | |
| class | LoopInfoBase |
| LoopInfo - This class builds and contains all of the top level loop structures in the specified function. More... | |
| class | LoopBase |
| LoopBase class - Instances of this class are used to represent loops that are detected in the flow graph. More... | |
| class | Loop |
| class | LoopInfo |
| struct | GraphTraits< const Loop * > |
| struct | GraphTraits< Loop * > |
| class | LoopAnalysis |
Analysis pass that exposes the LoopInfo for a function. More... | |
| class | LoopPrinterPass |
Printer pass for the LoopAnalysis results. More... | |
| class | LoopInfoWrapperPass |
| The legacy pass manager's analysis pass to compute loop information. More... | |
| class | PopulateLoopsDFS |
| Populate all loop data in a stable order during a single forward DFS. More... | |
| class | LoopBlocksDFS |
| Store the result of a depth first search within basic blocks contained by a single loop. More... | |
| class | po_iterator_storage< LoopBlocksTraversal, true > |
| Specialize po_iterator_storage to record postorder numbers. More... | |
| class | LoopBlocksTraversal |
| Traverse the blocks in a loop using a depth-first search. More... | |
| class | LoopPass |
| class | LPPassManager |
| class | ObjectSizeOffsetVisitor |
| Evaluate the size and offset of an object pointed to by a Value* statically. More... | |
| class | ObjectSizeOffsetEvaluator |
| Evaluate the size and offset of an object pointed to by a Value*. More... | |
| class | MemDepResult |
| MemDepResult - A memory dependence query can return one of three different answers, described below. More... | |
| class | NonLocalDepEntry |
| NonLocalDepEntry - This is an entry in the NonLocalDepInfo cache. More... | |
| class | NonLocalDepResult |
| NonLocalDepResult - This is a result from a NonLocal dependence query. More... | |
| class | MemoryDependenceAnalysis |
| MemoryDependenceAnalysis - This is an analysis that determines, for a given memory operation, what preceding memory operations it depends on. More... | |
| class | MemoryLocation |
| Representation for a specific memory location. More... | |
| struct | DenseMapInfo< MemoryLocation > |
| class | PHITransAddr |
| PHITransAddr - An address value which tracks and handles phi translation. More... | |
| struct | PostDominatorTree |
| PostDominatorTree Class - Concrete subclass of DominatorTree that is used to compute the post-dominator tree. More... | |
| struct | GraphTraits< PostDominatorTree * > |
| class | PtrUseVisitor |
| A base class for visitors over the uses of a pointer value. More... | |
| struct | RegionTraits |
| class | RegionBase |
| A single entry single exit Region. More... | |
| class | RegionInfoBase |
| Analysis that detects all canonical Regions. More... | |
| struct | RegionTraits< Function > |
| class | FlatIt |
| Marker class to iterate over the elements of a Region in flat mode. More... | |
| class | RegionNodeBase |
| A RegionNode represents a subregion or a BasicBlock that is part of a Region. More... | |
| class | RegionNode |
| class | Region |
| class | RegionInfo |
| class | RegionInfoPass |
| class | RNSuccIterator |
| Hierarchical RegionNode successor iterator. More... | |
| class | RNSuccIterator< FlatIt< NodeType >, BlockT, RegionT > |
| Flat RegionNode iterator. More... | |
| struct | GraphTraits< RegionInfo * > |
| struct | GraphTraits< RegionInfoPass * > |
| class | RegionPass |
| A pass that runs on each Region in a function. More... | |
| class | RGPassManager |
| The pass manager to schedule RegionPasses. More... | |
| class | SCEV |
| SCEV - This class represents an analyzed expression in the program. More... | |
| struct | FoldingSetTrait< SCEV > |
| struct | SCEVCouldNotCompute |
| SCEVCouldNotCompute - An object of this class is returned by queries that could not be answered. More... | |
| class | ScalarEvolution |
| ScalarEvolution - This class is the main scalar evolution driver. More... | |
| class | SCEVExpander |
| This class uses information about analyze scalars to rewrite expressions in canonical form. More... | |
| class | SCEVConstant |
| SCEVConstant - This class represents a constant integer value. More... | |
| class | SCEVCastExpr |
| SCEVCastExpr - This is the base class for unary cast operator classes. More... | |
| class | SCEVTruncateExpr |
| SCEVTruncateExpr - This class represents a truncation of an integer value to a smaller integer value. More... | |
| class | SCEVZeroExtendExpr |
| SCEVZeroExtendExpr - This class represents a zero extension of a small integer value to a larger integer value. More... | |
| class | SCEVSignExtendExpr |
| SCEVSignExtendExpr - This class represents a sign extension of a small integer value to a larger integer value. More... | |
| class | SCEVNAryExpr |
| SCEVNAryExpr - This node is a base class providing common functionality for n'ary operators. More... | |
| class | SCEVCommutativeExpr |
| SCEVCommutativeExpr - This node is the base class for n'ary commutative operators. More... | |
| class | SCEVAddExpr |
| SCEVAddExpr - This node represents an addition of some number of SCEVs. More... | |
| class | SCEVMulExpr |
| SCEVMulExpr - This node represents multiplication of some number of SCEVs. More... | |
| class | SCEVUDivExpr |
| SCEVUDivExpr - This class represents a binary unsigned division operation. More... | |
| class | SCEVAddRecExpr |
| SCEVAddRecExpr - This node represents a polynomial recurrence on the trip count of the specified loop. More... | |
| class | SCEVSMaxExpr |
| SCEVSMaxExpr - This class represents a signed maximum selection. More... | |
| class | SCEVUMaxExpr |
| SCEVUMaxExpr - This class represents an unsigned maximum selection. More... | |
| class | SCEVUnknown |
| SCEVUnknown - This means that we are dealing with an entirely unknown SCEV value, and only represent it as its LLVM Value. More... | |
| struct | SCEVVisitor |
| SCEVVisitor - This class defines a simple visitor class that may be used for various SCEV analysis purposes. More... | |
| class | SCEVTraversal |
| Visit all nodes in the expression tree using worklist traversal. More... | |
| struct | SCEVParameterRewriter |
| The SCEVParameterRewriter takes a scalar evolution expression and updates the SCEVUnknown components following the Map (Value -> Value). More... | |
| struct | SCEVApplyRewriter |
| The SCEVApplyRewriter takes a scalar evolution expression and applies the Map (Loop -> SCEV) to all AddRecExprs. More... | |
| class | AbstractLatticeFunction |
| AbstractLatticeFunction - This class is implemented by the dataflow instance to specify what the lattice values are and how they handle merges etc. More... | |
| class | SparseSolver |
| SparseSolver - This class is a general purpose solver for Sparse Conditional Propagation with a programmable lattice function. More... | |
| class | TargetFolder |
| TargetFolder - Create constants with target dependent folding. More... | |
| struct | VecDesc |
| VecDesc - Describes a possible vectorization of a function. More... | |
| class | TargetLibraryInfoImpl |
| Implementation of the target library information. More... | |
| class | TargetLibraryInfo |
| Provides information about what library functions are available for the current target. More... | |
| class | TargetLibraryAnalysis |
Analysis pass providing the TargetLibraryInfo. More... | |
| class | TargetLibraryInfoWrapperPass |
| struct | MemIntrinsicInfo |
| Information about a load/store intrinsic defined by the target. More... | |
| class | TargetTransformInfo |
| This pass provides access to the codegen interfaces that are needed for IR-level transformations. More... | |
| class | TargetIRAnalysis |
Analysis pass providing the TargetTransformInfo. More... | |
| class | TargetTransformInfoWrapperPass |
| Wrapper pass for TargetTransformInfo. More... | |
| class | TargetTransformInfoImplBase |
| Base class for use as a mix-in that aids implementing a TargetTransformInfo-compatible class. More... | |
| class | TargetTransformInfoImplCRTPBase |
| CRTP base class for use as a mix-in that aids implementing a TargetTransformInfo-compatible class. More... | |
| class | Trace |
| struct | SlotMapping |
| This struct contains the mapping from the slot numbers to unnamed metadata nodes and global values. More... | |
| class | BitCodeAbbrevOp |
| BitCodeAbbrevOp - This describes one or more operands in an abbreviation. More... | |
| struct | isPodLike< BitCodeAbbrevOp > |
| class | BitCodeAbbrev |
| BitCodeAbbrev - This class represents an abbreviation record. More... | |
| class | BitcodeWriterPass |
| Pass for writing a module of IR out to a bitcode file. More... | |
| class | BitstreamReader |
| This class is used to read from an LLVM bitcode stream, maintaining information that is global to decoding the entire file. More... | |
| struct | BitstreamEntry |
| When advancing through a bitstream cursor, each advance can discover a few different kinds of entries: More... | |
| class | BitstreamCursor |
| This represents a position within a bitcode file. More... | |
| class | BitstreamWriter |
| class | BitcodeDiagnosticInfo |
| class | AsmPrinter |
| This class is intended to be used as a driving class for all asm writers. More... | |
| class | BasicTTIImplBase |
| Base class which can be used to help build a TTI implementation. More... | |
| class | BasicTTIImpl |
| Concrete BasicTTIImpl that can be used if no further customization is needed. More... | |
| class | VirtRegAuxInfo |
| Calculate auxiliary information for a virtual register such as its spill weight and allocation hint. More... | |
| class | CCValAssign |
| CCValAssign - Represent assignment of one arg/retval to a location. More... | |
| struct | ForwardedRegister |
| Describes a register that needs to be forwarded from the prologue to a musttail call. More... | |
| class | CCState |
| CCState - This class holds information needed while lowering arguments and return values. More... | |
| class | DFAPacketizer |
| class | VLIWPacketizerList |
| class | DIEAbbrevData |
| DIEAbbrevData - Dwarf abbreviation data, describes one attribute of a Dwarf abbreviation. More... | |
| class | DIEAbbrev |
| DIEAbbrev - Dwarf abbreviation, describes the organization of a debug information object. More... | |
| class | DIEInteger |
| DIEInteger - An integer value DIE. More... | |
| class | DIEExpr |
| DIEExpr - An expression DIE. More... | |
| class | DIELabel |
| DIELabel - A label DIE. More... | |
| class | DIEDelta |
| DIEDelta - A simple label difference DIE. More... | |
| class | DIEString |
| DIEString - A container for string values. More... | |
| class | DIEEntry |
| class | DIETypeSignature |
| A signature reference to a type unit. More... | |
| class | DIELocList |
| DIELocList - Represents a pointer to a location list in the debug_loc section. More... | |
| class | DIEValue |
| struct | IntrusiveBackListNode |
| struct | IntrusiveBackListBase |
| class | IntrusiveBackList |
| class | DIEValueList |
| A list of DIE values. More... | |
| class | DIE |
| DIE - A structured debug information entry. More... | |
| class | DIELoc |
| DIELoc - Represents an expression location. More... | |
| class | DIEBlock |
| DIEBlock - Represents a block of values. More... | |
| struct | DwarfStringPoolEntry |
| Data for a string pool entry. More... | |
| struct | DwarfStringPoolEntryRef |
| String pool entry reference. More... | |
| class | EdgeBundles |
| class | FastISel |
| This is a fast-path instruction selection class that generates poor code and doesn't support illegal types or non-trivial lowering, but runs quickly. More... | |
| class | FaultMaps |
| class | FaultMapParser |
| A parser for the __llvm_faultmaps section generated by the FaultMaps class above. More... | |
| class | FunctionLoweringInfo |
| FunctionLoweringInfo - This contains information that is global to a function that is used when lowering a region of the function. More... | |
| struct | GCPoint |
| GCPoint - Metadata for a collector-safe point in machine code. More... | |
| struct | GCRoot |
| GCRoot - Metadata for a pointer to an object managed by the garbage collector. More... | |
| class | GCFunctionInfo |
| Garbage collection metadata for a single function. More... | |
| class | GCModuleInfo |
| An analysis pass which caches information about the entire Module. More... | |
| class | GCMetadataPrinter |
| GCMetadataPrinter - Emits GC metadata as assembly code. More... | |
| class | GCStrategy |
| GCStrategy describes a garbage collector algorithm's code generation requirements, and provides overridable hooks for those needs which cannot be abstractly described. More... | |
| class | IntrinsicLowering |
| struct | latency_sort |
| Sorting functions for the Available queue. More... | |
| class | LatencyPriorityQueue |
| class | LexicalScope |
| LexicalScope - This class is used to track scope information. More... | |
| class | LexicalScopes |
| LexicalScopes - This class provides interface to collect and use lexical scoping information from machine instruction. More... | |
| class | VNInfo |
| VNInfo - Value Number Information. More... | |
| class | LiveQueryResult |
| Result of a LiveRange query. More... | |
| class | LiveRange |
| This class represents the liveness of a register, stack slot, etc. More... | |
| class | LiveInterval |
| LiveInterval - This class represents the liveness of a register, or stack slot. More... | |
| class | LiveRangeUpdater |
| Helper class for performant LiveRange bulk updates. More... | |
| class | ConnectedVNInfoEqClasses |
| ConnectedVNInfoEqClasses - Helper class that can divide VNInfos in a LiveInterval into equivalence clases of connected components. More... | |
| class | LiveIntervals |
| class | LiveIntervalUnion |
| Union of live intervals that are strong candidates for coalescing into a single register (either physical or virtual depending on the context). More... | |
| class | LivePhysRegs |
| A set of live physical registers with functions to track liveness when walking backward/forward through a basic block. More... | |
| class | LiveRangeEdit |
| class | LiveRegMatrix |
| class | LiveStacks |
| class | LiveVariables |
| struct | ilist_traits< MachineInstr > |
| class | MachineBasicBlock |
| struct | MBB2NumberFunctor |
| struct | GraphTraits< MachineBasicBlock * > |
| struct | GraphTraits< const MachineBasicBlock * > |
| struct | GraphTraits< Inverse< MachineBasicBlock * > > |
| struct | GraphTraits< Inverse< const MachineBasicBlock * > > |
| class | MachineInstrSpan |
| MachineInstrSpan provides an interface to get an iteration range containing the instruction it was initialized with, along with all those instructions inserted prior to or following that instruction at some point after the MachineInstrSpan is constructed. More... | |
| class | MachineBlockFrequencyInfo |
| MachineBlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate machine basic block frequencies. More... | |
| class | MachineBranchProbabilityInfo |
| class | MachineConstantPoolValue |
| Abstract base class for all machine specific constantpool value subclasses. More... | |
| class | MachineConstantPoolEntry |
| This class is a data container for one entry in a MachineConstantPool. More... | |
| class | MachineConstantPool |
| The MachineConstantPool class keeps track of constants referenced by a function which must be spilled to memory. More... | |
| class | MachineDominanceFrontier |
| class | MachineDominatorTree |
| DominatorTree Class - Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree. More... | |
| struct | GraphTraits< MachineDomTreeNode * > |
| struct | GraphTraits< MachineDominatorTree * > |
| class | CalleeSavedInfo |
| The CalleeSavedInfo class tracks the information need to locate where a callee saved register is in the current frame. More... | |
| class | MachineFrameInfo |
| The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted. More... | |
| struct | ilist_traits< MachineBasicBlock > |
| struct | MachineFunctionInfo |
| MachineFunctionInfo - This class can be derived from and used by targets to hold private target-specific information for each MachineFunction. More... | |
| class | MachineFunction |
| struct | GraphTraits< MachineFunction * > |
| struct | GraphTraits< const MachineFunction * > |
| struct | GraphTraits< Inverse< MachineFunction * > > |
| struct | GraphTraits< Inverse< const MachineFunction * > > |
| struct | MachineFunctionAnalysis |
| MachineFunctionAnalysis - This class is a Pass that manages a MachineFunction object. More... | |
| class | MachineFunctionInitializer |
| This interface provides a way to initialize machine functions after they are created by the machine function analysis pass. More... | |
| class | MachineFunctionPass |
| MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of passes that operate on the MachineFunction representation. More... | |
| class | MachineInstr |
| Representation of each machine instruction. More... | |
| struct | MachineInstrExpressionTrait |
| Special DenseMapInfo traits to compare MachineInstr* by value of the instruction rather than by pointer value. More... | |
| class | MachineInstrBuilder |
| class | MIBundleBuilder |
| Helper class for constructing bundles of MachineInstrs. More... | |
| class | MachineOperandIteratorBase |
| MachineOperandIteratorBase - Iterator that can visit all operands on a MachineInstr, or all operands on a bundle of MachineInstrs. More... | |
| class | MIOperands |
| MIOperands - Iterate over operands of a single instruction. More... | |
| class | ConstMIOperands |
| ConstMIOperands - Iterate over operands of a single const instruction. More... | |
| class | MIBundleOperands |
| MIBundleOperands - Iterate over all operands in a bundle of machine instructions. More... | |
| class | ConstMIBundleOperands |
| ConstMIBundleOperands - Iterate over all operands in a const bundle of machine instructions. More... | |
| struct | MachineJumpTableEntry |
| MachineJumpTableEntry - One jump table in the jump table info. More... | |
| class | MachineJumpTableInfo |
| class | MachineLoop |
| class | MachineLoopInfo |
| struct | GraphTraits< const MachineLoop * > |
| struct | GraphTraits< MachineLoop * > |
| struct | MachinePointerInfo |
| MachinePointerInfo - This class contains a discriminated union of information about pointers in memory operands, relating them back to LLVM IR or to virtual locations (such as frame indices) that are exposed during codegen. More... | |
| class | MachineMemOperand |
| MachineMemOperand - A description of a memory reference used in the backend. More... | |
| struct | SEHHandler |
| struct | LandingPadInfo |
| LandingPadInfo - This structure is used to retain landing pad info for the current function. More... | |
| class | MachineModuleInfoImpl |
| MachineModuleInfoImpl - This class can be derived from and used by targets to hold private target-specific information for each Module. More... | |
| class | MachineModuleInfo |
| MachineModuleInfo - This class contains meta information specific to a module. More... | |
| class | MachineModuleInfoMachO |
| MachineModuleInfoMachO - This is a MachineModuleInfoImpl implementation for MachO targets. More... | |
| class | MachineModuleInfoELF |
| MachineModuleInfoELF - This is a MachineModuleInfoImpl implementation for ELF targets. More... | |
| class | MachineOperand |
| MachineOperand class - Representation of each machine instruction operand. More... | |
| class | MachinePassRegistryListener |
| MachinePassRegistryListener - Listener to adds and removals of nodes in registration list. More... | |
| class | MachinePassRegistryNode |
| MachinePassRegistryNode - Machine pass node stored in registration list. More... | |
| class | MachinePassRegistry |
| MachinePassRegistry - Track the registration of machine passes. More... | |
| class | RegisterPassParser |
| RegisterPassParser class - Handle the addition of new machine passes. More... | |
| struct | MachinePostDominatorTree |
| PostDominatorTree Class - Concrete subclass of DominatorTree that is used to compute the post-dominator tree. More... | |
| struct | RegionTraits< MachineFunction > |
| class | MachineRegionNode |
| class | MachineRegion |
| class | MachineRegionInfo |
| class | MachineRegionInfoPass |
| struct | GraphTraits< MachineRegionInfo * > |
| struct | GraphTraits< MachineRegionInfoPass * > |
| class | MachineRegisterInfo |
| MachineRegisterInfo - Keep track of information for virtual and physical registers, including vreg register classes, use/def chains for registers, etc. More... | |
| class | PSetIterator |
| Iterate over the pressure sets affected by the given physical or virtual register. More... | |
| struct | MachineSchedContext |
| MachineSchedContext provides enough context from the MachineScheduler pass for the target to instantiate a scheduler. More... | |
| class | MachineSchedRegistry |
| MachineSchedRegistry provides a selection of available machine instruction schedulers. More... | |
| struct | MachineSchedPolicy |
| Define a generic scheduling policy for targets that don't provide their own MachineSchedStrategy. More... | |
| class | MachineSchedStrategy |
| MachineSchedStrategy - Interface to the scheduling algorithm used by ScheduleDAGMI. More... | |
| class | ScheduleDAGMutation |
| Mutate the DAG as a postpass after normal DAG building. More... | |
| class | ScheduleDAGMI |
| ScheduleDAGMI is an implementation of ScheduleDAGInstrs that simply schedules machine instructions according to the given MachineSchedStrategy without much extra book-keeping. More... | |
| class | ScheduleDAGMILive |
| ScheduleDAGMILive is an implementation of ScheduleDAGInstrs that schedules machine instructions while updating LiveIntervals and tracking regpressure. More... | |
| class | ReadyQueue |
| Helpers for implementing custom MachineSchedStrategy classes. More... | |
| struct | SchedRemainder |
| Summarize the unscheduled region. More... | |
| class | SchedBoundary |
| Each Scheduling boundary is associated with ready queues. More... | |
| class | GenericSchedulerBase |
| Base class for GenericScheduler. More... | |
| class | GenericScheduler |
| GenericScheduler shrinks the unscheduled zone using heuristics to balance the schedule. More... | |
| class | PostGenericScheduler |
| PostGenericScheduler - Interface to the scheduling algorithm used by ScheduleDAGMI. More... | |
| class | SSAUpdaterTraits |
| class | MachineSSAUpdater |
| MachineSSAUpdater - This class updates SSA form for a set of virtual registers defined in multiple blocks. More... | |
| class | MachineTraceMetrics |
| class | MVT |
| MVT - Machine Value Type. More... | |
| class | MachORelocation |
| MachORelocation - This struct contains information about each relocation that needs to be emitted to the file. More... | |
| class | MIRParser |
| This class initializes machine functions by applying the state loaded from a MIR file. More... | |
| class | IdentifyingPassPtr |
| Discriminated union of Pass ID types. More... | |
| struct | isPodLike< IdentifyingPassPtr > |
| class | TargetPassConfig |
| Target-Independent Code Generator Pass Configuration Options. More... | |
| class | PBQPRAConstraint |
| Abstract base for classes implementing PBQP register allocation constraints (e.g. More... | |
| class | PBQPRAConstraintList |
| PBQP register allocation constraint composer. More... | |
| class | PseudoSourceValue |
| PseudoSourceValue - Special value supplied for machine level alias analysis. More... | |
| class | FixedStackPseudoSourceValue |
| FixedStackPseudoSourceValue - A specialized PseudoSourceValue for holding FixedStack values, which must include a frame index. More... | |
| class | RegisterRegAlloc |
| RegisterRegAlloc class - Track the registration of register allocators. More... | |
| class | RegisterClassInfo |
| struct | RegisterPressure |
| Base class for register pressure results. More... | |
| struct | IntervalPressure |
| RegisterPressure computed within a region of instructions delimited by TopIdx and BottomIdx. More... | |
| struct | RegionPressure |
| RegisterPressure computed within a region of instructions delimited by TopPos and BottomPos. More... | |
| class | PressureChange |
| Capture a change in pressure for a single pressure set. More... | |
| struct | isPodLike< PressureChange > |
| class | PressureDiff |
| List of PressureChanges in order of increasing, unique PSetID. More... | |
| class | PressureDiffs |
| Array of PressureDiffs. More... | |
| struct | RegPressureDelta |
| Store the effects of a change in pressure on things that MI scheduler cares about. More... | |
| struct | LiveRegSet |
| A set of live virtual registers and physical register units. More... | |
| class | RegPressureTracker |
| Track the current register pressure at some position in the instruction stream, and remember the high water mark within the region traversed. More... | |
| class | RegScavenger |
| struct | resource_sort |
| Sorting functions for the Available queue. More... | |
| class | ResourcePriorityQueue |
| class | GraphWriter |
| class | SDep |
| SDep - Scheduling dependency. More... | |
| struct | isPodLike< SDep > |
| class | SUnit |
| SUnit - Scheduling unit. This is a node in the scheduling DAG. More... | |
| class | SchedulingPriorityQueue |
| SchedulingPriorityQueue - This interface is used to plug different priorities computation algorithms into the list scheduler. More... | |
| class | ScheduleDAG |
| class | SUnitIterator |
| struct | GraphTraits< SUnit * > |
| struct | GraphTraits< ScheduleDAG * > |
| class | ScheduleDAGTopologicalSort |
| ScheduleDAGTopologicalSort is a class that computes a topological ordering for SUnits and provides methods for dynamically updating the ordering as new edges are added. More... | |
| struct | VReg2SUnit |
| An individual mapping from virtual register number to SUnit. More... | |
| struct | PhysRegSUOper |
| Record a physical register access. More... | |
| class | ScheduleDAGInstrs |
| ScheduleDAGInstrs - A ScheduleDAG subclass for scheduling lists of MachineInstrs. More... | |
| struct | ILPValue |
| Represent the ILP of the subDAG rooted at a DAG node. More... | |
| class | SchedDFSResult |
| Compute the values of each DAG node for various metrics during DFS. More... | |
| class | ScheduleHazardRecognizer |
| HazardRecognizer - This determines whether or not an instruction can be issued this cycle, and whether or not a noop needs to be inserted to handle the hazard. More... | |
| class | RegisterScheduler |
| class | ScoreboardHazardRecognizer |
| class | SDVTListNode |
| struct | FoldingSetTrait< SDVTListNode > |
| Specialize FoldingSetTrait for SDVTListNode to avoid computing temp FoldingSetNodeID and hash value. More... | |
| struct | ilist_traits< SDNode > |
| class | SDDbgInfo |
| Keeps track of dbg_value information through SDISel. More... | |
| class | SelectionDAG |
| This is used to represent a portion of an LLVM function in a low-level Data Dependence DAG representation suitable for instruction selection. More... | |
| struct | GraphTraits< SelectionDAG * > |
| class | SelectionDAGISel |
| SelectionDAGISel - This is the common base class used for SelectionDAG-based pattern-matching instruction selectors. More... | |
| struct | SDVTList |
| This represents a list of ValueType's that has been intern'd by a SelectionDAG. More... | |
| class | SDValue |
| Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation. More... | |
| struct | DenseMapInfo< SDValue > |
| struct | isPodLike< SDValue > |
| struct | simplify_type< SDValue > |
| Allow casting operators to work directly on SDValues as if they were SDNode*'s. More... | |
| struct | simplify_type< const SDValue > |
| class | SDUse |
| Represents a use of a SDNode. More... | |
| struct | simplify_type< SDUse > |
| simplify_type specializations - Allow casting operators to work directly on SDValues as if they were SDNode*'s. More... | |
| class | SDNode |
| Represents one node in the SelectionDAG. More... | |
| class | SDLoc |
| Wrapper class for IR location info (IR ordering and DebugLoc) to be passed into SDNode creation functions. More... | |
| struct | SDNodeFlags |
| These are IR-level optimization flags that may be propagated to SDNodes. More... | |
| class | UnarySDNode |
| This class is used for single-operand SDNodes. More... | |
| class | BinarySDNode |
| This class is used for two-operand SDNodes. More... | |
| class | BinaryWithFlagsSDNode |
| This class is an extension of BinarySDNode used from those opcodes that have associated extra flags. More... | |
| class | TernarySDNode |
| This class is used for three-operand SDNodes. More... | |
| class | HandleSDNode |
| This class is used to form a handle around another node that is persistent and is updated across invocations of replaceAllUsesWith on its operand. More... | |
| class | AddrSpaceCastSDNode |
| class | MemSDNode |
| This is an abstract virtual class for memory operations. More... | |
| class | AtomicSDNode |
| This is an SDNode representing atomic operations. More... | |
| class | MemIntrinsicSDNode |
| This SDNode is used for target intrinsics that touch memory and need an associated MachineMemOperand. More... | |
| class | ShuffleVectorSDNode |
| This SDNode is used to implement the code generator support for the llvm IR shufflevector instruction. More... | |
| class | ConstantSDNode |
| class | ConstantFPSDNode |
| class | GlobalAddressSDNode |
| class | FrameIndexSDNode |
| class | JumpTableSDNode |
| class | ConstantPoolSDNode |
| class | TargetIndexSDNode |
| Completely target-dependent object reference. More... | |
| class | BasicBlockSDNode |
| class | BuildVectorSDNode |
| A "pseudo-class" with methods for operating on BUILD_VECTORs. More... | |
| class | SrcValueSDNode |
| An SDNode that holds an arbitrary LLVM IR Value. More... | |
| class | MDNodeSDNode |
| class | RegisterSDNode |
| class | RegisterMaskSDNode |
| class | BlockAddressSDNode |
| class | EHLabelSDNode |
| class | ExternalSymbolSDNode |
| class | MCSymbolSDNode |
| class | CondCodeSDNode |
| class | CvtRndSatSDNode |
| NOTE: avoid using this node as this may disappear in the future and most targets don't support it. More... | |
| class | VTSDNode |
| This class is used to represent EVT's, which are used to parameterize some operations. More... | |
| class | LSBaseSDNode |
| Base class for LoadSDNode and StoreSDNode. More... | |
| class | LoadSDNode |
| This class is used to represent ISD::LOAD nodes. More... | |
| class | StoreSDNode |
| This class is used to represent ISD::STORE nodes. More... | |
| class | MaskedLoadStoreSDNode |
| This base class is used to represent MLOAD and MSTORE nodes. More... | |
| class | MaskedLoadSDNode |
| This class is used to represent an MLOAD node. More... | |
| class | MaskedStoreSDNode |
| This class is used to represent an MSTORE node. More... | |
| class | MaskedGatherScatterSDNode |
| This is a base class used to represent MGATHER and MSCATTER nodes. More... | |
| class | MaskedGatherSDNode |
| This class is used to represent an MGATHER node. More... | |
| class | MaskedScatterSDNode |
| This class is used to represent an MSCATTER node. More... | |
| class | MachineSDNode |
| An SDNode that represents everything that will be needed to construct a MachineInstr. More... | |
| class | SDNodeIterator |
| struct | GraphTraits< SDNode * > |
| class | IndexListEntry |
| This class represents an entry in the slot index list held in the SlotIndexes pass. More... | |
| struct | ilist_traits< IndexListEntry > |
| class | SlotIndex |
| SlotIndex - An opaque wrapper around machine indexes. More... | |
| struct | isPodLike< SlotIndex > |
| struct | Idx2MBBCompare |
| class | SlotIndexes |
| SlotIndexes pass. More... | |
| struct | IntervalMapInfo< SlotIndex > |
| class | PatchPointOpers |
| MI-level patchpoint operands. More... | |
| class | StatepointOpers |
| MI-level Statepoint operands. More... | |
| class | StackMaps |
| class | StackProtector |
| class | TargetLoweringObjectFileELF |
| class | TargetLoweringObjectFileMachO |
| class | TargetLoweringObjectFileCOFF |
| class | TargetSchedModel |
| Provide an instruction scheduling machine model to CodeGen passes. More... | |
| struct | EVT |
| EVT - Extended Value Type. More... | |
| class | VirtRegMap |
| class | ActionHandler |
| class | CatchHandler |
| class | CleanupHandler |
| struct | WinEHUnwindMapEntry |
| struct | WinEHHandlerType |
| struct | WinEHTryBlockMapEntry |
| struct | WinEHFuncInfo |
| struct | DILineInfo |
| DILineInfo - a format-neutral container for source line information. More... | |
| class | DIInliningInfo |
| DIInliningInfo - a format-neutral container for inlined code description. More... | |
| struct | DILineInfoSpecifier |
| DILineInfoSpecifier - controls which fields of DILineInfo container should be filled with data. More... | |
| class | DIContext |
| class | LoadedObjectInfo |
| An inferface for inquiring the load address of a loaded object file to be used by the DIContext implementations when applying relocations on the fly. More... | |
| class | DWARFAbbreviationDeclaration |
| class | DWARFAcceleratorTable |
| class | DWARFCompileUnit |
| class | DWARFContext |
| DWARFContext This data structure is the top level entity that deals with dwarf debug information parsing. More... | |
| class | DWARFContextInMemory |
| DWARFContextInMemory is the simplest possible implementation of a DWARFContext. More... | |
| class | DWARFAbbreviationDeclarationSet |
| class | DWARFDebugAbbrev |
| class | DWARFDebugAranges |
| class | DWARFDebugArangeSet |
| class | DWARFDebugFrame |
| A parsed .debug_frame section. More... | |
| class | DWARFDebugInfoEntryMinimal |
| DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data. More... | |
| struct | DWARFDebugInfoEntryInlinedChain |
| DWARFDebugInfoEntryInlinedChain - represents a chain of inlined_subroutine DIEs, (possibly ending with subprogram DIE), all of which are contained in some concrete inlined instance tree. More... | |
| class | DWARFDebugLine |
| class | DWARFDebugLoc |
| class | DWARFDebugLocDWO |
| class | DWARFDebugRangeList |
| class | DWARFFormValue |
| struct | DWARFSection |
| class | DWARFTypeUnit |
| class | DWARFUnitSectionBase |
| Base class for all DWARFUnitSection classes. More... | |
| class | DWARFUnitSection |
| Concrete instance of DWARFUnitSection, specialized for one Unit type. More... | |
| class | DWARFUnit |
| class | ConcreteSymbolEnumerator |
| class | DIADataStream |
| class | DIAEnumDebugStreams |
| class | DIAEnumLineNumbers |
| class | DIAEnumSourceFiles |
| class | DIAEnumSymbols |
| class | DIALineNumber |
| class | DIARawSymbol |
| class | DIASession |
| class | DIASourceFile |
| class | IPDBDataStream |
| IPDBDataStream defines an interface used to represent a stream consisting of a name and a series of records whose formats depend on the particular stream type. More... | |
| class | IPDBEnumChildren |
| class | IPDBLineNumber |
| class | IPDBRawSymbol |
| IPDBRawSymbol defines an interface used to represent an arbitrary symbol. More... | |
| class | IPDBSession |
| IPDBSession defines an interface used to provide a context for querying debug information from a debug data source (for example, a PDB). More... | |
| class | IPDBSourceFile |
| IPDBSourceFile defines an interface used to represent source files whose information are stored in the PDB. More... | |
| class | PDBContext |
| PDBContext This data structure is the top level entity that deals with PDB debug information parsing. More... | |
| class | PDBSymbol |
| PDBSymbol defines the base of the inheritance hierarchy for concrete symbol types (e.g. More... | |
| class | PDBSymbolAnnotation |
| class | PDBSymbolBlock |
| class | PDBSymbolCompiland |
| class | PDBSymbolCompilandDetails |
| class | PDBSymbolCompilandEnv |
| class | PDBSymbolCustom |
| PDBSymbolCustom represents symbols that are compiler-specific and do not fit anywhere else in the lexical hierarchy. More... | |
| class | PDBSymbolData |
| class | PDBSymbolExe |
| class | PDBSymbolFunc |
| class | PDBSymbolFuncDebugEnd |
| class | PDBSymbolFuncDebugStart |
| class | PDBSymbolLabel |
| class | PDBSymbolPublicSymbol |
| class | PDBSymbolThunk |
| class | PDBSymbolTypeArray |
| class | PDBSymbolTypeBaseClass |
| class | PDBSymbolTypeBuiltin |
| class | PDBSymbolTypeCustom |
| class | PDBSymbolTypeDimension |
| class | PDBSymbolTypeEnum |
| class | PDBSymbolTypeFriend |
| class | PDBSymbolTypeFunctionArg |
| class | PDBSymbolTypeFunctionSig |
| class | PDBSymbolTypeManaged |
| class | PDBSymbolTypePointer |
| class | PDBSymbolTypeTypedef |
| class | PDBSymbolTypeUDT |
| class | PDBSymbolTypeVTable |
| class | PDBSymbolTypeVTableShape |
| class | PDBSymbolUnknown |
| class | PDBSymbolUsingNamespace |
| class | PDBSymDumper |
| struct | PDB_UniqueId |
| Defines a 128-bit unique identifier. More... | |
| struct | VersionInfo |
| struct | Variant |
| 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 |
| Builder class for ExecutionEngines. More... | |
| struct | GenericValue |
| struct | JITEvent_EmittedFunctionDetails |
| JITEvent_EmittedFunctionDetails - Helper struct for containing information about a generated machine code function. More... | |
| class | JITEventListener |
| JITEventListener - Abstract interface for use by the JIT to notify clients about significant events during compilation. More... | |
| class | JITSymbolBase |
| Base class for symbols in the JIT. More... | |
| class | ObjectCache |
| This is the base ObjectCache type which can be provided to an ExecutionEngine for the purpose of avoiding compilation for Modules that have already been compiled and an object file is available. More... | |
| class | ObjectMemoryBuffer |
| SmallVector-backed MemoryBuffer instance. More... | |
| class | OProfileWrapper |
| class | MCJITMemoryManager |
| class | RTDyldMemoryManager |
| class | RuntimeDyld |
| class | RuntimeDyldChecker |
| RuntimeDyld invariant checker for verifying that RuntimeDyld has correctly applied relocations. More... | |
| class | SectionMemoryManager |
| This is a simple memory manager which implements the methods called by the RuntimeDyld class to allocate memory for section-based loading of objects, usually those generated by the MCJIT execution engine. More... | |
| class | SymbolTableListTraits |
| class | Argument |
| LLVM Argument representation. More... | |
| class | AssemblyAnnotationWriter |
| class | Attribute |
| class | AttributeSet |
| struct | DenseMapInfo< AttributeSet > |
| class | AttrBuilder |
| struct | ilist_traits< BasicBlock > |
| class | BasicBlock |
| LLVM Basic Block Representation. More... | |
| class | CallSiteBase |
| class | CallSite |
| class | ImmutableCallSite |
| ImmutableCallSite - establish a view to a call site for examination. More... | |
| class | PredIterator |
| class | SuccIterator |
| struct | isPodLike< SuccIterator< T, U > > |
| struct | GraphTraits< BasicBlock * > |
| struct | GraphTraits< const BasicBlock * > |
| struct | GraphTraits< Inverse< BasicBlock * > > |
| struct | GraphTraits< Inverse< const BasicBlock * > > |
| struct | GraphTraits< Function * > |
| struct | GraphTraits< const Function * > |
| struct | GraphTraits< Inverse< Function * > > |
| struct | GraphTraits< Inverse< const Function * > > |
| class | Comdat |
| class | Constant |
| This is an important base class in LLVM. More... | |
| class | ConstantFolder |
| ConstantFolder - Create constants with minimum, target independent, folding. More... | |
| class | ConstantRange |
| This class represents a range of values. More... | |
| struct | ConstantAggrKeyType |
| class | ConstantInt |
| This is the shared class of boolean and integer constants. More... | |
| class | ConstantFP |
| ConstantFP - Floating Point Values [float, double]. More... | |
| class | ConstantAggregateZero |
| ConstantAggregateZero - All zero aggregate value. More... | |
| class | ConstantArray |
| ConstantArray - Constant Array Declarations. More... | |
| struct | OperandTraits< ConstantArray > |
| class | ConstantStruct |
| struct | OperandTraits< ConstantStruct > |
| class | ConstantVector |
| ConstantVector - Constant Vector Declarations. More... | |
| struct | OperandTraits< ConstantVector > |
| class | ConstantPointerNull |
| ConstantPointerNull - a constant pointer value that points to null. More... | |
| class | ConstantDataSequential |
| ConstantDataSequential - A vector or array constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. More... | |
| class | ConstantDataArray |
| ConstantDataArray - An array constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. More... | |
| class | ConstantDataVector |
| ConstantDataVector - A vector constant whose element type is a simple 1/2/4/8-byte integer or float/double, and whose elements are just simple data values (i.e. More... | |
| class | BlockAddress |
| BlockAddress - The address of a basic block. More... | |
| struct | OperandTraits< BlockAddress > |
| class | ConstantExpr |
| ConstantExpr - a constant value that is initialized with an expression using other constant values. More... | |
| struct | OperandTraits< ConstantExpr > |
| class | UndefValue |
| UndefValue - 'undef' values are things that do not have specified contents. More... | |
| struct | LayoutAlignElem |
| Layout alignment element. More... | |
| struct | PointerAlignElem |
| Layout pointer alignment element. More... | |
| class | DataLayout |
| A parsed version of the target data layout string in and methods for querying it. More... | |
| class | StructLayout |
| Used to lazily calculate structure layout information for a target machine, based on the DataLayout structure. More... | |
| class | DebugInfoFinder |
| Utility to find all debug info in a module. More... | |
| class | TypedDINodeRef |
| Pointer union between a subclass of DINode and MDString. More... | |
| class | DITypeRefArray |
| class | DINode |
| Tagged DWARF-like metadata node. More... | |
| struct | simplify_type< const TypedDINodeRef< T > > |
| struct | simplify_type< TypedDINodeRef< T > > |
| class | GenericDINode |
| Generic tagged DWARF-like metadata node. More... | |
| class | DISubrange |
| Array subrange. More... | |
| class | DIEnumerator |
| Enumeration value. More... | |
| class | DIScope |
| Base class for scope-like contexts. More... | |
| class | DIFile |
| File. More... | |
| class | DIType |
| Base class for types. More... | |
| class | DIBasicType |
| Basic type, like 'int' or 'float'. More... | |
| class | DIDerivedTypeBase |
| Base class for DIDerivedType and DICompositeType. More... | |
| class | DIDerivedType |
| Derived types. More... | |
| class | DICompositeTypeBase |
| Base class for DICompositeType and DISubroutineType. More... | |
| class | DICompositeType |
| Composite types. More... | |
| class | DISubroutineType |
| Type array for a subprogram. More... | |
| class | DICompileUnit |
| Compile unit. More... | |
| class | DILocalScope |
| A scope for locals. More... | |
| class | DILocation |
| Debug location. More... | |
| class | DISubprogram |
| Subprogram description. More... | |
| class | DILexicalBlockBase |
| class | DILexicalBlock |
| class | DILexicalBlockFile |
| class | DINamespace |
| class | DIModule |
| A (clang) module that has been imported by the compile unit. More... | |
| class | DITemplateParameter |
| Base class for template parameters. More... | |
| class | DITemplateTypeParameter |
| class | DITemplateValueParameter |
| class | DIVariable |
| Base class for variables. More... | |
| class | DIGlobalVariable |
| Global variables. More... | |
| class | DILocalVariable |
| Local variable. More... | |
| class | DIExpression |
| DWARF expression. More... | |
| class | DIObjCProperty |
| class | DIImportedEntity |
| An imported module (C++ using directive or similar). More... | |
| class | DebugLoc |
| A debug info location. More... | |
| class | IntegerType |
| Class to represent integer types. More... | |
| class | FunctionType |
| FunctionType - Class to represent function types. More... | |
| class | CompositeType |
| CompositeType - Common super class of ArrayType, StructType, PointerType and VectorType. More... | |
| class | StructType |
| StructType - Class to represent struct types. More... | |
| class | SequentialType |
| SequentialType - This is the superclass of the array, pointer and vector type classes. More... | |
| class | ArrayType |
| ArrayType - Class to represent array types. More... | |
| class | VectorType |
| VectorType - Class to represent vector types. More... | |
| class | PointerType |
| PointerType - Class to represent pointers. More... | |
| class | DiagnosticInfo |
| This is the base abstract class for diagnostic reporting in the backend. More... | |
| class | DiagnosticInfoInlineAsm |
| Diagnostic information for inline asm reporting. More... | |
| class | DiagnosticInfoStackSize |
| Diagnostic information for stack size reporting. More... | |
| class | DiagnosticInfoDebugMetadataVersion |
| Diagnostic information for debug metadata version reporting. More... | |
| class | DiagnosticInfoSampleProfile |
| Diagnostic information for the sample profiler. More... | |
| class | DiagnosticInfoOptimizationBase |
| Common features for diagnostics dealing with optimization remarks. More... | |
| class | DiagnosticInfoOptimizationRemark |
| Diagnostic information for applied optimization remarks. More... | |
| class | DiagnosticInfoOptimizationRemarkMissed |
| Diagnostic information for missed-optimization remarks. More... | |
| class | DiagnosticInfoOptimizationRemarkAnalysis |
| Diagnostic information for optimization analysis remarks. More... | |
| class | DiagnosticInfoMIRParser |
| Diagnostic information for machine IR parser. More... | |
| class | DiagnosticInfoOptimizationFailure |
| Diagnostic information for optimization failures. More... | |
| class | DiagnosticPrinter |
| Interface for custom diagnostic printing. More... | |
| class | DiagnosticPrinterRawOStream |
| Basic diagnostic printer that uses an underlying raw_ostream. More... | |
| class | DIBuilder |
| class | BasicBlockEdge |
| class | DominatorTree |
| Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree. More... | |
| struct | GraphTraits< DomTreeNode * > |
| struct | GraphTraits< DominatorTree * > |
| class | DominatorTreeAnalysis |
Analysis pass which computes a DominatorTree. More... | |
| class | DominatorTreePrinterPass |
Printer pass for the DominatorTree. More... | |
| struct | DominatorTreeVerifierPass |
Verifier pass for the DominatorTree. More... | |
| class | DominatorTreeWrapperPass |
Legacy analysis pass which computes a DominatorTree. More... | |
| struct | ilist_traits< Argument > |
| class | Function |
| struct | OperandTraits< Function > |
| class | generic_gep_type_iterator |
| class | GlobalAlias |
| struct | OperandTraits< GlobalAlias > |
| class | GlobalObject |
| class | GlobalValue |
| class | GlobalVariable |
| struct | OperandTraits< GlobalVariable > |
| class | GVMaterializer |
| class | ConstantUniqueMap |
| class | InlineAsm |
| class | InstIterator |
| class | TerminatorInst |
| Subclasses of this class are all able to terminate a basic block. More... | |
| class | UnaryInstruction |
| struct | OperandTraits< UnaryInstruction > |
| class | BinaryOperator |
| struct | OperandTraits< BinaryOperator > |
| class | CastInst |
| This is the base class for all instructions that perform data casts. More... | |
| class | CmpInst |
| This class is the base class for the comparison instructions. More... | |
| struct | OperandTraits< CmpInst > |
| struct | ilist_traits< Instruction > |
| class | Instruction |
| class | PointerLikeTypeTraits< Instruction * > |
| class | AllocaInst |
| AllocaInst - an instruction to allocate memory on the stack. More... | |
| class | LoadInst |
| LoadInst - an instruction for reading from memory. More... | |
| class | StoreInst |
| StoreInst - an instruction for storing to memory. More... | |
| struct | OperandTraits< StoreInst > |
| class | FenceInst |
| FenceInst - an instruction for ordering other memory operations. More... | |
| class | AtomicCmpXchgInst |
| AtomicCmpXchgInst - an instruction that atomically checks whether a specified value is in a memory location, and, if it is, stores a new value there. More... | |
| struct | OperandTraits< AtomicCmpXchgInst > |
| class | AtomicRMWInst |
| AtomicRMWInst - an instruction that atomically reads a memory location, combines it with another value, and then stores the result back. More... | |
| struct | OperandTraits< AtomicRMWInst > |
| class | GetElementPtrInst |
| GetElementPtrInst - an instruction for type-safe pointer arithmetic to access elements of arrays and structs. More... | |
| struct | OperandTraits< GetElementPtrInst > |
| class | ICmpInst |
| This instruction compares its operands according to the predicate given to the constructor. More... | |
| class | FCmpInst |
| This instruction compares its operands according to the predicate given to the constructor. More... | |
| class | CallInst |
| CallInst - This class represents a function call, abstracting a target machine's calling convention. More... | |
| struct | OperandTraits< CallInst > |
| class | SelectInst |
| SelectInst - This class represents the LLVM 'select' instruction. More... | |
| struct | OperandTraits< SelectInst > |
| class | VAArgInst |
| VAArgInst - This class represents the va_arg llvm instruction, which returns an argument of the specified type given a va_list and increments that list. More... | |
| class | ExtractElementInst |
| ExtractElementInst - This instruction extracts a single (scalar) element from a VectorType value. More... | |
| struct | OperandTraits< ExtractElementInst > |
| class | InsertElementInst |
| InsertElementInst - This instruction inserts a single (scalar) element into a VectorType value. More... | |
| struct | OperandTraits< InsertElementInst > |
| class | ShuffleVectorInst |
| ShuffleVectorInst - This instruction constructs a fixed permutation of two input vectors. More... | |
| struct | OperandTraits< ShuffleVectorInst > |
| class | ExtractValueInst |
| ExtractValueInst - This instruction extracts a struct member or array element value from an aggregate value. More... | |
| class | InsertValueInst |
| InsertValueInst - This instruction inserts a struct field of array element value into an aggregate value. More... | |
| struct | OperandTraits< InsertValueInst > |
| class | PHINode |
| struct | OperandTraits< PHINode > |
| class | LandingPadInst |
| LandingPadInst - The landingpad instruction holds all of the information necessary to generate correct exception handling. More... | |
| struct | OperandTraits< LandingPadInst > |
| class | ReturnInst |
| ReturnInst - Return a value (possibly void), from a function. More... | |
| struct | OperandTraits< ReturnInst > |
| class | BranchInst |
| BranchInst - Conditional or Unconditional Branch instruction. More... | |
| struct | OperandTraits< BranchInst > |
| class | SwitchInst |
| SwitchInst - Multiway switch. More... | |
| struct | OperandTraits< SwitchInst > |
| class | IndirectBrInst |
| IndirectBrInst - Indirect Branch Instruction. More... | |
| struct | OperandTraits< IndirectBrInst > |
| class | InvokeInst |
| InvokeInst - Invoke instruction. More... | |
| struct | OperandTraits< InvokeInst > |
| class | ResumeInst |
| ResumeInst - Resume the propagation of an exception. More... | |
| struct | OperandTraits< ResumeInst > |
| class | UnreachableInst |
| UnreachableInst - This function has undefined behavior. More... | |
| class | TruncInst |
| This class represents a truncation of integer types. More... | |
| class | ZExtInst |
| This class represents zero extension of integer types. More... | |
| class | SExtInst |
| This class represents a sign extension of integer types. More... | |
| class | FPTruncInst |
| This class represents a truncation of floating point types. More... | |
| class | FPExtInst |
| This class represents an extension of floating point types. More... | |
| class | UIToFPInst |
| This class represents a cast unsigned integer to floating point. More... | |
| class | SIToFPInst |
| This class represents a cast from signed integer to floating point. More... | |
| class | FPToUIInst |
| This class represents a cast from floating point to unsigned integer. More... | |
| class | FPToSIInst |
| This class represents a cast from floating point to signed integer. More... | |
| class | IntToPtrInst |
| This class represents a cast from an integer to a pointer. More... | |
| class | PtrToIntInst |
| This class represents a cast from a pointer to an integer. More... | |
| class | BitCastInst |
| This class represents a no-op cast from one type to another. More... | |
| class | AddrSpaceCastInst |
| This class represents a conversion between pointers from one address space to another. More... | |
| class | InstVisitor |
| Base class for instruction visitors. More... | |
| class | IntrinsicInst |
| IntrinsicInst - A useful wrapper class for inspecting calls to intrinsic functions. More... | |
| class | DbgInfoIntrinsic |
| DbgInfoIntrinsic - This is the common base class for debug info intrinsics. More... | |
| class | DbgDeclareInst |
| DbgDeclareInst - This represents the llvm.dbg.declare instruction. More... | |
| class | DbgValueInst |
| DbgValueInst - This represents the llvm.dbg.value instruction. More... | |
| class | MemIntrinsic |
| MemIntrinsic - This is the common base class for memset/memcpy/memmove. More... | |
| class | MemSetInst |
| MemSetInst - This class wraps the llvm.memset intrinsic. More... | |
| class | MemTransferInst |
| MemTransferInst - This class wraps the llvm.memcpy/memmove intrinsics. More... | |
| class | MemCpyInst |
| MemCpyInst - This class wraps the llvm.memcpy intrinsic. More... | |
| class | MemMoveInst |
| MemMoveInst - This class wraps the llvm.memmove intrinsic. More... | |
| class | VAStartInst |
| VAStartInst - This represents the llvm.va_start intrinsic. More... | |
| class | VAEndInst |
| VAEndInst - This represents the llvm.va_end intrinsic. More... | |
| class | VACopyInst |
| VACopyInst - This represents the llvm.va_copy intrinsic. More... | |
| class | InstrProfIncrementInst |
| This represents the llvm.instrprof_increment intrinsic. More... | |
| class | IRBuilderDefaultInserter |
| This provides the default implementation of the IRBuilder 'InsertHelper' method that is called whenever an instruction is created by IRBuilder and needs to be inserted. More... | |
| class | IRBuilderBase |
| Common base class shared among various IRBuilders. More... | |
| class | IRBuilder |
| This provides a uniform API for creating instructions and inserting them into a basic block: either at the end of a BasicBlock, or at a specific iterator location in a block. More... | |
| class | PrintModulePass |
| Pass for printing a Module as LLVM's text IR assembly. More... | |
| class | PrintFunctionPass |
| Pass for printing a Function as LLVM's text IR assembly. More... | |
| class | PassManagerPrettyStackEntry |
| PassManagerPrettyStackEntry - This is used to print informative information about what pass is running when/if a stack trace is generated. More... | |
| class | PMStack |
| PMStack - This class implements a stack data structure of PMDataManager pointers. More... | |
| class | PMTopLevelManager |
| PMTopLevelManager manages LastUser info and collects common APIs used by top level pass managers. More... | |
| class | PMDataManager |
| PMDataManager provides the common place to manage the analysis data used by pass managers. More... | |
| class | FPPassManager |
| FPPassManager manages BBPassManagers and FunctionPasses. More... | |
| class | PassNameParser |
| class | FilteredPassNameParser |
| ===-------------------------------------------------------------------—===// FilteredPassNameParser class - Make use of the pass registration mechanism to automatically add a command line argument to opt for each pass that satisfies a filter criteria. More... | |
| class | PassArgFilter |
| ===-------------------------------------------------------------------—===// PassArgFilter - A filter for use with PassNameFilterParser that only accepts a Pass whose Arg matches certain strings. More... | |
| class | LLVMContext |
| This is an important class for using LLVM in a threaded context. More... | |
| class | Mangler |
| class | MDBuilder |
| class | Metadata |
| Root of the metadata hierarchy. More... | |
| class | MetadataAsValue |
| Metadata wrapper in the Value hierarchy. More... | |
| class | ReplaceableMetadataImpl |
| Shared implementation of use-lists for replaceable metadata. More... | |
| class | ValueAsMetadata |
| Value wrapper in the Metadata hierarchy. More... | |
| class | ConstantAsMetadata |
| class | LocalAsMetadata |
| class | MDString |
| A single uniqued string. More... | |
| struct | AAMDNodes |
| A collection of metadata nodes that might be associated with a memory access used by the alias-analysis infrastructure. More... | |
| struct | DenseMapInfo< AAMDNodes > |
| class | MDOperand |
| Tracking metadata reference owned by Metadata. More... | |
| struct | simplify_type< MDOperand > |
| struct | simplify_type< const MDOperand > |
| class | ContextAndReplaceableUses |
| Pointer to the context, with optional RAUW support. More... | |
| struct | TempMDNodeDeleter |
| class | MDNode |
| Metadata node. More... | |
| class | MDTuple |
| Tuple of metadata. More... | |
| class | TypedMDOperandIterator |
| Typed iterator through MDNode operands. More... | |
| class | MDTupleTypedArrayWrapper |
| Typed, array-like tuple of metadata. More... | |
| class | NamedMDNode |
| A tuple of MDNodes. More... | |
| class | MetadataTracking |
| API for tracking metadata references through RAUW and deletion. More... | |
| struct | ilist_traits< Function > |
| struct | ilist_traits< GlobalVariable > |
| struct | ilist_traits< GlobalAlias > |
| struct | ilist_traits< NamedMDNode > |
| class | Module |
| A Module instance is used to store all the information related to an LLVM module. More... | |
| class | ModuleSlotTracker |
| Manage lifetime of a slot tracker for printing IR. More... | |
| class | NoFolder |
| NoFolder - Create "constants" (actually, instructions) with no folding. More... | |
| struct | FixedNumOperandTraits |
| FixedNumOperandTraits - determine the allocation regime of the Use array when it is a prefix to the User object, and the number of Use objects is known at compile time. More... | |
| struct | OptionalOperandTraits |
| OptionalOperandTraits - when the number of operands may change at runtime. More... | |
| struct | VariadicOperandTraits |
| VariadicOperandTraits - determine the allocation regime of the Use array when it is a prefix to the User object, and the number of Use objects is only known at allocation time. More... | |
| struct | HungoffOperandTraits |
| HungoffOperandTraits - determine the allocation regime of the Use array when it is not a prefix to the User object, but allocated at an unrelated heap address. More... | |
| class | Operator |
| This is a utility class that provides an abstraction for the common functionality between Instructions and ConstantExprs. More... | |
| class | OverflowingBinaryOperator |
| Utility class for integer arithmetic operators which may exhibit overflow - Add, Sub, and Mul. More... | |
| class | PossiblyExactOperator |
| A udiv or sdiv instruction, which can be marked as "exact", indicating that no bits are destroyed. More... | |
| class | FastMathFlags |
| Convenience struct for specifying and reasoning about fast-math flags. More... | |
| class | FPMathOperator |
| Utility class for floating point operations which can have information about relaxed accuracy requirements attached to them. More... | |
| class | ConcreteOperator |
| A helper template for defining operators for individual opcodes. More... | |
| class | AddOperator |
| class | SubOperator |
| class | MulOperator |
| class | ShlOperator |
| class | SDivOperator |
| class | UDivOperator |
| class | AShrOperator |
| class | LShrOperator |
| class | ZExtOperator |
| class | GEPOperator |
| class | PtrToIntOperator |
| class | BitCastOperator |
| class | PreservedAnalyses |
| An abstract set of preserved analyses following a transformation pass run. More... | |
| class | PassManager |
| Manages a sequence of passes over units of IR. More... | |
| class | FunctionAnalysisManagerModuleProxy |
| A module analysis which acts as a proxy for a function analysis manager. More... | |
| class | ModuleAnalysisManagerFunctionProxy |
| A function analysis which acts as a proxy for a module analysis manager. More... | |
| class | ModuleToFunctionPassAdaptor |
| Trivial adaptor that maps from a module to its functions. More... | |
| struct | RequireAnalysisPass |
| A template utility pass to force an analysis result to be available. More... | |
| struct | InvalidateAnalysisPass |
| A template utility pass to force an analysis result to be invalidated. More... | |
| struct | InvalidateAllAnalysesPass |
| A utility pass that does nothing but preserves no analyses. More... | |
| class | PredIteratorCache |
| PredIteratorCache - This class is an extremely trivial cache for predecessor iterator queries. More... | |
| class | StatepointBase |
| Analogous to CallSiteBase, this provides most of the actual functionality for Statepoint and ImmutableStatepoint. More... | |
| class | ImmutableStatepoint |
| A specialization of it's base class for read only access to a gc.statepoint. More... | |
| class | Statepoint |
| A specialization of it's base class for read-write access to a gc.statepoint. More... | |
| class | GCRelocateOperands |
| Wraps a call to a gc.relocate and provides access to it's operands. More... | |
| class | TrackingMDRef |
| Tracking metadata reference. More... | |
| class | TypedTrackingMDRef |
| Typed tracking ref. More... | |
| struct | simplify_type< TrackingMDRef > |
| struct | simplify_type< const TrackingMDRef > |
| struct | simplify_type< TypedTrackingMDRef< T > > |
| struct | simplify_type< const TypedTrackingMDRef< T > > |
| class | Type |
| The instances of the Type class are immutable: once they are created, they are never changed. More... | |
| struct | isa_impl< PointerType, Type > |
| struct | GraphTraits< Type * > |
| struct | GraphTraits< const Type * > |
| class | TypeBuilder |
| TypeBuilder - This provides a uniform API for looking up types known at compile time. More... | |
| 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 > |
| void* is disallowed in LLVM types, but it occurs often enough in C code that we special case it. More... | |
| class | TypeBuilder< const void *, false > |
| class | TypeBuilder< volatile void *, false > |
| class | TypeBuilder< const volatile void *, false > |
| class | TypeBuilder< R(A1), cross > |
| class | TypeBuilder< R(A1, A2), cross > |
| class | TypeBuilder< R(A1, A2, A3), cross > |
| class | TypeBuilder< R(A1, A2, A3, A4), cross > |
| class | TypeBuilder< R(A1, A2, A3, A4, A5), cross > |
| class | TypeBuilder< R(...), cross > |
| class | TypeBuilder< R(A1,...), cross > |
| class | TypeBuilder< R(A1, A2,...), cross > |
| class | TypeBuilder< R(A1, A2, A3,...), cross > |
| class | TypeBuilder< R(A1, A2, A3, A4,...), cross > |
| class | TypeBuilder< R(A1, A2, A3, A4, A5,...), cross > |
| class | TypeFinder |
| TypeFinder - Walk over a module, identifying all of the types that are used by the module. More... | |
| class | PointerLikeTypeTraits< Use ** > |
| class | Use |
| A Use represents the edge between a Value definition and its users. More... | |
| struct | simplify_type< Use > |
| Allow clients to treat uses just like values when using casting operators. More... | |
| struct | simplify_type< const Use > |
| struct | UseListOrder |
| Structure to hold a use-list order. More... | |
| struct | OperandTraits |
| Compile-time customization of User operands. More... | |
| class | User |
| struct | simplify_type< User::op_iterator > |
| struct | simplify_type< User::const_op_iterator > |
| class | Value |
| LLVM Value Representation. More... | |
| struct | isa_impl< Constant, Value > |
| struct | isa_impl< Argument, Value > |
| struct | isa_impl< InlineAsm, Value > |
| struct | isa_impl< Instruction, Value > |
| struct | isa_impl< BasicBlock, Value > |
| struct | isa_impl< Function, Value > |
| struct | isa_impl< GlobalVariable, Value > |
| struct | isa_impl< GlobalAlias, Value > |
| struct | isa_impl< GlobalValue, Value > |
| struct | isa_impl< GlobalObject, Value > |
| class | PointerLikeTypeTraits< Value * > |
| class | PointerLikeTypeTraits< ValueHandleBase ** > |
| class | ValueHandleBase |
| This is the common base class of value handles. More... | |
| class | WeakVH |
| Value handle that is nullable, but tries to track the Value. More... | |
| struct | simplify_type< WeakVH > |
| struct | simplify_type< const WeakVH > |
| class | AssertingVH |
| Value handle that asserts if the Value is deleted. More... | |
| struct | DenseMapInfo< AssertingVH< T > > |
| struct | isPodLike< AssertingVH< T > > |
| class | TrackingVH |
| Value handle that tracks a Value across RAUW. More... | |
| class | CallbackVH |
| Value handle with callbacks on RAUW and destruction. More... | |
| class | ValueMapCallbackVH |
| class | ValueMapIterator |
| class | ValueMapConstIterator |
| struct | ValueMapConfig |
| This class defines the default behavior for configurable aspects of ValueMap<>. More... | |
| class | ValueMap |
| See the file comment. More... | |
| struct | DenseMapInfo< ValueMapCallbackVH< KeyT, ValueT, Config > > |
| class | ValueSymbolTable |
| This class provides a symbol table of name/value pairs. More... | |
| class | VerifierPass |
| class | LineEditor |
| class | Linker |
| This class provides the core functionality of linking in LLVM. More... | |
| struct | LTOCodeGenerator |
| C++ class which implements the opaque lto_code_gen_t type. More... | |
| struct | LTOModule |
| C++ class which implements the opaque lto_module_t type. More... | |
| struct | ConstantPoolEntry |
| class | ConstantPool |
| class | AssemblerConstantPools |
| class | MachineLocation |
| class | MCAsmBackend |
| Generic interface to target specific assembler backends. More... | |
| class | MCAsmInfo |
| This class is intended to be used as a base class for asm properties and features specific to the target. More... | |
| class | MCAsmInfoCOFF |
| class | MCAsmInfoMicrosoft |
| class | MCAsmInfoGNUCOFF |
| class | MCAsmInfoDarwin |
| class | MCAsmInfoELF |
| class | MCAsmLayout |
| Encapsulates the layout of an assembly file at a particular point in time. More... | |
| class | MCFragment |
| class | MCEncodedFragment |
| Interface implemented by fragments that contain encoded instructions and/or data. More... | |
| class | MCEncodedFragmentWithContents |
| Interface implemented by fragments that contain encoded instructions and/or data. More... | |
| class | MCEncodedFragmentWithFixups |
| Interface implemented by fragments that contain encoded instructions and/or data and also have fixups registered. More... | |
| class | MCDataFragment |
| Fragment for data and encoded instructions. More... | |
| class | MCCompactEncodedInstFragment |
| This is a compact (memory-size-wise) fragment for holding an encoded instruction (non-relaxable) that has no fixups registered. More... | |
| class | MCRelaxableFragment |
| A relaxable fragment holds on to its MCInst, since it may need to be relaxed during the assembler layout and relaxation stage. More... | |
| class | MCAlignFragment |
| class | MCFillFragment |
| class | MCOrgFragment |
| class | MCLEBFragment |
| class | MCDwarfLineAddrFragment |
| class | MCDwarfCallFrameFragment |
| class | MCSafeSEHFragment |
| struct | IndirectSymbolData |
| struct | DataRegionData |
| class | MCAssembler |
| class | MCCodeEmitter |
| MCCodeEmitter - Generic instruction encoding interface. More... | |
| class | MCCodeGenInfo |
| class | MCContext |
| Context object for machine code objects. More... | |
| class | MCDisassembler |
| Superclass for all disassemblers. More... | |
| struct | MCDwarfFile |
| Instances of this class represent the name of the dwarf .file directive and its associated dwarf file number in the MC file, and MCDwarfFile's are created and uniqued by the MCContext class where the file number for each is its index into the vector of DwarfFiles (note index 0 is not used and not a valid dwarf file number). More... | |
| class | MCDwarfLoc |
| Instances of this class represent the information from a dwarf .loc directive. More... | |
| class | MCLineEntry |
| Instances of this class represent the line information for the dwarf line table entries. More... | |
| class | MCLineSection |
| Instances of this class represent the line information for a compile unit where machine instructions have been assembled after seeing .loc directives. More... | |
| struct | MCDwarfLineTableHeader |
| class | MCDwarfDwoLineTable |
| class | MCDwarfLineTable |
| class | MCDwarfLineAddr |
| class | MCGenDwarfInfo |
| class | MCGenDwarfLabelEntry |
| class | MCCFIInstruction |
| struct | MCDwarfFrameInfo |
| class | MCDwarfFrameEmitter |
| struct | ELFRelocationEntry |
| class | MCELFObjectTargetWriter |
| class | MCELFStreamer |
| class | MCExpr |
| Base class for the full range of assembler expressions which are needed for parsing. More... | |
| class | MCConstantExpr |
| class | MCSymbolRefExpr |
| Represent a reference to a symbol from inside an expression. More... | |
| class | MCUnaryExpr |
| Unary assembler expressions. More... | |
| class | MCBinaryExpr |
| Binary assembler expressions. More... | |
| class | MCTargetExpr |
| This is an extension point for target-specific MCExpr subclasses to implement. More... | |
| class | MCExternalSymbolizer |
| Symbolize using user-provided, C API, callbacks. More... | |
| class | MCFixup |
| Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction) which requires assemble- or run- time patching. More... | |
| struct | MCFixupKindInfo |
| Target independent information on a fixup kind. More... | |
| class | MCOperand |
| Instances of this class represent operands of the MCInst class. More... | |
| struct | isPodLike< MCOperand > |
| class | MCInst |
| Instances of this class represent a single low-level machine instruction. More... | |
| class | MCInstBuilder |
| class | MCInstPrinter |
| This is an instance of a target assembly language printer that converts an MCInst to valid target assembly syntax. More... | |
| class | MCInstrAnalysis |
| class | MCOperandInfo |
| This holds information about one operand of a machine instruction, indicating the register class for register operands, etc. More... | |
| class | MCInstrDesc |
| Describe properties that are true of each instruction in the target description file. More... | |
| class | MCInstrInfo |
| Interface to description of machine instruction set. More... | |
| struct | InstrStage |
| These values represent a non-pipelined step in the execution of an instruction. More... | |
| struct | InstrItinerary |
| An itinerary represents the scheduling information for an instruction. More... | |
| class | InstrItineraryData |
| Itinerary data supplied by a subtarget to be used by a target. More... | |
| class | MCLabel |
| Instances of this class represent a label name in the MC file, and MCLabel are created and uniqued by the MCContext class. More... | |
| class | MCLOHDirective |
| Store Linker Optimization Hint information (LOH). More... | |
| class | MCLOHContainer |
| class | MCMachObjectTargetWriter |
| class | MachObjectWriter |
| class | MCObjectFileInfo |
| class | MCObjectStreamer |
| Streaming object file generation interface. More... | |
| class | MCObjectWriter |
| Defines the object file and target independent interfaces used by the assembler backend to write native file format object files. More... | |
| class | AsmCond |
| AsmCond - Class to support conditional assembly. More... | |
| class | AsmLexer |
| AsmLexer - Lexer class for assembly files. More... | |
| class | AsmToken |
| Target independent representation for an assembler token. More... | |
| class | MCAsmLexer |
| Generic assembler lexer interface, for use by target specific assembly lexers. More... | |
| class | InlineAsmIdentifierInfo |
| class | MCAsmParserSemaCallback |
| Generic Sema callback for assembly parser. More... | |
| class | MCAsmParser |
| Generic assembler parser interface, for use by target specific assembly parsers. More... | |
| class | MCAsmParserExtension |
| Generic interface for extending the MCAsmParser, which is implemented by target and object file assembly parser implementations. More... | |
| class | MCParsedAsmOperand |
| MCParsedAsmOperand - This abstract class represents a source-level assembly instruction operand. More... | |
| class | MCRegisterClass |
| MCRegisterClass - Base class of TargetRegisterClass. More... | |
| struct | MCRegisterDesc |
| MCRegisterDesc - This record contains information about a particular register. More... | |
| class | MCRegisterInfo |
| MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc objects that represent all of the machine registers that the target has. More... | |
| class | MCSubRegIterator |
| MCSubRegIterator enumerates all sub-registers of Reg. More... | |
| class | MCSubRegIndexIterator |
| Iterator that enumerates the sub-registers of a Reg and the associated sub-register indices. More... | |
| class | MCSuperRegIterator |
| MCSuperRegIterator enumerates all super-registers of Reg. More... | |
| class | MCRegUnitIterator |
| class | MCRegUnitMaskIterator |
| MCRegUnitIterator enumerates a list of register units and their associated lane masks for Reg. More... | |
| class | MCRegUnitRootIterator |
| MCRegUnitRootIterator enumerates the root registers of a register unit. More... | |
| class | MCRegAliasIterator |
| MCRegAliasIterator enumerates all registers aliasing Reg. More... | |
| class | MCRelocationInfo |
| Create MCExprs from relocations found in an object file. More... | |
| struct | MCProcResourceDesc |
| Define a kind of processor resource that will be modeled by the scheduler. More... | |
| struct | MCWriteProcResEntry |
| Identify one of the processor resource kinds consumed by a particular scheduling class for the specified number of cycles. More... | |
| struct | MCWriteLatencyEntry |
| Specify the latency in cpu cycles for a particular scheduling class and def index. More... | |
| struct | MCReadAdvanceEntry |
| Specify the number of cycles allowed after instruction issue before a particular use operand reads its registers. More... | |
| struct | MCSchedClassDesc |
| Summarize the scheduling resources required for an instruction of a particular scheduling class. More... | |
| struct | MCSchedModel |
| Machine model for scheduling, bundling, and heuristics. More... | |
| struct | ilist_node_traits< MCFragment > |
| class | MCSection |
| Instances of this class represent a uniqued identifier for a section in the current translation unit. More... | |
| class | MCSectionCOFF |
| MCSectionCOFF - This represents a section on Windows. More... | |
| class | MCSectionELF |
| MCSectionELF - This represents a section on linux, lots of unix variants and some bare metal systems. More... | |
| class | MCSectionMachO |
| MCSectionMachO - This represents a section on a Mach-O system (used by Mac OS X). More... | |
| class | MCTargetStreamer |
| Target specific streamer interface. More... | |
| class | ARMTargetStreamer |
| class | MCStreamer |
| Streaming machine code generation interface. More... | |
| class | MCSubtargetInfo |
| MCSubtargetInfo - Generic base class for all target subtargets. More... | |
| class | MCSymbol |
| MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created and uniqued by the MCContext class. More... | |
| class | MCSymbolCOFF |
| class | MCSymbolELF |
| class | MCSymbolizer |
| Symbolize and annotate disassembled instructions. More... | |
| class | MCSymbolMachO |
| struct | AsmRewrite |
| struct | ParseInstructionInfo |
| class | MCTargetAsmParser |
| MCTargetAsmParser - Generic interface to target specific assembly parsers. More... | |
| class | MCTargetOptions |
| class | MCValue |
| This represents an "assembler immediate". More... | |
| class | MCWinCOFFObjectTargetWriter |
| class | MCWinCOFFStreamer |
| class | SectionKind |
| SectionKind - This is a simple POD value that classifies the properties of a section. More... | |
| class | StringTableBuilder |
| Utility for building string tables with deduplicated suffixes. More... | |
| class | FeatureBitset |
| struct | SubtargetFeatureKV |
| SubtargetFeatureKV - Used to provide key value pairs for feature and CPU bit flags. More... | |
| struct | SubtargetInfoKV |
| SubtargetInfoKV - Used to provide key value pairs for CPU and arbitrary pointers. More... | |
| class | SubtargetFeatures |
| SubtargetFeatures - Manages the enabling and disabling of subtarget specific features. More... | |
| class | NewArchiveIterator |
| class | StackMapV1Parser |
| class | Pass |
| Pass interface - Implemented by all 'passes'. More... | |
| class | ModulePass |
| ModulePass class - This class is used to implement unstructured interprocedural optimizations and analyses. More... | |
| class | ImmutablePass |
| ImmutablePass class - This class is used to provide information that does not need to be run. More... | |
| class | FunctionPass |
| FunctionPass class - This class is used to implement most global optimizations. More... | |
| class | BasicBlockPass |
| BasicBlockPass class - This class is used to implement most local optimizations. More... | |
| class | AnalysisUsage |
| Represent the analysis usage information of a pass. More... | |
| class | AnalysisResolver |
| class | PassBuilder |
| This class provides access to building LLVM's passes. More... | |
| class | PassInfo |
| PassInfo class - An instance of this class exists for every pass known by the system, and can be obtained from a live Pass by calling its getPassInfo() method. More... | |
| class | PassRegistry |
| PassRegistry - This class manages the registration and intitialization of the pass subsystem as application startup, and assists the PassManager in resolving pass dependencies. More... | |
| struct | RegisterPass |
| RegisterPass<t> template - This template class is used to notify the system that a Pass is available for use, and registers it into the internal database maintained by the PassManager. More... | |
| class | RegisterAGBase |
| RegisterAnalysisGroup - Register a Pass as a member of an analysis group. More... | |
| struct | RegisterAnalysisGroup |
| struct | PassRegistrationListener |
| PassRegistrationListener class - This class is meant to be derived from by clients that are interested in which passes get registered and unregistered at runtime (which can be because of the RegisterPass constructors being run as the program starts up, or may be because a shared object just got loaded). More... | |
| struct | DenseMapInfo< coverage::CounterExpression > |
| Provide DenseMapInfo for CounterExpression. More... | |
| struct | InstrProfRecord |
| Profiling information for a single function. More... | |
| class | InstrProfIterator |
| A file format agnostic iterator over profiling data. More... | |
| class | InstrProfReader |
| Base class and interface for reading profiling data of any known instrprof format. More... | |
| class | TextInstrProfReader |
| Reader for the simple text based instrprof format. More... | |
| class | RawInstrProfReader |
| Reader for the raw instrprof binary format from runtime. More... | |
| class | InstrProfLookupTrait |
| Trait for lookups into the on-disk hash table for the binary instrprof format. More... | |
| class | IndexedInstrProfReader |
| Reader for the indexed binary instrprof format. More... | |
| class | InstrProfWriter |
| Writer for instrumentation based profile data. More... | |
| struct | DenseMapInfo< sampleprof::LineLocation > |
| struct | AlignmentCalcImpl |
| struct | AlignOf |
| AlignOf - A templated class that contains an enum value representing the alignment of the template argument. More... | |
| struct | AlignedCharArrayUnion |
| This union template exposes a suitably aligned and sized character array member which can hold elements of any of up to ten types. More... | |
| class | AllocatorBase |
CRTP base class providing obvious overloads for the core Allocate() methods of LLVM-style allocators. More... | |
| class | MallocAllocator |
| class | BumpPtrAllocatorImpl |
| Allocate memory in an ever growing pool, as if by bump-pointer. More... | |
| class | SpecificBumpPtrAllocator |
| A BumpPtrAllocator that allows only elements of a specific type to be allocated. More... | |
| class | ArrayRecycler |
| Recycle small arrays allocated from a BumpPtrAllocator. More... | |
| class | BlockFrequency |
| class | BranchProbability |
| struct | simplify_type< const From > |
| struct | isa_impl |
| struct | isa_impl< To, From, typename std::enable_if< std::is_base_of< To, From >::value >::type > |
| Always allow upcasts, and perform no dynamic check for them. More... | |
| struct | isa_impl_cl |
| struct | isa_impl_cl< To, const From > |
| struct | isa_impl_cl< To, From * > |
| struct | isa_impl_cl< To, From *const > |
| struct | isa_impl_cl< To, const From * > |
| struct | isa_impl_cl< To, const From *const > |
| struct | isa_impl_wrap |
| struct | isa_impl_wrap< To, FromTy, FromTy > |
| struct | cast_retty |
| 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_convert_val |
| struct | cast_convert_val< To, FromTy, FromTy > |
| struct | is_simple_type |
| class | circular_raw_ostream |
| circular_raw_ostream - A raw_ostream which can save its data to a circular buffer, or can pass it through directly to an underlying stream if specified with a buffer of zero. More... | |
| class | CrashRecoveryContext |
| Crash recovery helper object. More... | |
| class | CrashRecoveryContextCleanup |
| class | CrashRecoveryContextCleanupBase |
| class | CrashRecoveryContextDestructorCleanup |
| class | CrashRecoveryContextDeleteCleanup |
| class | CrashRecoveryContextReleaseRefCleanup |
| class | CrashRecoveryContextCleanupRegistrar |
| class | DataExtractor |
| class | DataStreamer |
| struct | DefaultDOTGraphTraits |
| DefaultDOTGraphTraits - This class provides the default implementations of all of the DOTGraphTraits methods. More... | |
| struct | DOTGraphTraits |
| DOTGraphTraits - Template class that can be specialized to customize how graphs are converted to 'dot' graphs. More... | |
| struct | ScopedFatalErrorHandler |
| ScopedFatalErrorHandler - This is a simple helper class which just calls install_fatal_error_handler in its constructor and remove_fatal_error_handler in its destructor. More... | |
| class | ReferenceStorage |
| Stores a reference that can be changed. More... | |
| class | ErrorOr |
| Represents either an error or a value T. More... | |
| class | FileOutputBuffer |
| FileOutputBuffer - This interface provides simple way to create an in-memory buffer which will be written to a file. More... | |
| class | FileRemover |
| FileRemover - This class is a simple object meant to be stack allocated. More... | |
| class | format_object_base |
| This is a helper class used for handling formatted output. More... | |
| class | format_object |
| These are templated helper classes used by the format function that capture the object to be formated and the format string. More... | |
| class | FormattedString |
| This is a helper class used for left_justify() and right_justify(). More... | |
| class | FormattedNumber |
| This is a helper class used for format_hex() and format_decimal(). More... | |
| class | formatted_raw_ostream |
| formatted_raw_ostream - A raw_ostream that wraps another one and keeps track of line and column position, allowing padding out to specific column boundaries and querying the number of lines written to the stream. More... | |
| struct | GCOVOptions |
| GCOVOptions - A struct for passing gcov options between functions. More... | |
| class | GCOVBuffer |
| GCOVBuffer - A wrapper around MemoryBuffer to provide GCOV specific read operations. More... | |
| class | GCOVFile |
| GCOVFile - Collects coverage information for one pair of coverage file (.gcno and .gcda). More... | |
| struct | GCOVEdge |
| GCOVEdge - Collects edge information. More... | |
| class | GCOVFunction |
| GCOVFunction - Collects function information. More... | |
| class | GCOVBlock |
| GCOVBlock - Collects block information. More... | |
| class | FileInfo |
| class | DominatorBase |
| Base class that other, more interesting dominator analyses inherit from. More... | |
| class | line_iterator |
| A forward iterator which reads text lines from a buffer. More... | |
| class | LockFileManager |
| Class that manages the creation of a lock file to aid implicit coordination between different processes. More... | |
| struct | object_deleter |
| object_deleter - Helper method for ManagedStatic. More... | |
| struct | object_deleter< T[N]> |
| class | ManagedStaticBase |
| ManagedStaticBase - Common base class for ManagedStatic instances. More... | |
| class | ManagedStatic |
| ManagedStatic - This transparently changes the behavior of global statics to be lazily constructed on demand (good for reducing startup times of dynamic libraries that link in LLVM components) and for making destruction be explicit through the llvm_shutdown() function call. More... | |
| struct | llvm_shutdown_obj |
| llvm_shutdown_obj - This is a simple helper class that calls llvm_shutdown() when it is destroyed. More... | |
| class | MD5 |
| class | MemoryBuffer |
| This interface provides simple read-only access to a block of memory, and provides simple methods for reading files and standard input into a memory buffer. More... | |
| class | MemoryBufferRef |
| class | MemoryObject |
| Interface to data which might be streamed. More... | |
| class | MutexGuard |
| Instances of this class acquire a given Mutex Lock when constructed and hold that lock until destruction. More... | |
| class | OnDiskChainedHashTableGenerator |
| Generates an on disk hash table. More... | |
| class | OnDiskChainedHashTable |
| Provides lookup on an on disk hash table. More... | |
| class | OnDiskIterableChainedHashTable |
| Provides lookup and iteration over an on disk hash table. More... | |
| class | OptionRegistry |
| Singleton class used to register debug options. More... | |
| class | OutputBuffer |
| struct | PluginLoader |
| class | PointerLikeTypeTraits |
| PointerLikeTypeTraits - This is a traits object that is used to handle pointer types and things that are just wrappers for pointers as a uniform entity. More... | |
| class | PointerLikeTypeTraits< T * > |
| class | PointerLikeTypeTraits< const T * > |
| class | PointerLikeTypeTraits< uintptr_t > |
| class | PrettyStackTraceEntry |
| PrettyStackTraceEntry - This class is used to represent a frame of the "pretty" stack trace that is dumped when a program crashes. More... | |
| class | PrettyStackTraceString |
| PrettyStackTraceString - This object prints a specified string (which should not contain newlines) to the stream as the stack trace when a crash occurs. More... | |
| class | PrettyStackTraceProgram |
| PrettyStackTraceProgram - This object prints a specified program arguments to the stream as the stack trace when a crash occurs. More... | |
| class | RandomNumberGenerator |
| A random number generator. More... | |
| class | raw_os_ostream |
| raw_os_ostream - A raw_ostream that writes to an std::ostream. More... | |
| class | raw_ostream |
| This class implements an extremely fast bulk output stream that can only output to a stream. More... | |
| class | raw_pwrite_stream |
| An abstract base class for streams implementations that also support a pwrite operation. More... | |
| class | raw_fd_ostream |
| A raw_ostream that writes to a file descriptor. More... | |
| class | raw_string_ostream |
| A raw_ostream that writes to an std::string. More... | |
| class | raw_svector_ostream |
| A raw_ostream that writes to an SmallVector or SmallString. More... | |
| class | raw_null_ostream |
| A raw_ostream that discards all output. More... | |
| class | buffer_ostream |
| struct | RecyclerStruct |
| RecyclerStruct - Implementation detail for Recycler. More... | |
| struct | ilist_traits< RecyclerStruct > |
| class | Recycler |
| Recycler - This class manages a linked-list of deallocated nodes and facilitates reusing deallocated memory in place of allocating new memory. More... | |
| class | RecyclingAllocator |
| RecyclingAllocator - This class wraps an Allocator, adding the functionality of recycling deleted objects. More... | |
| class | Regex |
| class | SimpleRegistryEntry |
| A simple registry entry which provides only a name, description, and no-argument constructor. More... | |
| class | RegistryTraits |
| Traits for registry entries. More... | |
| class | Registry |
| A global registry used in conjunction with static constructors to make pluggable components (like targets or garbage collectors) "just work" when linked with an executable. More... | |
| class | RegistryParser |
| A command-line parser for a registry. More... | |
| struct | SaveAndRestore |
| A utility class that uses RAII to save and restore the value of a variable. More... | |
| struct | SaveOr |
Similar to SaveAndRestore. More... | |
| class | ScaledNumberBase |
| class | ScaledNumber |
| Simple representation of a scaled number. More... | |
| struct | isPodLike< ScaledNumber< T > > |
| class | SMLoc |
| Represents a location in source code. More... | |
| class | SMRange |
| Represents a range in source code. More... | |
| class | SourceMgr |
| This owns the files read by a parser, handles include stacks, and handles diagnostic wrangling. More... | |
| class | SMFixIt |
| Represents a single fixit, a replacement of one range of text with another. More... | |
| class | SMDiagnostic |
| Instances of this class encapsulate one diagnostic report, allowing printing to a raw_ostream as a caret diagnostic. More... | |
| class | SpecialCaseList |
| class | StreamingMemoryObject |
| Interface to data which is actually streamed from a DataStreamer. More... | |
| class | StringPool |
| StringPool - An interned string pool. More... | |
| class | PooledStringPtr |
| PooledStringPtr - A pointer to an interned string. More... | |
| class | StringSaver |
| Saves strings in the inheritor's stable storage and returns a stable raw character pointer. More... | |
| class | BumpPtrStringSaver |
| class | ARMTargetParser |
| class | Target |
| Target - Wrapper for Target specific information. More... | |
| struct | TargetRegistry |
| TargetRegistry - Generic interface to target specific features. More... | |
| struct | RegisterTarget |
| RegisterTarget - Helper template for registering a target, for use in the target's initialization function. More... | |
| struct | RegisterMCAsmInfo |
| RegisterMCAsmInfo - Helper template for registering a target assembly info implementation. More... | |
| struct | RegisterMCAsmInfoFn |
| RegisterMCAsmInfoFn - Helper template for registering a target assembly info implementation. More... | |
| struct | RegisterMCCodeGenInfo |
| RegisterMCCodeGenInfo - Helper template for registering a target codegen info implementation. More... | |
| struct | RegisterMCCodeGenInfoFn |
| RegisterMCCodeGenInfoFn - Helper template for registering a target codegen info implementation. More... | |
| struct | RegisterMCInstrInfo |
| RegisterMCInstrInfo - Helper template for registering a target instruction info implementation. More... | |
| struct | RegisterMCInstrInfoFn |
| RegisterMCInstrInfoFn - Helper template for registering a target instruction info implementation. More... | |
| struct | RegisterMCInstrAnalysis |
| RegisterMCInstrAnalysis - Helper template for registering a target instruction analyzer implementation. More... | |
| struct | RegisterMCInstrAnalysisFn |
| RegisterMCInstrAnalysisFn - Helper template for registering a target instruction analyzer implementation. More... | |
| struct | RegisterMCRegInfo |
| RegisterMCRegInfo - Helper template for registering a target register info implementation. More... | |
| struct | RegisterMCRegInfoFn |
| RegisterMCRegInfoFn - Helper template for registering a target register info implementation. More... | |
| struct | RegisterMCSubtargetInfo |
| RegisterMCSubtargetInfo - Helper template for registering a target subtarget info implementation. More... | |
| struct | RegisterMCSubtargetInfoFn |
| RegisterMCSubtargetInfoFn - Helper template for registering a target subtarget info implementation. More... | |
| struct | RegisterTargetMachine |
| RegisterTargetMachine - Helper template for registering a target machine implementation, for use in the target machine initialization function. More... | |
| struct | RegisterMCAsmBackend |
| RegisterMCAsmBackend - Helper template for registering a target specific assembler backend. More... | |
| struct | RegisterMCAsmParser |
| RegisterMCAsmParser - Helper template for registering a target specific assembly parser, for use in the target machine initialization function. More... | |
| struct | RegisterAsmPrinter |
| RegisterAsmPrinter - Helper template for registering a target specific assembly printer, for use in the target machine initialization function. More... | |
| struct | RegisterMCCodeEmitter |
| RegisterMCCodeEmitter - Helper template for registering a target specific machine code emitter, for use in the target initialization function. More... | |
| class | TimeRecord |
| class | Timer |
| Timer - This class is used to track the amount of time spent between invocations of its startTimer()/stopTimer() methods. More... | |
| class | TimeRegion |
| The TimeRegion class is used as a helper class to call the startTimer() and stopTimer() methods of the Timer class. More... | |
| struct | NamedRegionTimer |
| NamedRegionTimer - This class is basically a combination of TimeRegion and Timer. More... | |
| class | TimerGroup |
| The TimerGroup class is used to group together related timers into a single report that is printed when the TimerGroup is destroyed. More... | |
| class | tool_output_file |
| This class contains a raw_fd_ostream and adds a few extra features commonly needed for compiler-like tool output files: More... | |
| struct | isPodLike< std::pair< T, U > > |
| class | is_integral_or_enum |
| Metafunction that determines whether the given type is either an integral type or an enumeration type. More... | |
| struct | add_lvalue_reference_if_not_pointer |
| If T is a pointer, just return it. If it is not, return T&. More... | |
| struct | add_lvalue_reference_if_not_pointer< T, typename std::enable_if< std::is_pointer< T >::value >::type > |
| struct | add_const_past_pointer |
| If T is a pointer to X, return a pointer to const X. More... | |
| struct | add_const_past_pointer< T, typename std::enable_if< std::is_pointer< T >::value >::type > |
| class | unique_lock |
| A pared-down imitation of std::unique_lock from C++11. More... | |
| class | RecTy |
| class | BitRecTy |
| BitRecTy - 'bit' - Represent a single bit. More... | |
| class | BitsRecTy |
| BitsRecTy - 'bits<n>' - Represent a fixed number of bits. More... | |
| class | IntRecTy |
| IntRecTy - 'int' - Represent an integer value of no particular size. More... | |
| class | StringRecTy |
| StringRecTy - 'string' - Represent an string value. More... | |
| class | ListRecTy |
| ListRecTy - 'list<Ty>' - Represent a list of values, all of which must be of the specified type. More... | |
| class | DagRecTy |
| DagRecTy - 'dag' - Represent a dag fragment. More... | |
| class | RecordRecTy |
| RecordRecTy - '[classname]' - Represent an instance of a class, such as: (R32 X = EAX). More... | |
| class | Init |
| class | TypedInit |
| TypedInit - This is the common super-class of types that have a specific, explicit, type. More... | |
| class | UnsetInit |
| UnsetInit - ? - Represents an uninitialized value. More... | |
| class | BitInit |
| BitInit - true/false - Represent a concrete initializer for a bit. More... | |
| class | BitsInit |
| BitsInit - { a, b, c } - Represents an initializer for a BitsRecTy value. More... | |
| class | IntInit |
| IntInit - 7 - Represent an initialization by a literal integer value. More... | |
| class | StringInit |
| StringInit - "foo" - Represent an initialization by a string value. More... | |
| class | ListInit |
| ListInit - [AL, AH, CL] - Represent a list of defs. More... | |
| class | OpInit |
| OpInit - Base class for operators. More... | |
| class | UnOpInit |
| UnOpInit - !op (X) - Transform an init. More... | |
| class | BinOpInit |
| BinOpInit - !op (X, Y) - Combine two inits. More... | |
| class | TernOpInit |
| TernOpInit - !op (X, Y, Z) - Combine two inits. More... | |
| class | VarInit |
| VarInit - 'Opcode' - Represent a reference to an entire variable object. More... | |
| class | VarBitInit |
| VarBitInit - Opcode{0} - Represent access to one bit of a variable or field. More... | |
| class | VarListElementInit |
| VarListElementInit - List[4] - Represent access to one element of a var or field. More... | |
| class | DefInit |
| DefInit - AL - Represent a reference to a 'def' in the description. More... | |
| class | FieldInit |
| FieldInit - X.Y - Represent a reference to a subfield of a variable. More... | |
| class | DagInit |
| DagInit - (v a, b) - Represent a DAG tree value. More... | |
| class | RecordVal |
| class | Record |
| struct | MultiClass |
| class | RecordKeeper |
| struct | LessRecord |
| LessRecord - Sorting predicate to sort record pointers by name. More... | |
| struct | LessRecordByID |
| LessRecordByID - Sorting predicate to sort record pointers by their unique ID. More... | |
| struct | LessRecordFieldName |
| LessRecordFieldName - Sorting predicate to sort record pointers by their name field. More... | |
| struct | LessRecordRegister |
| class | SetTheory |
| class | StringMatcher |
| StringMatcher - Given a list of strings and code to execute when they match, output a simple switch tree to classify the input string. More... | |
| class | StringToOffsetTable |
| StringToOffsetTable - This class uniques a bunch of nul-terminated strings and keeps track of their offset in a massive contiguous string allocation. More... | |
| struct | CostTblEntry |
| Cost Table Entry. More... | |
| struct | TypeConversionCostTblEntry |
| Type Conversion Cost Table. More... | |
| class | TargetFrameLowering |
| Information about stack frame layout on the target. More... | |
| class | TargetInstrInfo |
| TargetInstrInfo - Interface to description of machine instruction set. More... | |
| class | TargetIntrinsicInfo |
| TargetIntrinsicInfo - Interface to description of machine instruction set. More... | |
| class | TargetLoweringBase |
| This base class for TargetLowering contains the SelectionDAG-independent parts that can be used from the rest of CodeGen. More... | |
| class | TargetLowering |
| This class defines information used to lower LLVM code to legal SelectionDAG operators that the target instruction selector can accept natively. More... | |
| class | TargetLoweringObjectFile |
| class | TargetMachine |
| Primary interface to the complete machine description for the target machine. More... | |
| class | LLVMTargetMachine |
| This class describes a target machine that is implemented with the LLVM target-independent code generator. More... | |
| class | TargetOptions |
| struct | TargetRecip |
| class | TargetRegisterClass |
| struct | TargetRegisterInfoDesc |
| TargetRegisterInfoDesc - Extra information, not in MCRegisterDesc, about registers. More... | |
| struct | RegClassWeight |
| Each TargetRegisterClass has a per register weight, and weight limit which must be less than the limits of its pressure sets. More... | |
| class | TargetRegisterInfo |
| TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDesc objects that represent all of the machine registers that the target has. More... | |
| class | SuperRegClassIterator |
| struct | VirtReg2IndexFunctor |
| class | PrintReg |
| PrintReg - Helper class for printing registers on a raw_ostream. More... | |
| class | PrintRegUnit |
| PrintRegUnit - Helper class for printing register units on a raw_ostream. More... | |
| class | PrintVRegOrUnit |
| PrintVRegOrUnit - It is often convenient to track virtual registers and physical register units in the same list. More... | |
| class | TargetSelectionDAGInfo |
| TargetSelectionDAGInfo - Targets can subclass this to parameterize the SelectionDAG lowering and instruction selection process. More... | |
| class | TargetSubtargetInfo |
| TargetSubtargetInfo - Generic base class for all target subtargets. More... | |
| class | InstCombinePass |
| class | InstCombineWorklist |
| InstCombineWorklist - This is the worklist management logic for InstCombine. More... | |
| struct | InstrProfOptions |
| Options for the frontend instrumentation based profiling pass. More... | |
| struct | SanitizerCoverageOptions |
| struct | Inliner |
| Inliner - This class contains all of the helper code which is used to perform the inlining operations that do not depend on the policy. More... | |
| struct | BitSetInfo |
| struct | BitSetBuilder |
| struct | GlobalLayoutBuilder |
| This class implements a layout algorithm for globals referenced by bit sets that tries to keep members of small bit sets together. More... | |
| struct | ByteArrayBuilder |
| This class is used to build a byte array containing overlapping bit sets. More... | |
| class | PassManagerBuilder |
| PassManagerBuilder - This class is used to set up a standard optimization sequence for languages like C and C++, allowing some APIs to customize the pass sequence in various ways. More... | |
| struct | RegisterStandardPasses |
| Registers a function for adding a standard set of passes. More... | |
| class | EarlyCSEPass |
| A simple and fast domtree-based CSE pass. More... | |
| class | LowerExpectIntrinsicPass |
| class | SimplifyCFGPass |
| A pass to simplify and canonicalize the CFG of a function. More... | |
| struct | ASanStackVariableDescription |
| struct | ASanStackFrameLayout |
| struct | CriticalEdgeSplittingOptions |
| Option class for critical edge splitting. More... | |
| struct | ClonedCodeInfo |
| ClonedCodeInfo - This struct can be used to capture information about code being cloned, while it is being cloned. More... | |
| class | CloningDirector |
| A helper class used with CloneAndPruneIntoFromInst to change the default behavior while instructions are being cloned. More... | |
| class | InlineFunctionInfo |
| InlineFunctionInfo - This class captures the data input to the InlineFunction call, and records the auxiliary results produced by it. More... | |
| class | CodeExtractor |
| Utility class for extracting code into a new function. More... | |
| struct | GlobalStatus |
| As we analyze each global, keep track of some information about it. More... | |
| struct | LICMSafetyInfo |
| Captures loop safety information. More... | |
| class | RecurrenceDescriptor |
| The RecurrenceDescriptor is used to identify recurrences variables in a loop. More... | |
| class | LoopVersioning |
| This class emits a version of the loop where run-time checks ensure that may-alias pointers can't overlap. More... | |
| class | IVVisitor |
| Interface for visiting interesting IV users that are recognized but not simplified by this utility. More... | |
| class | FortifiedLibCallSimplifier |
| This class implements simplifications for calls to fortified library functions (__st*cpy_chk, __memcpy_chk, __memmove_chk, __memset_chk), to, when possible, replace them with their non-checking counterparts. More... | |
| class | LibCallSimplifier |
| LibCallSimplifier - This class implements a collection of optimizations that replace well formed calls to library functions with a more optimal form. More... | |
| class | SSAUpdater |
| Helper class for SSA formation on a set of values defined in multiple blocks. More... | |
| class | LoadAndStorePromoter |
| Helper class for promoting a collection of loads and stores into SSA Form using the SSAUpdater. More... | |
| class | SSAUpdaterImpl |
| struct | ilist_traits< SymbolRewriter::RewriteDescriptor > |
| struct | UnifyFunctionExitNodes |
| class | ValueMapTypeRemapper |
| ValueMapTypeRemapper - This is a class that can be implemented by clients to remap types when cloning constants and instructions. More... | |
| class | ValueMaterializer |
| ValueMaterializer - This is a class that can be implemented by clients to materialize Values on demand. More... | |
| struct | VectorizeConfig |
| Vectorize configuration. More... | |
| struct | GraphTraits< BlockFrequencyInfo * > |
| struct | DOTGraphTraits< BlockFrequencyInfo * > |
| struct | GraphTraits< IrreducibleGraph > |
| struct | DOTGraphTraits< DomTreeNode * > |
| struct | DOTGraphTraits< DominatorTree * > |
| struct | DOTGraphTraits< PostDominatorTree * > |
| struct | DOTGraphTraits< CallGraph * > |
| struct | AnalysisCallGraphWrapperPassTraits |
| struct | DOTGraphTraits< RegionNode * > |
| struct | DOTGraphTraits< RegionInfoPass * > |
| struct | StratifiedInfo |
| struct | StratifiedLink |
| class | StratifiedSets |
| class | StratifiedSetsBuilder |
| class | LLLexer |
| struct | ValID |
| ValID - Represents a reference of a definition of some sort with no type. More... | |
| class | LLParser |
| struct | OperandTraits< ConstantPlaceHolder > |
| class | ValueEnumerator |
| class | AggressiveAntiDepState |
| Contains all the state necessary for anti-dep breaking. More... | |
| class | AggressiveAntiDepBreaker |
| class | AllocationOrder |
| class | AntiDepBreaker |
| This class works in conjunction with the post-RA scheduler to rename registers to break register anti-dependencies (WAR hazards). More... | |
| class | AddressPool |
| class | AsmPrinterHandler |
| Collects and handles AsmPrinter objects required to build debug or EH information. More... | |
| class | ByteStreamer |
| class | APByteStreamer |
| class | HashingByteStreamer |
| class | BufferByteStreamer |
| class | DbgValueHistoryMap |
| class | DebugLocEntry |
| This struct describes location entries emitted in the .debug_loc section. More... | |
| class | DebugLocStream |
| Byte stream of .debug_loc entries. More... | |
| class | DIEHash |
| An object containing the capability of hashing and adding hash attributes onto a DIE. More... | |
| class | DwarfAccelTable |
| class | DwarfCompileUnit |
| class | SrcLineInfo |
| This class is used to record source line correspondence. More... | |
| class | DbgVariable |
| This class is used to track local variable information. More... | |
| struct | SymbolCU |
| Helper used to pair up a symbol and its DWARF compile unit. More... | |
| class | DwarfDebug |
| Collects and handles dwarf debug information. More... | |
| class | DwarfCFIExceptionBase |
| class | DwarfCFIException |
| class | ARMException |
| class | DwarfExpression |
| Base class containing the logic for constructing DWARF expressions independently of whether they are emitted into a DIE or into a .debug_loc entry. More... | |
| class | DebugLocDwarfExpression |
| DwarfExpression implementation for .debug_loc entries. More... | |
| class | DIEDwarfExpression |
| DwarfExpression implementation for singular DW_AT_location. More... | |
| class | DwarfFile |
| class | DwarfStringPool |
| class | RangeSpan |
| class | RangeSpanList |
| class | DwarfUnit |
| This dwarf writer support class manages information associated with a source file. More... | |
| class | DwarfTypeUnit |
| class | EHStreamer |
| Emits exception handling directives. More... | |
| class | WinCodeViewLineTables |
| Collects and handles line tables information in a CodeView format. More... | |
| class | WinException |
| class | BranchFolder |
| class | CriticalAntiDepBreaker |
| class | DefaultVLIWScheduler |
| class | InterferenceCache |
| class | LiveDebugVariables |
| class | LiveRangeCalc |
| struct | GraphTraits< MachineBlockFrequencyInfo * > |
| struct | DOTGraphTraits< MachineBlockFrequencyInfo * > |
| struct | DOTGraphTraits< const MachineFunction * > |
| class | MMIAddrLabelMapCallbackPtr |
| class | MMIAddrLabelMap |
| struct | GraphTraits< ScheduleDAGMI * > |
| struct | DOTGraphTraits< ScheduleDAGMI * > |
| class | SSAUpdaterTraits< MachineSSAUpdater > |
| class | po_iterator_storage< LoopBounds, true > |
| struct | MIToken |
| A token produced by the machine instruction lexer. More... | |
| struct | PerFunctionMIParsingState |
| class | MIRParserImpl |
| This class implements the parsing of LLVM IR that's embedded inside a MIR file. More... | |
| class | PassConfigImpl |
| class | RegAllocBase |
| RegAllocBase provides the register allocation driver and interface that can be extended to add interesting heuristics. More... | |
| class | CoalescerPair |
| A helper class for register coalescers. More... | |
| class | SchedDFSImpl |
| Internal state used to compute SchedDFSResult. More... | |
| struct | DOTGraphTraits< ScheduleDAG * > |
| class | InstrEmitter |
| class | DAGTypeLegalizer |
| DAGTypeLegalizer - This takes an arbitrary SelectionDAG as input and hacks on it until only value types the target machine can handle are left. More... | |
| class | ScheduleDAGSDNodes |
| ScheduleDAGSDNodes - A ScheduleDAG for scheduling SDNode-based DAGs. More... | |
| class | SDDbgValue |
| SDDbgValue - Holds the information from a dbg_value node through SDISel. More... | |
| class | SelectionDAGBuilder |
| SelectionDAGBuilder - This is the common target-independent lowering implementation that is parameterized by a TargetLowering object. More... | |
| struct | RegsForValue |
| RegsForValue - This struct represents the registers (physical or virtual) that a particular set of values is assigned, and the type information about the value. More... | |
| class | OptLevelChanger |
| This class is used by SelectionDAGISel to temporarily override the optimization level on a per-function basis. More... | |
| struct | DOTGraphTraits< SelectionDAG * > |
| class | StatepointLoweringState |
| This class tracks both per-statepoint and per-selectiondag information. More... | |
| class | Spiller |
| Spiller interface. More... | |
| class | SpillPlacement |
| class | SplitAnalysis |
| SplitAnalysis - Analyze a LiveInterval, looking for live range splitting opportunities. More... | |
| class | SplitEditor |
| SplitEditor - Edit machine code and LiveIntervals for live range splitting. More... | |
| class | FrameEntry |
| Abstract frame entry defining the common interface concrete entries implement. More... | |
| class | IntelJITEventsWrapper |
| class | AllocaHolder |
| struct | ExecutionContext |
| class | Interpreter |
| class | LinkingSymbolResolver |
| class | MCJIT |
| class | RuntimeDyldCheckerExprEval |
| class | RuntimeDyldCheckerImpl |
| class | RuntimeDyldCOFF |
| class | RuntimeDyldELF |
| class | SectionEntry |
| SectionEntry - represents a section emitted into memory by the dynamic linker. More... | |
| class | RelocationEntry |
| RelocationEntry - used to represent relocations internally in the dynamic linker. More... | |
| class | RelocationValueRef |
| class | SymbolTableEntry |
| Symbol info for RuntimeDyld. More... | |
| class | RuntimeDyldImpl |
| class | RuntimeDyldMachO |
| class | RuntimeDyldMachOCRTPBase |
| RuntimeDyldMachOTarget - Templated base class for generic MachO linker algorithms and data structures. More... | |
| class | RuntimeDyldCOFFX86_64 |
| class | RuntimeDyldMachOAArch64 |
| class | RuntimeDyldMachOARM |
| class | RuntimeDyldMachOI386 |
| class | RuntimeDyldMachOX86_64 |
| class | SlotTracker |
| This class provides computation of slot numbers for LLVM Assembly writing. More... | |
| class | AttributeImpl |
| class | EnumAttributeImpl |
| class | IntAttributeImpl |
| class | StringAttributeImpl |
| class | AttributeSetNode |
| class | AttributeSetImpl |
| class | UnaryConstantExpr |
| UnaryConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement unary constant exprs. More... | |
| class | BinaryConstantExpr |
| BinaryConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement binary constant exprs. More... | |
| class | SelectConstantExpr |
| SelectConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement select constant exprs. More... | |
| class | ExtractElementConstantExpr |
| ExtractElementConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement extractelement constant exprs. More... | |
| class | InsertElementConstantExpr |
| InsertElementConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement insertelement constant exprs. More... | |
| class | ShuffleVectorConstantExpr |
| ShuffleVectorConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement shufflevector constant exprs. More... | |
| class | ExtractValueConstantExpr |
| ExtractValueConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement extractvalue constant exprs. More... | |
| class | InsertValueConstantExpr |
| InsertValueConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement insertvalue constant exprs. More... | |
| class | GetElementPtrConstantExpr |
| GetElementPtrConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement getelementpr constant exprs. More... | |
| class | CompareConstantExpr |
| struct | OperandTraits< UnaryConstantExpr > |
| struct | OperandTraits< BinaryConstantExpr > |
| struct | OperandTraits< SelectConstantExpr > |
| struct | OperandTraits< ExtractElementConstantExpr > |
| struct | OperandTraits< InsertElementConstantExpr > |
| struct | OperandTraits< ShuffleVectorConstantExpr > |
| struct | OperandTraits< ExtractValueConstantExpr > |
| struct | OperandTraits< InsertValueConstantExpr > |
| struct | OperandTraits< GetElementPtrConstantExpr > |
| struct | OperandTraits< CompareConstantExpr > |
| struct | ConstantInfo |
| struct | ConstantInfo< ConstantExpr > |
| struct | ConstantInfo< InlineAsm > |
| struct | ConstantInfo< ConstantArray > |
| struct | ConstantInfo< ConstantStruct > |
| struct | ConstantInfo< ConstantVector > |
| struct | InlineAsmKeyType |
| struct | ConstantExprKeyType |
| struct | DenseMapAPIntKeyInfo |
| struct | DenseMapAPFloatKeyInfo |
| struct | AnonStructTypeKeyInfo |
| struct | FunctionTypeKeyInfo |
| class | MDNodeOpsKey |
| Structure for hashing arbitrary MDNode operands. More... | |
| struct | MDNodeKeyImpl |
| struct | MDNodeInfo |
| DenseMapInfo for MDNode subclasses. More... | |
| struct | MDNodeKeyImpl< MDTuple > |
| DenseMapInfo for MDTuple. More... | |
| struct | MDNodeKeyImpl< DILocation > |
| DenseMapInfo for DILocation. More... | |
| struct | MDNodeKeyImpl< GenericDINode > |
| DenseMapInfo for GenericDINode. More... | |
| struct | MDNodeKeyImpl< DISubrange > |
| struct | MDNodeKeyImpl< DIEnumerator > |
| struct | MDNodeKeyImpl< DIBasicType > |
| struct | MDNodeKeyImpl< DIDerivedType > |
| struct | MDNodeKeyImpl< DICompositeType > |
| struct | MDNodeKeyImpl< DISubroutineType > |
| struct | MDNodeKeyImpl< DIFile > |
| struct | MDNodeKeyImpl< DICompileUnit > |
| struct | MDNodeKeyImpl< DISubprogram > |
| struct | MDNodeKeyImpl< DILexicalBlock > |
| struct | MDNodeKeyImpl< DILexicalBlockFile > |
| struct | MDNodeKeyImpl< DINamespace > |
| struct | MDNodeKeyImpl< DIModule > |
| struct | MDNodeKeyImpl< DITemplateTypeParameter > |
| struct | MDNodeKeyImpl< DITemplateValueParameter > |
| struct | MDNodeKeyImpl< DIGlobalVariable > |
| struct | MDNodeKeyImpl< DILocalVariable > |
| struct | MDNodeKeyImpl< DIExpression > |
| struct | MDNodeKeyImpl< DIObjCProperty > |
| struct | MDNodeKeyImpl< DIImportedEntity > |
| class | MDAttachmentMap |
| Map-like storage for metadata attachments. More... | |
| class | LLVMContextImpl |
| class | LLVMDisasmContext |
| struct | DenseMapInfo< CIEKey > |
| class | RecordStreamer |
| struct | fltSemantics |
| struct | ilist_sentinel_traits< Token > |
| struct | ilist_node_traits< Token > |
| class | TableGenStringKey |
| TableGenStringKey - This is a wrapper for std::string suitable for using as a key to a DenseMap. More... | |
| struct | DenseMapInfo< TableGenStringKey > |
| Specialize DenseMapInfo for TableGenStringKey. More... | |
| class | TGLexer |
| TGLexer - TableGen Lexer class. More... | |
| struct | SubClassReference |
| struct | SubMultiClassReference |
| struct | LetRecord |
| struct | ForeachLoop |
| ForeachLoop - Record the iteration state associated with a for loop. More... | |
| class | TGParser |
| class | AArch64FrameLowering |
| class | AArch64InstrInfo |
| class | AArch64TargetLowering |
| class | AArch64FunctionInfo |
| AArch64FunctionInfo - This class is derived from MachineFunctionInfo and contains private AArch64-specific information for each MachineFunction. More... | |
| class | AArch64MCInstLower |
| AArch64MCInstLower - This class is used to lower an MachineInstr into an MCInst. More... | |
| class | A57ChainingConstraint |
| Add the accumulator chaining constraint to a PBQP graph. More... | |
| struct | AArch64RegisterInfo |
| class | AArch64SelectionDAGInfo |
| class | AArch64Subtarget |
| class | AArch64TargetMachine |
| class | AArch64leTargetMachine |
| class | AArch64beTargetMachine |
| class | AArch64_ELFTargetObjectFile |
| This implementation is used for AArch64 ELF targets (Linux in particular). More... | |
| class | AArch64_MachoTargetObjectFile |
| AArch64_MachoTargetObjectFile - This TLOF implementation is used for Darwin. More... | |
| class | AArch64TTIImpl |
| class | AArch64Disassembler |
| class | AArch64ExternalSymbolizer |
| class | AArch64InstPrinter |
| class | AArch64AppleInstPrinter |
| struct | AArch64MCAsmInfoDarwin |
| struct | AArch64MCAsmInfoELF |
| class | AArch64MCExpr |
| class | AArch64TargetStreamer |
| struct | AArch64NamedImmMapper |
| Instances of this class can perform bidirectional mapping from random identifier strings to operand encodings. More... | |
| class | AMDGPUAsmPrinter |
| class | AMDGPUFrameLowering |
| Information about the stack frame layout on the AMDGPU targets. More... | |
| class | AMDGPUInstrInfo |
| class | AMDGPUIntrinsicInfo |
| class | AMDGPUTargetLowering |
| class | AMDGPUMachineFunction |
| class | AMDGPUMCInstLower |
| struct | AMDGPURegisterInfo |
| class | AMDGPUSubtarget |
| class | AMDGPUTargetMachine |
| class | R600TargetMachine |
| class | GCNTargetMachine |
| class | AMDGPUTTIImpl |
| class | AMDGPUInstPrinter |
| class | AMDGPUMCAsmInfo |
| class | AMDGPUMCCodeEmitter |
| class | AMDGPUTargetStreamer |
| class | AMDGPUTargetAsmStreamer |
| class | AMDGPUTargetELFStreamer |
| class | R600InstrInfo |
| class | R600TargetLowering |
| class | R600MachineFunctionInfo |
| class | R600SchedStrategy |
| struct | R600RegisterInfo |
| class | SIInstrInfo |
| class | SITargetLowering |
| class | SIMachineFunctionInfo |
| This class keeps track of the SPI_SP_INPUT_ADDR config register, which tells the hardware which interpolation parameters to load. More... | |
| struct | SIRegisterInfo |
| class | ARMAsmPrinter |
| class | ARMBaseInstrInfo |
| class | ARMBaseRegisterInfo |
| class | ARMConstantPoolValue |
| ARMConstantPoolValue - ARM specific constantpool value. More... | |
| class | ARMConstantPoolConstant |
| ARMConstantPoolConstant - ARM-specific constant pool values for Constants, Functions, and BlockAddresses. More... | |
| class | ARMConstantPoolSymbol |
| ARMConstantPoolSymbol - ARM-specific constantpool values for external symbols. More... | |
| class | ARMConstantPoolMBB |
| ARMConstantPoolMBB - ARM-specific constantpool value of a machine basic block. More... | |
| class | ARMFrameLowering |
| class | ARMHazardRecognizer |
| ARMHazardRecognizer handles special constraints that are not expressed in the scheduling itinerary. More... | |
| class | ARMInstrInfo |
| class | ARMTargetLowering |
| class | ARMFunctionInfo |
| ARMFunctionInfo - This class is derived from MachineFunctionInfo and contains private ARM-specific information for each MachineFunction. More... | |
| struct | ARMRegisterInfo |
| class | ARMSelectionDAGInfo |
| class | ARMSubtarget |
| class | ARMBaseTargetMachine |
| class | ARMTargetMachine |
| ARMTargetMachine - ARM target machine. More... | |
| class | ARMLETargetMachine |
| ARMLETargetMachine - ARM little endian target machine. More... | |
| class | ARMBETargetMachine |
| ARMBETargetMachine - ARM big endian target machine. More... | |
| class | ThumbTargetMachine |
| ThumbTargetMachine - Thumb target machine. More... | |
| class | ThumbLETargetMachine |
| ThumbLETargetMachine - Thumb little endian target machine. More... | |
| class | ThumbBETargetMachine |
| ThumbBETargetMachine - Thumb big endian target machine. More... | |
| class | ARMElfTargetObjectFile |
| class | ARMTTIImpl |
| class | ARMInstPrinter |
| class | ARMMCAsmInfoDarwin |
| class | ARMELFMCAsmInfo |
| class | ARMCOFFMCAsmInfoMicrosoft |
| class | ARMCOFFMCAsmInfoGNU |
| class | ARMMCExpr |
| class | UnwindOpcodeAssembler |
| class | Thumb1FrameLowering |
| class | Thumb1InstrInfo |
| class | Thumb2InstrInfo |
| struct | ThumbRegisterInfo |
| class | BPFFrameLowering |
| class | BPFInstrInfo |
| class | BPFTargetLowering |
| class | BPFMCInstLower |
| struct | BPFRegisterInfo |
| class | BPFSubtarget |
| class | BPFTargetMachine |
| class | BPFInstPrinter |
| class | BPFMCAsmInfo |
| struct | CPPTargetMachine |
| struct | BitTracker |
| class | HexagonAsmPrinter |
| struct | HexagonEvaluator |
| class | HexagonFrameLowering |
| class | HexagonInstrInfo |
| class | HexagonTargetLowering |
| class | HexagonMachineFunctionInfo |
| Hexagon target-specific information for each MachineFunction. More... | |
| class | VLIWResourceModel |
| class | VLIWMachineScheduler |
| Extend the standard ScheduleDAGMI to provide more context and override the top-level schedule() driver. More... | |
| class | ConvergingVLIWScheduler |
| ConvergingVLIWScheduler shrinks the unscheduled zone using heuristics to balance the schedule. More... | |
| class | HexagonRegisterInfo |
| class | HexagonSelectionDAGInfo |
| class | HexagonSubtarget |
| class | HexagonTargetMachine |
| class | HexagonTargetObjectFile |
| class | HexagonTargetStreamer |
| class | HexagonAsmInstPrinter |
| class | HexagonInstPrinter |
| Prints bundles as a newline separated list of individual instructions Duplexes are separated by a vertical tab character A trailing line includes bundle properties such as endloop0/1. More... | |
| class | HexagonMCAsmInfo |
| class | HexagonMCCodeEmitter |
| class | HexagonMCELFStreamer |
| class | DuplexCandidate |
| class | HexagonMCShuffler |
| class | HexagonResource |
| class | HexagonInstr |
| class | HexagonShuffler |
| class | MipsInstPrinter |
| struct | MipsABIFlagsSection |
| class | MipsABIInfo |
| class | MipsAsmBackend |
| class | MipsELFStreamer |
| class | MipsMCAsmInfo |
| class | MipsMCCodeEmitter |
| class | MipsMCExpr |
| class | Mips16FrameLowering |
| class | Mips16InstrInfo |
| class | Mips16DAGToDAGISel |
| class | Mips16TargetLowering |
| class | Mips16RegisterInfo |
| class | MipsAnalyzeImmediate |
| class | MipsAsmPrinter |
| class | MipsCCState |
| class | MipsFrameLowering |
| class | MipsInstrInfo |
| class | MipsDAGToDAGISel |
| class | MipsTargetLowering |
| class | MipsCallEntry |
| A class derived from PseudoSourceValue that represents a GOT entry resolved by lazy-binding. More... | |
| class | MipsFunctionInfo |
| MipsFunctionInfo - This class is derived from MachineFunction private Mips target-specific information for each MachineFunction. More... | |
| class | MipsMCInstLower |
| MipsMCInstLower - This class is used to lower an MachineInstr into an. More... | |
| class | MipsOptionRecord |
| class | MipsRegInfoRecord |
| class | MipsRegisterInfo |
| class | MipsSEFrameLowering |
| class | MipsSEInstrInfo |
| class | MipsSEDAGToDAGISel |
| class | MipsSETargetLowering |
| class | MipsSERegisterInfo |
| class | MipsSubtarget |
| class | MipsTargetMachine |
| class | MipsebTargetMachine |
| MipsebTargetMachine - Mips32/64 big endian target machine. More... | |
| class | MipselTargetMachine |
| MipselTargetMachine - Mips32/64 little endian target machine. More... | |
| class | MipsTargetObjectFile |
| class | MipsTargetStreamer |
| class | MipsTargetAsmStreamer |
| class | MipsTargetELFStreamer |
| class | MSP430InstPrinter |
| class | MSP430MCAsmInfo |
| class | MSP430FrameLowering |
| class | MSP430InstrInfo |
| class | MSP430TargetLowering |
| class | MSP430MachineFunctionInfo |
| MSP430MachineFunctionInfo - This class is derived from MachineFunction and contains private MSP430 target-specific information for each MachineFunction. More... | |
| class | MSP430MCInstLower |
| MSP430MCInstLower - This class is used to lower an MachineInstr into an MCInst. More... | |
| struct | MSP430RegisterInfo |
| class | MSP430Subtarget |
| class | MSP430TargetMachine |
| MSP430TargetMachine. More... | |
| class | NVPTXInstPrinter |
| class | ManagedStringPool |
| ManagedStringPool - The strings allocated from a managed string pool are owned by the string pool and will be deleted together with the managed string pool. More... | |
| class | NVPTXMCAsmInfo |
| class | LineReader |
| class | NVPTXAsmPrinter |
| class | NVPTXFrameLowering |
| class | NVPTXInstrInfo |
| class | NVPTXTargetLowering |
| class | NVPTXMachineFunctionInfo |
| class | NVPTXFloatMCExpr |
| class | NVPTXGenericMCSymbolRefExpr |
| A wrapper for MCSymbolRefExpr that tells the assembly printer that the symbol should be enclosed by generic(). More... | |
| class | NVPTXRegisterInfo |
| class | NVPTXSection |
| NVPTXSection - Represents a section in PTX PTX does not have sections. More... | |
| class | NVPTXSubtarget |
| class | NVPTXTargetMachine |
| NVPTXTargetMachine. More... | |
| class | NVPTXTargetMachine32 |
| class | NVPTXTargetMachine64 |
| class | NVPTXTargetObjectFile |
| class | NVPTXTTIImpl |
| class | PPCInstPrinter |
| class | PPCMCAsmInfoDarwin |
| class | PPCELFMCAsmInfo |
| class | PPCMCExpr |
| class | PPCFrameLowering |
| class | PPCDispatchGroupSBHazardRecognizer |
| PPCDispatchGroupSBHazardRecognizer - This class implements a scoreboard-based hazard recognizer for PPC ooo processors with dispatch-group hazards. More... | |
| class | PPCHazardRecognizer970 |
| PPCHazardRecognizer970 - This class defines a finite state automata that models the dispatch logic on the PowerPC 970 (aka G5) processor. More... | |
| class | PPCInstrInfo |
| class | PPCTargetLowering |
| class | PPCFunctionInfo |
| PPCFunctionInfo - This class is derived from MachineFunction private PowerPC target-specific information for each MachineFunction. More... | |
| class | PPCRegisterInfo |
| class | PPCSubtarget |
| class | PPCTargetMachine |
| PPCTargetMachine - Common code between 32-bit and 64-bit PowerPC targets. More... | |
| class | PPC32TargetMachine |
| PPC32TargetMachine - PowerPC 32-bit target machine. More... | |
| class | PPC64TargetMachine |
| PPC64TargetMachine - PowerPC 64-bit target machine. More... | |
| class | PPC64LinuxTargetObjectFile |
| PPC64LinuxTargetObjectFile - This implementation is used for 64-bit PowerPC Linux. More... | |
| class | PPCTargetStreamer |
| class | PPCTTIImpl |
| class | SparcInstPrinter |
| class | SparcELFMCAsmInfo |
| class | SparcMCExpr |
| class | SparcFrameLowering |
| class | SparcInstrInfo |
| class | SparcTargetLowering |
| class | SparcMachineFunctionInfo |
| struct | SparcRegisterInfo |
| class | SparcSubtarget |
| class | SparcTargetMachine |
| class | SparcV8TargetMachine |
| SparcV8TargetMachine - Sparc 32-bit target machine. More... | |
| class | SparcV9TargetMachine |
| SparcV9TargetMachine - Sparc 64-bit target machine. More... | |
| class | SparcelTargetMachine |
| class | SparcELFTargetObjectFile |
| class | SparcTargetStreamer |
| class | SparcTargetAsmStreamer |
| class | SparcTargetELFStreamer |
| class | SystemZInstPrinter |
| class | SystemZMCAsmInfo |
| class | SystemZAsmPrinter |
| class | SystemZCCState |
| class | SystemZConstantPoolValue |
| A SystemZ-specific constant pool value. More... | |
| class | SystemZFrameLowering |
| class | SystemZInstrInfo |
| class | SystemZTargetLowering |
| class | SystemZMachineFunctionInfo |
| class | SystemZMCInstLower |
| struct | SystemZRegisterInfo |
| class | SystemZSelectionDAGInfo |
| class | SystemZSubtarget |
| class | SystemZTargetMachine |
| class | SystemZTTIImpl |
| class | WebAssemblyInstPrinter |
| class | WebAssemblyMCAsmInfo |
| class | WebAssemblyFrameLowering |
| class | WebAssemblyInstrInfo |
| class | WebAssemblyTargetLowering |
| class | WebAssemblyFunctionInfo |
| This class is derived from MachineFunctionInfo and contains private WebAssembly-specific information for each MachineFunction. More... | |
| class | WebAssemblyRegisterInfo |
| class | WebAssemblySelectionDAGInfo |
| class | WebAssemblySubtarget |
| class | WebAssemblyTargetMachine |
| class | WebAssemblyTargetObjectFile |
| class | WebAssemblyTTIImpl |
| class | X86AsmInstrumentation |
| struct | X86Operand |
| X86Operand - Instances of this class represent a parsed X86 machine instruction. More... | |
| class | X86ATTInstPrinter |
| class | X86IntelInstPrinter |
| class | X86MCAsmInfoDarwin |
| struct | X86_64MCAsmInfoDarwin |
| class | X86ELFMCAsmInfo |
| class | X86MCAsmInfoMicrosoft |
| class | X86MCAsmInfoGNUCOFF |
| class | X86AsmPrinter |
| class | X86FrameLowering |
| struct | X86AddressMode |
| X86AddressMode - This struct holds a generalized full x86 address mode. More... | |
| class | X86InstrInfo |
| struct | IntrinsicData |
| class | X86TargetLowering |
| class | X86MachineFunctionInfo |
| X86MachineFunctionInfo - This class is derived from MachineFunction and contains private X86 target-specific information for each MachineFunction. More... | |
| class | X86RegisterInfo |
| class | X86SelectionDAGInfo |
| class | X86Subtarget |
| class | X86TargetMachine |
| class | X86_64MachoTargetObjectFile |
| X86_64MachoTargetObjectFile - This TLOF implementation is used for Darwin x86-64. More... | |
| class | X86ELFTargetObjectFile |
| This implemenatation is used for X86 ELF targets that don't have a further specialization. More... | |
| class | X86LinuxNaClTargetObjectFile |
| X86LinuxNaClTargetObjectFile - This implementation is used for linux and Native Client on x86 and x86-64. More... | |
| class | X86WindowsTargetObjectFile |
| This implementation is used for Windows targets on x86 and x86-64. More... | |
| class | X86TTIImpl |
| class | XCoreInstPrinter |
| class | XCoreMCAsmInfo |
| class | XCoreFrameLowering |
| class | XCoreInstrInfo |
| class | XCoreTargetLowering |
| class | XCoreFunctionInfo |
| XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific information for each MachineFunction. More... | |
| class | XCoreMCInstLower |
| This class is used to lower an MachineInstr into an MCInst. More... | |
| struct | XCoreRegisterInfo |
| class | XCoreSelectionDAGInfo |
| class | XCoreSubtarget |
| class | XCoreTargetMachine |
| class | XCoreTargetObjectFile |
| class | XCoreTargetStreamer |
| class | XCoreTTIImpl |
| class | InstCombineIRInserter |
| An IRBuilder inserter that adds new instructions to the instcombine worklist. More... | |
| class | InstCombiner |
| The core instruction combiner logic. More... | |
| struct | DenseMapInfo< LoweredPHIRecord > |
| class | MaximumSpanningTree |
| MaximumSpanningTree - A MST implementation. More... | |
| struct | GraphTraits< ArgumentGraphNode * > |
| struct | GraphTraits< ArgumentGraph * > |
| class | BlotMapVector |
| An associative container with fast insertion-order (deterministic) iteration over its elements. More... | |
| struct | DenseMapInfo< SimpleValue > |
| struct | DenseMapInfo< CallValue > |
| struct | DenseMapInfo< Expression > |
| struct | isPodLike< Slice > |
| struct | DenseMapInfo< DivOpInfo > |
| class | SSAUpdaterTraits< SSAUpdater > |
Functions | |
| hash_code | hash_value (const APFloat &Arg) |
| See friend declarations above. More... | |
| APFloat | scalbn (APFloat X, int Exp) |
| APFloat | abs (APFloat X) |
| Returns the absolute value of the argument. More... | |
| LLVM_READONLY APFloat | minnum (const APFloat &A, const APFloat &B) |
| Implements IEEE minNum semantics. More... | |
| LLVM_READONLY APFloat | maxnum (const APFloat &A, const APFloat &B) |
| Implements IEEE maxNum semantics. More... | |
| bool | operator== (uint64_t V1, const APInt &V2) |
| bool | operator!= (uint64_t V1, const APInt &V2) |
| raw_ostream & | operator<< (raw_ostream &OS, const APInt &I) |
| hash_code | hash_value (const APInt &Arg) |
| bool | operator== (int64_t V1, const APSInt &V2) |
| bool | operator!= (int64_t V1, const APSInt &V2) |
| bool | operator<= (int64_t V1, const APSInt &V2) |
| bool | operator>= (int64_t V1, const APSInt &V2) |
| bool | operator< (int64_t V1, const APSInt &V2) |
| bool | operator> (int64_t V1, const APSInt &V2) |
| raw_ostream & | operator<< (raw_ostream &OS, const APSInt &I) |
| template<typename 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 > | |
| iterator_range< df_iterator< T > > | depth_first (const T &G) |
| template<class T , class SetTy > | |
| df_ext_iterator< T, SetTy > | df_ext_begin (const T &G, SetTy &S) |
| template<class T , class SetTy > | |
| df_ext_iterator< T, SetTy > | df_ext_end (const T &G, SetTy &S) |
| template<class T , class SetTy > | |
| iterator_range < df_ext_iterator< T, SetTy > > | depth_first_ext (const T &G, SetTy &S) |
| template<class T > | |
| idf_iterator< T > | idf_begin (const T &G) |
| template<class T > | |
| idf_iterator< T > | idf_end (const T &G) |
| template<class T > | |
| iterator_range< idf_iterator< T > > | inverse_depth_first (const T &G) |
| template<class T , class SetTy > | |
| idf_ext_iterator< T, SetTy > | idf_ext_begin (const T &G, SetTy &S) |
| template<class T , class SetTy > | |
| idf_ext_iterator< T, SetTy > | idf_ext_end (const T &G, SetTy &S) |
| template<class T , class SetTy > | |
| iterator_range < idf_ext_iterator< T, SetTy > > | inverse_depth_first_ext (const T &G, SetTy &S) |
| template<typename T > | |
| unsigned | ComputeEditDistance (ArrayRef< T > FromArray, ArrayRef< T > ToArray, bool AllowReplacements=true, unsigned MaxEditDistance=0) |
| Determine the edit distance between two sequences. More... | |
| template<typename T > | |
| std::enable_if < is_integral_or_enum< T > ::value, hash_code >::type | hash_value (T value) |
| Compute a hash_code for any integer value. More... | |
| template<typename T > | |
| hash_code | hash_value (const T *ptr) |
| Compute a hash_code for a pointer's address. More... | |
| template<typename T , typename U > | |
| hash_code | hash_value (const std::pair< T, U > &arg) |
| Compute a hash_code for a pair of objects. More... | |
| template<typename T > | |
| hash_code | hash_value (const std::basic_string< T > &arg) |
| Compute a hash_code for a standard string. More... | |
| void | set_fixed_execution_hash_seed (size_t fixed_value) |
| Override the execution seed with a fixed value. More... | |
| template<typename InputIteratorT > | |
| hash_code | hash_combine_range (InputIteratorT first, InputIteratorT last) |
| Compute a hash_code for a sequence of values. More... | |
| template<typename... Ts> | |
| hash_code | hash_combine (const Ts &...args) |
| Combine values into a single hash_code. More... | |
| template<typename T > | |
| void | operator- (int, ilist_iterator< T >)=delete |
| template<typename T > | |
| void | operator- (ilist_iterator< T >, int)=delete |
| template<typename T > | |
| void | operator+ (int, ilist_iterator< T >)=delete |
| template<typename T > | |
| void | operator+ (ilist_iterator< T >, int)=delete |
| template<typename T > | |
| bool | operator!= (const T *LHS, const ilist_iterator< const T > &RHS) |
| template<typename T > | |
| bool | operator== (const T *LHS, const ilist_iterator< const T > &RHS) |
| template<typename T > | |
| bool | operator!= (T *LHS, const ilist_iterator< T > &RHS) |
| template<typename T > | |
| bool | operator== (T *LHS, const ilist_iterator< T > &RHS) |
| template<class T , class U > | |
| bool | operator== (const IntrusiveRefCntPtr< T > &A, const IntrusiveRefCntPtr< U > &B) |
| template<class T , class U > | |
| bool | operator!= (const IntrusiveRefCntPtr< T > &A, const IntrusiveRefCntPtr< U > &B) |
| template<class T , class U > | |
| bool | operator== (const IntrusiveRefCntPtr< T > &A, U *B) |
| template<class T , class U > | |
| bool | operator!= (const IntrusiveRefCntPtr< T > &A, U *B) |
| template<class T , class U > | |
| bool | operator== (T *A, const IntrusiveRefCntPtr< U > &B) |
| template<class T , class U > | |
| bool | operator!= (T *A, const IntrusiveRefCntPtr< U > &B) |
| template<class T > | |
| bool | operator== (std::nullptr_t A, const IntrusiveRefCntPtr< T > &B) |
| template<class T > | |
| bool | operator== (const IntrusiveRefCntPtr< T > &A, std::nullptr_t B) |
| template<class T > | |
| bool | operator!= (std::nullptr_t A, const IntrusiveRefCntPtr< T > &B) |
| template<class T > | |
| bool | operator!= (const IntrusiveRefCntPtr< T > &A, std::nullptr_t B) |
| template<class T > | |
| iterator_range< T > | make_range (T x, T y) |
| Convenience function for iterating over sub-ranges. More... | |
| template<typename T > | |
| iterator_range< T > | make_range (std::pair< T, T > p) |
| template<typename T , typename U > | |
| void | operator== (const Optional< T > &X, const Optional< U > &Y) |
Poison comparison between two Optional objects. More... | |
| template<typename T , typename U > | |
| void | operator!= (const Optional< T > &X, const Optional< U > &Y) |
Poison comparison between two Optional objects. More... | |
| template<typename T , typename U > | |
| void | operator< (const Optional< T > &X, const Optional< U > &Y) |
Poison comparison between two Optional objects. More... | |
| template<typename T , typename U > | |
| void | operator<= (const Optional< T > &X, const Optional< U > &Y) |
Poison comparison between two Optional objects. More... | |
| template<typename T , typename U > | |
| void | operator>= (const Optional< T > &X, const Optional< U > &Y) |
Poison comparison between two Optional objects. More... | |
| template<typename T , typename U > | |
| void | operator> (const Optional< T > &X, const Optional< U > &Y) |
Poison comparison between two Optional objects. More... | |
| template<typename PT1 , typename PT2 > | |
| static bool | operator== (PointerUnion< PT1, PT2 > lhs, PointerUnion< PT1, PT2 > rhs) |
| template<typename PT1 , typename PT2 > | |
| static bool | operator!= (PointerUnion< PT1, PT2 > lhs, PointerUnion< PT1, PT2 > rhs) |
| template<typename PT1 , typename PT2 > | |
| static bool | operator< (PointerUnion< PT1, PT2 > lhs, PointerUnion< PT1, PT2 > rhs) |
| template<class T > | |
| po_iterator< T > | po_begin (const T &G) |
| template<class T > | |
| po_iterator< T > | po_end (const T &G) |
| template<class T > | |
| iterator_range< po_iterator< T > > | post_order (const T &G) |
| template<class T , class SetType > | |
| po_ext_iterator< T, SetType > | po_ext_begin (T G, SetType &S) |
| template<class T , class SetType > | |
| po_ext_iterator< T, SetType > | po_ext_end (T G, SetType &S) |
| template<class T , class SetType > | |
| iterator_range < po_ext_iterator< T, SetType > > | post_order_ext (const T &G, SetType &S) |
| template<class T > | |
| ipo_iterator< T > | ipo_begin (const T &G, bool Reverse=false) |
| template<class T > | |
| ipo_iterator< T > | ipo_end (const T &G) |
| template<class T > | |
| iterator_range< ipo_iterator< T > > | inverse_post_order (const T &G, bool Reverse=false) |
| template<class T , class SetType > | |
| ipo_ext_iterator< T, SetType > | ipo_ext_begin (const T &G, SetType &S) |
| template<class T , class SetType > | |
| ipo_ext_iterator< T, SetType > | ipo_ext_end (const T &G, SetType &S) |
| template<class T , class SetType > | |
| iterator_range < ipo_ext_iterator< T, SetType > > | inverse_post_order_ext (const T &G, SetType &S) |
| template<class T > | |
| scc_iterator< T > | scc_begin (const T &G) |
| Construct the begin iterator for a deduced graph type T. More... | |
| template<class T > | |
| scc_iterator< T > | scc_end (const T &G) |
| Construct the end iterator for a deduced graph type T. More... | |
| template<class T > | |
| scc_iterator< Inverse< T > > | scc_begin (const Inverse< T > &G) |
| Construct the begin iterator for a deduced graph type T's Inverse<T>. More... | |
| template<class T > | |
| scc_iterator< Inverse< T > > | scc_end (const Inverse< T > &G) |
| Construct the end iterator for a deduced graph type T's Inverse<T>. More... | |
| template<class S1Ty , class S2Ty > | |
| bool | set_union (S1Ty &S1, const S2Ty &S2) |
| set_union(A, B) - Compute A := A u B, return whether A changed. More... | |
| template<class S1Ty , class S2Ty > | |
| void | set_intersect (S1Ty &S1, const S2Ty &S2) |
| set_intersect(A, B) - Compute A := A ^ B Identical to set_intersection, except that it works on set<>'s and is nicer to use. More... | |
| template<class S1Ty , class S2Ty > | |
| S1Ty | set_difference (const S1Ty &S1, const S2Ty &S2) |
| set_difference(A, B) - Return A - B More... | |
| template<class S1Ty , class S2Ty > | |
| void | set_subtract (S1Ty &S1, const S2Ty &S2) |
| set_subtract(A, B) - Compute A := A - B More... | |
| 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. More... | |
| bool | AreStatisticsEnabled () |
| Check if statistics are enabled. More... | |
| void | PrintStatistics () |
| Print statistics to the file returned by CreateInfoOutputFile(). More... | |
| void | PrintStatistics (raw_ostream &OS) |
| Print statistics to the given output stream. More... | |
| template<class T > | |
| void | deleter (T *Ptr) |
| template<class Iterator , class Func > | |
| mapped_iterator< Iterator, Func > | operator+ (typename mapped_iterator< Iterator, Func >::difference_type N, const mapped_iterator< Iterator, Func > &X) |
| template<class ItTy , class FuncTy > | |
| mapped_iterator< ItTy, FuncTy > | map_iterator (const ItTy &I, FuncTy F) |
| template<class T , std::size_t N> | |
| LLVM_CONSTEXPR size_t | array_lengthof (T(&)[N]) |
| Find the length of an array. More... | |
| template<typename T > | |
| int | array_pod_sort_comparator (const void *P1, const void *P2) |
| Adapt std::less<T> for array_pod_sort. More... | |
| template<class IteratorTy > | |
| void | array_pod_sort (IteratorTy Start, IteratorTy End) |
| array_pod_sort - This sorts an array with the specified start and end extent. More... | |
| template<class IteratorTy > | |
| void | array_pod_sort (IteratorTy Start, IteratorTy End, int(*Compare)(const typename std::iterator_traits< IteratorTy >::value_type *, const typename std::iterator_traits< IteratorTy >::value_type *)) |
| template<typename Container > | |
| void | DeleteContainerPointers (Container &C) |
| For a container of pointers, deletes the pointers and then clears the container. More... | |
| template<typename Container > | |
| void | 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. More... | |
| template<typename R , class UnaryPredicate > | |
| bool | all_of (R &&Range, UnaryPredicate &&P) |
| Provide wrappers to std::all_of which take ranges instead of having to pass being/end explicitly. More... | |
| template<class T , class... Args> | |
| std::enable_if<!std::is_array < T >::value, std::unique_ptr < T > >::type | make_unique (Args &&...args) |
Constructs a new T() with the given args and returns a unique_ptr<T> which owns the object. More... | |
| template<class T > | |
| std::enable_if< std::is_array < T >::value &&std::extent< T > ::value==0, std::unique_ptr< T > >::type | make_unique (size_t n) |
Constructs a new T[n] with the given args and returns a unique_ptr<T[]> which owns the object. More... | |
| template<class T , class... Args> | |
| std::enable_if< std::extent< T > ::value!=0 >::type | make_unique (Args &&...)=delete |
| This function isn't used and is only here to provide better compile errors. More... | |
| static char | hexdigit (unsigned X, bool LowerCase=false) |
hexdigit - Return the hexadecimal character for the given number X (which should be less than 16). More... | |
| static StringRef | toStringRef (bool B) |
| Construct a string ref from a boolean. More... | |
| static unsigned | hexDigitValue (char C) |
Interpret the given character C as a hexadecimal digit and return its value. More... | |
| template<typename IntTy > | |
| static char * | utohex_buffer (IntTy X, char *BufferEnd, bool LowerCase=false) |
| utohex_buffer - Emit the specified number into the buffer specified by BufferEnd, returning a pointer to the start of the string. More... | |
| static std::string | utohexstr (uint64_t X, bool LowerCase=false) |
| static std::string | utostr_32 (uint32_t X, bool isNeg=false) |
| static std::string | utostr (uint64_t X, bool isNeg=false) |
| static std::string | itostr (int64_t X) |
| StringRef::size_type | StrInStrNoCase (StringRef s1, StringRef s2) |
| StrInStrNoCase - Portable version of strcasestr. More... | |
| std::pair< StringRef, StringRef > | 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. More... | |
| void | 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. More... | |
| static unsigned | HashString (StringRef Str, unsigned Result=0) |
| HashString - Hash function for strings. More... | |
| static StringRef | getOrdinalSuffix (unsigned Val) |
| Returns the English suffix for an ordinal integer (-st, -nd, -rd, -th). More... | |
| template<typename IteratorT > | |
| std::string | join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::input_iterator_tag) |
| template<typename IteratorT > | |
| std::string | join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::forward_iterator_tag) |
| template<typename IteratorT > | |
| std::string | join (IteratorT Begin, IteratorT End, StringRef Separator) |
| Joins the strings in the range [Begin, End), adding Separator between the elements. More... | |
| bool | getAsUnsignedInteger (StringRef Str, unsigned Radix, unsigned long long &Result) |
| Helper functions for StringRef::getAsInteger. More... | |
| bool | getAsSignedInteger (StringRef Str, unsigned Radix, long long &Result) |
| hash_code | hash_value (StringRef S) |
| Compute a hash_code for a StringRef. More... | |
| bool | isNoAliasCall (const Value *V) |
| isNoAliasCall - Return true if this pointer is returned by a noalias function. More... | |
| bool | isNoAliasArgument (const Value *V) |
| isNoAliasArgument - Return true if this is an argument with the noalias attribute. More... | |
| bool | isIdentifiedObject (const Value *V) |
| isIdentifiedObject - Return true if this pointer refers to a distinct and identifiable object. More... | |
| bool | isIdentifiedFunctionLocal (const Value *V) |
| isIdentifiedFunctionLocal - Return true if V is umabigously identified at the function-level. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const AliasSet &AS) |
| raw_ostream & | operator<< (raw_ostream &OS, const AliasSetTracker &AST) |
| ModulePass * | createCallGraphViewerPass () |
| ModulePass * | createCallGraphPrinterPass () |
| bool | 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). More... | |
| bool | PointerMayBeCapturedBefore (const Value *V, bool ReturnCaptures, bool StoreCaptures, const Instruction *I, DominatorTree *DT, bool IncludeI=false) |
| PointerMayBeCapturedBefore - Return true if this pointer value may be captured by the enclosing function (which is required to exist). More... | |
| void | PointerMayBeCaptured (const Value *V, CaptureTracker *Tracker) |
| PointerMayBeCaptured - Visit the value and the values derived from it and find values which appear to be capturing the pointer value. More... | |
| void | FindFunctionBackedges (const Function &F, SmallVectorImpl< std::pair< const BasicBlock *, const BasicBlock * > > &Result) |
| Analyze the specified function to find all of the loop backedges in the function and return them. More... | |
| unsigned | GetSuccessorNumber (BasicBlock *BB, BasicBlock *Succ) |
| Search for the specified successor of basic block BB and return its position in the terminator instruction's list of successors. More... | |
| bool | isCriticalEdge (const TerminatorInst *TI, unsigned SuccNum, bool AllowIdenticalEdges=false) |
| Return true if the specified edge is a critical edge. More... | |
| bool | isPotentiallyReachable (const Instruction *From, const Instruction *To, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether instruction 'To' is reachable from 'From', returning true if uncertain. More... | |
| bool | isPotentiallyReachable (const BasicBlock *From, const BasicBlock *To, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether block 'To' is reachable from 'From', returning true if uncertain. More... | |
| bool | isPotentiallyReachableFromMany (SmallVectorImpl< BasicBlock * > &Worklist, BasicBlock *StopBB, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether there is at least one path from a block in 'Worklist' to 'StopBB', returning true if uncertain. More... | |
| FunctionPass * | createCFGPrinterPass () |
| FunctionPass * | createCFGOnlyPrinterPass () |
| template<typename CGSCCPassT > | |
| ModuleToPostOrderCGSCCPassAdaptor < CGSCCPassT > | createModuleToPostOrderCGSCCPassAdaptor (CGSCCPassT Pass) |
| A function to deduce a function pass type and wrap it in the templated adaptor. More... | |
| template<typename FunctionPassT > | |
| CGSCCToFunctionPassAdaptor < FunctionPassT > | createCGSCCToFunctionPassAdaptor (FunctionPassT Pass) |
| A function to deduce a function pass type and wrap it in the templated adaptor. More... | |
| bool | callIsSmall (ImmutableCallSite CS) |
| Check whether a call will lower to something small. More... | |
| Constant * | ConstantFoldInstruction (Instruction *I, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr) |
| ConstantFoldInstruction - Try to constant fold the specified instruction. More... | |
| Constant * | ConstantFoldConstantExpression (const ConstantExpr *CE, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr) |
| ConstantFoldConstantExpression - Attempt to fold the constant expression using the specified DataLayout. More... | |
| Constant * | ConstantFoldInstOperands (unsigned Opcode, Type *DestTy, ArrayRef< Constant * > Ops, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr) |
| ConstantFoldInstOperands - Attempt to constant fold an instruction with the specified operands. More... | |
| Constant * | ConstantFoldCompareInstOperands (unsigned Predicate, Constant *LHS, Constant *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr) |
| ConstantFoldCompareInstOperands - Attempt to constant fold a compare instruction (icmp/fcmp) with the specified operands. More... | |
| Constant * | ConstantFoldInsertValueInstruction (Constant *Agg, Constant *Val, ArrayRef< unsigned > Idxs) |
| ConstantFoldInsertValueInstruction - Attempt to constant fold an insertvalue instruction with the specified operands and indices. More... | |
| Constant * | ConstantFoldExtractValueInstruction (Constant *Agg, ArrayRef< unsigned > Idxs) |
| Attempt to constant fold an extractvalue instruction with the specified operands and indices. More... | |
| Constant * | ConstantFoldExtractElementInstruction (Constant *Val, Constant *Idx) |
| Attempt to constant fold an extractelement instruction with the specified operands and indices. More... | |
| Constant * | ConstantFoldLoadFromConstPtr (Constant *C, const DataLayout &DL) |
| ConstantFoldLoadFromConstPtr - Return the value that a load from C would produce if it is constant and determinable. More... | |
| Constant * | 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. More... | |
| Constant * | 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. More... | |
| bool | canConstantFoldCallTo (const Function *F) |
| canConstantFoldCallTo - Return true if its even possible to fold a call to the specified function. More... | |
| Constant * | ConstantFoldCall (Function *F, ArrayRef< Constant * > Operands, const TargetLibraryInfo *TLI=nullptr) |
| ConstantFoldCall - Attempt to constant fold a call to the specified function with the specified arguments, returning null if unsuccessful. More... | |
| FunctionPass * | createDependenceAnalysisPass () |
| createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis pass. More... | |
| FunctionPass * | createDomPrinterPass () |
| FunctionPass * | createDomOnlyPrinterPass () |
| FunctionPass * | createDomViewerPass () |
| FunctionPass * | createDomOnlyViewerPass () |
| FunctionPass * | createPostDomPrinterPass () |
| FunctionPass * | createPostDomOnlyPrinterPass () |
| FunctionPass * | createPostDomViewerPass () |
| FunctionPass * | createPostDomOnlyViewerPass () |
| Value * | SimplifyAddInst (Value *LHS, Value *RHS, bool isNSW, bool isNUW, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyAddInst - Given operands for an Add, see if we can fold the result. More... | |
| Value * | SimplifySubInst (Value *LHS, Value *RHS, bool isNSW, bool isNUW, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifySubInst - Given operands for a Sub, see if we can fold the result. More... | |
| Value * | SimplifyFAddInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| Given operands for an FAdd, see if we can fold the result. More... | |
| Value * | SimplifyFSubInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| Given operands for an FSub, see if we can fold the result. More... | |
| Value * | SimplifyFMulInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| Given operands for an FMul, see if we can fold the result. More... | |
| Value * | SimplifyMulInst (Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyMulInst - Given operands for a Mul, see if we can fold the result. More... | |
| Value * | SimplifySDivInst (Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifySDivInst - Given operands for an SDiv, see if we can fold the result. More... | |
| Value * | SimplifyUDivInst (Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyUDivInst - Given operands for a UDiv, see if we can fold the result. More... | |
| Value * | SimplifyFDivInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyFDivInst - Given operands for an FDiv, see if we can fold the result. More... | |
| Value * | SimplifySRemInst (Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifySRemInst - Given operands for an SRem, see if we can fold the result. More... | |
| Value * | SimplifyURemInst (Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyURemInst - Given operands for a URem, see if we can fold the result. More... | |
| Value * | SimplifyFRemInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyFRemInst - Given operands for an FRem, see if we can fold the result. More... | |
| Value * | SimplifyShlInst (Value *Op0, Value *Op1, bool isNSW, bool isNUW, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyShlInst - Given operands for a Shl, see if we can fold the result. More... | |
| Value * | SimplifyLShrInst (Value *Op0, Value *Op1, bool isExact, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyLShrInst - Given operands for a LShr, see if we can fold the result. More... | |
| Value * | SimplifyAShrInst (Value *Op0, Value *Op1, bool isExact, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyAShrInst - Given operands for a AShr, see if we can fold the result. More... | |
| Value * | SimplifyAndInst (Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyAndInst - Given operands for an And, see if we can fold the result. More... | |
| Value * | SimplifyOrInst (Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyOrInst - Given operands for an Or, see if we can fold the result. More... | |
| Value * | SimplifyXorInst (Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyXorInst - Given operands for a Xor, see if we can fold the result. More... | |
| Value * | SimplifyICmpInst (unsigned Predicate, Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, Instruction *CxtI=nullptr) |
| SimplifyICmpInst - Given operands for an ICmpInst, see if we can fold the result. More... | |
| Value * | SimplifyFCmpInst (unsigned Predicate, Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyFCmpInst - Given operands for an FCmpInst, see if we can fold the result. More... | |
| Value * | SimplifySelectInst (Value *Cond, Value *TrueVal, Value *FalseVal, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifySelectInst - Given operands for a SelectInst, see if we can fold the result. More... | |
| Value * | SimplifyGEPInst (ArrayRef< Value * > Ops, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyGEPInst - Given operands for an GetElementPtrInst, see if we can fold the result. More... | |
| Value * | SimplifyInsertValueInst (Value *Agg, Value *Val, ArrayRef< unsigned > Idxs, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyInsertValueInst - Given operands for an InsertValueInst, see if we can fold the result. More... | |
| Value * | SimplifyExtractValueInst (Value *Agg, ArrayRef< unsigned > Idxs, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| Given operands for an ExtractValueInst, see if we can fold the result. More... | |
| Value * | SimplifyExtractElementInst (Value *Vec, Value *Idx, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| Given operands for an ExtractElementInst, see if we can fold the result. More... | |
| Value * | SimplifyTruncInst (Value *Op, Type *Ty, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyTruncInst - Given operands for an TruncInst, see if we can fold the result. More... | |
| Value * | SimplifyCmpInst (unsigned Predicate, Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyCmpInst - Given operands for a CmpInst, see if we can fold the result. More... | |
| Value * | SimplifyBinOp (unsigned Opcode, Value *LHS, Value *RHS, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyBinOp - Given operands for a BinaryOperator, see if we can fold the result. More... | |
| Value * | SimplifyFPBinOp (unsigned Opcode, Value *LHS, Value *RHS, const FastMathFlags &FMF, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| SimplifyFPBinOp - Given operands for a BinaryOperator, see if we can fold the result. More... | |
| Value * | SimplifyCall (Value *V, User::op_iterator ArgBegin, User::op_iterator ArgEnd, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| Given a function and iterators over arguments, see if we can fold the result. More... | |
| Value * | SimplifyCall (Value *V, ArrayRef< Value * > Args, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr) |
| Given a function and set of arguments, see if we can fold the result. More... | |
| Value * | SimplifyInstruction (Instruction *I, const DataLayout &DL, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr) |
| SimplifyInstruction - See if we can compute a simplified version of this instruction. More... | |
| bool | replaceAndRecursivelySimplify (Instruction *I, Value *SimpleV, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr) |
| Replace all uses of 'I' with 'SimpleV' and simplify the uses recursively. More... | |
| bool | recursivelySimplifyInstruction (Instruction *I, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionCache *AC=nullptr) |
| Recursively attempt to simplify an instruction. More... | |
| Interval::succ_iterator | succ_begin (Interval *I) |
| succ_begin/succ_end - define methods so that Intervals may be used just like BasicBlocks can with the succ_* functions, and *succ_iterator. More... | |
| Interval::succ_iterator | succ_end (Interval *I) |
| Interval::pred_iterator | pred_begin (Interval *I) |
| pred_begin/pred_end - define methods so that Intervals may be used just like BasicBlocks can with the pred_* functions, and *pred_iterator. More... | |
| Interval::pred_iterator | pred_end (Interval *I) |
| BasicBlock * | getNodeHeader (BasicBlock *BB) |
| BasicBlock * | getNodeHeader (Interval *I) |
| BasicBlock * | getSourceGraphNode (Function *, BasicBlock *BB) |
| Interval * | getSourceGraphNode (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) |
| Pass * | createIVUsersPass () |
| EHPersonality | classifyEHPersonality (const Value *Pers) |
| See if the given exception handling personality function is one that we understand. More... | |
| bool | isAsynchronousEHPersonality (EHPersonality Pers) |
| Returns true if this personality function catches asynchronous exceptions. More... | |
| bool | isMSVCEHPersonality (EHPersonality Pers) |
| Returns true if this is an MSVC personality function. More... | |
| bool | isNoOpWithoutInvoke (EHPersonality Pers) |
| Return true if this personality may be safely removed if there are no invoke instructions remaining in the current function. More... | |
| bool | canSimplifyInvokeNoUnwind (const Function *F) |
| FunctionPass * | createLintPass () |
| Create a lint pass. More... | |
| void | lintModule (const Module &M) |
| Check a module. More... | |
| void | lintFunction (const Function &F) |
| lintFunction - Check a function for errors, printing messages on stderr. More... | |
| bool | isSafeToLoadUnconditionally (Value *V, Instruction *ScanFrom, unsigned Align) |
| isSafeToLoadUnconditionally - Return true if we know that executing a load from this value cannot trap. More... | |
| Value * | FindAvailableLoadedValue (Value *Ptr, BasicBlock *ScanBB, BasicBlock::iterator &ScanFrom, unsigned MaxInstsToScan=6, AliasAnalysis *AA=nullptr, AAMDNodes *AATags=nullptr) |
| 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. More... | |
| Value * | stripIntegerCast (Value *V) |
| const SCEV * | replaceSymbolicStrideSCEV (ScalarEvolution *SE, const ValueToValueMap &PtrToStride, Value *Ptr, Value *OrigPtr=nullptr) |
| Return the SCEV corresponding to a pointer with the symbolic stride replaced with constant one. More... | |
| int | isStridedPtr (ScalarEvolution *SE, Value *Ptr, const Loop *Lp, const ValueToValueMap &StridesMap) |
| Check the stride of the pointer and ensure that it does not wrap in the address space. More... | |
| template<class BlockT , class LoopT > | |
| raw_ostream & | operator<< (raw_ostream &OS, const LoopBase< BlockT, LoopT > &Loop) |
| template<class BlockT , class LoopT > | |
| static void | discoverAndMapSubloop (LoopT *L, ArrayRef< BlockT * > Backedges, LoopInfoBase< BlockT, LoopT > *LI, DominatorTreeBase< BlockT > &DomTree) |
| Stable LoopInfo Analysis - Build a loop tree using stable iterators so the result does / not depend on use list (block predecessor) order. More... | |
| bool | isAllocationFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false) |
| Tests if a value is a call or invoke to a library function that allocates or reallocates memory (either malloc, calloc, realloc, or strdup like). More... | |
| bool | isNoAliasFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false) |
| Tests if a value is a call or invoke to a function that returns a NoAlias pointer (including malloc/calloc/realloc/strdup-like functions). More... | |
| bool | isMallocLikeFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false) |
| Tests if a value is a call or invoke to a library function that allocates uninitialized memory (such as malloc). More... | |
| bool | isCallocLikeFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false) |
| Tests if a value is a call or invoke to a library function that allocates zero-filled memory (such as calloc). More... | |
| bool | isAllocLikeFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false) |
| Tests if a value is a call or invoke to a library function that allocates memory (either malloc, calloc, or strdup like). More... | |
| bool | isReallocLikeFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false) |
| Tests if a value is a call or invoke to a library function that reallocates memory (such as realloc). More... | |
| bool | isOperatorNewLikeFn (const Value *V, const TargetLibraryInfo *TLI, bool LookThroughBitCast=false) |
| Tests if a value is a call or invoke to a library function that allocates memory and never returns null (such as operator new). More... | |
| const CallInst * | extractMallocCall (const Value *I, const TargetLibraryInfo *TLI) |
| extractMallocCall - Returns the corresponding CallInst if the instruction is a malloc call. More... | |
| static CallInst * | extractMallocCall (Value *I, const TargetLibraryInfo *TLI) |
| PointerType * | getMallocType (const CallInst *CI, const TargetLibraryInfo *TLI) |
| getMallocType - Returns the PointerType resulting from the malloc call. More... | |
| Type * | getMallocAllocatedType (const CallInst *CI, const TargetLibraryInfo *TLI) |
| getMallocAllocatedType - Returns the Type allocated by malloc call. More... | |
| Value * | getMallocArraySize (CallInst *CI, const DataLayout &DL, const TargetLibraryInfo *TLI, bool LookThroughSExt=false) |
| getMallocArraySize - Returns the array size of a malloc call. More... | |
| const CallInst * | extractCallocCall (const Value *I, const TargetLibraryInfo *TLI) |
| extractCallocCall - Returns the corresponding CallInst if the instruction is a calloc call. More... | |
| static CallInst * | extractCallocCall (Value *I, const TargetLibraryInfo *TLI) |
| const CallInst * | isFreeCall (const Value *I, const TargetLibraryInfo *TLI) |
| isFreeCall - Returns non-null if the value is a call to the builtin free() More... | |
| static CallInst * | isFreeCall (Value *I, const TargetLibraryInfo *TLI) |
| bool | getObjectSize (const Value *Ptr, uint64_t &Size, const DataLayout &DL, const TargetLibraryInfo *TLI, bool RoundToAlign=false) |
| Compute the size of the object pointed by Ptr. More... | |
| Pass * | createGlobalsModRefPass () |
| Pass * | createAliasDebugger () |
| ModulePass * | createAliasAnalysisCounterPass () |
| FunctionPass * | createAAEvalPass () |
| ImmutablePass * | createNoAAPass () |
| ImmutablePass * | createBasicAliasAnalysisPass () |
| ImmutablePass * | createCFLAliasAnalysisPass () |
| FunctionPass * | createLibCallAliasAnalysisPass (LibCallInfo *LCI) |
| createLibCallAliasAnalysisPass - Create an alias analysis pass that knows about the semantics of a set of libcalls specified by LCI. More... | |
| FunctionPass * | createScalarEvolutionAliasAnalysisPass () |
| ImmutablePass * | createTypeBasedAliasAnalysisPass () |
| ImmutablePass * | createScopedNoAliasAAPass () |
| ImmutablePass * | createObjCARCAliasAnalysisPass () |
| FunctionPass * | createPAEvalPass () |
| FunctionPass * | createLazyValueInfoPass () |
| createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass. More... | |
| FunctionPass * | createCostModelAnalysisPass () |
| FunctionPass * | createDelinearizationPass () |
| FunctionPass * | createDivergenceAnalysisPass () |
| end namespace anonymous More... | |
| FunctionPass * | createInstCountPass () |
| FunctionPass * | createRegionInfoPass () |
| ModulePass * | createModuleDebugInfoPrinterPass () |
| FunctionPass * | createMemDepPrinter () |
| FunctionPass * | createMemDerefPrinter () |
| FunctionPass * | createPostDomTree () |
| template<class Tr > | |
| raw_ostream & | operator<< (raw_ostream &OS, const RegionNodeBase< Tr > &Node) |
| Print a RegionNode. More... | |
| template<class NodeType , class BlockT , class RegionT > | |
| RNSuccIterator< NodeType, BlockT, RegionT > | succ_begin (NodeType *Node) |
| template<class NodeType , class BlockT , class RegionT > | |
| RNSuccIterator< NodeType, BlockT, RegionT > | succ_end (NodeType *Node) |
| RegionNodeGraphTraits (RegionNode, BasicBlock, Region) | |
| RegionGraphTraits (Region, RegionNode) | |
| FunctionPass * | createRegionViewerPass () |
| FunctionPass * | createRegionOnlyViewerPass () |
| FunctionPass * | createRegionPrinterPass () |
| FunctionPass * | createRegionOnlyPrinterPass () |
| raw_ostream & | operator<< (raw_ostream &OS, const SCEV &S) |
| bool | isSafeToExpand (const SCEV *S, ScalarEvolution &SE) |
| Return true if the given expression is safe to expand in the sense that all materialized values are safe to speculate. More... | |
| template<typename SV > | |
| void | visitAll (const SCEV *Root, SV &Visitor) |
| Use SCEVTraversal to visit all nodes in the given expression tree. More... | |
| static const SCEV * | apply (const SCEV *Scev, LoopToScevMapT &Map, ScalarEvolution &SE) |
| Applies the Map (Loop -> SCEV) to the given Scev. More... | |
| const SCEV * | 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. More... | |
| ImmutablePass * | createTargetTransformInfoWrapperPass (TargetIRAnalysis TIRA) |
| Create an analysis pass wrapper around a TTI object. More... | |
| void | computeKnownBits (Value *V, APInt &KnownZero, APInt &KnownOne, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr) |
| Determine which bits of V are known to be either zero or one and return them in the KnownZero/KnownOne bit sets. More... | |
| void | computeKnownBitsFromRangeMetadata (const MDNode &Ranges, APInt &KnownZero) |
| Compute known bits from the range metadata. More... | |
| bool | haveNoCommonBitsSet (Value *LHS, Value *RHS, const DataLayout &DL, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr) |
| Returns true if LHS and RHS have no common bits set. More... | |
| void | ComputeSignBit (Value *V, bool &KnownZero, bool &KnownOne, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr) |
| ComputeSignBit - Determine whether the sign bit is known to be zero or one. More... | |
| bool | isKnownToBeAPowerOfTwo (Value *V, const DataLayout &DL, bool OrZero=false, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr) |
| isKnownToBeAPowerOfTwo - Return true if the given value is known to have exactly one bit set when defined. More... | |
| bool | isKnownNonZero (Value *V, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr) |
| isKnownNonZero - Return true if the given value is known to be non-zero when defined. More... | |
| bool | MaskedValueIsZero (Value *V, const APInt &Mask, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr) |
| MaskedValueIsZero - Return true if 'V & Mask' is known to be zero. More... | |
| unsigned | ComputeNumSignBits (Value *Op, const DataLayout &DL, unsigned Depth=0, AssumptionCache *AC=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr) |
| ComputeNumSignBits - Return the number of times the sign bit of the register is replicated into the other bits. More... | |
| bool | 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. More... | |
| bool | 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. More... | |
| bool | CannotBeOrderedLessThanZero (const Value *V, unsigned Depth=0) |
| CannotBeOrderedLessThanZero - Return true if we can prove that the specified FP value is either a NaN or never less than 0.0. More... | |
| Value * | 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. More... | |
| Value * | FindInsertedValue (Value *V, ArrayRef< unsigned > idx_range, Instruction *InsertBefore=nullptr) |
| 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. More... | |
| Value * | GetPointerBaseWithConstantOffset (Value *Ptr, int64_t &Offset, const DataLayout &DL) |
| GetPointerBaseWithConstantOffset - Analyze the specified pointer to see if it can be expressed as a base pointer plus a constant offset. More... | |
| static const Value * | GetPointerBaseWithConstantOffset (const Value *Ptr, int64_t &Offset, const DataLayout &DL) |
| bool | 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. More... | |
| uint64_t | GetStringLength (Value *V) |
| GetStringLength - If we can compute the length of the string pointed to by the specified pointer, return 'len+1'. More... | |
| Value * | GetUnderlyingObject (Value *V, const DataLayout &DL, 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. More... | |
| static const Value * | GetUnderlyingObject (const Value *V, const DataLayout &DL, unsigned MaxLookup=6) |
| void | GetUnderlyingObjects (Value *V, SmallVectorImpl< Value * > &Objects, const DataLayout &DL, LoopInfo *LI=nullptr, unsigned MaxLookup=6) |
| This method is similar to GetUnderlyingObject except that it can look through phi and select instructions and return multiple objects. More... | |
| bool | onlyUsedByLifetimeMarkers (const Value *V) |
| onlyUsedByLifetimeMarkers - Return true if the only users of this pointer are lifetime markers. More... | |
| bool | isDereferenceablePointer (const Value *V, const DataLayout &DL, const Instruction *CtxI=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr) |
| isDereferenceablePointer - Return true if this is always a dereferenceable pointer. More... | |
| bool | isSafeToSpeculativelyExecute (const Value *V, const Instruction *CtxI=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr) |
| isSafeToSpeculativelyExecute - Return true if the instruction does not have any effects besides calculating the result and does not have undefined behavior. More... | |
| bool | isKnownNonNull (const Value *V, const TargetLibraryInfo *TLI=nullptr) |
| isKnownNonNull - Return true if this pointer couldn't possibly be null by its definition. More... | |
| bool | isKnownNonNullAt (const Value *V, const Instruction *CtxI=nullptr, const DominatorTree *DT=nullptr, const TargetLibraryInfo *TLI=nullptr) |
| isKnownNonNullAt - Return true if this pointer couldn't possibly be null. More... | |
| bool | isValidAssumeForContext (const Instruction *I, const Instruction *CxtI, const DominatorTree *DT=nullptr) |
| Return true if it is valid to use the assumptions provided by an assume intrinsic, I, at the point in the control-flow identified by the context instruction, CxtI. More... | |
| OverflowResult | computeOverflowForUnsignedMul (Value *LHS, Value *RHS, const DataLayout &DL, AssumptionCache *AC, const Instruction *CxtI, const DominatorTree *DT) |
| OverflowResult | computeOverflowForUnsignedAdd (Value *LHS, Value *RHS, const DataLayout &DL, AssumptionCache *AC, const Instruction *CxtI, const DominatorTree *DT) |
| SelectPatternFlavor | matchSelectPattern (Value *V, Value *&LHS, Value *&RHS, Instruction::CastOps *CastOp=nullptr) |
| Pattern match integer [SU]MIN, [SU]MAX and ABS idioms, returning the kind and providing the out parameter results if we successfully match. More... | |
| bool | isTriviallyVectorizable (Intrinsic::ID ID) |
| Identify if the intrinsic is trivially vectorizable. More... | |
| bool | hasVectorInstrinsicScalarOpd (Intrinsic::ID ID, unsigned ScalarOpdIdx) |
| Identifies if the intrinsic has a scalar operand. More... | |
| Intrinsic::ID | checkUnaryFloatSignature (const CallInst &I, Intrinsic::ID ValidIntrinsicID) |
| Identify if call has a unary float signature It returns input intrinsic ID if call has a single argument, argument type and call instruction type should be floating point type and call should only reads memory. More... | |
| Intrinsic::ID | checkBinaryFloatSignature (const CallInst &I, Intrinsic::ID ValidIntrinsicID) |
| Identify if call has a binary float signature It returns input intrinsic ID if call has two arguments, arguments type and call instruction type should be floating point type and call should only reads memory. More... | |
| Intrinsic::ID | getIntrinsicIDForCall (CallInst *CI, const TargetLibraryInfo *TLI) |
| Returns intrinsic ID for call. More... | |
| unsigned | getGEPInductionOperand (const GetElementPtrInst *Gep) |
| Find the operand of the GEP that should be checked for consecutive stores. More... | |
| Value * | stripGetElementPtr (Value *Ptr, ScalarEvolution *SE, Loop *Lp) |
| If the argument is a GEP, then returns the operand identified by getGEPInductionOperand. More... | |
| Value * | getUniqueCastUse (Value *Ptr, Loop *Lp, Type *Ty) |
| If a value has only one user that is a CastInst, return it. More... | |
| Value * | getStrideFromPointer (Value *Ptr, ScalarEvolution *SE, Loop *Lp) |
| Get the stride of a pointer access in a loop. More... | |
| Value * | findScalarElement (Value *V, unsigned EltNo) |
| Given a vector and an element number, see if the scalar value is already around as a register, for example if it were inserted then extracted from the vector. More... | |
| std::unique_ptr< Module > | parseAssemblyFile (StringRef Filename, SMDiagnostic &Error, LLVMContext &Context, SlotMapping *Slots=nullptr) |
| This function is the main interface to the LLVM Assembly Parser. More... | |
| std::unique_ptr< Module > | parseAssemblyString (StringRef AsmString, SMDiagnostic &Error, LLVMContext &Context, SlotMapping *Slots=nullptr) |
| The function is a secondary interface to the LLVM Assembly Parser. More... | |
| std::unique_ptr< Module > | parseAssembly (MemoryBufferRef F, SMDiagnostic &Err, LLVMContext &Context, SlotMapping *Slots=nullptr) |
| parseAssemblyFile and parseAssemblyString are wrappers around this function. More... | |
| bool | parseAssemblyInto (MemoryBufferRef F, Module &M, SMDiagnostic &Err, SlotMapping *Slots=nullptr) |
| This function is the low-level interface to the LLVM Assembly Parser. More... | |
| ModulePass * | createBitcodeWriterPass (raw_ostream &Str, bool ShouldPreserveUseListOrder=false) |
| Create and return a pass that writes the module to the specified ostream. More... | |
| ErrorOr< std::unique_ptr < Module > > | getLazyBitcodeModule (std::unique_ptr< MemoryBuffer > &&Buffer, LLVMContext &Context, DiagnosticHandlerFunction DiagnosticHandler=nullptr, bool ShouldLazyLoadMetadata=false) |
| Read the header of the specified bitcode buffer and prepare for lazy deserialization of function bodies. More... | |
| ErrorOr< std::unique_ptr < Module > > | getStreamedBitcodeModule (StringRef Name, std::unique_ptr< DataStreamer > Streamer, LLVMContext &Context, DiagnosticHandlerFunction DiagnosticHandler=nullptr) |
| Read the header of the specified stream and prepare for lazy deserialization and streaming of function bodies. More... | |
| std::string | getBitcodeTargetTriple (MemoryBufferRef Buffer, LLVMContext &Context, DiagnosticHandlerFunction DiagnosticHandler=nullptr) |
| Read the header of the specified bitcode buffer and extract just the triple information. More... | |
| ErrorOr< std::unique_ptr < Module > > | parseBitcodeFile (MemoryBufferRef Buffer, LLVMContext &Context, DiagnosticHandlerFunction DiagnosticHandler=nullptr) |
| Read the specified bitcode file, returning the module. More... | |
| void | WriteBitcodeToFile (const Module *M, raw_ostream &Out, bool ShouldPreserveUseListOrder=false) |
| Write the specified module to the specified raw output stream. More... | |
| bool | isBitcodeWrapper (const unsigned char *BufPtr, const unsigned char *BufEnd) |
| isBitcodeWrapper - Return true if the given bytes are the magic bytes for an LLVM IR bitcode wrapper. More... | |
| bool | isRawBitcode (const unsigned char *BufPtr, const unsigned char *BufEnd) |
| isRawBitcode - Return true if the given bytes are the magic bytes for raw LLVM IR bitcode (without a wrapper). More... | |
| bool | isBitcode (const unsigned char *BufPtr, const unsigned char *BufEnd) |
| isBitcode - Return true if the given bytes are the magic bytes for LLVM IR bitcode, either with or without a wrapper. More... | |
| bool | SkipBitcodeWrapperHeader (const unsigned char *&BufPtr, const unsigned char *&BufEnd, bool VerifyBufferSize) |
| SkipBitcodeWrapperHeader - Some systems wrap bc files with a special header for padding or other reasons. More... | |
| const std::error_category & | BitcodeErrorCategory () |
| std::error_code | make_error_code (BitcodeError E) |
| unsigned | ComputeLinearIndex (Type *Ty, const unsigned *Indices, const unsigned *IndicesEnd, unsigned CurIndex=0) |
| Compute the linearized index of a member in a nested aggregate/struct/array. More... | |
| unsigned | ComputeLinearIndex (Type *Ty, ArrayRef< unsigned > Indices, unsigned CurIndex=0) |
| void | ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< uint64_t > *Offsets=nullptr, uint64_t StartingOffset=0) |
| ComputeValueVTs - Given an LLVM IR type, compute a sequence of EVTs that represent all the individual underlying non-aggregate types that comprise it. More... | |
| GlobalValue * | ExtractTypeInfo (Value *V) |
| ExtractTypeInfo - Returns the type info, possibly bitcast, encoded in V. More... | |
| bool | hasInlineAsmMemConstraint (InlineAsm::ConstraintInfoVector &CInfos, const TargetLowering &TLI) |
| hasInlineAsmMemConstraint - Return true if the inline asm instruction being processed uses a memory 'm' constraint. More... | |
| ISD::CondCode | getFCmpCondCode (FCmpInst::Predicate Pred) |
| getFCmpCondCode - Return the ISD condition code corresponding to the given LLVM IR floating-point condition code. More... | |
| ISD::CondCode | getFCmpCodeWithoutNaN (ISD::CondCode CC) |
| getFCmpCodeWithoutNaN - Given an ISD condition code comparing floats, return the equivalent code if we're allowed to assume that NaNs won't occur. More... | |
| ISD::CondCode | getICmpCondCode (ICmpInst::Predicate Pred) |
| getICmpCondCode - Return the ISD condition code corresponding to the given LLVM IR integer condition code. More... | |
| bool | isInTailCallPosition (ImmutableCallSite CS, const TargetMachine &TM) |
| Test if the given instruction is in a position to be optimized with a tail-call. More... | |
| bool | returnTypeIsEligibleForTailCall (const Function *F, const Instruction *I, const ReturnInst *Ret, const TargetLoweringBase &TLI) |
| Test if given that the input instruction is in the tail call position if the return type or any attributes of the function will inhibit tail call optimization. More... | |
| bool | canBeOmittedFromSymbolTable (const GlobalValue *GV) |
| static float | normalizeSpillWeight (float UseDefFreq, unsigned Size, unsigned NumInstr) |
| Normalize the spill weight of a live interval. More... | |
| void | calculateSpillWeightsAndHints (LiveIntervals &LIS, MachineFunction &MF, const MachineLoopInfo &MLI, const MachineBlockFrequencyInfo &MBFI, VirtRegAuxInfo::NormalizingFn norm=normalizeSpillWeight) |
| Compute spill weights and allocation hints for all virtual register live intervals. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const FaultMapParser::FunctionFaultInfoAccessor &) |
| raw_ostream & | operator<< (raw_ostream &OS, const FaultMapParser::FunctionInfoAccessor &) |
| raw_ostream & | operator<< (raw_ostream &OS, const FaultMapParser &) |
| void | 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. More... | |
| void | AddLandingPadInfo (const LandingPadInst &I, MachineModuleInfo &MMI, MachineBasicBlock *MBB) |
| AddLandingPadInfo - Extract the exception handling information from the landingpad instruction and add them to the specified machine module info. More... | |
| void | linkCoreCLRGC () |
| FIXME: Collector instances are not useful on their own. More... | |
| void | linkOcamlGC () |
| Creates an ocaml-compatible garbage collector. More... | |
| void | linkOcamlGCPrinter () |
| Creates an ocaml-compatible metadata printer. More... | |
| void | linkErlangGC () |
| Creates an erlang-compatible garbage collector. More... | |
| void | linkErlangGCPrinter () |
| Creates an erlang-compatible metadata printer. More... | |
| void | linkShadowStackGC () |
| Creates a shadow stack garbage collector. More... | |
| void | linkStatepointExampleGC () |
| raw_ostream & | operator<< (raw_ostream &OS, const LiveRange &LR) |
| raw_ostream & | operator<< (raw_ostream &OS, const LiveInterval &LI) |
| raw_ostream & | operator<< (raw_ostream &OS, const LiveRange::Segment &S) |
| bool | operator< (SlotIndex V, const LiveRange::Segment &S) |
| bool | operator< (const LiveRange::Segment &S, SlotIndex V) |
| raw_ostream & | operator<< (raw_ostream &OS, const LiveRangeUpdater &X) |
| bool | overlap (const LiveInterval::Segment &VRSeg, const IntervalMap< SlotIndex, LiveInterval * >::const_iterator &LUSeg) |
| Compare a live virtual register segment to a LiveIntervalUnion segment. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const LivePhysRegs &LR) |
| raw_ostream & | operator<< (raw_ostream &OS, const MachineBasicBlock &MBB) |
| raw_ostream & | operator<< (raw_ostream &OS, const MachineConstantPoolValue &V) |
| raw_ostream & | operator<< (raw_ostream &OS, const MachineInstr &MI) |
| MachineInstrBuilder | BuildMI (MachineFunction &MF, DebugLoc DL, const MCInstrDesc &MCID) |
| BuildMI - Builder interface. More... | |
| MachineInstrBuilder | BuildMI (MachineFunction &MF, DebugLoc DL, const MCInstrDesc &MCID, unsigned DestReg) |
| BuildMI - This version of the builder sets up the first operand as a destination virtual register. More... | |
| MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, DebugLoc DL, const MCInstrDesc &MCID, unsigned DestReg) |
| 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. More... | |
| 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) |
| 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. More... | |
| 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) |
| 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. More... | |
| MachineInstrBuilder | BuildMI (MachineBasicBlock *BB, DebugLoc DL, const MCInstrDesc &MCID, unsigned DestReg) |
| 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. More... | |
| MachineInstrBuilder | BuildMI (MachineFunction &MF, DebugLoc DL, const MCInstrDesc &MCID, bool IsIndirect, unsigned Reg, unsigned Offset, const MDNode *Variable, const MDNode *Expr) |
| BuildMI - This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect+offset address. More... | |
| MachineInstrBuilder | BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, DebugLoc DL, const MCInstrDesc &MCID, bool IsIndirect, unsigned Reg, unsigned Offset, const MDNode *Variable, const MDNode *Expr) |
| BuildMI - This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect+offset address and inserts it at position I. More... | |
| unsigned | getDefRegState (bool B) |
| unsigned | getImplRegState (bool B) |
| unsigned | getKillRegState (bool B) |
| unsigned | getDeadRegState (bool B) |
| unsigned | getUndefRegState (bool B) |
| unsigned | getInternalReadRegState (bool B) |
| unsigned | getDebugRegState (bool B) |
| void | finalizeBundle (MachineBasicBlock &MBB, MachineBasicBlock::instr_iterator FirstMI, MachineBasicBlock::instr_iterator LastMI) |
| finalizeBundle - Finalize a machine instruction bundle which includes a sequence of instructions starting from FirstMI to LastMI (exclusive). More... | |
| MachineBasicBlock::instr_iterator | finalizeBundle (MachineBasicBlock &MBB, MachineBasicBlock::instr_iterator FirstMI) |
| finalizeBundle - Same functionality as the previous finalizeBundle except the last instruction in the bundle is not provided as an input. More... | |
| bool | finalizeBundles (MachineFunction &MF) |
| finalizeBundles - Finalize instruction bundles in the specified MachineFunction. More... | |
| MachineInstr * | getBundleStart (MachineInstr *MI) |
| getBundleStart - Returns the first instruction in the bundle containing MI. More... | |
| const MachineInstr * | getBundleStart (const MachineInstr *MI) |
| MachineBasicBlock::instr_iterator | getBundleEnd (MachineInstr *MI) |
| Return an iterator pointing beyond the bundle containing MI. More... | |
| MachineBasicBlock::const_instr_iterator | getBundleEnd (const MachineInstr *MI) |
| Return an iterator pointing beyond the bundle containing MI. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const MachineMemOperand &MRO) |
| raw_ostream & | operator<< (raw_ostream &OS, const MachineOperand &MO) |
| hash_code | hash_value (const MachineOperand &MO) |
| RegionNodeGraphTraits (MachineRegionNode, MachineBasicBlock, MachineRegion) | |
| RegionGraphTraits (MachineRegion, MachineRegionNode) | |
| raw_ostream & | operator<< (raw_ostream &OS, const MachineTraceMetrics::Trace &Tr) |
| raw_ostream & | operator<< (raw_ostream &OS, const MachineTraceMetrics::Ensemble &En) |
| std::unique_ptr< MIRParser > | createMIRParserFromFile (StringRef Filename, SMDiagnostic &Error, LLVMContext &Context) |
| This function is the main interface to the MIR serialization format parser. More... | |
| std::unique_ptr< MIRParser > | createMIRParser (std::unique_ptr< MemoryBuffer > Contents, LLVMContext &Context) |
| This function is another interface to the MIR serialization format parser. More... | |
| FunctionPass * | createAtomicExpandPass (const TargetMachine *TM) |
| FunctionPass * | createUnreachableBlockEliminationPass () |
| createUnreachableBlockEliminationPass - The LLVM code generator does not work well with unreachable basic blocks (what live ranges make sense for a block that cannot be reached?). More... | |
| MachineFunctionPass * | createMachineFunctionPrinterPass (raw_ostream &OS, const std::string &Banner="") |
| MachineFunctionPrinter pass - This pass prints out the machine function to the given stream as a debugging tool. More... | |
| MachineFunctionPass * | createPrintMIRPass (raw_ostream &OS) |
| MIRPrinting pass - this pass prints out the LLVM IR into the given stream using the MIR serialization format. More... | |
| FunctionPass * | createCodeGenPreparePass (const TargetMachine *TM=nullptr) |
| createCodeGenPreparePass - Transform the code to expose more pattern matching during instruction selection. More... | |
| FunctionPass * | createFastRegisterAllocator () |
| FastRegisterAllocation Pass - This pass register allocates as fast as possible. More... | |
| FunctionPass * | createBasicRegisterAllocator () |
| BasicRegisterAllocation Pass - This pass implements a degenerate global register allocator using the basic regalloc framework. More... | |
| FunctionPass * | createGreedyRegisterAllocator () |
| Greedy register allocation pass - This pass implements a global register allocator for optimized builds. More... | |
| FunctionPass * | createDefaultPBQPRegisterAllocator () |
| PBQPRegisterAllocation Pass - This pass implements the Partitioned Boolean Quadratic Prograaming (PBQP) based register allocator. More... | |
| FunctionPass * | createIfConverter (std::function< bool(const Function &)> Ftor) |
| FunctionPass * | createGCLoweringPass () |
| GCLowering Pass - Used by gc.root to perform its default lowering operations. More... | |
| FunctionPass * | createShadowStackGCLoweringPass () |
| ShadowStackGCLowering - Implements the custom lowering mechanism used by the shadow stack GC. More... | |
| FunctionPass * | createGCInfoPrinter (raw_ostream &OS) |
| Creates a pass to print GC metadata. More... | |
| FunctionPass * | createStackProtectorPass (const TargetMachine *TM) |
| createStackProtectorPass - This pass adds stack protectors to functions. More... | |
| FunctionPass * | createMachineVerifierPass (const std::string &Banner) |
| createMachineVerifierPass - This pass verifies cenerated machine code instructions for correctness. More... | |
| FunctionPass * | createDwarfEHPass (const TargetMachine *TM) |
| createDwarfEHPass - This pass mulches exception handling code into a form adapted to code generation. More... | |
| FunctionPass * | createWinEHPass (const TargetMachine *TM) |
| createWinEHPass - Prepares personality functions used by MSVC on Windows, in addition to the Itanium LSDA based personalities. More... | |
| FunctionPass * | createSjLjEHPreparePass () |
| createSjLjEHPreparePass - This pass adapts exception handling code to use the GCC-style builtin setjmp/longjmp (sjlj) to handling EH control flow. More... | |
| FunctionPass * | createExecutionDependencyFixPass (const TargetRegisterClass *RC) |
| createExecutionDependencyFixPass - This pass fixes execution time problems with dependent instructions, such as switching execution domains to match. More... | |
| FunctionPass * | createUnpackMachineBundles (std::function< bool(const Function &)> Ftor) |
| ModulePass * | createJumpInstrTablesPass () |
| createJumpInstrTables - This pass creates jump-instruction tables. More... | |
| ModulePass * | createForwardControlFlowIntegrityPass () |
| createForwardControlFlowIntegrityPass - This pass adds control-flow integrity. More... | |
| FunctionPass * | createInterleavedAccessPass (const TargetMachine *TM) |
| InterleavedAccess Pass - This pass identifies and matches interleaved memory accesses to target specific intrinsics. More... | |
| FunctionPass * | createPBQPRegisterAllocator (char *customPassID=nullptr) |
| Create a PBQP register allocator instance. More... | |
| void | dumpRegSetPressure (ArrayRef< unsigned > SetPressure, const TargetRegisterInfo *TRI) |
| raw_ostream & | operator<< (raw_ostream &OS, const ILPValue &Val) |
| ScheduleDAGSDNodes * | createBURRListDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel) |
| createBURRListDAGScheduler - This creates a bottom up register usage reduction list scheduler. More... | |
| ScheduleDAGSDNodes * | createSourceListDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel) |
| createBURRListDAGScheduler - This creates a bottom up list scheduler that schedules nodes in source code order when possible. More... | |
| ScheduleDAGSDNodes * | createHybridListDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level) |
| 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. More... | |
| ScheduleDAGSDNodes * | createILPListDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level) |
| createILPListDAGScheduler - This creates a bottom up register pressure aware list scheduler that tries to increase instruction level parallelism in low register pressure mode. More... | |
| ScheduleDAGSDNodes * | createFastDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel) |
| createFastDAGScheduler - This creates a "fast" scheduler. More... | |
| ScheduleDAGSDNodes * | createVLIWDAGScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel) |
| createVLIWDAGScheduler - Scheduler for VLIW targets. More... | |
| ScheduleDAGSDNodes * | createDefaultScheduler (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel) |
| createDefaultScheduler - This creates an instruction scheduler appropriate for the target. More... | |
| ScheduleDAGSDNodes * | createDAGLinearizer (SelectionDAGISel *IS, CodeGenOpt::Level OptLevel) |
| createDAGLinearizer - This creates a "no-scheduling" scheduler which linearize the DAG using topological order. More... | |
| void | checkForCycles (const SelectionDAG *DAG, bool force=false) |
| void | checkForCycles (const SDNode *N, const SelectionDAG *DAG=nullptr, bool force=false) |
| static bool | isBinOpWithFlags (unsigned Opcode) |
| Returns true if the opcode is a binary operation with flags. More... | |
| raw_ostream & | operator<< (raw_ostream &os, SlotIndex li) |
| bool | operator< (SlotIndex V, const IdxMBBPair &IM) |
| bool | operator< (const IdxMBBPair &IM, SlotIndex V) |
| raw_ostream & | operator<< (raw_ostream &OS, const VirtRegMap &VRM) |
| void | parseEHActions (const IntrinsicInst *II, SmallVectorImpl< std::unique_ptr< ActionHandler >> &Actions) |
| void | calculateWinCXXEHStateNumbers (const Function *ParentFn, WinEHFuncInfo &FuncInfo) |
| Analyze the IR in ParentFn and it's handlers to build WinEHFuncInfo, which describes the state numbers and tables used by __CxxFrameHandler3. More... | |
| PDB_ErrorCode | loadDataForPDB (PDB_ReaderType Type, StringRef Path, std::unique_ptr< IPDBSession > &Session) |
| PDB_ErrorCode | loadDataForEXE (PDB_ReaderType Type, StringRef Path, std::unique_ptr< IPDBSession > &Session) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_VariantType &Value) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_CallingConv &Conv) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_DataKind &Data) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_RegisterId &Reg) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_LocType &Loc) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_ThunkOrdinal &Thunk) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_Checksum &Checksum) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_Lang &Lang) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_SymType &Tag) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_MemberAccess &Access) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_UdtType &Type) |
| raw_ostream & | operator<< (raw_ostream &OS, const PDB_UniqueId &Id) |
| raw_ostream & | operator<< (raw_ostream &OS, const Variant &Value) |
| raw_ostream & | operator<< (raw_ostream &OS, const VersionInfo &Version) |
| raw_ostream & | operator<< (raw_ostream &OS, const TagStats &Stats) |
| GenericValue | PTOGV (void *P) |
| void * | GVTOP (const GenericValue &GV) |
| JITSymbolFlags | operator| (JITSymbolFlags LHS, JITSymbolFlags RHS) |
| JITSymbolFlags & | operator|= (JITSymbolFlags &LHS, JITSymbolFlags RHS) |
| JITSymbolFlags | operator& (JITSymbolFlags LHS, JITSymbolFlags RHS) |
| JITSymbolFlags & | operator&= (JITSymbolFlags &LHS, JITSymbolFlags RHS) |
| void | initializeCore (PassRegistry &) |
| initializeCore - Initialize all passes linked into the TransformUtils library. More... | |
| void | initializeTransformUtils (PassRegistry &) |
| initializeTransformUtils - Initialize all passes linked into the TransformUtils library. More... | |
| void | initializeScalarOpts (PassRegistry &) |
| initializeScalarOpts - Initialize all passes linked into the ScalarOpts library. More... | |
| void | initializeObjCARCOpts (PassRegistry &) |
| initializeObjCARCOpts - Initialize all passes linked into the ObjCARCOpts library. More... | |
| void | initializeVectorization (PassRegistry &) |
| initializeVectorization - Initialize all passes linked into the Vectorize library. More... | |
| void | initializeInstCombine (PassRegistry &) |
| initializeInstCombine - Initialize all passes linked into the InstCombine library. More... | |
| void | initializeIPO (PassRegistry &) |
| initializeIPO - Initialize all passes linked into the IPO library. More... | |
| void | initializeInstrumentation (PassRegistry &) |
| initializeInstrumentation - Initialize all passes linked into the Instrumentation library. More... | |
| void | initializeAnalysis (PassRegistry &) |
| initializeAnalysis - Initialize all passes linked into the Analysis library. More... | |
| void | initializeIPA (PassRegistry &) |
| initializeIPA - Initialize all passes linked into the IPA library. More... | |
| void | initializeCodeGen (PassRegistry &) |
| initializeCodeGen - Initialize all passes linked into the CodeGen library. More... | |
| void | initializeTarget (PassRegistry &) |
| initializeCodeGen - Initialize all passes linked into the CodeGen library. More... | |
| void | initializeAAEvalPass (PassRegistry &) |
| void | initializeAddDiscriminatorsPass (PassRegistry &) |
| void | initializeADCEPass (PassRegistry &) |
| void | initializeBDCEPass (PassRegistry &) |
| void | initializeAliasAnalysisAnalysisGroup (PassRegistry &) |
| void | initializeAliasAnalysisCounterPass (PassRegistry &) |
| void | initializeAliasDebuggerPass (PassRegistry &) |
| void | initializeAliasSetPrinterPass (PassRegistry &) |
| void | initializeAlwaysInlinerPass (PassRegistry &) |
| void | initializeArgPromotionPass (PassRegistry &) |
| void | initializeAtomicExpandPass (PassRegistry &) |
| void | initializeSampleProfileLoaderPass (PassRegistry &) |
| void | initializeAlignmentFromAssumptionsPass (PassRegistry &) |
| void | initializeBarrierNoopPass (PassRegistry &) |
| void | initializeBasicAliasAnalysisPass (PassRegistry &) |
| void | initializeCallGraphWrapperPassPass (PassRegistry &) |
| void | initializeBlockExtractorPassPass (PassRegistry &) |
| void | initializeBlockFrequencyInfoPass (PassRegistry &) |
| void | initializeBoundsCheckingPass (PassRegistry &) |
| void | initializeBranchFolderPassPass (PassRegistry &) |
| void | initializeBranchProbabilityInfoPass (PassRegistry &) |
| void | initializeBreakCriticalEdgesPass (PassRegistry &) |
| void | initializeCallGraphPrinterPass (PassRegistry &) |
| void | initializeCallGraphViewerPass (PassRegistry &) |
| void | initializeCFGOnlyPrinterPass (PassRegistry &) |
| void | initializeCFGOnlyViewerPass (PassRegistry &) |
| void | initializeCFGPrinterPass (PassRegistry &) |
| void | initializeCFGSimplifyPassPass (PassRegistry &) |
| void | initializeCFLAliasAnalysisPass (PassRegistry &) |
| void | initializeForwardControlFlowIntegrityPass (PassRegistry &) |
| void | initializeFlattenCFGPassPass (PassRegistry &) |
| void | initializeStructurizeCFGPass (PassRegistry &) |
| void | initializeCFGViewerPass (PassRegistry &) |
| void | initializeConstantHoistingPass (PassRegistry &) |
| void | initializeCodeGenPreparePass (PassRegistry &) |
| void | initializeConstantMergePass (PassRegistry &) |
| void | initializeConstantPropagationPass (PassRegistry &) |
| void | initializeMachineCopyPropagationPass (PassRegistry &) |
| void | initializeCostModelAnalysisPass (PassRegistry &) |
| void | initializeCorrelatedValuePropagationPass (PassRegistry &) |
| void | initializeDAEPass (PassRegistry &) |
| void | initializeDAHPass (PassRegistry &) |
| void | initializeDCEPass (PassRegistry &) |
| void | initializeDSEPass (PassRegistry &) |
| void | initializeDeadInstEliminationPass (PassRegistry &) |
| void | initializeDeadMachineInstructionElimPass (PassRegistry &) |
| void | initializeDelinearizationPass (PassRegistry &) |
| void | initializeDependenceAnalysisPass (PassRegistry &) |
| void | initializeDivergenceAnalysisPass (PassRegistry &) |
| void | initializeDomOnlyPrinterPass (PassRegistry &) |
| void | initializeDomOnlyViewerPass (PassRegistry &) |
| void | initializeDomPrinterPass (PassRegistry &) |
| void | initializeDomViewerPass (PassRegistry &) |
| void | initializeDominanceFrontierPass (PassRegistry &) |
| void | initializeDominatorTreeWrapperPassPass (PassRegistry &) |
| void | initializeEarlyIfConverterPass (PassRegistry &) |
| void | initializeEdgeBundlesPass (PassRegistry &) |
| void | initializeExpandPostRAPass (PassRegistry &) |
| void | initializeGCOVProfilerPass (PassRegistry &) |
| void | initializeInstrProfilingPass (PassRegistry &) |
| void | initializeAddressSanitizerPass (PassRegistry &) |
| void | initializeAddressSanitizerModulePass (PassRegistry &) |
| void | initializeMemorySanitizerPass (PassRegistry &) |
| void | initializeThreadSanitizerPass (PassRegistry &) |
| void | initializeSanitizerCoverageModulePass (PassRegistry &) |
| void | initializeDataFlowSanitizerPass (PassRegistry &) |
| void | initializeScalarizerPass (PassRegistry &) |
| void | initializeEarlyCSELegacyPassPass (PassRegistry &) |
| void | initializeEliminateAvailableExternallyPass (PassRegistry &) |
| void | initializeExpandISelPseudosPass (PassRegistry &) |
| void | initializeFunctionAttrsPass (PassRegistry &) |
| void | initializeGCMachineCodeAnalysisPass (PassRegistry &) |
| void | initializeGCModuleInfoPass (PassRegistry &) |
| void | initializeGVNPass (PassRegistry &) |
| void | initializeGlobalDCEPass (PassRegistry &) |
| void | initializeGlobalOptPass (PassRegistry &) |
| void | initializeGlobalsModRefPass (PassRegistry &) |
| void | initializeIPCPPass (PassRegistry &) |
| void | initializeIPSCCPPass (PassRegistry &) |
| void | initializeIVUsersPass (PassRegistry &) |
| void | initializeIfConverterPass (PassRegistry &) |
| void | initializeInductiveRangeCheckEliminationPass (PassRegistry &) |
| void | initializeIndVarSimplifyPass (PassRegistry &) |
| void | initializeInlineCostAnalysisPass (PassRegistry &) |
| void | initializeInstructionCombiningPassPass (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 | initializeLiveRegMatrixPass (PassRegistry &) |
| void | initializeLiveStacksPass (PassRegistry &) |
| void | initializeLiveVariablesPass (PassRegistry &) |
| void | initializeLoaderPassPass (PassRegistry &) |
| void | initializeLocalStackSlotPassPass (PassRegistry &) |
| void | initializeLoopDeletionPass (PassRegistry &) |
| void | initializeLoopExtractorPass (PassRegistry &) |
| void | initializeLoopInfoWrapperPassPass (PassRegistry &) |
| void | initializeLoopInterchangePass (PassRegistry &) |
| void | initializeLoopInstSimplifyPass (PassRegistry &) |
| void | initializeLoopRotatePass (PassRegistry &) |
| void | initializeLoopSimplifyPass (PassRegistry &) |
| void | initializeLoopStrengthReducePass (PassRegistry &) |
| void | initializeGlobalMergePass (PassRegistry &) |
| void | initializeLoopRerollPass (PassRegistry &) |
| void | initializeLoopUnrollPass (PassRegistry &) |
| void | initializeLoopUnswitchPass (PassRegistry &) |
| void | initializeLoopIdiomRecognizePass (PassRegistry &) |
| void | initializeLowerAtomicPass (PassRegistry &) |
| void | initializeLowerBitSetsPass (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 | initializeImplicitNullChecksPass (PassRegistry &) |
| void | initializeMachineDominatorTreePass (PassRegistry &) |
| void | initializeMachineDominanceFrontierPass (PassRegistry &) |
| void | initializeMachinePostDominatorTreePass (PassRegistry &) |
| void | initializeMachineLICMPass (PassRegistry &) |
| void | initializeMachineLoopInfoPass (PassRegistry &) |
| void | initializeMachineModuleInfoPass (PassRegistry &) |
| void | initializeMachineRegionInfoPassPass (PassRegistry &) |
| void | initializeMachineSchedulerPass (PassRegistry &) |
| void | initializeMachineSinkingPass (PassRegistry &) |
| void | initializeMachineTraceMetricsPass (PassRegistry &) |
| void | initializeMachineVerifierPassPass (PassRegistry &) |
| void | initializeMemCpyOptPass (PassRegistry &) |
| void | initializeMemDepPrinterPass (PassRegistry &) |
| void | initializeMemDerefPrinterPass (PassRegistry &) |
| void | initializeMemoryDependenceAnalysisPass (PassRegistry &) |
| void | initializeMergedLoadStoreMotionPass (PassRegistry &) |
| void | initializeMetaRenamerPass (PassRegistry &) |
| void | initializeMergeFunctionsPass (PassRegistry &) |
| void | initializeModuleDebugInfoPrinterPass (PassRegistry &) |
| void | initializeNaryReassociatePass (PassRegistry &) |
| void | initializeNoAAPass (PassRegistry &) |
| void | initializeObjCARCAliasAnalysisPass (PassRegistry &) |
| void | initializeObjCARCAPElimPass (PassRegistry &) |
| void | initializeObjCARCExpandPass (PassRegistry &) |
| void | initializeObjCARCContractPass (PassRegistry &) |
| void | initializeObjCARCOptPass (PassRegistry &) |
| void | initializePAEvalPass (PassRegistry &) |
| void | initializeOptimizePHIsPass (PassRegistry &) |
| void | initializePartiallyInlineLibCallsPass (PassRegistry &) |
| void | initializePEIPass (PassRegistry &) |
| void | initializePHIEliminationPass (PassRegistry &) |
| void | initializePartialInlinerPass (PassRegistry &) |
| void | initializePeepholeOptimizerPass (PassRegistry &) |
| void | initializePostDomOnlyPrinterPass (PassRegistry &) |
| void | initializePostDomOnlyViewerPass (PassRegistry &) |
| void | initializePostDomPrinterPass (PassRegistry &) |
| void | initializePostDomViewerPass (PassRegistry &) |
| void | initializePostDominatorTreePass (PassRegistry &) |
| void | initializePostRASchedulerPass (PassRegistry &) |
| void | initializePostMachineSchedulerPass (PassRegistry &) |
| void | initializePrintFunctionPassWrapperPass (PassRegistry &) |
| void | initializePrintModulePassWrapperPass (PassRegistry &) |
| void | initializePrintBasicBlockPassPass (PassRegistry &) |
| void | initializeProcessImplicitDefsPass (PassRegistry &) |
| void | initializePromotePassPass (PassRegistry &) |
| void | initializePruneEHPass (PassRegistry &) |
| void | initializeReassociatePass (PassRegistry &) |
| void | initializeRegToMemPass (PassRegistry &) |
| void | initializeRegionInfoPassPass (PassRegistry &) |
| void | initializeRegionOnlyPrinterPass (PassRegistry &) |
| void | initializeRegionOnlyViewerPass (PassRegistry &) |
| void | initializeRegionPrinterPass (PassRegistry &) |
| void | initializeRegionViewerPass (PassRegistry &) |
| void | initializeRewriteStatepointsForGCPass (PassRegistry &) |
| void | initializeSafeStackPass (PassRegistry &) |
| void | initializeSCCPPass (PassRegistry &) |
| void | initializeSROAPass (PassRegistry &) |
| void | initializeSROA_DTPass (PassRegistry &) |
| void | initializeSROA_SSAUpPass (PassRegistry &) |
| void | initializeScalarEvolutionAliasAnalysisPass (PassRegistry &) |
| void | initializeScalarEvolutionPass (PassRegistry &) |
| void | initializeShrinkWrapPass (PassRegistry &) |
| void | initializeSimpleInlinerPass (PassRegistry &) |
| void | initializeShadowStackGCLoweringPass (PassRegistry &) |
| void | initializeRegisterCoalescerPass (PassRegistry &) |
| void | initializeSingleLoopExtractorPass (PassRegistry &) |
| void | initializeSinkingPass (PassRegistry &) |
| void | initializeSeparateConstOffsetFromGEPPass (PassRegistry &) |
| void | initializeSlotIndexesPass (PassRegistry &) |
| void | initializeSpillPlacementPass (PassRegistry &) |
| void | initializeSpeculativeExecutionPass (PassRegistry &) |
| void | initializeStackProtectorPass (PassRegistry &) |
| void | initializeStackColoringPass (PassRegistry &) |
| void | initializeStackSlotColoringPass (PassRegistry &) |
| void | initializeStraightLineStrengthReducePass (PassRegistry &) |
| void | initializeStripDeadDebugInfoPass (PassRegistry &) |
| void | initializeStripDeadPrototypesPassPass (PassRegistry &) |
| void | initializeStripDebugDeclarePass (PassRegistry &) |
| void | initializeStripNonDebugSymbolsPass (PassRegistry &) |
| void | initializeStripSymbolsPass (PassRegistry &) |
| void | initializeTailCallElimPass (PassRegistry &) |
| void | initializeTailDuplicatePassPass (PassRegistry &) |
| void | initializeTargetPassConfigPass (PassRegistry &) |
| void | initializeTargetTransformInfoWrapperPassPass (PassRegistry &) |
| void | initializeTargetLibraryInfoWrapperPassPass (PassRegistry &) |
| void | initializeAssumptionCacheTrackerPass (PassRegistry &) |
| void | initializeTwoAddressInstructionPassPass (PassRegistry &) |
| void | initializeTypeBasedAliasAnalysisPass (PassRegistry &) |
| void | initializeScopedNoAliasAAPass (PassRegistry &) |
| void | initializeUnifyFunctionExitNodesPass (PassRegistry &) |
| void | initializeUnreachableBlockElimPass (PassRegistry &) |
| void | initializeUnreachableMachineBlockElimPass (PassRegistry &) |
| void | initializeVerifierLegacyPassPass (PassRegistry &) |
| void | initializeVirtRegMapPass (PassRegistry &) |
| void | initializeVirtRegRewriterPass (PassRegistry &) |
| void | initializeInstSimplifierPass (PassRegistry &) |
| void | initializeUnpackMachineBundlesPass (PassRegistry &) |
| void | initializeFinalizeMachineBundlesPass (PassRegistry &) |
| void | initializeLoopAccessAnalysisPass (PassRegistry &) |
| void | initializeLoopVectorizePass (PassRegistry &) |
| void | initializeSLPVectorizerPass (PassRegistry &) |
| void | initializeBBVectorizePass (PassRegistry &) |
| void | initializeMachineFunctionPrinterPassPass (PassRegistry &) |
| void | initializeMIRPrintingPassPass (PassRegistry &) |
| void | initializeStackMapLivenessPass (PassRegistry &) |
| void | initializeMachineCombinerPass (PassRegistry &) |
| void | initializeLoadCombinePass (PassRegistry &) |
| void | initializeRewriteSymbolsPass (PassRegistry &) |
| void | initializeWinEHPreparePass (PassRegistry &) |
| void | initializePlaceBackedgeSafepointsImplPass (PassRegistry &) |
| void | initializePlaceSafepointsPass (PassRegistry &) |
| void | initializeDwarfEHPreparePass (PassRegistry &) |
| void | initializeFloat2IntPass (PassRegistry &) |
| void | initializeLoopDistributePass (PassRegistry &) |
| void | initializeSjLjEHPreparePass (PassRegistry &) |
| bool | 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. More... | |
| void | 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. More... | |
| void | UpgradeCallsToIntrinsic (Function *F) |
| This is an auto-upgrade hook for any old intrinsic function syntaxes which need to have both the function updated as well as all calls updated to the new function. More... | |
| bool | UpgradeGlobalVariable (GlobalVariable *GV) |
| This checks for global variables which should be upgraded. More... | |
| void | UpgradeInstWithTBAATag (Instruction *I) |
| If the TBAA tag for the given instruction uses the scalar TBAA format, we upgrade it to the struct-path aware TBAA format. More... | |
| Instruction * | UpgradeBitCastInst (unsigned Opc, Value *V, Type *DestTy, Instruction *&Temp) |
| This is an auto-upgrade for bitcast between pointers with different address spaces: the instruction is replaced by a pair ptrtoint+inttoptr. More... | |
| Value * | UpgradeBitCastExpr (unsigned Opc, Constant *C, Type *DestTy) |
| This is an auto-upgrade for bitcast constant expression between pointers with different address spaces: the instruction is replaced by a pair ptrtoint+inttoptr. More... | |
| bool | UpgradeDebugInfo (Module &M) |
| Check the debug info version number, if it is out-dated, drop the debug info. More... | |
| void | UpgradeMDStringConstant (std::string &String) |
| Upgrade a metadata string constant in place. More... | |
| pred_iterator | pred_begin (BasicBlock *BB) |
| const_pred_iterator | pred_begin (const BasicBlock *BB) |
| pred_iterator | pred_end (BasicBlock *BB) |
| const_pred_iterator | pred_end (const BasicBlock *BB) |
| bool | pred_empty (const BasicBlock *BB) |
| pred_range | predecessors (BasicBlock *BB) |
| pred_const_range | predecessors (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) |
| bool | succ_empty (const BasicBlock *BB) |
| succ_range | successors (BasicBlock *BB) |
| succ_const_range | successors (const BasicBlock *BB) |
| raw_ostream & | operator<< (raw_ostream &OS, const Comdat &C) |
| raw_ostream & | operator<< (raw_ostream &OS, const ConstantRange &CR) |
| DataLayout * | unwrap (LLVMTargetDataRef P) |
| LLVMTargetDataRef | wrap (const DataLayout *P) |
| DISubprogram * | getDISubprogram (const MDNode *Scope) |
| Find subprogram that is enclosing this scope. More... | |
| DISubprogram * | getDISubprogram (const Function *F) |
| Find debug info for a given function. More... | |
| DICompositeTypeBase * | getDICompositeType (DIType *T) |
| Find underlying composite type. More... | |
| DITypeIdentifierMap | generateDITypeIdentifierMap (const NamedMDNode *CU_Nodes) |
| Generate map by visiting all retained types. More... | |
| bool | StripDebugInfo (Module &M) |
| Strip debug info in the module if it exists. More... | |
| bool | stripDebugInfo (Function &F) |
| unsigned | getDebugMetadataVersionFromModule (const Module &M) |
| Return Debug Info Metadata Version by checking module flags. More... | |
| DenseMap< const Function *, DISubprogram * > | makeSubprogramMap (const Module &M) |
| int | getNextAvailablePluginDiagnosticKind () |
| Get the next available kind ID for a plugin diagnostic. More... | |
| void | emitOptimizationRemark (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg) |
| Emit an optimization-applied message. More... | |
| void | emitOptimizationRemarkMissed (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg) |
| Emit an optimization-missed message. More... | |
| void | emitOptimizationRemarkAnalysis (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg) |
| Emit an optimization analysis remark message. More... | |
| void | emitLoopVectorizeWarning (LLVMContext &Ctx, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg) |
| Emit a warning when loop vectorization is specified but fails. More... | |
| void | emitLoopInterleaveWarning (LLVMContext &Ctx, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg) |
| Emit a warning when loop interleaving is specified but fails. More... | |
| template void | Calculate< Function, BasicBlock * > (DominatorTreeBase< GraphTraits< BasicBlock * >::NodeType > &DT, Function &F) |
| template void | Calculate< Function, Inverse< BasicBlock * > > (DominatorTreeBase< GraphTraits< Inverse< BasicBlock * >>::NodeType > &DT, Function &F) |
| gep_type_iterator | gep_type_begin (const User *GEP) |
| gep_type_iterator | gep_type_end (const User *GEP) |
| gep_type_iterator | gep_type_begin (const User &GEP) |
| gep_type_iterator | gep_type_end (const User &GEP) |
| template<typename T > | |
| generic_gep_type_iterator < const T * > | gep_type_begin (Type *Op0, ArrayRef< T > A) |
| template<typename T > | |
| generic_gep_type_iterator < const T * > | gep_type_end (Type *, ArrayRef< T > A) |
| inst_iterator | inst_begin (Function *F) |
| inst_iterator | inst_end (Function *F) |
| iterator_range< inst_iterator > | inst_range (Function *F) |
| const_inst_iterator | inst_begin (const Function *F) |
| const_inst_iterator | inst_end (const Function *F) |
| iterator_range < const_inst_iterator > | inst_range (const Function *F) |
| inst_iterator | inst_begin (Function &F) |
| inst_iterator | inst_end (Function &F) |
| iterator_range< inst_iterator > | inst_range (Function &F) |
| const_inst_iterator | inst_begin (const Function &F) |
| const_inst_iterator | inst_end (const Function &F) |
| iterator_range < const_inst_iterator > | inst_range (const Function &F) |
| bool | isAtLeastAcquire (AtomicOrdering Ord) |
| Returns true if the ordering is at least as strong as acquire (i.e. More... | |
| bool | isAtLeastRelease (AtomicOrdering Ord) |
| Returns true if the ordering is at least as strong as release (i.e. More... | |
| Type * | checkGEPType (Type *Ty) |
| ModulePass * | createPrintModulePass (raw_ostream &OS, const std::string &Banner="", bool ShouldPreserveUseListOrder=false) |
Create and return a pass that writes the module to the specified raw_ostream. More... | |
| FunctionPass * | createPrintFunctionPass (raw_ostream &OS, const std::string &Banner="") |
Create and return a pass that prints functions to the specified raw_ostream as they are processed. More... | |
| BasicBlockPass * | createPrintBasicBlockPass (raw_ostream &OS, const std::string &Banner="") |
Create and return a pass that writes the BB to the specified raw_ostream. More... | |
| Timer * | getPassTimer (Pass *) |
| If TimingInfo is enabled then start pass timer. More... | |
| LLVMContext & | getGlobalContext () |
| getGlobalContext - Returns a global context. More... | |
| LLVMContext ** | unwrap (LLVMContextRef *Tys) |
| LLVMContextRef * | wrap (const LLVMContext **Tys) |
| raw_ostream & | operator<< (raw_ostream &OS, const Metadata &MD) |
| raw_ostream & | operator<< (raw_ostream &O, const Module &M) |
| An raw_ostream inserter for modules. More... | |
| Module * | unwrap (LLVMModuleProviderRef MP) |
| template<typename FunctionPassT > | |
| ModuleToFunctionPassAdaptor < FunctionPassT > | createModuleToFunctionPassAdaptor (FunctionPassT Pass) |
| A function to deduce a function pass type and wrap it in the templated adaptor. More... | |
| bool | isStatepoint (const ImmutableCallSite &CS) |
| bool | isStatepoint (const Value *V) |
| bool | isStatepoint (const Value &V) |
| bool | isGCRelocate (const Value *V) |
| bool | isGCRelocate (const ImmutableCallSite &CS) |
| bool | isGCResult (const Value *V) |
| bool | isGCResult (const ImmutableCallSite &CS) |
| static raw_ostream & | operator<< (raw_ostream &OS, Type &T) |
| Type ** | unwrap (LLVMTypeRef *Tys) |
| LLVMTypeRef * | wrap (Type **Tys) |
| DEFINE_INTEGRAL_TYPEBUILDER (char) | |
| DEFINE_INTEGRAL_TYPEBUILDER (signed char) | |
| DEFINE_INTEGRAL_TYPEBUILDER (unsigned char) | |
| DEFINE_INTEGRAL_TYPEBUILDER (short) | |
| DEFINE_INTEGRAL_TYPEBUILDER (int) | |
| DEFINE_INTEGRAL_TYPEBUILDER (long) | |
| DEFINE_INTEGRAL_TYPEBUILDER (unsigned long long) | |
| raw_ostream & | operator<< (raw_ostream &OS, const Value &V) |
| Value ** | unwrap (LLVMValueRef *Vals) |
| template<typename T > | |
| T ** | unwrap (LLVMValueRef *Vals, unsigned Length) |
| LLVMValueRef * | wrap (const Value **Vals) |
| bool | verifyFunction (const Function &F, raw_ostream *OS=nullptr) |
| Check a function for errors, useful for use when debugging a pass. More... | |
| bool | verifyModule (const Module &M, raw_ostream *OS=nullptr) |
| Check a module for errors. More... | |
| FunctionPass * | createVerifierPass (bool FatalErrors=true) |
| Create a verifier pass. More... | |
| std::unique_ptr< Module > | getLazyIRFileModule (StringRef Filename, SMDiagnostic &Err, LLVMContext &Context) |
| If the given file holds a bitcode image, return a Module for it which does lazy deserialization of function bodies. More... | |
| std::unique_ptr< Module > | parseIR (MemoryBufferRef Buffer, SMDiagnostic &Err, LLVMContext &Context) |
| If the given MemoryBuffer holds a bitcode image, return a Module for it. More... | |
| std::unique_ptr< Module > | parseIRFile (StringRef Filename, SMDiagnostic &Err, LLVMContext &Context) |
| If the given file holds a bitcode image, return a Module for it. More... | |
| int | libDriverMain (llvm::ArrayRef< const char * > ARgs) |
| bool | operator!= (const MachineLocation &LHS, const MachineLocation &RHS) |
| uint64_t | computeBundlePadding (const MCAssembler &Assembler, const MCFragment *F, uint64_t FOffset, uint64_t FSize) |
Compute the amount of padding required before the fragment F to obey bundling restrictions, where FOffset is the fragment's offset in its section and FSize is the fragment's size. More... | |
| MCObjectWriter * | createELFObjectWriter (MCELFObjectTargetWriter *MOTW, raw_pwrite_stream &OS, bool IsLittleEndian) |
| Construct a new ELF writer instance. More... | |
| MCELFStreamer * | createARMELFStreamer (MCContext &Context, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll, bool IsThumb) |
| raw_ostream & | operator<< (raw_ostream &OS, const MCExpr &E) |
| raw_ostream & | operator<< (raw_ostream &OS, const MCOperand &MO) |
| raw_ostream & | operator<< (raw_ostream &OS, const MCInst &MI) |
| void | dumpBytes (ArrayRef< uint8_t > Bytes, raw_ostream &OS) |
| Convert `Bytes' to a hex string and output to `OS'. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const MCLabel &Label) |
| static StringRef | MCLOHDirectiveName () |
| static bool | isValidMCLOHType (unsigned Kind) |
| static int | MCLOHNameToId (StringRef Name) |
| static StringRef | MCLOHIdToName (MCLOHType Kind) |
| static int | MCLOHIdToNbArgs (MCLOHType Kind) |
| MCObjectWriter * | createMachObjectWriter (MCMachObjectTargetWriter *MOTW, raw_pwrite_stream &OS, bool IsLittleEndian) |
| Construct a new Mach-O writer instance. More... | |
| MCAsmParser * | createMCAsmParser (SourceMgr &, MCContext &, MCStreamer &, const MCAsmInfo &) |
| Create an MCAsmParser instance. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const MCParsedAsmOperand &MO) |
| MCStreamer * | createNullStreamer (MCContext &Ctx) |
| Create a dummy machine code streamer, which does nothing. More... | |
| MCStreamer * | createAsmStreamer (MCContext &Ctx, std::unique_ptr< formatted_raw_ostream > OS, bool isVerboseAsm, bool useDwarfDirectory, MCInstPrinter *InstPrint, MCCodeEmitter *CE, MCAsmBackend *TAB, bool ShowInst) |
| Create a machine code streamer which will print out assembly for the native target, suitable for compiling with a native assembler. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const MCSymbol &Sym) |
| bool | operator== (const MCTargetOptions &LHS, const MCTargetOptions &RHS) |
| bool | operator!= (const MCTargetOptions &LHS, const MCTargetOptions &RHS) |
| MCObjectWriter * | createWinCOFFObjectWriter (MCWinCOFFObjectTargetWriter *MOTW, raw_pwrite_stream &OS) |
| Construct a new Win COFF writer instance. More... | |
| std::pair< StringRef, std::error_code > | writeArchive (StringRef ArcName, std::vector< NewArchiveIterator > &NewMembers, bool WriteSymtab, object::Archive::Kind Kind, bool Deterministic) |
| template<typename PassName > | |
| Pass * | callDefaultCtor () |
| template<typename PassName > | |
| Pass * | callTargetMachineCtor (TargetMachine *TM) |
| const std::error_category & | coveragemap_category () |
| std::error_code | make_error_code (coveragemap_error E) |
| const std::error_category & | instrprof_category () |
| std::error_code | make_error_code (instrprof_error E) |
| const std::error_category & | sampleprof_category () |
| std::error_code | make_error_code (sampleprof_error E) |
| template<typename T > | |
| unsigned | alignOf () |
| alignOf - A templated function that returns the minimum alignment of of a type. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const BranchProbability &Prob) |
| template<typename T > | |
| static size_t | capacity_in_bytes (const T &x) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT bool | isa (const Y &Val) |
| template<class X , class Y > | |
| std::enable_if<!is_simple_type < Y >::value, typename cast_retty< X, const Y > ::ret_type >::type | cast (const Y &Val) |
| template<class X , class Y > | |
| cast_retty< X, Y >::ret_type | cast (Y &Val) |
| template<class X , class Y > | |
| cast_retty< X, Y * >::ret_type | cast (Y *Val) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT std::enable_if < !is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type | cast_or_null (const Y &Val) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT std::enable_if < !is_simple_type< Y >::value, typename cast_retty< X, Y > ::ret_type >::type | cast_or_null (Y &Val) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT cast_retty< X, Y * >::ret_type | cast_or_null (Y *Val) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT std::enable_if < !is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type | dyn_cast (const Y &Val) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT cast_retty< X, Y >::ret_type | dyn_cast (Y &Val) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT cast_retty< X, Y * >::ret_type | dyn_cast (Y *Val) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT std::enable_if < !is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type | dyn_cast_or_null (const Y &Val) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT std::enable_if < !is_simple_type< Y >::value, typename cast_retty< X, Y > ::ret_type >::type | dyn_cast_or_null (Y &Val) |
| template<class X , class Y > | |
| LLVM_ATTRIBUTE_UNUSED_RESULT cast_retty< X, Y * >::ret_type | dyn_cast_or_null (Y *Val) |
| CodeModel::Model | unwrap (LLVMCodeModel Model) |
| LLVMCodeModel | wrap (CodeModel::Model Model) |
| std::unique_ptr< DataStreamer > | getDataFileStreamer (const std::string &Filename, std::string *Err) |
| bool | isCurrentDebugType (const char *Type) |
| isCurrentDebugType - Return true if the specified string is the debug type specified on the command line, or if none was specified on the command line with the -debug-only=X option. More... | |
| void | setCurrentDebugType (const char *Type) |
| setCurrentDebugType - Set the current debug type, as if the -debug-only=X option were specified. More... | |
| raw_ostream & | dbgs () |
| dbgs() - This returns a reference to a raw_ostream for debugging messages. More... | |
| std::error_code | make_error_code (errc E) |
| void | install_fatal_error_handler (fatal_error_handler_t handler, void *user_data=nullptr) |
| install_fatal_error_handler - Installs a new error handler to be used whenever a serious (non-recoverable) error is encountered by LLVM. More... | |
| void | remove_fatal_error_handler () |
| Restores default error handling behaviour. More... | |
| LLVM_ATTRIBUTE_NORETURN void | report_fatal_error (const char *reason, bool gen_crash_diag=true) |
| Reports a serious error, calling any installed error handler. More... | |
| LLVM_ATTRIBUTE_NORETURN void | report_fatal_error (const std::string &reason, bool gen_crash_diag=true) |
| LLVM_ATTRIBUTE_NORETURN void | report_fatal_error (StringRef reason, bool gen_crash_diag=true) |
| LLVM_ATTRIBUTE_NORETURN void | report_fatal_error (const Twine &reason, bool gen_crash_diag=true) |
| LLVM_ATTRIBUTE_NORETURN void | llvm_unreachable_internal (const char *msg=nullptr, const char *file=nullptr, unsigned line=0) |
| This function calls abort(), and prints the optional message to stderr. More... | |
| template<class T , class V > | |
| std::enable_if < std::is_constructible< T, V > ::value, typename std::remove_reference< V > ::type >::type && | moveIfMoveConstructible (V &Val) |
| template<class T , class V > | |
| std::enable_if < !std::is_constructible< T, V > ::value, typename std::remove_reference< V > ::type >::type & | moveIfMoveConstructible (V &Val) |
| template<class T , class E > | |
| std::enable_if < std::is_error_code_enum< E > ::value||std::is_error_condition_enum < E >::value, bool >::type | operator== (const ErrorOr< T > &Err, E Code) |
| int | DiffFilesWithTolerance (StringRef FileA, StringRef FileB, double AbsTol, double RelTol, std::string *Error=nullptr) |
| DiffFilesWithTolerance - Compare the two files specified, returning 0 if the files match, 1 if they are different, and 2 if there is a file error. More... | |
| template<typename... Ts> | |
| format_object< Ts...> | format (const char *Fmt, const Ts &...Vals) |
| These are helper functions used to produce formatted output. More... | |
| FormattedString | left_justify (StringRef Str, unsigned Width) |
left_justify - append spaces after string so total output is Width characters. More... | |
| FormattedString | right_justify (StringRef Str, unsigned Width) |
right_justify - add spaces before string so total output is Width characters. More... | |
| FormattedNumber | format_hex (uint64_t N, unsigned Width, bool Upper=false) |
format_hex - Output N as a fixed width hexadecimal. More... | |
| FormattedNumber | format_hex_no_prefix (uint64_t N, unsigned Width, bool Upper=false) |
format_hex_no_prefix - Output N as a fixed width hexadecimal. More... | |
| FormattedNumber | format_decimal (int64_t N, unsigned Width) |
format_decimal - Output N as a right justified, fixed-width decimal. More... | |
| formatted_raw_ostream & | fouts () |
| fouts() - This returns a reference to a formatted_raw_ostream for standard output. More... | |
| formatted_raw_ostream & | ferrs () |
| ferrs() - This returns a reference to a formatted_raw_ostream for standard error. More... | |
| formatted_raw_ostream & | fdbgs () |
| fdbgs() - This returns a reference to a formatted_raw_ostream for debug output. More... | |
| template<class NodeT > | |
| raw_ostream & | operator<< (raw_ostream &o, const DomTreeNodeBase< NodeT > *Node) |
| template<class NodeT > | |
| void | PrintDomTree (const DomTreeNodeBase< NodeT > *N, raw_ostream &o, unsigned Lev) |
| template<class FuncT , class N > | |
| void | Calculate (DominatorTreeBase< typename GraphTraits< N >::NodeType > &DT, FuncT &F) |
| template<class GraphT > | |
| unsigned | DFSPass (DominatorTreeBase< typename GraphT::NodeType > &DT, typename GraphT::NodeType *V, unsigned N) |
| template<class GraphT > | |
| GraphT::NodeType * | Eval (DominatorTreeBase< typename GraphT::NodeType > &DT, typename GraphT::NodeType *VIn, unsigned LastLinked) |
| template<class FuncT , class NodeT > | |
| void | Calculate (DominatorTreeBase< typename GraphTraits< NodeT >::NodeType > &DT, FuncT &F) |
| bool | DisplayGraph (StringRef Filename, bool wait=true, GraphProgram::Name program=GraphProgram::DOT) |
| template<typename GraphType > | |
| raw_ostream & | WriteGraph (raw_ostream &O, const GraphType &G, bool ShortNames=false, const Twine &Title="") |
| std::string | createGraphFilename (const Twine &Name, int &FD) |
| template<typename GraphType > | |
| std::string | WriteGraph (const GraphType &G, const Twine &Name, bool ShortNames=false, const Twine &Title="") |
| template<typename GraphType > | |
| void | ViewGraph (const GraphType &G, const Twine &Name, bool ShortNames=false, const Twine &Title="", GraphProgram::Name Program=GraphProgram::DOT) |
| ViewGraph - Emit a dot graph, run 'dot', run gv on the postscript file, then cleanup. More... | |
| void | encodeSLEB128 (int64_t Value, raw_ostream &OS) |
| Utility function to encode a SLEB128 value to an output stream. More... | |
| void | encodeULEB128 (uint64_t Value, raw_ostream &OS, unsigned Padding=0) |
| Utility function to encode a ULEB128 value to an output stream. More... | |
| unsigned | encodeULEB128 (uint64_t Value, uint8_t *p, unsigned Padding=0) |
| Utility function to encode a ULEB128 value to a buffer. More... | |
| uint64_t | decodeULEB128 (const uint8_t *p, unsigned *n=nullptr) |
| Utility function to decode a ULEB128 value. More... | |
| int64_t | decodeSLEB128 (const uint8_t *p, unsigned *n=nullptr) |
| Utility function to decode a SLEB128 value. More... | |
| unsigned | getULEB128Size (uint64_t Value) |
| Utility function to get the size of the ULEB128-encoded value. More... | |
| unsigned | getSLEB128Size (int64_t Value) |
| Utility function to get the size of the SLEB128-encoded value. More... | |
| template<class C > | |
| void * | object_creator () |
| object_creator - Helper method for ManagedStatic. More... | |
| void | llvm_shutdown () |
| llvm_shutdown - Deallocate and destroy all ManagedStatic variables. More... | |
| template<typename T > | |
| std::size_t | countTrailingZeros (T Val, ZeroBehavior ZB=ZB_Width) |
| Count number of 0's from the least significant bit to the most stopping at the first 1. More... | |
| template<typename T > | |
| std::size_t | countLeadingZeros (T Val, ZeroBehavior ZB=ZB_Width) |
| Count number of 0's from the most significant bit to the least stopping at the first 1. More... | |
| template<typename T > | |
| T | findFirstSet (T Val, ZeroBehavior ZB=ZB_Max) |
| Get the index of the first set bit starting from the least significant bit. More... | |
| template<typename T > | |
| T | findLastSet (T Val, ZeroBehavior ZB=ZB_Max) |
| Get the index of the last set bit starting from the least significant bit. More... | |
| template<typename T > | |
| T | reverseBits (T Val) |
Reverse the bits in Val. More... | |
| uint32_t | Hi_32 (uint64_t Value) |
| Hi_32 - This function returns the high 32 bits of a 64 bit value. More... | |
| uint32_t | Lo_32 (uint64_t Value) |
| Lo_32 - This function returns the low 32 bits of a 64 bit value. More... | |
| uint64_t | Make_64 (uint32_t High, uint32_t Low) |
| Make_64 - This functions makes a 64-bit integer from a high / low pair of 32-bit integers. More... | |
| template<unsigned N> | |
| bool | isInt (int64_t x) |
| isInt - Checks if an integer fits into the given bit width. More... | |
| 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) |
| isShiftedInt<N,S> - Checks if a signed integer is an N bit number shifted left by S. More... | |
| template<unsigned N> | |
| bool | isUInt (uint64_t x) |
| isUInt - Checks if an unsigned integer fits into the given bit width. More... | |
| 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) |
| isShiftedUInt<N,S> - Checks if a unsigned integer is an N bit number shifted left by S. More... | |
| bool | isUIntN (unsigned N, uint64_t x) |
| isUIntN - Checks if an unsigned integer fits into the given (dynamic) bit width. More... | |
| bool | isIntN (unsigned N, int64_t x) |
| isIntN - Checks if an signed integer fits into the given (dynamic) bit width. More... | |
| bool | isMask_32 (uint32_t Value) |
| isMask_32 - This function returns true if the argument is a non-empty sequence of ones starting at the least significant bit with the remainder zero (32 bit version). More... | |
| bool | isMask_64 (uint64_t Value) |
| isMask_64 - This function returns true if the argument is a non-empty sequence of ones starting at the least significant bit with the remainder zero (64 bit version). More... | |
| bool | isShiftedMask_32 (uint32_t Value) |
| isShiftedMask_32 - This function returns true if the argument contains a non-empty sequence of ones with the remainder zero (32 bit version.) Ex. More... | |
| bool | isShiftedMask_64 (uint64_t Value) |
| isShiftedMask_64 - This function returns true if the argument contains a non-empty sequence of ones with the remainder zero (64 bit version.) More... | |
| bool | isPowerOf2_32 (uint32_t Value) |
| isPowerOf2_32 - This function returns true if the argument is a power of two > 0. More... | |
| bool | isPowerOf2_64 (uint64_t Value) |
isPowerOf2_64 - This function returns true if the argument is a power of two
More... | |
| uint16_t | ByteSwap_16 (uint16_t Value) |
| ByteSwap_16 - This function returns a byte-swapped representation of the 16-bit argument, Value. More... | |
| uint32_t | ByteSwap_32 (uint32_t Value) |
| ByteSwap_32 - This function returns a byte-swapped representation of the 32-bit argument, Value. More... | |
| uint64_t | ByteSwap_64 (uint64_t Value) |
| ByteSwap_64 - This function returns a byte-swapped representation of the 64-bit argument, Value. More... | |
| template<typename T > | |
| std::size_t | countLeadingOnes (T Value, ZeroBehavior ZB=ZB_Width) |
| Count the number of ones from the most significant bit to the first zero bit. More... | |
| template<typename T > | |
| std::size_t | countTrailingOnes (T Value, ZeroBehavior ZB=ZB_Width) |
| Count the number of ones from the least significant bit to the first zero bit. More... | |
| template<typename T > | |
| unsigned | countPopulation (T Value) |
| Count the number of set bits in a value. More... | |
| double | Log2 (double Value) |
| Log2 - This function returns the log base 2 of the specified value. More... | |
| unsigned | Log2_32 (uint32_t Value) |
| Log2_32 - This function returns the floor log base 2 of the specified value, -1 if the value is zero. More... | |
| unsigned | Log2_64 (uint64_t Value) |
| Log2_64 - This function returns the floor log base 2 of the specified value, -1 if the value is zero. More... | |
| unsigned | Log2_32_Ceil (uint32_t Value) |
| Log2_32_Ceil - This function returns the ceil log base 2 of the specified value, 32 if the value is zero. More... | |
| unsigned | Log2_64_Ceil (uint64_t Value) |
| Log2_64_Ceil - This function returns the ceil log base 2 of the specified value, 64 if the value is zero. More... | |
| uint64_t | GreatestCommonDivisor64 (uint64_t A, uint64_t B) |
| GreatestCommonDivisor64 - Return the greatest common divisor of the two values using Euclid's algorithm. More... | |
| double | BitsToDouble (uint64_t Bits) |
| BitsToDouble - This function takes a 64-bit integer and returns the bit equivalent double. More... | |
| float | BitsToFloat (uint32_t Bits) |
| BitsToFloat - This function takes a 32-bit integer and returns the bit equivalent float. More... | |
| uint64_t | DoubleToBits (double Double) |
| DoubleToBits - This function takes a double and returns the bit equivalent 64-bit integer. More... | |
| uint32_t | FloatToBits (float Float) |
| FloatToBits - This function takes a float and returns the bit equivalent 32-bit integer. More... | |
| uint64_t | MinAlign (uint64_t A, uint64_t B) |
| MinAlign - A and B are either alignments or offsets. More... | |
| uintptr_t | alignAddr (const void *Addr, size_t Alignment) |
Aligns Addr to Alignment bytes, rounding up. More... | |
| size_t | alignmentAdjustment (const void *Ptr, size_t Alignment) |
Returns the necessary adjustment for aligning Ptr to Alignment bytes, rounding up. More... | |
| uint64_t | NextPowerOf2 (uint64_t A) |
| NextPowerOf2 - Returns the next power of two (in 64-bits) that is strictly greater than A. More... | |
| uint64_t | PowerOf2Floor (uint64_t A) |
| Returns the power of two which is less than or equal to the given value. More... | |
| uint64_t | RoundUpToAlignment (uint64_t Value, uint64_t Align) |
Returns the next integer (mod 2**64) that is greater than or equal to Value and is a multiple of Align. More... | |
| uint64_t | OffsetToAlignment (uint64_t Value, uint64_t Align) |
Returns the offset to the next integer (mod 2**64) that is greater than or equal to Value and is a multiple of Align. More... | |
| template<unsigned B> | |
| int32_t | SignExtend32 (uint32_t x) |
| SignExtend32 - Sign extend B-bit number x to 32-bit int. More... | |
| int32_t | SignExtend32 (uint32_t X, unsigned B) |
| Sign extend number in the bottom B bits of X to a 32-bit int. More... | |
| template<unsigned B> | |
| int64_t | SignExtend64 (uint64_t x) |
| SignExtend64 - Sign extend B-bit number x to 64-bit int. More... | |
| int64_t | SignExtend64 (uint64_t X, unsigned B) |
| Sign extend number in the bottom B bits of X to a 64-bit int. More... | |
| static cl::opt< PluginLoader, false, cl::parser< std::string > > | LoadOpt ("load", cl::ZeroOrMore, cl::value_desc("pluginfilename"), cl::desc("Load the specified plugin")) |
| void | EnablePrettyStackTrace () |
| raw_ostream & | outs () |
| This returns a reference to a raw_ostream for standard output. More... | |
| raw_ostream & | errs () |
| This returns a reference to a raw_ostream for standard error. More... | |
| raw_ostream & | nulls () |
| This returns a reference to a raw_ostream which simply discards output. More... | |
| void | PrintRecyclerStats (size_t Size, size_t Align, size_t FreeListSize) |
| PrintRecyclingAllocatorStats - Helper for RecyclingAllocator for printing statistics. More... | |
| template<class DigitsT > | |
| ScaledNumber< DigitsT > | operator<< (const ScaledNumber< DigitsT > &L, int16_t Shift) |
| template<class DigitsT > | |
| ScaledNumber< DigitsT > | operator>> (const ScaledNumber< DigitsT > &L, int16_t Shift) |
| template<class DigitsT > | |
| raw_ostream & | operator<< (raw_ostream &OS, const ScaledNumber< DigitsT > &X) |
| MemoryObject * | getNonStreamedMemoryObject (const unsigned char *Start, const unsigned char *End) |
| bool | CheckBitcodeOutputToConsole (raw_ostream &stream_to_check, bool print_warning=true) |
| Determine if the raw_ostream provided is connected to a terminal. More... | |
| MCStreamer * | createELFStreamer (MCContext &Ctx, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *CE, bool RelaxAll) |
Takes ownership of TAB and CE. More... | |
| MCStreamer * | createMachOStreamer (MCContext &Ctx, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *CE, bool RelaxAll, bool DWARFMustBeAtTheEnd, bool LabelSections=false) |
| MCRelocationInfo * | createMCRelocationInfo (const Triple &TT, MCContext &Ctx) |
| MCSymbolizer * | createMCSymbolizer (const Triple &TT, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx, std::unique_ptr< MCRelocationInfo > &&RelInfo) |
| void | InitializeAllTargetInfos () |
| InitializeAllTargetInfos - The main program should call this function if it wants access to all available targets that LLVM is configured to support, to make them available via the TargetRegistry. More... | |
| void | InitializeAllTargets () |
| InitializeAllTargets - The main program should call this function if it wants access to all available target machines that LLVM is configured to support, to make them available via the TargetRegistry. More... | |
| void | InitializeAllTargetMCs () |
| InitializeAllTargetMCs - The main program should call this function if it wants access to all available target MC that LLVM is configured to support, to make them available via the TargetRegistry. More... | |
| void | InitializeAllAsmPrinters () |
| InitializeAllAsmPrinters - The main program should call this function if it wants all asm printers that LLVM is configured to support, to make them available via the TargetRegistry. More... | |
| void | InitializeAllAsmParsers () |
| InitializeAllAsmParsers - The main program should call this function if it wants all asm parsers that LLVM is configured to support, to make them available via the TargetRegistry. More... | |
| void | InitializeAllDisassemblers () |
| InitializeAllDisassemblers - The main program should call this function if it wants all disassemblers that LLVM is configured to support, to make them available via the TargetRegistry. More... | |
| bool | InitializeNativeTarget () |
| InitializeNativeTarget - The main program should call this function to initialize the native target corresponding to the host. More... | |
| bool | InitializeNativeTargetAsmPrinter () |
| InitializeNativeTargetAsmPrinter - The main program should call this function to initialize the native target asm printer. More... | |
| bool | InitializeNativeTargetAsmParser () |
| InitializeNativeTargetAsmParser - The main program should call this function to initialize the native target asm parser. More... | |
| bool | InitializeNativeTargetDisassembler () |
| InitializeNativeTargetDisassembler - The main program should call this function to initialize the native target disassembler. More... | |
| bool | llvm_is_multithreaded () |
| Returns true if LLVM is compiled with support for multi-threading, and false otherwise. More... | |
| void | llvm_execute_on_thread (void(*UserFn)(void *), void *UserData, unsigned RequestedStackSize=0) |
llvm_execute_on_thread - Execute the given UserFn on a separate thread, passing it the provided UserData and waits for thread completion. More... | |
| std::error_code | mapWindowsError (unsigned EV) |
| void | PrintWarning (ArrayRef< SMLoc > WarningLoc, const Twine &Msg) |
| void | PrintWarning (const char *Loc, const Twine &Msg) |
| void | PrintWarning (const Twine &Msg) |
| void | PrintError (ArrayRef< SMLoc > ErrorLoc, const Twine &Msg) |
| void | PrintError (const char *Loc, const Twine &Msg) |
| void | PrintError (const Twine &Msg) |
| LLVM_ATTRIBUTE_NORETURN void | PrintFatalError (const Twine &Msg) |
| LLVM_ATTRIBUTE_NORETURN void | PrintFatalError (ArrayRef< SMLoc > ErrorLoc, const Twine &Msg) |
| int | TableGenMain (char *argv0, TableGenMainFn *MainFn) |
| raw_ostream & | operator<< (raw_ostream &OS, const RecTy &Ty) |
| RecTy * | resolveTypes (RecTy *T1, RecTy *T2) |
| resolveTypes - Find a common type that T1 and T2 convert to. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const Init &I) |
| raw_ostream & | operator<< (raw_ostream &OS, const RecordVal &RV) |
| raw_ostream & | operator<< (raw_ostream &OS, const Record &R) |
| raw_ostream & | operator<< (raw_ostream &OS, const RecordKeeper &RK) |
| Init * | QualifyName (Record &CurRec, MultiClass *CurMultiClass, Init *Name, const std::string &Scoper) |
| QualifyName - Return an Init with a qualifier prefix referring to CurRec's name. More... | |
| Init * | 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. More... | |
| void | emitSourceFileHeader (StringRef Desc, raw_ostream &OS) |
| emitSourceFileHeader - Output an LLVM style file header to the specified raw_ostream. More... | |
| template<class TypeTy , class CompareTy > | |
| int | CostTableLookup (const CostTblEntry< TypeTy > *Tbl, unsigned len, int ISD, CompareTy Ty) |
| Find in cost table, TypeTy must be comparable to CompareTy by ==. More... | |
| template<class TypeTy , class CompareTy , unsigned N> | |
| int | CostTableLookup (const CostTblEntry< TypeTy >(&Tbl)[N], int ISD, CompareTy Ty) |
| Find in cost table, TypeTy must be comparable to CompareTy by ==. More... | |
| template<class TypeTy , class CompareTy > | |
| int | ConvertCostTableLookup (const TypeConversionCostTblEntry< TypeTy > *Tbl, unsigned len, int ISD, CompareTy Dst, CompareTy Src) |
| Find in type conversion cost table, TypeTy must be comparable to CompareTy by ==. More... | |
| template<class TypeTy , class CompareTy , unsigned N> | |
| int | ConvertCostTableLookup (const TypeConversionCostTblEntry< TypeTy >(&Tbl)[N], int ISD, CompareTy Dst, CompareTy Src) |
| Find in type conversion cost table, TypeTy must be comparable to CompareTy by ==. More... | |
| void | GetReturnInfo (Type *ReturnType, AttributeSet attr, SmallVectorImpl< ISD::OutputArg > &Outs, const TargetLowering &TLI, const DataLayout &DL) |
| Given an LLVM IR type and return type attributes, compute the return value EVTs and flags, and optionally also the offsets, if the return value is being lowered to memory. More... | |
| bool | operator== (const TargetOptions &LHS, const TargetOptions &RHS) |
| bool | operator!= (const TargetOptions &LHS, const TargetOptions &RHS) |
| static raw_ostream & | operator<< (raw_ostream &OS, const PrintReg &PR) |
| static raw_ostream & | operator<< (raw_ostream &OS, const PrintRegUnit &PR) |
| static raw_ostream & | operator<< (raw_ostream &OS, const PrintVRegOrUnit &PR) |
| ModulePass * | createGCOVProfilerPass (const GCOVOptions &Options=GCOVOptions::getDefault()) |
| ModulePass * | createInstrProfilingPass (const InstrProfOptions &Options=InstrProfOptions()) |
| Insert frontend instrumentation based profiling. More... | |
| FunctionPass * | createAddressSanitizerFunctionPass (bool CompileKernel=false) |
| ModulePass * | createAddressSanitizerModulePass (bool CompileKernel=false) |
| FunctionPass * | createMemorySanitizerPass (int TrackOrigins=0) |
| FunctionPass * | createThreadSanitizerPass () |
| ModulePass * | createDataFlowSanitizerPass (const std::vector< std::string > &ABIListFiles=std::vector< std::string >(), void *(*getArgTLS)()=nullptr, void *(*getRetValTLS)()=nullptr) |
| ModulePass * | createSanitizerCoverageModulePass (const SanitizerCoverageOptions &Options=SanitizerCoverageOptions()) |
| FunctionPass * | createBoundsCheckingPass () |
| FunctionPass * | createSafeStackPass () |
| This pass splits the stack into a safe stack and an unsafe stack to protect against stack-based overflow vulnerabilities. More... | |
| ModulePass * | createStripSymbolsPass (bool OnlyDebugInfo=false) |
| ModulePass * | createStripNonDebugSymbolsPass () |
| ModulePass * | createStripDebugDeclarePass () |
| ModulePass * | createStripDeadDebugInfoPass () |
| ModulePass * | createConstantMergePass () |
| createConstantMergePass - This function returns a new pass that merges duplicate global constants together into a single constant that is shared. More... | |
| ModulePass * | createGlobalOptimizerPass () |
| createGlobalOptimizerPass - This function returns a new pass that optimizes non-address taken internal globals. More... | |
| ModulePass * | createGlobalDCEPass () |
| createGlobalDCEPass - This transform is designed to eliminate unreachable internal globals (functions or global variables) More... | |
| ModulePass * | createEliminateAvailableExternallyPass () |
| This transform is designed to eliminate available external globals (functions or global variables) More... | |
| ModulePass * | createGVExtractionPass (std::vector< GlobalValue * > &GVs, bool deleteFn=false) |
| createGVExtractionPass - If deleteFn is true, this pass deletes the specified global values. More... | |
| Pass * | createFunctionInliningPass () |
| createFunctionInliningPass - Return a new pass object that uses a heuristic to inline direct function calls to small functions. More... | |
| Pass * | createFunctionInliningPass (int Threshold) |
| Pass * | createFunctionInliningPass (unsigned OptLevel, unsigned SizeOptLevel) |
| Pass * | createAlwaysInlinerPass () |
| createAlwaysInlinerPass - Return a new pass object that inlines only functions that are marked as "always_inline". More... | |
| Pass * | createAlwaysInlinerPass (bool InsertLifetime) |
| Pass * | createPruneEHPass () |
| createPruneEHPass - Return a new pass object which transforms invoke instructions into calls, if the callee can not unwind the stack. More... | |
| ModulePass * | createInternalizePass (ArrayRef< const char * > ExportList) |
| createInternalizePass - This pass loops over all of the functions in the input module, internalizing all globals (functions and variables) it can. More... | |
| ModulePass * | createInternalizePass () |
| createInternalizePass - Same as above, but with an empty exportList. More... | |
| ModulePass * | createDeadArgEliminationPass () |
| createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the body of the function. More... | |
| ModulePass * | createDeadArgHackingPass () |
| DeadArgHacking pass - Same as DAE, but delete arguments of external functions as well. More... | |
| Pass * | 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). More... | |
| ModulePass * | createIPConstantPropagationPass () |
| createIPConstantPropagationPass - This pass propagates constants from call sites into the bodies of functions. More... | |
| ModulePass * | 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. More... | |
| Pass * | createLoopExtractorPass () |
| createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it can. More... | |
| Pass * | createSingleLoopExtractorPass () |
| createSingleLoopExtractorPass - This pass extracts one natural loop from the program into a function if it can. More... | |
| ModulePass * | createBlockExtractorPass () |
| createBlockExtractorPass - This pass extracts all blocks (except those specified in the argument list) from the functions in the module. More... | |
| ModulePass * | createStripDeadPrototypesPass () |
| createStripDeadPrototypesPass - This pass removes any function declarations (prototypes) that are not used. More... | |
| Pass * | createFunctionAttrsPass () |
| createFunctionAttrsPass - This pass discovers functions that do not access memory, or only read memory, and gives them the readnone/readonly attribute. More... | |
| ModulePass * | createMergeFunctionsPass () |
| createMergeFunctionsPass - This pass discovers identical functions and collapses them. More... | |
| ModulePass * | createPartialInliningPass () |
| createPartialInliningPass - This pass inlines parts of functions. More... | |
| ModulePass * | createMetaRenamerPass () |
| ModulePass * | createBarrierNoopPass () |
| createBarrierNoopPass - This pass is purely a module pass barrier in a pass manager. More... | |
| ModulePass * | createLowerBitSetsPass () |
| This pass lowers bitset metadata and the llvm.bitset.test intrinsic to bitsets. More... | |
| Pass * | createObjCARCAPElimPass () |
| Pass * | createObjCARCExpandPass () |
| Pass * | createObjCARCContractPass () |
| Pass * | createObjCARCOptPass () |
| FunctionPass * | createConstantPropagationPass () |
| FunctionPass * | createAlignmentFromAssumptionsPass () |
| FunctionPass * | createSCCPPass () |
| Pass * | createDeadInstEliminationPass () |
| FunctionPass * | createDeadCodeEliminationPass () |
| FunctionPass * | createDeadStoreEliminationPass () |
| FunctionPass * | createAggressiveDCEPass () |
| FunctionPass * | createBitTrackingDCEPass () |
| FunctionPass * | createSROAPass (bool RequiresDomTree=true) |
| FunctionPass * | createScalarReplAggregatesPass (signed Threshold=-1, bool UseDomTree=true, signed StructMemberThreshold=-1, signed ArrayElementThreshold=-1, signed ScalarLoadThreshold=-1) |
| Pass * | createInductiveRangeCheckEliminationPass () |
| Pass * | createIndVarSimplifyPass () |
| FunctionPass * | createInstructionCombiningPass () |
| Pass * | createLICMPass () |
| Pass * | createLoopInterchangePass () |
| Pass * | createLoopStrengthReducePass () |
| Pass * | createGlobalMergePass (const TargetMachine *TM, unsigned MaximalOffset, bool OnlyOptimizeForSize=false) |
| Pass * | createLoopUnswitchPass (bool OptimizeForSize=false) |
| Pass * | createLoopInstSimplifyPass () |
| Pass * | createLoopUnrollPass (int Threshold=-1, int Count=-1, int AllowPartial=-1, int Runtime=-1) |
| Pass * | createSimpleLoopUnrollPass () |
| Pass * | createLoopRerollPass () |
| Pass * | createLoopRotatePass (int MaxHeaderSize=-1) |
| Pass * | createLoopIdiomPass () |
| FunctionPass * | createPromoteMemoryToRegisterPass () |
| FunctionPass * | createDemoteRegisterToMemoryPass () |
| FunctionPass * | createReassociatePass () |
| FunctionPass * | createJumpThreadingPass (int Threshold=-1) |
| FunctionPass * | createCFGSimplificationPass (int Threshold=-1, std::function< bool(const Function &)> Ftor=nullptr) |
| FunctionPass * | createFlattenCFGPass () |
| Pass * | createStructurizeCFGPass () |
| Create the pass. More... | |
| FunctionPass * | createBreakCriticalEdgesPass () |
| Pass * | createLoopSimplifyPass () |
| FunctionPass * | createTailCallEliminationPass () |
| FunctionPass * | createLowerSwitchPass () |
| FunctionPass * | createLowerInvokePass () |
| Pass * | createLCSSAPass () |
| FunctionPass * | createEarlyCSEPass () |
| FunctionPass * | createMergedLoadStoreMotionPass () |
| createMergedLoadStoreMotionPass - The public interface to this file. More... | |
| FunctionPass * | createGVNPass (bool NoLoads=false) |
| FunctionPass * | createMemCpyOptPass () |
| Pass * | createLoopDeletionPass () |
| FunctionPass * | createConstantHoistingPass () |
| FunctionPass * | createInstructionNamerPass () |
| FunctionPass * | createSinkingPass () |
| Pass * | createLowerAtomicPass () |
| Pass * | createCorrelatedValuePropagationPass () |
| FunctionPass * | createInstructionSimplifierPass () |
| FunctionPass * | createLowerExpectIntrinsicPass () |
| FunctionPass * | createPartiallyInlineLibCallsPass () |
| FunctionPass * | createSampleProfileLoaderPass () |
| FunctionPass * | createSampleProfileLoaderPass (StringRef Name) |
| FunctionPass * | createScalarizerPass () |
| FunctionPass * | createAddDiscriminatorsPass () |
| FunctionPass * | createSeparateConstOffsetFromGEPPass (const TargetMachine *TM=nullptr, bool LowerGEP=false) |
| FunctionPass * | createSpeculativeExecutionPass () |
| BasicBlockPass * | createLoadCombinePass () |
| FunctionPass * | createStraightLineStrengthReducePass () |
| FunctionPass * | createPlaceSafepointsPass () |
| ModulePass * | createRewriteStatepointsForGCPass () |
| FunctionPass * | createFloat2IntPass () |
| FunctionPass * | createNaryReassociatePass () |
| FunctionPass * | createLoopDistributePass () |
| void | ComputeASanStackFrameLayout (SmallVectorImpl< ASanStackVariableDescription > &Vars, size_t Granularity, size_t MinHeaderSize, ASanStackFrameLayout *Layout) |
| void | DeleteDeadBlock (BasicBlock *BB) |
| DeleteDeadBlock - Delete the specified block, which must have no predecessors. More... | |
| void | FoldSingleEntryPHINodes (BasicBlock *BB, AliasAnalysis *AA=nullptr, MemoryDependenceAnalysis *MemDep=nullptr) |
| FoldSingleEntryPHINodes - We know that BB has one predecessor. More... | |
| bool | DeleteDeadPHIs (BasicBlock *BB, const TargetLibraryInfo *TLI=nullptr) |
| DeleteDeadPHIs - Examine each PHI in the given block and delete it if it is dead. More... | |
| bool | MergeBlockIntoPredecessor (BasicBlock *BB, DominatorTree *DT=nullptr, LoopInfo *LI=nullptr, AliasAnalysis *AA=nullptr, MemoryDependenceAnalysis *MemDep=nullptr) |
| MergeBlockIntoPredecessor - Attempts to merge a block into its predecessor, if possible. More... | |
| void | 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. More... | |
| void | ReplaceInstWithInst (BasicBlock::InstListType &BIL, BasicBlock::iterator &BI, Instruction *I) |
| ReplaceInstWithInst - Replace the instruction specified by BI with the instruction specified by I. More... | |
| void | ReplaceInstWithInst (Instruction *From, Instruction *To) |
| ReplaceInstWithInst - Replace the instruction specified by From with the instruction specified by To. More... | |
| BasicBlock * | SplitCriticalEdge (TerminatorInst *TI, unsigned SuccNum, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions()) |
| SplitCriticalEdge - If this edge is a critical edge, insert a new node to split the critical edge. More... | |
| BasicBlock * | SplitCriticalEdge (BasicBlock *BB, succ_iterator SI, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions()) |
| bool | SplitCriticalEdge (BasicBlock *Succ, pred_iterator PI, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions()) |
| SplitCriticalEdge - If the edge from *PI to BB is not critical, return false. More... | |
| BasicBlock * | SplitCriticalEdge (BasicBlock *Src, BasicBlock *Dst, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions()) |
| SplitCriticalEdge - If an edge from Src to Dst is critical, split the edge and return true, otherwise return false. More... | |
| unsigned | SplitAllCriticalEdges (Function &F, const CriticalEdgeSplittingOptions &Options=CriticalEdgeSplittingOptions()) |
| BasicBlock * | SplitEdge (BasicBlock *From, BasicBlock *To, DominatorTree *DT=nullptr, LoopInfo *LI=nullptr) |
| SplitEdge - Split the edge connecting specified block. More... | |
| BasicBlock * | SplitBlock (BasicBlock *Old, Instruction *SplitPt, DominatorTree *DT=nullptr, LoopInfo *LI=nullptr) |
| 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. More... | |
| BasicBlock * | SplitBlockPredecessors (BasicBlock *BB, ArrayRef< BasicBlock * > Preds, const char *Suffix, AliasAnalysis *AA=nullptr, DominatorTree *DT=nullptr, LoopInfo *LI=nullptr, bool PreserveLCSSA=false) |
| SplitBlockPredecessors - This method introduces at least one new basic block into the function and moves some of the predecessors of BB to be predecessors of the new block. More... | |
| void | SplitLandingPadPredecessors (BasicBlock *OrigBB, ArrayRef< BasicBlock * > Preds, const char *Suffix, const char *Suffix2, SmallVectorImpl< BasicBlock * > &NewBBs, AliasAnalysis *AA=nullptr, DominatorTree *DT=nullptr, LoopInfo *LI=nullptr, bool PreserveLCSSA=false) |
| SplitLandingPadPredecessors - This method transforms the landing pad, OrigBB, by introducing two new basic blocks into the function. More... | |
| ReturnInst * | FoldReturnIntoUncondBranch (ReturnInst *RI, BasicBlock *BB, BasicBlock *Pred) |
| FoldReturnIntoUncondBranch - This method duplicates the specified return instruction into a predecessor which ends in an unconditional branch. More... | |
| TerminatorInst * | SplitBlockAndInsertIfThen (Value *Cond, Instruction *SplitBefore, bool Unreachable, MDNode *BranchWeights=nullptr, DominatorTree *DT=nullptr) |
| SplitBlockAndInsertIfThen - Split the containing block at the specified instruction - everything before and including SplitBefore stays in the old basic block, and everything after SplitBefore is moved to a new block. More... | |
| void | SplitBlockAndInsertIfThenElse (Value *Cond, Instruction *SplitBefore, TerminatorInst **ThenTerm, TerminatorInst **ElseTerm, MDNode *BranchWeights=nullptr) |
| SplitBlockAndInsertIfThenElse is similar to SplitBlockAndInsertIfThen, but also creates the ElseBlock. More... | |
| Value * | GetIfCondition (BasicBlock *BB, BasicBlock *&IfTrue, BasicBlock *&IfFalse) |
| GetIfCondition - Check whether BB is the merge point of a if-region. More... | |
| Value * | CastToCStr (Value *V, IRBuilder<> &B) |
| CastToCStr - Return V if it is an i8*, otherwise cast it to i8*. More... | |
| Value * | EmitStrLen (Value *Ptr, IRBuilder<> &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| EmitStrLen - Emit a call to the strlen function to the builder, for the specified pointer. More... | |
| Value * | EmitStrNLen (Value *Ptr, Value *MaxLen, IRBuilder<> &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| EmitStrNLen - Emit a call to the strnlen function to the builder, for the specified pointer. More... | |
| Value * | EmitStrChr (Value *Ptr, char C, IRBuilder<> &B, const TargetLibraryInfo *TLI) |
| EmitStrChr - Emit a call to the strchr function to the builder, for the specified pointer and character. More... | |
| Value * | EmitStrNCmp (Value *Ptr1, Value *Ptr2, Value *Len, IRBuilder<> &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| EmitStrNCmp - Emit a call to the strncmp function to the builder. More... | |
| Value * | EmitStrCpy (Value *Dst, Value *Src, IRBuilder<> &B, const TargetLibraryInfo *TLI, StringRef Name="strcpy") |
| EmitStrCpy - Emit a call to the strcpy function to the builder, for the specified pointer arguments. More... | |
| Value * | EmitStrNCpy (Value *Dst, Value *Src, Value *Len, IRBuilder<> &B, const TargetLibraryInfo *TLI, StringRef Name="strncpy") |
| EmitStrNCpy - Emit a call to the strncpy function to the builder, for the specified pointer arguments and length. More... | |
| Value * | EmitMemCpyChk (Value *Dst, Value *Src, Value *Len, Value *ObjSize, IRBuilder<> &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| EmitMemCpyChk - Emit a call to the __memcpy_chk function to the builder. More... | |
| Value * | EmitMemChr (Value *Ptr, Value *Val, Value *Len, IRBuilder<> &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| EmitMemChr - Emit a call to the memchr function. More... | |
| Value * | EmitMemCmp (Value *Ptr1, Value *Ptr2, Value *Len, IRBuilder<> &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| EmitMemCmp - Emit a call to the memcmp function. More... | |
| Value * | EmitUnaryFloatFnCall (Value *Op, StringRef Name, IRBuilder<> &B, const AttributeSet &Attrs) |
| EmitUnaryFloatFnCall - Emit a call to the unary function named 'Name' (e.g. More... | |
| Value * | EmitBinaryFloatFnCall (Value *Op1, Value *Op2, StringRef Name, IRBuilder<> &B, const AttributeSet &Attrs) |
| EmitUnaryFloatFnCall - Emit a call to the binary function named 'Name' (e.g. More... | |
| Value * | EmitPutChar (Value *Char, IRBuilder<> &B, const TargetLibraryInfo *TLI) |
| EmitPutChar - Emit a call to the putchar function. More... | |
| Value * | EmitPutS (Value *Str, IRBuilder<> &B, const TargetLibraryInfo *TLI) |
| EmitPutS - Emit a call to the puts function. More... | |
| Value * | EmitFPutC (Value *Char, Value *File, IRBuilder<> &B, const TargetLibraryInfo *TLI) |
| EmitFPutC - Emit a call to the fputc function. More... | |
| Value * | EmitFPutS (Value *Str, Value *File, IRBuilder<> &B, const TargetLibraryInfo *TLI) |
| EmitFPutS - Emit a call to the puts function. More... | |
| Value * | EmitFWrite (Value *Ptr, Value *Size, Value *File, IRBuilder<> &B, const DataLayout &DL, const TargetLibraryInfo *TLI) |
| EmitFWrite - Emit a call to the fwrite function. More... | |
| bool | bypassSlowDivision (Function &F, Function::iterator &I, const DenseMap< unsigned int, unsigned int > &BypassWidth) |
| This optimization identifies DIV instructions that can be profitably bypassed and carried out with a shorter, faster divide. More... | |
| Module * | CloneModule (const Module *M) |
| CloneModule - Return an exact copy of the specified module. More... | |
| Module * | CloneModule (const Module *M, ValueToValueMapTy &VMap) |
| BasicBlock * | CloneBasicBlock (const BasicBlock *BB, ValueToValueMapTy &VMap, const Twine &NameSuffix="", Function *F=nullptr, ClonedCodeInfo *CodeInfo=nullptr) |
| CloneBasicBlock - Return a copy of the specified basic block, but without embedding the block into a particular function. More... | |
| Function * | CloneFunction (const Function *F, ValueToValueMapTy &VMap, bool ModuleLevelChanges, ClonedCodeInfo *CodeInfo=nullptr) |
| CloneFunction - Return a copy of the specified function, but without embedding the function into another module. More... | |
| void | CloneFunctionInto (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=nullptr, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| Clone OldFunc into NewFunc, transforming the old arguments into references to VMap values. More... | |
| void | CloneAndPruneIntoFromInst (Function *NewFunc, const Function *OldFunc, const Instruction *StartingInst, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=nullptr, CloningDirector *Director=nullptr) |
| This works like CloneAndPruneFunctionInto, except that it does not clone the entire function. More... | |
| void | CloneAndPruneFunctionInto (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=nullptr, Instruction *TheCall=nullptr) |
| CloneAndPruneFunctionInto - This works exactly like CloneFunctionInto, except that it does some simple constant prop and DCE on the fly. More... | |
| bool | InlineFunction (CallInst *C, InlineFunctionInfo &IFI, bool InsertLifetime=true) |
| InlineFunction - This function inlines the called function into the basic block of the caller. More... | |
| bool | InlineFunction (InvokeInst *II, InlineFunctionInfo &IFI, bool InsertLifetime=true) |
| bool | InlineFunction (CallSite CS, InlineFunctionInfo &IFI, bool InsertLifetime=true) |
| This function inlines the called function into the basic block of the caller. More... | |
| Loop * | cloneLoopWithPreheader (BasicBlock *Before, BasicBlock *LoopDomBB, Loop *OrigLoop, ValueToValueMapTy &VMap, const Twine &NameSuffix, LoopInfo *LI, DominatorTree *DT, SmallVectorImpl< BasicBlock * > &Blocks) |
Clones a loop OrigLoop. More... | |
| void | remapInstructionsInBlocks (const SmallVectorImpl< BasicBlock * > &Blocks, ValueToValueMapTy &VMap) |
Remaps instructions in Blocks using the mapping in VMap. More... | |
| unsigned | getICmpCode (const ICmpInst *ICI, bool InvertPred=false) |
| getICmpCode - Encode a icmp predicate into a three bit mask. More... | |
| Value * | 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. More... | |
| bool | 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). More... | |
| bool | optimizeGlobalCtorsList (Module &M, function_ref< bool(Function *)> ShouldRemove) |
| Call "ShouldRemove" for every entry in M's global_ctor list and remove the entries for which it returns true. More... | |
| bool | isSafeToDestroyConstant (const Constant *C) |
| It is safe to destroy a constant iff it is only used by constants itself. More... | |
| bool | expandRemainder (BinaryOperator *Rem) |
| Generate code to calculate the remainder of two integers, replacing Rem with the generated code. More... | |
| bool | expandDivision (BinaryOperator *Div) |
| Generate code to divide two integers, replacing Div with the generated code. More... | |
| bool | expandRemainderUpTo32Bits (BinaryOperator *Rem) |
| Generate code to calculate the remainder of two integers, replacing Rem with the generated code. More... | |
| bool | expandRemainderUpTo64Bits (BinaryOperator *Rem) |
| Generate code to calculate the remainder of two integers, replacing Rem with the generated code. More... | |
| bool | expandDivisionUpTo32Bits (BinaryOperator *Div) |
| Generate code to divide two integers, replacing Div with the generated code. More... | |
| bool | expandDivisionUpTo64Bits (BinaryOperator *Div) |
| Generate code to divide two integers, replacing Div with the generated code. More... | |
| bool | ConstantFoldTerminator (BasicBlock *BB, bool DeleteDeadConditions=false, const TargetLibraryInfo *TLI=nullptr) |
| ConstantFoldTerminator - If a terminator instruction is predicated on a constant value, convert it into an unconditional branch to the constant destination. More... | |
| bool | isInstructionTriviallyDead (Instruction *I, const TargetLibraryInfo *TLI=nullptr) |
| isInstructionTriviallyDead - Return true if the result produced by the instruction is not used, and the instruction has no side effects. More... | |
| bool | RecursivelyDeleteTriviallyDeadInstructions (Value *V, const TargetLibraryInfo *TLI=nullptr) |
| RecursivelyDeleteTriviallyDeadInstructions - If the specified value is a trivially dead instruction, delete it. More... | |
| bool | RecursivelyDeleteDeadPHINode (PHINode *PN, const TargetLibraryInfo *TLI=nullptr) |
| 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. More... | |
| bool | SimplifyInstructionsInBlock (BasicBlock *BB, const TargetLibraryInfo *TLI=nullptr) |
| SimplifyInstructionsInBlock - Scan the specified basic block and try to simplify any instructions in it and recursively delete dead instructions. More... | |
| void | RemovePredecessorAndSimplify (BasicBlock *BB, BasicBlock *Pred) |
| RemovePredecessorAndSimplify - Like BasicBlock::removePredecessor, this method is called when we're about to delete Pred as a predecessor of BB. More... | |
| void | MergeBasicBlockIntoOnlyPred (BasicBlock *BB, DominatorTree *DT=nullptr) |
| MergeBasicBlockIntoOnlyPred - BB is a block with one predecessor and its predecessor is known to have one successor (BB!). More... | |
| bool | 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. More... | |
| bool | EliminateDuplicatePHINodes (BasicBlock *BB) |
| EliminateDuplicatePHINodes - Check for and eliminate duplicate PHI nodes in this block. More... | |
| bool | SimplifyCFG (BasicBlock *BB, const TargetTransformInfo &TTI, unsigned BonusInstThreshold, AssumptionCache *AC=nullptr) |
| SimplifyCFG - This function is used to do simplification of a CFG. More... | |
| bool | FlattenCFG (BasicBlock *BB, AliasAnalysis *AA=nullptr) |
| FlatternCFG - This function is used to flatten a CFG. More... | |
| bool | FoldBranchToCommonDest (BranchInst *BI, unsigned BonusInstThreshold=1) |
| 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. More... | |
| AllocaInst * | DemoteRegToStack (Instruction &X, bool VolatileLoads=false, Instruction *AllocaPoint=nullptr) |
| DemoteRegToStack - This function takes a virtual register computed by an Instruction and replaces it with a slot in the stack frame, allocated via alloca. More... | |
| AllocaInst * | DemotePHIToStack (PHINode *P, Instruction *AllocaPoint=nullptr) |
| 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. More... | |
| unsigned | getOrEnforceKnownAlignment (Value *V, unsigned PrefAlign, const DataLayout &DL, const Instruction *CxtI=nullptr, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr) |
| getOrEnforceKnownAlignment - If the specified pointer has an alignment that we can determine, return it, otherwise return 0. More... | |
| static unsigned | getKnownAlignment (Value *V, const DataLayout &DL, const Instruction *CxtI=nullptr, AssumptionCache *AC=nullptr, const DominatorTree *DT=nullptr) |
| getKnownAlignment - Try to infer an alignment for the specified pointer. More... | |
| template<typename IRBuilderTy > | |
| Value * | EmitGEPOffset (IRBuilderTy *Builder, const DataLayout &DL, User *GEP, bool NoAssumptions=false) |
| EmitGEPOffset - Given a getelementptr instruction/constantexpr, emit the code necessary to compute the offset from the base pointer (without adding in the base pointer). More... | |
| bool | ConvertDebugDeclareToDebugValue (DbgDeclareInst *DDI, StoreInst *SI, DIBuilder &Builder) |
| ===---------------------------------------------------------------——===// Dbg Intrinsic utilities More... | |
| bool | ConvertDebugDeclareToDebugValue (DbgDeclareInst *DDI, LoadInst *LI, DIBuilder &Builder) |
| Inserts a llvm.dbg.value intrinsic before a load of an alloca'd value that has an associated llvm.dbg.decl intrinsic. More... | |
| bool | LowerDbgDeclare (Function &F) |
| LowerDbgDeclare - Lowers llvm.dbg.declare intrinsics into appropriate set of llvm.dbg.value intrinsics. More... | |
| DbgDeclareInst * | FindAllocaDbgDeclare (Value *V) |
| FindAllocaDbgDeclare - Finds the llvm.dbg.declare intrinsic corresponding to an alloca, if any. More... | |
| bool | replaceDbgDeclareForAlloca (AllocaInst *AI, Value *NewAllocaAddress, DIBuilder &Builder, bool Deref) |
| Replaces llvm.dbg.declare instruction when an alloca is replaced with a new value. More... | |
| bool | removeUnreachableBlocks (Function &F) |
| Remove all blocks that can not be reached from the function's entry. More... | |
| void | combineMetadata (Instruction *K, const Instruction *J, ArrayRef< unsigned > KnownIDs) |
| Combine the metadata of two instructions so that K can replace J. More... | |
| unsigned | replaceDominatedUsesWith (Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Edge) |
| Replace each use of 'From' with 'To' if that use is dominated by the given edge. More... | |
| BasicBlock * | InsertPreheaderForLoop (Loop *L, Pass *P) |
| InsertPreheaderForLoop - Once we discover that a loop doesn't have a preheader, this method is called to insert one. More... | |
| bool | simplifyLoop (Loop *L, DominatorTree *DT, LoopInfo *LI, Pass *PP, AliasAnalysis *AA=nullptr, ScalarEvolution *SE=nullptr, AssumptionCache *AC=nullptr) |
| Simplify each loop in a loop nest recursively. More... | |
| bool | formLCSSA (Loop &L, DominatorTree &DT, LoopInfo *LI, ScalarEvolution *SE=nullptr) |
| Put loop into LCSSA form. More... | |
| bool | formLCSSARecursively (Loop &L, DominatorTree &DT, LoopInfo *LI, ScalarEvolution *SE=nullptr) |
| Put a loop nest into LCSSA form. More... | |
| bool | sinkRegion (DomTreeNode *, AliasAnalysis *, LoopInfo *, DominatorTree *, TargetLibraryInfo *, Loop *, AliasSetTracker *, LICMSafetyInfo *) |
| Walk the specified region of the CFG (defined by all blocks dominated by the specified block, and that are in the current loop) in reverse depth first order w.r.t the DominatorTree. More... | |
| bool | hoistRegion (DomTreeNode *, AliasAnalysis *, LoopInfo *, DominatorTree *, TargetLibraryInfo *, Loop *, AliasSetTracker *, LICMSafetyInfo *) |
| Walk the specified region of the CFG (defined by all blocks dominated by the specified block, and that are in the current loop) in depth first order w.r.t the DominatorTree. More... | |
| bool | promoteLoopAccessesToScalars (AliasSet &, SmallVectorImpl< BasicBlock * > &, SmallVectorImpl< Instruction * > &, PredIteratorCache &, LoopInfo *, DominatorTree *, Loop *, AliasSetTracker *, LICMSafetyInfo *) |
| Try to promote memory values to scalars by sinking stores out of the loop and moving loads to before the loop. More... | |
| void | computeLICMSafetyInfo (LICMSafetyInfo *, Loop *) |
| Computes safety information for a loop checks loop body & header for the possiblity of may throw exception, it takes LICMSafetyInfo and loop as argument. More... | |
| bool | isInductionPHI (PHINode *, ScalarEvolution *, ConstantInt *&) |
| Checks if the given PHINode in a loop header is an induction variable. More... | |
| void | appendToGlobalCtors (Module &M, Function *F, int Priority) |
| Append F to the list of global ctors of module M with the given Priority. More... | |
| void | appendToGlobalDtors (Module &M, Function *F, int Priority) |
| Same as appendToGlobalCtors(), but for global dtors. More... | |
| GlobalVariable * | collectUsedGlobalVariables (Module &M, SmallPtrSetImpl< GlobalValue * > &Set, bool CompilerUsed) |
| Given "llvm.used" or "llvm.compiler.used" as a global name, collect the initializer elements of that global in Set and return the global itself. More... | |
| Function * | checkSanitizerInterfaceFunction (Constant *FuncOrBitcast) |
| std::pair< Function *, Function * > | createSanitizerCtorAndInitFunctions (Module &M, StringRef CtorName, StringRef InitName, ArrayRef< Type * > InitArgTypes, ArrayRef< Value * > InitArgs) |
| Creates sanitizer constructor function, and calls sanitizer's init function from it. More... | |
| bool | isAllocaPromotable (const AllocaInst *AI) |
| Return true if this alloca is legal for promotion. More... | |
| void | PromoteMemToReg (ArrayRef< AllocaInst * > Allocas, DominatorTree &DT, AliasSetTracker *AST=nullptr, AssumptionCache *AC=nullptr) |
| Promote the specified list of alloca instructions into scalar registers, inserting PHI nodes as appropriate. More... | |
| bool | simplifyUsersOfIV (PHINode *CurrIV, ScalarEvolution *SE, LPPassManager *LPM, SmallVectorImpl< WeakVH > &Dead, IVVisitor *V=nullptr) |
| simplifyUsersOfIV - Simplify instructions that use this induction variable by using ScalarEvolution to analyze the IV's recurrence. More... | |
| bool | simplifyLoopIVs (Loop *L, ScalarEvolution *SE, LPPassManager *LPM, SmallVectorImpl< WeakVH > &Dead) |
| SimplifyLoopIVs - Simplify users of induction variables within this loop. More... | |
| ModulePass * | createRewriteSymbolsPass () |
| ModulePass * | createRewriteSymbolsPass (SymbolRewriter::RewriteDescriptorList &) |
| Pass * | createUnifyFunctionExitNodesPass () |
| bool | UnrollLoop (Loop *L, unsigned Count, unsigned TripCount, bool AllowRuntime, bool AllowExpensiveTripCount, unsigned TripMultiple, LoopInfo *LI, Pass *PP, LPPassManager *LPM, AssumptionCache *AC) |
| Unroll the given loop by Count. More... | |
| bool | UnrollRuntimeLoopProlog (Loop *L, unsigned Count, bool AllowExpensiveTripCount, LoopInfo *LI, LPPassManager *LPM) |
| Insert code in the prolog code when unrolling a loop with a run-time trip-count. More... | |
| MDNode * | GetUnrollMetadata (MDNode *LoopID, StringRef Name) |
| Given an llvm.loop loop id metadata node, returns the loop hint metadata node with the given name (for example, "llvm.loop.unroll.count"). More... | |
| static RemapFlags | operator| (RemapFlags LHS, RemapFlags RHS) |
| Value * | MapValue (const Value *V, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| Metadata * | MapMetadata (const Metadata *MD, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| MDNode * | MapMetadata (const MDNode *MD, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| MapMetadata - provide versions that preserve type safety for MDNodes. More... | |
| void | RemapInstruction (Instruction *I, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| RemapInstruction - Convert the instruction operands from referencing the current values into those specified by VMap. More... | |
| Constant * | MapValue (const Constant *V, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr) |
| MapValue - provide versions that preserve type safety for Constants. More... | |
| BasicBlockPass * | createBBVectorizePass (const VectorizeConfig &C=VectorizeConfig()) |
| Pass * | createLoopVectorizePass (bool NoUnrolling=false, bool AlwaysVectorize=true) |
| Pass * | createSLPVectorizerPass () |
| bool | vectorizeBasicBlock (Pass *P, BasicBlock &BB, const VectorizeConfig &C=VectorizeConfig()) |
| Vectorize the BasicBlock. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const LVILatticeVal &Val) LLVM_ATTRIBUTE_USED |
| Pass * | createLAAPass () |
| void | calculateDbgValueHistory (const MachineFunction *MF, const TargetRegisterInfo *TRI, DbgValueHistoryMap &Result) |
| bool | operator== (const DebugLocEntry::Value &A, const DebugLocEntry::Value &B) |
| Compare two Values for equality. More... | |
| bool | operator< (const DebugLocEntry::Value &A, const DebugLocEntry::Value &B) |
| Compare two pieces based on their offset. More... | |
| static const ConstantExpr * | getMergedGlobalExpr (const Value *V) |
| static void | EmitLabelDiff (MCStreamer &Streamer, const MCSymbol *From, const MCSymbol *To, unsigned int Size=4) |
| template<> | |
| raw_ostream & | WriteGraph (raw_ostream &O, const EdgeBundles &G, bool ShortNames, const Twine &Title) |
| Spiller * | createInlineSpiller (MachineFunctionPass &pass, MachineFunction &mf, VirtRegMap &vrm) |
| Create and return a spiller that will insert spill code directly instead of deferring though VirtRegMap. More... | |
| static void | initializeInterleavedAccessPass (PassRegistry &) |
| cl::opt< bool > | UseSegmentSetForPhysRegs ("use-segment-set-for-physregs", cl::Hidden, cl::init(true), cl::desc("Use segment set for the computation of the live ranges of physregs.")) |
| FunctionPass * | createMachineRegionInfoPass () |
| cl::opt< bool > | ForceTopDown ("misched-topdown", cl::Hidden, cl::desc("Force top-down list scheduling")) |
| cl::opt< bool > | ForceBottomUp ("misched-bottomup", cl::Hidden, cl::desc("Force bottom-up list scheduling")) |
| StringRef | lexMIToken (StringRef Source, MIToken &Token, function_ref< void(StringRef::iterator, const Twine &)> ErrorCallback) |
| Consume a single machine instruction token in the given source and return the remaining source string. More... | |
| bool | parseMachineInstr (MachineInstr *&MI, SourceMgr &SM, MachineFunction &MF, StringRef Src, const PerFunctionMIParsingState &PFS, const SlotMapping &IRSlots, SMDiagnostic &Error) |
| bool | parseMBBReference (MachineBasicBlock *&MBB, SourceMgr &SM, MachineFunction &MF, StringRef Src, const PerFunctionMIParsingState &PFS, const SlotMapping &IRSlots, SMDiagnostic &Error) |
| bool | parseNamedRegisterReference (unsigned &Reg, SourceMgr &SM, MachineFunction &MF, StringRef Src, const PerFunctionMIParsingState &PFS, const SlotMapping &IRSlots, SMDiagnostic &Error) |
| void | printMIR (raw_ostream &OS, const Module &M) |
| Print LLVM IR using the MIR serialization format to the given output stream. More... | |
| void | printMIR (raw_ostream &OS, const MachineFunction &MF) |
| Print a machine function using the MIR serialization format to the given output stream. More... | |
| MachineBasicBlock::iterator | findPHICopyInsertPoint (MachineBasicBlock *MBB, MachineBasicBlock *SuccMBB, unsigned SrcReg) |
| findPHICopyInsertPoint - Find a safe place in MBB to insert a copy from SrcReg when following the CFG edge to SuccMBB. More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const GUID &Guid) |
| void | __register_frame (void *p) |
| void | __deregister_frame (void *p) |
| static int | jit_noop () |
| static void | dumpSectionMemory (const SectionEntry &S, StringRef State) |
| static std::error_code | getOffset (const SymbolRef &Sym, SectionRef Sec, uint64_t &Result) |
| static uint64_t | computeAllocationSizeForSections (std::vector< uint64_t > &SectionSizes, uint64_t Alignment) |
| static bool | isRequiredForExecution (const SectionRef Section) |
| static bool | isReadOnlyData (const SectionRef Section) |
| static bool | isZeroInit (const SectionRef Section) |
| static std::unique_ptr < RuntimeDyldCOFF > | createRuntimeDyldCOFF (Triple::ArchType Arch, RuntimeDyld::MemoryManager &MM, RuntimeDyld::SymbolResolver &Resolver, bool ProcessAllSections, RuntimeDyldCheckerImpl *Checker) |
| static std::unique_ptr < RuntimeDyldELF > | createRuntimeDyldELF (RuntimeDyld::MemoryManager &MM, RuntimeDyld::SymbolResolver &Resolver, bool ProcessAllSections, RuntimeDyldCheckerImpl *Checker) |
| static std::unique_ptr < RuntimeDyldMachO > | createRuntimeDyldMachO (Triple::ArchType Arch, RuntimeDyld::MemoryManager &MM, RuntimeDyld::SymbolResolver &Resolver, bool ProcessAllSections, RuntimeDyldCheckerImpl *Checker) |
| static uint16_t | applyPPClo (uint64_t value) |
| static uint16_t | applyPPChi (uint64_t value) |
| static uint16_t | applyPPCha (uint64_t value) |
| static uint16_t | applyPPChigher (uint64_t value) |
| static uint16_t | applyPPChighera (uint64_t value) |
| static uint16_t | applyPPChighest (uint64_t value) |
| static uint16_t | applyPPChighesta (uint64_t value) |
| std::error_code | Check (std::error_code Err) |
| static int64_t | computeDelta (SectionEntry *A, SectionEntry *B) |
| Constant * | ConstantFoldCastInstruction (unsigned opcode, Constant *V, Type *DestTy) |
| Constant * | ConstantFoldSelectInstruction (Constant *Cond, Constant *V1, Constant *V2) |
| Constant * | ConstantFoldInsertElementInstruction (Constant *Val, Constant *Elt, Constant *Idx) |
| Constant * | ConstantFoldShuffleVectorInstruction (Constant *V1, Constant *V2, Constant *Mask) |
| Constant * | ConstantFoldBinaryInstruction (unsigned Opcode, Constant *V1, Constant *V2) |
| Constant * | ConstantFoldCompareInstruction (unsigned short predicate, Constant *C1, Constant *C2) |
| Constant * | ConstantFoldGetElementPtr (Constant *C, bool inBounds, ArrayRef< Constant * > Idxs) |
| Constant * | ConstantFoldGetElementPtr (Constant *C, bool inBounds, ArrayRef< Value * > Idxs) |
| Constant * | ConstantFoldGetElementPtr (Type *Ty, Constant *C, bool inBounds, ArrayRef< Constant * > Idxs) |
| Constant * | ConstantFoldGetElementPtr (Type *Ty, Constant *C, bool inBounds, ArrayRef< Value * > Idxs) |
| static const Metadata * | get_hashable_data (const MDOperand &X) |
| Make MDOperand transparent for hashing. More... | |
| template<class T , class InfoT > | |
| static T * | getUniqued (DenseSet< T *, InfoT > &Store, const typename InfoT::KeyTy &Key) |
| raw_ostream & | operator<< (raw_ostream &OS, const MCFixup &AF) |
| MCAsmParserExtension * | createDarwinAsmParser () |
| MCAsmParserExtension * | createELFAsmParser () |
| MCAsmParserExtension * | createCOFFAsmParser () |
| static uint8_t | CountOfUnwindCodes (std::vector< WinEH::Instruction > &Insns) |
| static void | EmitAbsDifference (MCStreamer &Streamer, const MCSymbol *LHS, const MCSymbol *RHS) |
| static void | EmitUnwindCode (MCStreamer &streamer, const MCSymbol *begin, WinEH::Instruction &inst) |
| static void | EmitSymbolRefWithOfs (MCStreamer &streamer, const MCSymbol *Base, const MCSymbol *Other) |
| static void | EmitRuntimeFunction (MCStreamer &streamer, const WinEH::FrameInfo *info) |
| static void | EmitUnwindInfo (MCStreamer &streamer, WinEH::FrameInfo *info) |
| bool | ConvertUTF8toWide (unsigned WideCharWidth, llvm::StringRef Source, char *&ResultPtr, const UTF8 *&ErrorPtr) |
| bool | ConvertCodePointToUTF8 (unsigned Source, char *&ResultPtr) |
| bool | hasUTF16ByteOrderMark (ArrayRef< char > S) |
| bool | convertUTF16ToUTF8String (ArrayRef< char > SrcBytes, std::string &Out) |
| bool | convertUTF8ToUTF16String (StringRef SrcUTF8, SmallVectorImpl< UTF16 > &DstUTF16) |
| void * | SearchForAddressOfSpecialSymbol (const char *symbolName) |
| raw_ostream * | CreateInfoOutputFile () |
| template<class T > | |
| SmallVectorImpl< T >::const_pointer | c_str (SmallVectorImpl< T > &str) |
| static void | PrintMessage (ArrayRef< SMLoc > Loc, SourceMgr::DiagKind Kind, const Twine &Msg) |
| FunctionPass * | createAArch64DeadRegisterDefinitions () |
| FunctionPass * | createAArch64ConditionalCompares () |
| FunctionPass * | createAArch64AdvSIMDScalar () |
| FunctionPass * | createAArch64BranchRelaxation () |
| createAArch64BranchRelaxation - returns an instance of the constpool island pass. More... | |
| FunctionPass * | createAArch64ISelDag (AArch64TargetMachine &TM, CodeGenOpt::Level OptLevel) |
| createAArch64ISelDag - This pass converts a legalized DAG into a AArch64-specific DAG, ready for instruction scheduling. More... | |
| FunctionPass * | createAArch64StorePairSuppressPass () |
| FunctionPass * | createAArch64ExpandPseudoPass () |
| Returns an instance of the pseudo instruction expansion pass. More... | |
| FunctionPass * | createAArch64LoadStoreOptimizationPass () |
| createARMLoadStoreOptimizationPass - returns an instance of the load / store optimization pass. More... | |
| ModulePass * | createAArch64PromoteConstantPass () |
| FunctionPass * | createAArch64ConditionOptimizerPass () |
| FunctionPass * | createAArch64AddressTypePromotionPass () |
| FunctionPass * | createAArch64A57FPLoadBalancing () |
| FunctionPass * | createAArch64A53Fix835769 () |
| FunctionPass * | createAArch64CleanupLocalDynamicTLSPass () |
| FunctionPass * | createAArch64CollectLOHPass () |
| createAArch64CollectLOHPass - returns an instance of the Statistic for linker optimization pass. More... | |
| static void | initializeAArch64A57FPLoadBalancingPass (PassRegistry &) |
| void | initializeAArch64AddressTypePromotionPass (PassRegistry &) |
| void | initializeAArch64CollectLOHPass (PassRegistry &) |
| void | initializeAArch64ConditionalComparesPass (PassRegistry &) |
| void | initializeAArch64ConditionOptimizerPass (PassRegistry &) |
| void | emitFrameOffset (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, DebugLoc DL, unsigned DestReg, unsigned SrcReg, int Offset, const TargetInstrInfo *TII, MachineInstr::MIFlag=MachineInstr::NoFlags, bool SetNZCV=false) |
| emitFrameOffset - Emit instructions as needed to set DestReg to SrcReg plus Offset. More... | |
| bool | rewriteAArch64FrameIndex (MachineInstr &MI, unsigned FrameRegIdx, unsigned FrameReg, int &Offset, const AArch64InstrInfo *TII) |
| rewriteAArch64FrameIndex - Rewrite MI to access 'Offset' bytes from the FP. More... | |
| int | isAArch64FrameOffsetLegal (const MachineInstr &MI, int &Offset, bool *OutUseUnscaledOp=nullptr, unsigned *OutUnscaledOp=nullptr, int *EmittableOffset=nullptr) |
Check if the Offset is a valid frame offset for MI. More... | |
| static bool | isUncondBranchOpcode (int Opc) |
| static bool | isCondBranchOpcode (int Opc) |
| static bool | isIndirectBranchOpcode (int Opc) |
| void | initializeAArch64PromoteConstantPass (PassRegistry &) |
| MCTargetStreamer * | createAArch64AsmTargetStreamer (MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint, bool isVerboseAsm) |
| MCELFStreamer * | createAArch64ELFStreamer (MCContext &Context, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll) |
| MCTargetStreamer * | createAArch64ObjectTargetStreamer (MCStreamer &S, const MCSubtargetInfo &STI) |
| MCCodeEmitter * | createAArch64MCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCAsmBackend * | createAArch64leAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCAsmBackend * | createAArch64beAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCObjectWriter * | createAArch64ELFObjectWriter (raw_pwrite_stream &OS, uint8_t OSABI, bool IsLittleEndian) |
| MCObjectWriter * | createAArch64MachObjectWriter (raw_pwrite_stream &OS, uint32_t CPUType, uint32_t CPUSubtype) |
| static unsigned | getWRegFromXReg (unsigned Reg) |
| static unsigned | getXRegFromWReg (unsigned Reg) |
| static unsigned | getBRegFromDReg (unsigned Reg) |
| static unsigned | getDRegFromBReg (unsigned Reg) |
| static const char * | AArch64VectorLayoutToString (AArch64Layout::VectorLayout Layout) |
| static AArch64Layout::VectorLayout | AArch64StringToVectorLayout (StringRef LayoutStr) |
| FunctionPass * | createR600VectorRegMerger (TargetMachine &tm) |
| FunctionPass * | createR600TextureIntrinsicsReplacer () |
| FunctionPass * | createR600ExpandSpecialInstrsPass (TargetMachine &tm) |
| FunctionPass * | createR600EmitClauseMarkers () |
| FunctionPass * | createR600ClauseMergePass (TargetMachine &tm) |
| FunctionPass * | createR600Packetizer (TargetMachine &tm) |
| FunctionPass * | createR600ControlFlowFinalizer (TargetMachine &tm) |
| FunctionPass * | createAMDGPUCFGStructurizerPass () |
| FunctionPass * | createSITypeRewriter () |
| FunctionPass * | createSIAnnotateControlFlowPass () |
| Create the annotation pass. More... | |
| FunctionPass * | createSIFoldOperandsPass () |
| FunctionPass * | createSILowerI1CopiesPass () |
| FunctionPass * | createSIShrinkInstructionsPass () |
| FunctionPass * | createSILoadStoreOptimizerPass (TargetMachine &tm) |
| FunctionPass * | createSILowerControlFlowPass (TargetMachine &tm) |
| FunctionPass * | createSIFixControlFlowLiveIntervalsPass () |
| FunctionPass * | createSIFixSGPRCopiesPass (TargetMachine &tm) |
| FunctionPass * | createSIFixSGPRLiveRangesPass () |
| FunctionPass * | createSICodeEmitterPass (formatted_raw_ostream &OS) |
| FunctionPass * | createSIInsertWaits (TargetMachine &tm) |
| FunctionPass * | createSIPrepareScratchRegs () |
| void | initializeSIFoldOperandsPass (PassRegistry &) |
| void | initializeSILowerI1CopiesPass (PassRegistry &) |
| void | initializeSILoadStoreOptimizerPass (PassRegistry &) |
| FunctionPass * | createAMDGPUPromoteAlloca (const AMDGPUSubtarget &ST) |
| Pass * | createAMDGPUStructurizeCFGPass () |
| FunctionPass * | createAMDGPUISelDag (TargetMachine &tm) |
| This pass converts a legalized DAG into a AMDGPU-specific. More... | |
| ModulePass * | createAMDGPUAlwaysInlinePass () |
| void | initializeSIFixControlFlowLiveIntervalsPass (PassRegistry &) |
| void | initializeSIFixSGPRLiveRangesPass (PassRegistry &) |
| void | initializeAMDGPUCFGStructurizerPass (PassRegistry &) |
| MCCodeEmitter * | createR600MCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCCodeEmitter * | createSIMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCAsmBackend * | createAMDGPUAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCObjectWriter * | createAMDGPUELFObjectWriter (bool Is64Bit, raw_pwrite_stream &OS) |
| void | initializeR600EmitClauseMarkersPass (PassRegistry &) |
| void | initializeSIShrinkInstructionsPass (PassRegistry &) |
| FunctionPass * | createARMISelDag (ARMBaseTargetMachine &TM, CodeGenOpt::Level OptLevel) |
| createARMISelDag - This pass converts a legalized DAG into a ARM-specific DAG, ready for instruction scheduling. More... | |
| FunctionPass * | createA15SDOptimizerPass () |
| FunctionPass * | createARMLoadStoreOptimizationPass (bool PreAlloc=false) |
| Returns an instance of the load / store optimization pass. More... | |
| FunctionPass * | createARMExpandPseudoPass () |
| createARMExpandPseudoPass - returns an instance of the pseudo instruction expansion pass. More... | |
| FunctionPass * | createARMGlobalBaseRegPass () |
| FunctionPass * | createARMConstantIslandPass () |
| createARMConstantIslandPass - returns an instance of the constpool island pass. More... | |
| FunctionPass * | createMLxExpansionPass () |
| FunctionPass * | createThumb2ITBlockPass () |
| createThumb2ITBlockPass - Returns an instance of the Thumb2 IT blocks insertion pass. More... | |
| FunctionPass * | createARMOptimizeBarriersPass () |
| createARMOptimizeBarriersPass - Returns an instance of the remove double barriers pass. More... | |
| FunctionPass * | createThumb2SizeReductionPass (std::function< bool(const Function &)> Ftor=nullptr) |
| createThumb2SizeReductionPass - Returns an instance of the Thumb2 size reduction pass. More... | |
| void | LowerARMMachineInstrToMCInst (const MachineInstr *MI, MCInst &OutMI, ARMAsmPrinter &AP) |
| template<> | |
| bool | IsCPSRDead< MachineInstr > (MachineInstr *MI) |
| static const MachineInstrBuilder & | AddDefaultPred (const MachineInstrBuilder &MIB) |
| static const MachineInstrBuilder & | AddDefaultCC (const MachineInstrBuilder &MIB) |
| static const MachineInstrBuilder & | AddDefaultT1CC (const MachineInstrBuilder &MIB, bool isDead=false) |
| static const MachineInstrBuilder & | AddNoT1CC (const MachineInstrBuilder &MIB) |
| static bool | isUncondBranchOpcode (int Opc) |
| static bool | isCondBranchOpcode (int Opc) |
| static bool | isJumpTableBranchOpcode (int Opc) |
| static bool | isIndirectBranchOpcode (int Opc) |
| static bool | isPopOpcode (int Opc) |
| static bool | isPushOpcode (int Opc) |
| ARMCC::CondCodes | getInstrPredicate (const MachineInstr *MI, unsigned &PredReg) |
| getInstrPredicate - If instruction is predicated, returns its predicate condition, otherwise returns AL. More... | |
| unsigned | getMatchingCondBranchOpcode (unsigned Opc) |
| unsigned | canFoldARMInstrIntoMOVCC (unsigned Reg, MachineInstr *&MI, const MachineRegisterInfo &MRI) |
| Determine if MI can be folded into an ARM MOVCC instruction, and return the opcode of the SSA instruction representing the conditional MI. More... | |
| unsigned | convertAddSubFlagsOpcode (unsigned OldOpc) |
| Map pseudo instructions that imply an 'S' bit onto real opcodes. More... | |
| 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) |
| emitARMRegPlusImmediate / emitT2RegPlusImmediate - Emits a series of instructions to materializea destreg = basereg + immediate in ARM / Thumb2 code. More... | |
| 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 | tryFoldSPUpdateIntoPushPop (const ARMSubtarget &Subtarget, MachineFunction &MF, MachineInstr *MI, unsigned NumBytes) |
| Tries to add registers to the reglist of a given base-updating push/pop instruction to adjust the stack by an additional NumBytes. More... | |
| bool | rewriteARMFrameIndex (MachineInstr &MI, unsigned FrameRegIdx, unsigned FrameReg, int &Offset, const ARMBaseInstrInfo &TII) |
| rewriteARMFrameIndex / rewriteT2FrameIndex - Rewrite MI to access 'Offset' bytes from the FP. More... | |
| bool | rewriteT2FrameIndex (MachineInstr &MI, unsigned FrameRegIdx, unsigned FrameReg, int &Offset, const ARMBaseInstrInfo &TII) |
| static bool | isARMArea1Register (unsigned Reg, bool isIOS) |
| isARMArea1Register - Returns true if the register is a low register (r0-r7) or a stack/pc register that we should push/pop. More... | |
| static bool | isARMArea2Register (unsigned Reg, bool isIOS) |
| static bool | isARMArea3Register (unsigned Reg, bool isIOS) |
| static bool | isCalleeSavedRegister (unsigned Reg, const MCPhysReg *CSRegs) |
| 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) |
| static bool | CC_ARM_AAPCS_Custom_Aggregate (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State) |
| raw_ostream & | operator<< (raw_ostream &O, const ARMConstantPoolValue &V) |
| template<typename InstrType > | |
| bool | IsCPSRDead (InstrType *Instr) |
| template<typename InstrType > | |
| bool | isV8EligibleForIT (InstrType *Instr) |
| template<> | |
| bool | IsCPSRDead< MCInst > (MCInst *Instr) |
| static const char * | ARMCondCodeToString (ARMCC::CondCodes CC) |
| static bool | isARMLowRegister (unsigned Reg) |
| isARMLowRegister - Returns true if the register is a low register (r0-r7). More... | |
| MCTargetStreamer * | createARMTargetAsmStreamer (MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint, bool isVerboseAsm) |
| MCTargetStreamer * | createARMNullTargetStreamer (MCStreamer &S) |
| MCTargetStreamer * | createARMObjectTargetStreamer (MCStreamer &S, const MCSubtargetInfo &STI) |
| MCCodeEmitter * | createARMLEMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCCodeEmitter * | createARMBEMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCAsmBackend * | createARMAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU, bool IsLittleEndian) |
| MCAsmBackend * | createARMLEAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCAsmBackend * | createARMBEAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCAsmBackend * | createThumbLEAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCAsmBackend * | createThumbBEAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCStreamer * | createARMWinCOFFStreamer (MCContext &Context, MCAsmBackend &MAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll) |
| MCObjectWriter * | createARMELFObjectWriter (raw_pwrite_stream &OS, uint8_t OSABI, bool IsLittleEndian) |
| Construct an ELF Mach-O object writer. More... | |
| MCObjectWriter * | createARMMachObjectWriter (raw_pwrite_stream &OS, bool Is64Bit, uint32_t CPUType, uint32_t CPUSubtype) |
| Construct an ARM Mach-O object writer. More... | |
| MCObjectWriter * | createARMWinCOFFObjectWriter (raw_pwrite_stream &OS, bool Is64Bit) |
| Construct an ARM PE/COFF object writer. More... | |
| MCRelocationInfo * | createARMMachORelocationInfo (MCContext &Ctx) |
| Construct ARM Mach-O relocation info. More... | |
| ARMCC::CondCodes | getITInstrPredicate (const MachineInstr *MI, unsigned &PredReg) |
| getITInstrPredicate - Valid only in Thumb2 mode. More... | |
| FunctionPass * | createBPFISelDag (BPFTargetMachine &TM) |
| MCCodeEmitter * | createBPFMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCCodeEmitter * | createBPFbeMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCAsmBackend * | createBPFAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCAsmBackend * | createBPFbeAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCObjectWriter * | createBPFELFObjectWriter (raw_pwrite_stream &OS, uint8_t OSABI, bool IsLittleEndian) |
| void | HexagonLowerToMC (const MachineInstr *MI, MCInst &MCI, HexagonAsmPrinter &AP) |
| ImmutablePass * | createHexagonTargetTransformInfoPass (const HexagonTargetMachine *TM) |
| Creates a Hexagon-specific Target Transformation Info pass. More... | |
| FunctionPass * | createHexagonCFGOptimizer () |
| void | initializeHexagonCFGOptimizerPass (PassRegistry &) |
| void | initializeHexagonCommonGEPPass (PassRegistry &) |
| FunctionPass * | createHexagonCommonGEP () |
| FunctionPass * | createHexagonCopyToCombine () |
| void | initializeHexagonCopyToCombinePass (PassRegistry &) |
| void | initializeHexagonExpandCondsetsPass (PassRegistry &) |
| FunctionPass * | createHexagonExpandCondsets () |
| FunctionPass * | createHexagonExpandPredSpillCode () |
| void | initializeHexagonExpandPredSpillCodePass (PassRegistry &) |
| FunctionPass * | createHexagonFixupHwLoops () |
| void | initializeHexagonFixupHwLoopsPass (PassRegistry &) |
| void | initializeHexagonGenExtractPass (PassRegistry &) |
| FunctionPass * | createHexagonGenExtract () |
| void | initializeHexagonGenInsertPass (PassRegistry &) |
| FunctionPass * | createHexagonGenInsert () |
| void | initializeHexagonGenPredicatePass (PassRegistry &Registry) |
| FunctionPass * | createHexagonGenPredicate () |
| FunctionPass * | createHexagonHardwareLoops () |
| void | initializeHexagonHardwareLoopsPass (PassRegistry &) |
| void | initializeHexagonDAGToDAGISelPass (PassRegistry &) |
| FunctionPass * | createHexagonISelDag (HexagonTargetMachine &TM, CodeGenOpt::Level OptLevel) |
| bool | isPositiveHalfWord (SDNode *N) |
| FunctionPass * | createHexagonNewValueJump () |
| void | initializeHexagonNewValueJumpPass (PassRegistry &) |
| FunctionPass * | createHexagonPeephole () |
| void | initializeHexagonPeepholePass (PassRegistry &) |
| FunctionPass * | createHexagonRemoveExtendArgs (const HexagonTargetMachine &TM) |
| void | initializeHexagonRemoveExtendArgsPass (PassRegistry &) |
| FunctionPass * | createHexagonSplitConst32AndConst64 () |
| void | initializeHexagonSplitConst32AndConst64Pass (PassRegistry &) |
| FunctionPass * | createHexagonPacketizer () |
| void | initializeHexagonPacketizerPass (PassRegistry &) |
| MCAsmBackend * | createHexagonAsmBackend (Target const &T, MCRegisterInfo const &, const Triple &TT, StringRef CPU) |
| MCStreamer * | createHexagonELFStreamer (MCContext &Context, MCAsmBackend &MAB, raw_pwrite_stream &OS, MCCodeEmitter *CE) |
| bool | HexagonMCShuffle (MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCInst &) |
| bool | HexagonMCShuffle (MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCInst &, const MCInst *, int) |
| unsigned | HexagonMCShuffle (MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCContext &Context, MCInst &, SmallVector< DuplexCandidate, 8 >) |
| MCInstrInfo * | createHexagonMCInstrInfo () |
| MCCodeEmitter * | createHexagonMCCodeEmitter (MCInstrInfo const &MCII, MCRegisterInfo const &MRI, MCContext &MCT) |
| MCObjectWriter * | createHexagonELFObjectWriter (raw_pwrite_stream &OS, uint8_t OSABI, StringRef CPU) |
| MCStreamer & | operator<< (MCStreamer &OS, MipsABIFlagsSection &ABIFlagsSection) |
| MCELFStreamer * | createMipsELFStreamer (MCContext &Context, MCAsmBackend &MAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll) |
| MCCodeEmitter * | createMipsMCCodeEmitterEB (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCCodeEmitter * | createMipsMCCodeEmitterEL (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| bool | isBasePlusOffsetMemoryAccess (unsigned Opcode, unsigned *AddrIdx, bool *IsStore=nullptr) |
| bool | baseRegNeedsLoadStoreMask (unsigned Reg) |
| MCELFStreamer * | createMipsNaClELFStreamer (MCContext &Context, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll) |
| MCAsmBackend * | createMipsAsmBackendEB32 (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCAsmBackend * | createMipsAsmBackendEL32 (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCAsmBackend * | createMipsAsmBackendEB64 (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCAsmBackend * | createMipsAsmBackendEL64 (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCObjectWriter * | createMipsELFObjectWriter (raw_pwrite_stream &OS, uint8_t OSABI, bool IsLittleEndian, bool Is64Bit) |
| ModulePass * | createMipsOs16Pass (MipsTargetMachine &TM) |
| ModulePass * | createMips16HardFloatPass (MipsTargetMachine &TM) |
| FunctionPass * | createMipsModuleISelDagPass (MipsTargetMachine &TM) |
| FunctionPass * | createMipsOptimizePICCallPass (MipsTargetMachine &TM) |
| Return an OptimizeCall object. More... | |
| FunctionPass * | createMipsDelaySlotFillerPass (MipsTargetMachine &TM) |
| createMipsDelaySlotFillerPass - Returns a pass that fills in delay slots in Mips MachineFunctions More... | |
| FunctionPass * | createMipsLongBranchPass (MipsTargetMachine &TM) |
| createMipsLongBranchPass - Returns a pass that converts branches to long branches. More... | |
| FunctionPass * | createMipsConstantIslandPass (MipsTargetMachine &tm) |
| createMipsLongBranchPass - Returns a pass that converts branches to long branches. More... | |
| FunctionPass * | createMips16ISelDag (MipsTargetMachine &TM) |
| const MipsFrameLowering * | createMips16FrameLowering (const MipsSubtarget &ST) |
| Create MipsFrameLowering objects. More... | |
| const MipsFrameLowering * | createMipsSEFrameLowering (const MipsSubtarget &ST) |
| const MipsInstrInfo * | createMips16InstrInfo (const MipsSubtarget &STI) |
| Create MipsInstrInfo objects. More... | |
| const MipsInstrInfo * | createMipsSEInstrInfo (const MipsSubtarget &STI) |
| const MipsTargetLowering * | createMips16TargetLowering (const MipsTargetMachine &TM, const MipsSubtarget &STI) |
| Create MipsTargetLowering objects. More... | |
| const MipsTargetLowering * | createMipsSETargetLowering (const MipsTargetMachine &TM, const MipsSubtarget &STI) |
| FunctionPass * | createMipsSEISelDag (MipsTargetMachine &TM) |
| FunctionPass * | createMSP430ISelDag (MSP430TargetMachine &TM, CodeGenOpt::Level OptLevel) |
| createMSP430ISelDag - This pass converts a legalized DAG into a MSP430-specific DAG, ready for instruction scheduling. More... | |
| FunctionPass * | createMSP430BranchSelectionPass () |
| createMSP430BranchSelectionPass - returns an instance of the Branch Selection Pass More... | |
| static const char * | NVPTXCondCodeToString (NVPTXCC::CondCodes CC) |
| FunctionPass * | createNVPTXISelDag (NVPTXTargetMachine &TM, llvm::CodeGenOpt::Level OptLevel) |
| createNVPTXISelDag - This pass converts a legalized DAG into a NVPTX-specific DAG, ready for instruction scheduling. More... | |
| ModulePass * | createNVPTXAssignValidGlobalNamesPass () |
| ModulePass * | createGenericToNVVMPass () |
| FunctionPass * | createNVPTXFavorNonGenericAddrSpacesPass () |
| ModulePass * | createNVVMReflectPass () |
| ModulePass * | createNVVMReflectPass (const StringMap< int > &Mapping) |
| MachineFunctionPass * | createNVPTXPrologEpilogPass () |
| MachineFunctionPass * | createNVPTXReplaceImageHandlesPass () |
| FunctionPass * | createNVPTXImageOptimizerPass () |
| FunctionPass * | createNVPTXLowerKernelArgsPass (const NVPTXTargetMachine *TM) |
| BasicBlockPass * | createNVPTXLowerAllocaPass () |
| MachineFunctionPass * | createNVPTXPeephole () |
| bool | isImageOrSamplerVal (const Value *, const Module *) |
| void | initializeNVPTXAllocaHoistingPass (PassRegistry &) |
| FunctionPass * | createAllocaHoisting () |
| void | initializeNVPTXAssignValidGlobalNamesPass (PassRegistry &) |
| void | initializeNVPTXFavorNonGenericAddrSpacesPass (PassRegistry &) |
| void | initializeGenericToNVVMPass (PassRegistry &) |
| FunctionPass * | createLowerAggrCopies () |
| void | initializeNVPTXLowerAllocaPass (PassRegistry &) |
| void | initializeNVPTXLowerKernelArgsPass (PassRegistry &) |
| void | initializeNVPTXPeepholePass (PassRegistry &) |
| std::string | getNVPTXRegClassName (TargetRegisterClass const *RC) |
| std::string | getNVPTXRegClassStr (TargetRegisterClass const *RC) |
| void | initializeNVVMReflectPass (PassRegistry &) |
| void | clearAnnotationCache (const llvm::Module *) |
| 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 &) |
| bool | isImageReadWrite (const llvm::Value &) |
| bool | isManaged (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,...) |
| make_vector - Helper function which is useful for building temporary vectors to pass into type construction of CallInst ctors. More... | |
| bool | isMemorySpaceTransferIntrinsic (Intrinsic::ID id) |
| const Value * | skipPointerTransfer (const Value *V, bool ignore_GEP_indices) |
| const Value * | skipPointerTransfer (const Value *V, std::set< const Value * > &processed) |
| BasicBlock * | getParentBlock (Value *v) |
| Function * | getParentFunction (Value *v) |
| void | dumpBlock (Value *v, char *blockName) |
| Instruction * | getInst (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) |
| MCCodeEmitter * | createPPCMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCAsmBackend * | createPPCAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCObjectWriter * | createPPCELFObjectWriter (raw_pwrite_stream &OS, bool Is64Bit, bool IsLittleEndian, uint8_t OSABI) |
| Construct an PPC ELF object writer. More... | |
| MCObjectWriter * | createPPCMachObjectWriter (raw_pwrite_stream &OS, bool Is64Bit, uint32_t CPUType, uint32_t CPUSubtype) |
| Construct a PPC Mach-O object writer. More... | |
| static bool | isRunOfOnes (unsigned Val, unsigned &MB, unsigned &ME) |
| Returns true iff Val consists of one contiguous run of 1s with any number of 0s on either side. More... | |
| FunctionPass * | createPPCCTRLoops (PPCTargetMachine &TM) |
| FunctionPass * | createPPCCTRLoopsVerify () |
| FunctionPass * | createPPCLoopDataPrefetchPass () |
| FunctionPass * | createPPCLoopPreIncPrepPass (PPCTargetMachine &TM) |
| FunctionPass * | createPPCTOCRegDepsPass () |
| FunctionPass * | createPPCEarlyReturnPass () |
| FunctionPass * | createPPCVSXCopyPass () |
| FunctionPass * | createPPCVSXFMAMutatePass () |
| FunctionPass * | createPPCVSXSwapRemovalPass () |
| FunctionPass * | createPPCBranchSelectionPass () |
| FunctionPass * | createPPCISelDag (PPCTargetMachine &TM) |
| createPPCISelDag - This pass converts a legalized DAG into a PowerPC-specific DAG, ready for instruction scheduling. More... | |
| FunctionPass * | createPPCTLSDynamicCallPass () |
| void | LowerPPCMachineInstrToMCInst (const MachineInstr *MI, MCInst &OutMI, AsmPrinter &AP, bool isDarwin) |
| void | initializePPCVSXFMAMutatePass (PassRegistry &) |
| void | initializePPCBSelPass (PassRegistry &) |
| bool | CC_PPC_AnyReg_Error (unsigned &, MVT &, MVT &, CCValAssign::LocInfo &, ISD::ArgFlagsTy &, CCState &) |
| void | initializePPCCTRLoopsPass (PassRegistry &) |
| void | initializePPCCTRLoopsVerifyPass (PassRegistry &) |
| void | initializePPCEarlyReturnPass (PassRegistry &) |
| static const MachineInstrBuilder & | addFrameReference (const MachineInstrBuilder &MIB, int FI, int Offset=0, bool mem=true) |
| addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function. More... | |
| void | initializePPCDAGToDAGISelPass (PassRegistry &) |
| bool | CC_PPC32_SVR4_Custom_Dummy (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State) |
| bool | CC_PPC32_SVR4_Custom_AlignArgRegs (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State) |
| bool | CC_PPC32_SVR4_Custom_AlignFPArgRegs (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State) |
| void | initializePPCLoopDataPrefetchPass (PassRegistry &) |
| void | initializePPCLoopPreIncPrepPass (PassRegistry &) |
| static unsigned | getCRFromCRBit (unsigned SrcReg) |
| void | initializePPCTLSDynamicCallPass (PassRegistry &) |
| void | initializePPCTOCRegDepsPass (PassRegistry &) |
| void | initializePPCVSXCopyPass (PassRegistry &) |
| void | initializePPCVSXSwapRemovalPass (PassRegistry &) |
| MCCodeEmitter * | createSparcMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCAsmBackend * | createSparcAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCObjectWriter * | createSparcELFObjectWriter (raw_pwrite_stream &OS, bool Is64Bit, bool IsLIttleEndian, uint8_t OSABI) |
| FunctionPass * | createSparcISelDag (SparcTargetMachine &TM) |
| createSparcISelDag - This pass converts a legalized DAG into a SPARC-specific DAG, ready for instruction scheduling. More... | |
| FunctionPass * | createSparcDelaySlotFillerPass (TargetMachine &TM) |
| createSparcDelaySlotFillerPass - Returns a pass that fills in delay slots in Sparc MachineFunctions More... | |
| void | LowerSparcMachineInstrToMCInst (const MachineInstr *MI, MCInst &OutMI, AsmPrinter &AP) |
| static const char * | SPARCCondCodeToString (SPCC::CondCodes CC) |
| static unsigned | HI22 (int64_t imm) |
| static unsigned | LO10 (int64_t imm) |
| static unsigned | HIX22 (int64_t imm) |
| static unsigned | LOX10 (int64_t imm) |
| MCCodeEmitter * | createSystemZMCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCAsmBackend * | createSystemZMCAsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCObjectWriter * | createSystemZObjectWriter (raw_pwrite_stream &OS, uint8_t OSABI) |
| FunctionPass * | createSystemZISelDag (SystemZTargetMachine &TM, CodeGenOpt::Level OptLevel) |
| FunctionPass * | createSystemZElimComparePass (SystemZTargetMachine &TM) |
| FunctionPass * | createSystemZShortenInstPass (SystemZTargetMachine &TM) |
| FunctionPass * | createSystemZLongBranchPass (SystemZTargetMachine &TM) |
| FunctionPass * | createSystemZLDCleanupPass (SystemZTargetMachine &TM) |
| static const MachineInstrBuilder & | addFrameReference (const MachineInstrBuilder &MIB, int FI) |
| Add a BDX memory reference for frame object FI to MIB. More... | |
| MCAsmBackend * | createWebAssemblyAsmBackend (const Target &T, const MCRegisterInfo &MRI, StringRef TT, StringRef CPU) |
| FunctionPass * | createWebAssemblyISelDag (WebAssemblyTargetMachine &TM, CodeGenOpt::Level OptLevel) |
| This pass converts a legalized DAG into a WebAssembly-specific DAG, ready for instruction scheduling. More... | |
| X86AsmInstrumentation * | CreateX86AsmInstrumentation (const MCTargetOptions &MCOptions, const MCContext &Ctx, const MCSubtargetInfo &STI) |
| bool | isImmSExti16i8Value (uint64_t Value) |
| bool | isImmSExti32i8Value (uint64_t Value) |
| bool | isImmSExti64i8Value (uint64_t Value) |
| bool | isImmSExti64i32Value (uint64_t Value) |
| bool | isImmUnsignedi8Value (uint64_t Value) |
| bool | EmitAnyX86InstComments (const MCInst *MI, raw_ostream &OS, const char *(*getRegName)(unsigned)) |
| EmitAnyX86InstComments - This function decodes x86 instructions and prints newline terminated strings to the specified string if desired. More... | |
| MCCodeEmitter * | createX86MCCodeEmitter (const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx) |
| MCAsmBackend * | createX86_32AsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCAsmBackend * | createX86_64AsmBackend (const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) |
| MCStreamer * | createX86WinCOFFStreamer (MCContext &C, MCAsmBackend &AB, raw_pwrite_stream &OS, MCCodeEmitter *CE, bool RelaxAll) |
| Construct an X86 Windows COFF machine code streamer which will generate PE/COFF format object files. More... | |
| MCObjectWriter * | createX86MachObjectWriter (raw_pwrite_stream &OS, bool Is64Bit, uint32_t CPUType, uint32_t CPUSubtype) |
| Construct an X86 Mach-O object writer. More... | |
| MCObjectWriter * | createX86ELFObjectWriter (raw_pwrite_stream &OS, bool IsELF64, uint8_t OSABI, uint16_t EMachine) |
| Construct an X86 ELF object writer. More... | |
| MCObjectWriter * | createX86WinCOFFObjectWriter (raw_pwrite_stream &OS, bool Is64Bit) |
| Construct an X86 Win COFF object writer. More... | |
| MCRelocationInfo * | createX86_64MachORelocationInfo (MCContext &Ctx) |
| Construct X86-64 Mach-O relocation info. More... | |
| MCRelocationInfo * | createX86_64ELFRelocationInfo (MCContext &Ctx) |
| Construct X86-64 ELF relocation info. More... | |
| void | DecodeINSERTPSMask (unsigned Imm, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodeMOVHLPSMask (unsigned NElts, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodeMOVLHPSMask (unsigned NElts, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodeMOVSLDUPMask (MVT VT, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodeMOVSHDUPMask (MVT VT, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodeMOVDDUPMask (MVT VT, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodePSLLDQMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodePSRLDQMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodePALIGNRMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodePSHUFMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask) |
| DecodePSHUFMask - This decodes the shuffle masks for pshufd, and vpermilp*. More... | |
| 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) |
| DecodeSHUFPMask - This decodes the shuffle masks for shufp*. More... | |
| void | DecodeUNPCKHMask (MVT VT, SmallVectorImpl< int > &ShuffleMask) |
| DecodeUNPCKHMask - This decodes the shuffle masks for unpckhps/unpckhpd and punpckh*. More... | |
| void | DecodeUNPCKLMask (MVT VT, SmallVectorImpl< int > &ShuffleMask) |
| DecodeUNPCKLMask - This decodes the shuffle masks for unpcklps/unpcklpd and punpckl*. More... | |
| void | DecodeVPERM2X128Mask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask) |
| void | DecodePSHUFBMask (const Constant *C, SmallVectorImpl< int > &ShuffleMask) |
| Decode a PSHUFB mask from an IR-level vector constant. More... | |
| void | DecodePSHUFBMask (ArrayRef< uint64_t > RawMask, SmallVectorImpl< int > &ShuffleMask) |
| Decode a PSHUFB mask from a raw array of constants such as from BUILD_VECTOR. More... | |
| void | DecodeBLENDMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask) |
| Decode a BLEND immediate mask into a shuffle mask. More... | |
| void | DecodeVPERMMask (unsigned Imm, SmallVectorImpl< int > &ShuffleMask) |
| DecodeVPERMMask - this decodes the shuffle masks for VPERMQ/VPERMPD. More... | |
| void | DecodeVPERMILPMask (const Constant *C, SmallVectorImpl< int > &ShuffleMask) |
| Decode a VPERMILP variable mask from an IR-level vector constant. More... | |
| void | DecodeZeroExtendMask (MVT SrcVT, MVT DstVT, SmallVectorImpl< int > &ShuffleMask) |
| Decode a zero extension instruction as a shuffle mask. More... | |
| void | DecodeZeroMoveLowMask (MVT VT, SmallVectorImpl< int > &ShuffleMask) |
| Decode a move lower and zero upper instruction as a shuffle mask. More... | |
| void | DecodeScalarMoveMask (MVT VT, bool IsLoad, SmallVectorImpl< int > &ShuffleMask) |
| Decode a scalar float move instruction as a shuffle mask. More... | |
| void | DecodeEXTRQIMask (int Len, int Idx, SmallVectorImpl< int > &ShuffleMask) |
| Decode a SSE4A EXTRQ instruction as a v16i8 shuffle mask. More... | |
| void | DecodeINSERTQIMask (int Len, int Idx, SmallVectorImpl< int > &ShuffleMask) |
| Decode a SSE4A INSERTQ instruction as a v16i8 shuffle mask. More... | |
| FunctionPass * | createX86ISelDag (X86TargetMachine &TM, CodeGenOpt::Level OptLevel) |
| createX86ISelDag - This pass converts a legalized DAG into a X86-specific DAG, ready for instruction scheduling. More... | |
| FunctionPass * | createX86GlobalBaseRegPass () |
| createX86GlobalBaseRegPass - This pass initializes a global base register for PIC on x86-32. More... | |
| FunctionPass * | createCleanupLocalDynamicTLSPass () |
| createCleanupLocalDynamicTLSPass() - This pass combines multiple accesses to local-dynamic TLS variables so that the TLS base address for the module is only fetched once per execution path through the function. More... | |
| FunctionPass * | createX86FloatingPointStackifierPass () |
| createX86FloatingPointStackifierPass - This function returns a pass which converts floating point register references and pseudo instructions into floating point stack references and physical instructions. More... | |
| FunctionPass * | createX86IssueVZeroUpperPass () |
| createX86IssueVZeroUpperPass - This pass inserts AVX vzeroupper instructions before each call to avoid transition penalty between functions encoded with AVX and SSE. More... | |
| FunctionPass * | createEmitX86CodeToMemory () |
| createX86EmitCodeToMemory - Returns a pass that converts a register allocated function into raw machine code in a dynamically allocated chunk of memory. More... | |
| FunctionPass * | createX86PadShortFunctions () |
| createX86PadShortFunctions - Return a pass that pads short functions with NOOPs. More... | |
| FunctionPass * | createX86FixupLEAs () |
| createX86FixupLEAs - Return a a pass that selectively replaces certain instructions (like add, sub, inc, dec, some shifts, and some multiplies) by equivalent LEA instructions, in order to eliminate execution delays in some Atom processors. More... | |
| FunctionPass * | createX86CallFrameOptimization () |
| createX86CallFrameOptimization - Return a pass that optimizes the code-size of x86 call sequences. More... | |
| FunctionPass * | createX86WinEHStatePass () |
| createX86WinEHStatePass - Return an IR pass that inserts EH registration stack objects and explicit EH state updates. More... | |
| FunctionPass * | createX86ExpandPseudoPass () |
| Return a Machine IR pass that expands X86-specific pseudo instructions into a sequence of actual instructions. More... | |
| bool | CC_X86_32_VectorCallIndirect (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State) |
| bool | CC_X86_AnyReg_Error (unsigned &, MVT &, MVT &, CCValAssign::LocInfo &, ISD::ArgFlagsTy &, CCState &) |
| static const MachineInstrBuilder & | addDirectMem (const MachineInstrBuilder &MIB, unsigned Reg) |
| 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. More... | |
| static const MachineInstrBuilder & | addOffset (const MachineInstrBuilder &MIB, int Offset) |
| static const MachineInstrBuilder & | addRegOffset (const MachineInstrBuilder &MIB, unsigned Reg, bool isKill, int Offset) |
| 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. More... | |
| static const MachineInstrBuilder & | addRegReg (const MachineInstrBuilder &MIB, unsigned Reg1, bool isKill1, unsigned Reg2, bool isKill2) |
| addRegReg - This function is used to add a memory reference of the form: [Reg + Reg]. More... | |
| static const MachineInstrBuilder & | addFullAddress (const MachineInstrBuilder &MIB, const X86AddressMode &AM) |
| static const MachineInstrBuilder & | addFrameReference (const MachineInstrBuilder &MIB, int FI, int Offset=0) |
| addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function. More... | |
| static const MachineInstrBuilder & | addConstantPoolReference (const MachineInstrBuilder &MIB, unsigned CPI, unsigned GlobalBaseReg, unsigned char OpFlags) |
| addConstantPoolReference - This function is used to add a reference to the base of a constant value spilled to the per-function constant pool. More... | |
| static bool | isGlobalStubReference (unsigned char TargetFlag) |
| isGlobalStubReference - Return true if the specified TargetFlag operand is a reference to a stub for a global, not the global itself. More... | |
| static bool | isGlobalRelativeToPICBase (unsigned char TargetFlag) |
| isGlobalRelativeToPICBase - Return true if the specified global value reference is relative to a 32-bit PIC base (X86ISD::GlobalBaseReg). More... | |
| static bool | isScale (const MachineOperand &MO) |
| static bool | isLeaMem (const MachineInstr *MI, unsigned Op) |
| static bool | isMem (const MachineInstr *MI, unsigned Op) |
| static const IntrinsicData * | getIntrinsicWithChain (unsigned IntNo) |
| static const IntrinsicData * | getIntrinsicWithoutChain (unsigned IntNo) |
| static void | verifyIntrinsicTables () |
| unsigned | getX86SubSuperRegisterOrZero (unsigned, MVT::SimpleValueType, bool High=false) |
| Returns the sub or super register of a specific X86 register. More... | |
| unsigned | getX86SubSuperRegister (unsigned, MVT::SimpleValueType, bool High=false) |
| Returns the sub or super register of a specific X86 register. More... | |
| unsigned | get512BitSuperRegister (unsigned Reg) |
| void | initializeXCoreLowerThreadLocalPass (PassRegistry &p) |
| FunctionPass * | createXCoreFrameToArgsOffsetEliminationPass () |
| createXCoreFrameToArgsOffsetEliminationPass - returns an instance of the Frame to args offset elimination pass More... | |
| FunctionPass * | createXCoreISelDag (XCoreTargetMachine &TM, CodeGenOpt::Level OptLevel) |
| createXCoreISelDag - This pass converts a legalized DAG into a XCore-specific DAG, ready for instruction scheduling. More... | |
| ModulePass * | createXCoreLowerThreadLocalPass () |
| static unsigned | getComplexity (Value *V) |
| Assign a complexity or rank value to LLVM Values. More... | |
| static Constant * | AddOne (Constant *C) |
| Add one to a Constant. More... | |
| static Constant * | SubOne (Constant *C) |
| Subtract one from a Constant. More... | |
| static bool | IsFreeToInvert (Value *V, bool WillInvertAllUses) |
| Return true if the specified value is free to invert (apply ~ to). More... | |
| static OverflowCheckFlavor | IntrinsicIDToOverflowCheckFlavor (unsigned ID) |
| Returns the OverflowCheckFlavor corresponding to a overflow_with_op intrinsic. More... | |
| STATISTIC (NumFunctions,"Total number of functions") | |
| STATISTIC (NumUnsafeStackFunctions,"Number of functions with unsafe stack") | |
| STATISTIC (NumUnsafeStackRestorePointsFunctions,"Number of functions that use setjmp or exceptions") | |
| STATISTIC (NumAllocas,"Total number of allocas") | |
| STATISTIC (NumUnsafeStaticAllocas,"Number of unsafe static allocas") | |
| STATISTIC (NumUnsafeDynamicAllocas,"Number of unsafe dynamic allocas") | |
| STATISTIC (NumUnsafeStackRestorePoints,"Number of setjmps and landingpads") | |
| raw_ostream & | operator<< (raw_ostream &OS, BBState &BBState) LLVM_ATTRIBUTE_UNUSED |
| static bool | CompareVars (const ASanStackVariableDescription &a, const ASanStackVariableDescription &b) |
| static size_t | VarAndRedzoneSize (size_t Size, size_t Alignment) |
ArrayRef Convenience constructors | |
| template<typename T > | |
| ArrayRef< T > | makeArrayRef (const T &OneElt) |
| Construct an ArrayRef from a single element. More... | |
| template<typename T > | |
| ArrayRef< T > | makeArrayRef (const T *data, size_t length) |
| Construct an ArrayRef from a pointer and length. More... | |
| template<typename T > | |
| ArrayRef< T > | makeArrayRef (const T *begin, const T *end) |
| Construct an ArrayRef from a range. More... | |
| template<typename T > | |
| ArrayRef< T > | makeArrayRef (const SmallVectorImpl< T > &Vec) |
| Construct an ArrayRef from a SmallVector. More... | |
| template<typename T , unsigned N> | |
| ArrayRef< T > | makeArrayRef (const SmallVector< T, N > &Vec) |
| Construct an ArrayRef from a SmallVector. More... | |
| template<typename T > | |
| ArrayRef< T > | makeArrayRef (const std::vector< T > &Vec) |
| Construct an ArrayRef from a std::vector. More... | |
| template<typename T , size_t N> | |
| ArrayRef< T > | makeArrayRef (const T(&Arr)[N]) |
| Construct an ArrayRef from a C array. More... | |
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, StringRef string) |
Twine Inline Implementations | |
| Twine | operator+ (const Twine &LHS, const Twine &RHS) |
| Twine | operator+ (const char *LHS, const StringRef &RHS) |
| Additional overload to guarantee simplified codegen; this is equivalent to concat(). More... | |
| Twine | operator+ (const StringRef &LHS, const char *RHS) |
| Additional overload to guarantee simplified codegen; this is equivalent to concat(). More... | |
| raw_ostream & | operator<< (raw_ostream &OS, const Twine &RHS) |
Variables | |
| const unsigned int | host_char_bit = 8 |
| const unsigned int | integerPartWidth |
| const NoneType | None = None |
| template<typename T > | |
| int(*)(const void *, const void *) | get_array_pod_sort_comparator (const T &) |
| get_array_pod_sort_comparator - This is an internal helper function used to get type deduction of T right. More... | |
| cl::opt< unsigned > | PartialUnrollingThreshold |
| cl::opt< bool > | UseSegmentSetForPhysRegs |
| cl::opt< bool > | ForceTopDown |
| cl::opt< bool > | ForceBottomUp |
| char & | AtomicExpandID = AtomicExpand::ID |
| AtomicExpandID – Lowers atomic operations in terms of either cmpxchg load-linked/store-conditional loops. More... | |
| char & | MachineLoopInfoID = MachineLoopInfo::ID |
| MachineLoopInfo - This pass is a loop analysis pass. More... | |
| char & | MachineDominatorsID |
| MachineDominators - This pass is a machine dominators analysis pass. More... | |
| char & | MachineDominanceFrontierID = MachineDominanceFrontier::ID |
| MachineDominanaceFrontier - This pass is a machine dominators analysis pass. More... | |
| char & | EdgeBundlesID |
| EdgeBundles analysis - Bundle machine CFG edges. More... | |
| char & | LiveVariablesID = LiveVariables::ID |
| LiveVariables pass - This pass computes the set of blocks in which each variable is life and sets machine operand kill flags. More... | |
| char & | PHIEliminationID = PHIElimination::ID |
| PHIElimination - This pass eliminates machine instruction PHI nodes by inserting copy instructions. More... | |
| char & | LiveIntervalsID = LiveIntervals::ID |
| LiveIntervals - This analysis keeps track of the live ranges of virtual and physical registers. More... | |
| char & | LiveStacksID = LiveStacks::ID |
| LiveStacks pass. An analysis keeping track of the liveness of stack slots. More... | |
| char & | TwoAddressInstructionPassID = TwoAddressInstructionPass::ID |
| TwoAddressInstruction - This pass reduces two-address instructions to use two operands. More... | |
| char & | ProcessImplicitDefsID = ProcessImplicitDefs::ID |
| ProcessImpicitDefs pass - This pass removes IMPLICIT_DEFs. More... | |
| char & | RegisterCoalescerID = RegisterCoalescer::ID |
| RegisterCoalescer - This pass merges live ranges to eliminate copies. More... | |
| char & | MachineSchedulerID = MachineScheduler::ID |
| MachineScheduler - This pass schedules machine instructions. More... | |
| char & | PostMachineSchedulerID = PostMachineScheduler::ID |
| PostMachineScheduler - This pass schedules machine instructions postRA. More... | |
| char & | SpillPlacementID = SpillPlacement::ID |
| SpillPlacement analysis. More... | |
| char & | ShrinkWrapID = ShrinkWrap::ID |
| ShrinkWrap pass. Look for the best place to insert save and restore. More... | |
| char & | VirtRegRewriterID = VirtRegRewriter::ID |
| VirtRegRewriter pass. More... | |
| char & | UnreachableMachineBlockElimID |
| UnreachableMachineBlockElimination - This pass removes unreachable machine basic blocks. More... | |
| char & | DeadMachineInstructionElimID = DeadMachineInstructionElim::ID |
| DeadMachineInstructionElim - This pass removes dead machine instructions. More... | |
| char & | PrologEpilogCodeInserterID = PEI::ID |
| PrologEpilogCodeInserter - This pass inserts prolog and epilog code, and eliminates abstract frame references. More... | |
| char & | ExpandPostRAPseudosID = ExpandPostRA::ID |
| ExpandPostRAPseudos - This pass expands pseudo instructions after register allocation. More... | |
| char & | PostRASchedulerID = PostRAScheduler::ID |
| createPostRAScheduler - This pass performs post register allocation scheduling. More... | |
| char & | 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. More... | |
| char & | MachineFunctionPrinterPassID = MachineFunctionPrinterPass::ID |
| MachineFunctionPrinterPass - This pass prints out MachineInstr's. More... | |
| char & | MIRPrintingPassID = MIRPrintingPass::ID |
| MIRPrintingPass - this pass prints out the LLVM IR using the MIR serialization format. More... | |
| char & | TailDuplicateID = TailDuplicatePass::ID |
| TailDuplicate - Duplicate blocks with unconditional branches into tails of their predecessors. More... | |
| char & | MachineTraceMetricsID = MachineTraceMetrics::ID |
| MachineTraceMetrics - This pass computes critical path and CPU resource usage in an ensemble of traces. More... | |
| char & | EarlyIfConverterID = EarlyIfConverter::ID |
| EarlyIfConverter - This pass performs if-conversion on SSA form by inserting cmov instructions. More... | |
| char & | MachineCombinerID = MachineCombiner::ID |
| This pass performs instruction combining using trace metrics to estimate critical-path and resource depth. More... | |
| char & | StackColoringID = StackColoring::ID |
| StackSlotColoring - This pass performs stack coloring and merging. More... | |
| char & | IfConverterID = IfConverter::ID |
| IfConverter - This pass performs machine code if conversion. More... | |
| char & | MachineBlockPlacementID = MachineBlockPlacement::ID |
| MachineBlockPlacement - This pass places basic blocks based on branch probabilities. More... | |
| char & | MachineBlockPlacementStatsID = MachineBlockPlacementStats::ID |
| MachineBlockPlacementStats - This pass collects statistics about the basic block placement using branch probabilities and block frequency information. More... | |
| char & | GCMachineCodeAnalysisID = GCMachineCodeAnalysis::ID |
| GCMachineCodeAnalysis - Target-independent pass to mark safe points in machine code. More... | |
| char & | MachineCSEID = MachineCSE::ID |
| MachineCSE - This pass performs global CSE on machine instructions. More... | |
| char & | ImplicitNullChecksID = ImplicitNullChecks::ID |
| ImplicitNullChecks - This pass folds null pointer checks into nearby memory operations. More... | |
| char & | MachineLICMID = MachineLICM::ID |
| MachineLICM - This pass performs LICM on machine instructions. More... | |
| char & | MachineSinkingID = MachineSinking::ID |
| MachineSinking - This pass performs sinking on machine instructions. More... | |
| char & | MachineCopyPropagationID = MachineCopyPropagation::ID |
| MachineCopyPropagation - This pass performs copy propagation on machine instructions. More... | |
| char & | PeepholeOptimizerID = PeepholeOptimizer::ID |
| PeepholeOptimizer - This pass performs peephole optimizations - like extension and comparison eliminations. More... | |
| char & | OptimizePHIsID = OptimizePHIs::ID |
| OptimizePHIs - This pass optimizes machine instruction PHIs to take advantage of opportunities created during DAG legalization. More... | |
| char & | StackSlotColoringID = StackSlotColoring::ID |
| StackSlotColoring - This pass performs stack slot coloring. More... | |
| char & | 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. More... | |
| char & | ExpandISelPseudosID = ExpandISelPseudos::ID |
| ExpandISelPseudos - This pass expands pseudo-instructions. More... | |
| char & | UnpackMachineBundlesID = UnpackMachineBundles::ID |
| UnpackMachineBundles - This pass unpack machine instruction bundles. More... | |
| char & | FinalizeMachineBundlesID = FinalizeMachineBundles::ID |
| FinalizeMachineBundles - This pass finalize machine instruction bundles (created earlier, e.g. More... | |
| char & | StackMapLivenessID = StackMapLiveness::ID |
| StackMapLiveness - This pass analyses the register live-out set of stackmap/patchpoint intrinsics and attaches the calculated information to the intrinsic for later emission to the StackMap. More... | |
| const char | AsmRewritePrecedence [] |
| const unsigned | MAX_SUBTARGET_FEATURES = 64 |
| bool | TimePassesIsEnabled = false |
| 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. More... | |
| bool | DebugFlag = false |
| DebugFlag - This boolean is set to true if the '-debug' command line option is specified. More... | |
| bool | EnableDebugBuffering = false |
| EnableDebugBuffering - This defaults to false. More... | |
| static const unsigned char | BitReverseTable256 [256] |
| Macro compressed bit reversal table for 256 bits. More... | |
| const float | huge_valf = HUGE_VALF |
| SourceMgr | SrcMgr |
| unsigned | ErrorsPrinted = 0 |
| char & | DemoteRegisterToMemoryID = RegToMem::ID |
| char & | BreakCriticalEdgesID |
| char & | LoopSimplifyID = LoopSimplify::ID |
| char & | LowerSwitchID |
| char & | LowerInvokePassID |
| char & | LCSSAID = LCSSA::ID |
| char & | InstructionNamerID |
| char & | InstructionSimplifierID = InstSimplifier::ID |
| static const int | kAsanStackLeftRedzoneMagic = 0xf1 |
| static const int | kAsanStackMidRedzoneMagic = 0xf2 |
| static const int | kAsanStackRightRedzoneMagic = 0xf3 |
| static const unsigned | NumStratifiedAttrs = 32 |
| cl::opt< bool > | DumpCriticalPathLength ("misched-dcpl", cl::Hidden, cl::desc("Print critical path length to stdout")) |
| const unsigned int | maxExponent = 16383 |
| const unsigned int | maxPrecision = 113 |
| const unsigned int | maxPowerOfFiveExponent = maxExponent + maxPrecision - 1 |
| const unsigned int | maxPowerOfFiveParts |
| static ManagedStatic < std::vector< std::string > > | CurrentDebugType |
| Target | TheAArch64leTarget |
| Target | TheAArch64beTarget |
| Target | TheARM64Target |
| char & | SIFoldOperandsID = SIFoldOperands::ID |
| char & | SILowerI1CopiesID = SILowerI1Copies::ID |
| char & | SILoadStoreOptimizerID = SILoadStoreOptimizer::ID |
| char & | SIFixControlFlowLiveIntervalsID = SIFixControlFlowLiveIntervals::ID |
| char & | SIFixSGPRLiveRangesID = SIFixSGPRLiveRanges::ID |
| Target | TheAMDGPUTarget |
| The target which suports all AMD GPUs. More... | |
| Target | TheGCNTarget |
| The target for GCN GPUs. More... | |
| static const uint16_t | RRegList [] = { ARM::R0, ARM::R1, ARM::R2, ARM::R3 } |
| static const uint16_t | SRegList [] |
| static const uint16_t | DRegList [] |
| static const uint16_t | QRegList [] = { ARM::Q0, ARM::Q1, ARM::Q2, ARM::Q3 } |
| const MCInstrDesc | ARMInsts [] |
| Target | TheARMLETarget |
| Target | TheThumbLETarget |
| Target | TheARMBETarget |
| Target | TheThumbBETarget |
| cl::opt< bool > | ReuseFrameIndexVals |
| Target | TheBPFleTarget |
| Target | TheBPFbeTarget |
| Target | TheBPFTarget |
| Target | TheCppBackendTarget |
| bool | flag_aligned_memcpy |
| const MCInstrDesc | HexagonInsts [] |
| Target | TheHexagonTarget |
| const InstrStage | HexagonStages [] |
| const MCInstrDesc | MipsInsts [] |
| Target | TheMipselTarget |
| Target | TheMipsTarget |
| Target | TheMips64Target |
| Target | TheMips64elTarget |
| static const unsigned | MIPS_NACL_BUNDLE_ALIGN = 4u |
| Target | TheMSP430Target |
| const unsigned | AnnotationNameLen = 9 |
| const char | PropertyAnnotationNames [PROPERTY_LAST+1][AnnotationNameLen+1] |
| static const char * | NamedMDForAnnotations = "nvvm.annotations" |
| Target | TheNVPTXTarget32 |
| Target | TheNVPTXTarget64 |
| Target | ThePPC32Target |
| Target | ThePPC64Target |
| Target | ThePPC64LETarget |
| char & | PPCVSXFMAMutateID = PPCVSXFMAMutate::ID |
| Target | TheSparcTarget |
| Target | TheSparcV9Target |
| Target | TheSparcelTarget |
| Target | TheSystemZTarget |
| Target | TheWebAssemblyTarget32 |
| Target | TheWebAssemblyTarget64 |
| Target | TheX86_32Target |
| Target | TheX86_64Target |
| static const IntrinsicData | IntrinsicsWithChain [] |
| static const IntrinsicData | IntrinsicsWithoutChain [] |
| Target | TheXCoreTarget |
| static const unsigned | CodeModelLargeSize = 256 |
| static const size_t | kMinAlignment = 16 |
Compute iterated dominance frontiers using a linear time algorithm.
createHexagonISelDag - This pass converts a legalized DAG into a Hexagon-specific DAG, ready for instruction scheduling.
SSAUpdaterTraits<MachineSSAUpdater> - Traits for the SSAUpdaterImpl template, specialized for MachineSSAUpdater.
Specialize WriteGraph, the standard implementation won't work.
List of target independent CodeGen pass IDs.
The algorithm used here is based on:
Sreedhar and Gao. A linear time algorithm for placing phi-nodes. In Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages POPL '95. ACM, New York, NY, 62-73.
It has been modified to not explicitly use the DJ graph data structure and to directly compute pruned SSA using per-variable liveness information.
| typedef const void* llvm::AnalysisID |
The standard BumpPtrAllocator which just uses the default template paramaters.
Definition at line 342 of file Allocator.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 175 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 182 of file CallingConvLower.h.
The CGSCC analysis manager.
See the documentation for the AnalysisManager template for detail documentation. This typedef serves as a convenient way to refer to this construct in the adaptors and proxies used to integrate this into the larger pass manager infrastructure.
Definition at line 42 of file CGSCCPassManager.h.
The CGSCC pass manager.
See the documentation for the PassManager template for details. It runs a sequency of SCC passes over each SCC that the manager is run over. This typedef serves as a convenient way to refer to this construct.
Definition at line 34 of file CGSCCPassManager.h.
| typedef InstIterator<const iplist<BasicBlock>, Function::const_iterator, BasicBlock::const_iterator, const Instruction> llvm::const_inst_iterator |
Definition at line 125 of file InstIterator.h.
| typedef std::function<void(const DiagnosticInfo &)> llvm::DiagnosticHandlerFunction |
Definition at line 104 of file DiagnosticInfo.h.
| typedef SmallVector<std::pair<uint64_t, DILineInfo>, 16> llvm::DILineInfoTable |
Definition at line 49 of file DIContext.h.
| typedef TypedDINodeRef<DINode> llvm::DINodeRef |
Definition at line 92 of file DebugInfoMetadata.h.
| typedef TypedDINodeRef<DIScope> llvm::DIScopeRef |
Definition at line 93 of file DebugInfoMetadata.h.
| typedef DenseMap<const MDString *, DIType *> llvm::DITypeIdentifierMap |
Maps from type identifier to the actual MDNode.
Definition at line 34 of file DebugInfo.h.
| typedef TypedDINodeRef<DIType> llvm::DITypeRef |
Definition at line 94 of file DebugInfoMetadata.h.
| typedef DenseMap<DivOpInfo, DivPhiNodes> llvm::DivCacheTy |
Definition at line 71 of file BypassSlowDivision.cpp.
| typedef DomTreeNodeBase< BasicBlock > llvm::DomTreeNode |
Definition at line 35 of file IteratedDominanceFrontier.h.
| typedef std::vector<std::pair<uint64_t, uint64_t> > llvm::DWARFAddressRangesVector |
DWARFAddressRangesVector - represents a set of absolute address ranges.
Definition at line 18 of file DWARFDebugRangeList.h.
| typedef void(* llvm::fatal_error_handler_t)(void *user_data, const std::string &reason, bool gen_crash_diag) |
An error handler callback.
Definition at line 26 of file ErrorHandling.h.
Definition at line 352 of file FoldingSet.h.
Definition at line 244 of file IntervalIterator.h.
Convenience typedef for the Function analysis manager.
Definition at line 590 of file PassManager.h.
| using llvm::FunctionCreator = typedef std::function<void *(const std::string &)> |
Definition at line 93 of file ExecutionEngine/ExecutionEngine.h.
| typedef PassManager<Function> llvm::FunctionPassManager |
Convenience typedef for a pass manager over functions.
Definition at line 258 of file PassManager.h.
GCMetadataPrinterRegistry - The GC assembly printer registry uses all the defaults from Registry.
Definition at line 29 of file GCMetadataPrinter.h.
| typedef Registry<GCStrategy> llvm::GCRegistry |
Subclasses of GCStrategy are made available for use during compilation by adding them to the global GCRegistry.
This can done either within the LLVM source tree or via a loadable plugin. An example registeration would be: static GCRegistry::Add<CustomGC> X("custom-name", "my custom supper fancy gc strategy");
Note that to use a custom GCMetadataPrinter w/gc.roots, you must also register your GCMetadataPrinter subclass with the GCMetadataPrinterRegistery as well.
Definition at line 174 of file GCStrategy.h.
Definition at line 101 of file GetElementPtrTypeIterator.h.
| typedef std::pair<SlotIndex, MachineBasicBlock*> llvm::IdxMBBPair |
Definition at line 315 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 34 of file LexicalScopes.h.
| typedef InstIterator<iplist<BasicBlock>, Function::iterator, BasicBlock::iterator, Instruction> llvm::inst_iterator |
Definition at line 121 of file InstIterator.h.
Definition at line 231 of file InstrProfReader.h.
| typedef uint64_t llvm::integerPart |
Definition at line 246 of file IntervalIterator.h.
Definition at line 31 of file PDBTypes.h.
Definition at line 32 of file PDBTypes.h.
Definition at line 30 of file PDBTypes.h.
Definition at line 27 of file PDBTypes.h.
The largest SDNode class.
Definition at line 2237 of file SelectionDAGNodes.h.
| typedef SparseBitVector<128> llvm::LiveVirtRegBitSet |
Definition at line 29 of file LiveIntervalUnion.h.
Definition at line 653 of file ScalarEvolutionExpressions.h.
Definition at line 35 of file MachineDominators.h.
| typedef void*(* llvm::MachinePassCtor)() |
Definition at line 26 of file MachinePassRegistry.h.
Definition at line 200 of file MCLinkerOptimizationHint.h.
Definition at line 201 of file MCLinkerOptimizationHint.h.
| typedef uint16_t llvm::MCPhysReg |
An unsigned integer type large enough to represent all physical registers, but not necessarily virtual registers.
Definition at line 27 of file MCRegisterInfo.h.
| typedef std::pair<MCSection *, const MCExpr *> llvm::MCSectionSubPair |
Definition at line 44 of file MCStreamer.h.
Convenience typedef for the Module analysis manager.
Definition at line 587 of file PassManager.h.
| typedef PassManager<Module> llvm::ModulePassManager |
Convenience typedef for a pass manager over modules.
Definition at line 255 of file PassManager.h.
The SDNode class with the greatest alignment requirement.
Definition at line 2240 of file SelectionDAGNodes.h.
| typedef SmallVectorImpl<std::unique_ptr<MCParsedAsmOperand> > llvm::OperandVector |
Definition at line 25 of file MCTargetAsmParser.h.
Definition at line 33 of file PBQPRAConstraint.h.
| 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.
| typedef RawInstrProfReader<uint32_t> llvm::RawInstrProfReader32 |
Definition at line 185 of file InstrProfReader.h.
| typedef RawInstrProfReader<uint64_t> llvm::RawInstrProfReader64 |
Definition at line 186 of file InstrProfReader.h.
| typedef SparseMultiSet<PhysRegSUOper, llvm::identity<unsigned>, uint16_t> llvm::Reg2SUnitsMap |
Use a SparseMultiSet to track physical registers.
Storage is only allocated once for the pass. It can be cleared in constant time and reused without any frees.
Definition at line 61 of file ScheduleDAGInstrs.h.
| typedef DenseMap< uint64_t, std::pair< uint8_t, int64_t > > llvm::RelocAddrMap |
Definition at line 33 of file DWARFContext.h.
Definition at line 185 of file RuntimeDyldImpl.h.
| typedef DenseMap<const MCSection *, uint64_t> llvm::SectionAddrMap |
| typedef std::pair<Value*, Value*> llvm::SizeOffsetEvalType |
Definition at line 203 of file MemoryBuiltins.h.
| typedef std::pair<APInt, APInt> llvm::SizeOffsetType |
Definition at line 146 of file MemoryBuiltins.h.
| typedef std::bitset<NumStratifiedAttrs> llvm::StratifiedAttrs |
Definition at line 48 of file StratifiedSets.h.
| typedef unsigned llvm::StratifiedIndex |
Definition at line 29 of file StratifiedSets.h.
| typedef SuccIterator<TerminatorInst*, BasicBlock> llvm::succ_iterator |
| typedef bool llvm::TableGenMainFn(raw_ostream &OS, RecordKeeper &Records) |
| typedef std::unordered_map<PDB_SymType, int> llvm::TagStats |
Definition at line 18 of file PDBExtras.h.
Definition at line 138 of file TrackingMDRef.h.
Definition at line 139 of file TrackingMDRef.h.
| typedef std::vector<UseListOrder> llvm::UseListOrderStack |
Definition at line 52 of file UseListOrder.h.
| typedef StringMapEntry<Value*> llvm::ValueName |
| typedef std::vector<GenericValue> llvm::ValuePlaneTy |
Definition at line 60 of file lib/ExecutionEngine/Interpreter/Interpreter.h.
| typedef DenseMap<const Value*, Value*> llvm::ValueToValueMap |
Definition at line 556 of file ScalarEvolutionExpressions.h.
| typedef ValueMap<const Value *, WeakVH> llvm::ValueToValueMapTy |
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 67 of file ScheduleDAGInstrs.h.
Track local uses of virtual registers.
These uses are gathered by the DAG builder and may be consulted by the scheduler to avoid iterating an entire vreg use list.
Definition at line 72 of file ScheduleDAGInstrs.h.
| anonymous enum |
| Enumerator | |
|---|---|
| SM_SentinelUndef | |
| SM_SentinelZero | |
Definition at line 29 of file X86ShuffleDecode.h.
Use to report the frame offset status in isAArch64FrameOffsetLegal.
| Enumerator | |
|---|---|
| AArch64FrameOffsetCannotUpdate |
Offset cannot apply. |
| AArch64FrameOffsetIsLegal |
Offset is legal. |
| AArch64FrameOffsetCanUpdate |
Offset can apply, at least partly. |
Definition at line 208 of file AArch64InstrInfo.h.
| enum llvm::ActionType |
| Enumerator | |
|---|---|
| Catch | |
| Cleanup | |
Definition at line 32 of file WinEHFuncInfo.h.
| enum llvm::AddressSpace |
| Enumerator | |
|---|---|
| ADDRESS_SPACE_GENERIC | |
| ADDRESS_SPACE_GLOBAL | |
| ADDRESS_SPACE_SHARED | |
| ADDRESS_SPACE_CONST | |
| ADDRESS_SPACE_LOCAL | |
| ADDRESS_SPACE_PARAM | |
Definition at line 22 of file NVPTXBaseInfo.h.
| enum llvm::AliasResult |
The possible results of an alias query.
These results are always computed between two MemoryLocation objects as a query to some alias analysis.
Note that these are unscoped enumerations because we would like to support implicitly testing a result for the existence of any possible aliasing with a conversion to bool, but an "enum class" doesn't support this. The canonical names from the literature are suffixed and unique anyways, and so they serve as global constants in LLVM for these results.
See docs/AliasAnalysis.html for more information on the specific meanings of these values.
Definition at line 72 of file AliasAnalysis.h.
| enum llvm::AlignTypeEnum |
Enum used to categorize the alignment types stored by LayoutAlignElem.
| Enumerator | |
|---|---|
| INVALID_ALIGN | |
| INTEGER_ALIGN | |
| VECTOR_ALIGN | |
| FLOAT_ALIGN | |
| AGGREGATE_ALIGN | |
Definition at line 48 of file DataLayout.h.
| enum llvm::AsmRewriteKind |
| Enumerator | |
|---|---|
| AOK_Delete | |
| AOK_Align | |
| AOK_DotOperator | |
| AOK_Emit | |
| AOK_Imm | |
| AOK_ImmPrefix | |
| AOK_Input | |
| AOK_Output | |
| AOK_SizeDirective | |
| AOK_Label | |
| AOK_Skip | |
Definition at line 29 of file MCTargetAsmParser.h.
| enum llvm::AtomicOrdering |
| Enumerator | |
|---|---|
| NotAtomic | |
| Unordered | |
| Monotonic | |
| Acquire | |
| Release | |
| AcquireRelease | |
| SequentiallyConsistent | |
Definition at line 38 of file Instructions.h.
|
strong |
| Enumerator | |
|---|---|
| InvalidBitcodeSignature | |
| CorruptedBitcode | |
Definition at line 149 of file ReaderWriter.h.
| enum llvm::CombineLevel |
| Enumerator | |
|---|---|
| BeforeLegalizeTypes | |
| AfterLegalizeTypes | |
| AfterLegalizeVectorOps | |
| AfterLegalizeDAG | |
Definition at line 16 of file DAGCombine.h.
|
strong |
| Enumerator | |
|---|---|
| success | |
| eof | |
| no_data_found | |
| unsupported_version | |
| truncated | |
| malformed | |
Definition at line 489 of file CoverageMapping.h.
| enum llvm::DiagnosticKind |
Defines the different supported kind of a diagnostic.
This enum should be extended with a new ID for each added concrete subclass.
Definition at line 49 of file DiagnosticInfo.h.
Defines the different supported severity of a diagnostic.
| Enumerator | |
|---|---|
| DS_Error | |
| DS_Warning | |
| DS_Remark | |
| DS_Note | |
Definition at line 38 of file DiagnosticInfo.h.
| enum llvm::DIDumpType |
Selects which debug sections get dumped.
Definition at line 87 of file DIContext.h.
|
strong |
A DINameKind is passed to name search methods to specify a preference regarding the type of name resolution the caller wants.
| Enumerator | |
|---|---|
| None | |
| ShortName | |
| LinkageName | |
Definition at line 70 of file DIContext.h.
|
strong |
| Enumerator | |
|---|---|
| Unknown | |
| GNU_Ada | |
| GNU_C | |
| GNU_CXX | |
| GNU_ObjC | |
| MSVC_X86SEH | |
| MSVC_Win64SEH | |
| MSVC_CXX | |
Definition at line 165 of file LibCallSemantics.h.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| None | |
| DwarfCFI |
No exception support. |
| SjLj |
DWARF-like instruction based exceptions. |
| ARM |
setjmp/longjmp based exceptions |
| WinEH |
ARM EHABI. |
Definition at line 44 of file MCAsmInfo.h.
|
strong |
| Enumerator | |
|---|---|
| success | |
| eof | |
| bad_magic | |
| bad_header | |
| unsupported_version | |
| unsupported_hash_type | |
| too_large | |
| truncated | |
| malformed | |
| unknown_function | |
| hash_mismatch | |
| count_mismatch | |
| counter_overflow | |
Definition at line 27 of file InstrProf.h.
| enum llvm::IntrinsicType |
Definition at line 19 of file X86IntrinsicsInfo.h.
|
strong |
Flags for symbols in the JIT.
| Enumerator | |
|---|---|
| None | |
| Weak | |
| Exported | |
Definition at line 22 of file JITSymbolFlags.h.
| enum llvm::LLVMConstants : uint32_t |
| Enumerator | |
|---|---|
| DEBUG_METADATA_VERSION | |
Definition at line 38 of file Metadata.h.
| enum llvm::lostFraction |
| Enumerator | |
|---|---|
| MCDR_DataRegion |
.data_region |
| MCDR_DataRegionJT8 |
.data_region jt8 |
| MCDR_DataRegionJT16 |
.data_region jt16 |
| MCDR_DataRegionJT32 |
.data_region jt32 |
| MCDR_DataRegionEnd |
.end_data_region |
Definition at line 55 of file MCDirectives.h.
| enum llvm::MCFixupKind |
Extensible enumeration to represent the type of a fixup.
| enum llvm::MCLOHType |
Linker Optimization Hint Type.
Definition at line 33 of file MCLinkerOptimizationHint.h.
| enum llvm::MCSymbolAttr |
| 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 | |
|---|---|
| MCVM_IOSVersionMin |
.ios_version_min |
| MCVM_OSXVersionMin |
.macosx_version_min |
Definition at line 63 of file MCDirectives.h.
| enum llvm::NEONModImmType |
| Enumerator | |
|---|---|
| VMOVModImm | |
| VMVNModImm | |
| OtherModImm | |
Definition at line 640 of file ARMISelLowering.h.
|
strong |
Specific patterns of overflow check idioms that we match.
| Enumerator | |
|---|---|
| OCF_UNSIGNED_ADD | |
| OCF_SIGNED_ADD | |
| OCF_UNSIGNED_SUB | |
| OCF_SIGNED_SUB | |
| OCF_UNSIGNED_MUL | |
| OCF_SIGNED_MUL | |
| OCF_INVALID | |
Definition at line 105 of file InstCombineInternal.h.
|
strong |
| Enumerator | |
|---|---|
| AlwaysOverflows | |
| MayOverflow | |
| NeverOverflows | |
Definition at line 280 of file ValueTracking.h.
| enum llvm::ParmContext |
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 | |
| Unknown | |
| Prologue | |
| Call | |
Definition at line 189 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 LegacyPassManagers.h.
| enum llvm::PassKind |
Different types of internal pass managers.
External pass managers (PassManager and FunctionPassManager) are not represented here. Ordering of pass manager types is important here.
|
strong |
These values correspond to the Basictype enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/4szdtzc3.aspx.
| Enumerator | |
|---|---|
| None | |
| Void | |
| Char | |
| WCharT | |
| Int | |
| UInt | |
| Float | |
| BCD | |
| Bool | |
| Long | |
| ULong | |
| Currency | |
| Date | |
| Variant | |
| Complex | |
| Bitfield | |
| BSTR | |
| HResult | |
Definition at line 348 of file PDBTypes.h.
|
strong |
These values correspond to the CV_call_e enumeration, and are documented at the following locations: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms680207(v=vs.85).aspx.
Definition at line 202 of file PDBTypes.h.
|
strong |
Specifies the hash algorithm that a source file from a PDB was hashed with.
This corresponds to the CV_SourceChksum_t enumeration and are documented here: https://msdn.microsoft.com/en-us/library/e96az21x.aspx
| Enumerator | |
|---|---|
| None | |
| MD5 | |
| SHA1 | |
Definition at line 106 of file PDBTypes.h.
|
strong |
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx.
Definition at line 110 of file PDBTypes.h.
|
strong |
These values correspond to the DataKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2x2t313.aspx.
| Enumerator | |
|---|---|
| Unknown | |
| Local | |
| StaticLocal | |
| Param | |
| ObjectPtr | |
| FileStatic | |
| Global | |
| Member | |
| StaticMember | |
| Constant | |
Definition at line 255 of file PDBTypes.h.
|
strong |
| Enumerator | |
|---|---|
| Success | |
| NoPdbImpl | |
| InvalidPath | |
| InvalidFileFormat | |
| InvalidParameter | |
| AlreadyLoaded | |
| UnknownError | |
| NoMemory | |
| DebugInfoMismatch | |
Definition at line 423 of file PDBTypes.h.
|
strong |
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx.
| Enumerator | |
|---|---|
| C | |
| Cpp | |
| Fortran | |
| Masm | |
| Pascal | |
| Basic | |
| Cobol | |
| Link | |
| Cvtres | |
| Cvtpgd | |
| CSharp | |
| VB | |
| ILAsm | |
| Java | |
| JScript | |
| MSIL | |
| HLSL | |
Definition at line 233 of file PDBTypes.h.
|
strong |
These values correspond to the LocationType enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/f57kaez3.aspx.
| Enumerator | |
|---|---|
| Null | |
| Static | |
| TLS | |
| RegRel | |
| ThisRel | |
| Enregistered | |
| BitField | |
| Slot | |
| IlRel | |
| MetaData | |
| Constant | |
| Max | |
Definition at line 307 of file PDBTypes.h.
|
strong |
| Enumerator | |
|---|---|
| Invalid | |
| Unknown | |
| Am33 | |
| Amd64 | |
| Arm | |
| ArmNT | |
| Ebc | |
| x86 | |
| Ia64 | |
| M32R | |
| Mips16 | |
| MipsFpu | |
| MipsFpu16 | |
| PowerPC | |
| PowerPCFP | |
| R4000 | |
| SH3 | |
| SH3DSP | |
| SH4 | |
| SH5 | |
| Thumb | |
| WceMipsV2 | |
Definition at line 172 of file PDBTypes.h.
|
strong |
| Enumerator | |
|---|---|
| Private | |
| Protected | |
| Public | |
Definition at line 421 of file PDBTypes.h.
|
strong |
These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bc5207xw.aspx.
| Enumerator | |
|---|---|
| Code | |
| Data | |
| Stack | |
| HeapCode | |
Definition at line 344 of file PDBTypes.h.
Defines flags used for enumerating child symbols.
This corresponds to the NameSearchOptions enumeration which is documented here: https://msdn.microsoft.com/en-us/library/yat28ads.aspx
| Enumerator | |
|---|---|
| NS_Default | |
| NS_CaseSensitive | |
| NS_CaseInsensitive | |
| NS_FileNameExtMatch | |
| NS_Regex | |
| NS_UndecoratedName | |
Definition at line 94 of file PDBTypes.h.
|
strong |
Specifies which PDB reader implementation is to be used.
Only a value of PDB_ReaderType::DIA is supported.
| Enumerator | |
|---|---|
| DIA | |
Definition at line 68 of file PDBTypes.h.
|
strong |
| Enumerator | |
|---|---|
| Unknown | |
| VFrame | |
| AL | |
| CL | |
| DL | |
| BL | |
| AH | |
| CH | |
| DH | |
| BH | |
| AX | |
| CX | |
| DX | |
| BX | |
| SP | |
| BP | |
| SI | |
| DI | |
| EAX | |
| ECX | |
| EDX | |
| EBX | |
| ESP | |
| EBP | |
| ESI | |
| EDI | |
| ES | |
| CS | |
| SS | |
| DS | |
| FS | |
| GS | |
| IP | |
| RAX | |
| RBX | |
| RCX | |
| RDX | |
| RSI | |
| RDI | |
| RBP | |
| RSP | |
| R8 | |
| R9 | |
| R10 | |
| R11 | |
| R12 | |
| R13 | |
| R14 | |
| R15 | |
Definition at line 369 of file PDBTypes.h.
|
strong |
These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bc5207xw.aspx.
| Enumerator | |
|---|---|
| FPO | |
| KernelTrap | |
| KernelTSS | |
| EBP | |
| FrameData | |
Definition at line 340 of file PDBTypes.h.
|
strong |
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bkedss5f.aspx.
Definition at line 270 of file PDBTypes.h.
|
strong |
An enumeration indicating the type of data contained in this table.
| Enumerator | |
|---|---|
| Symbols | |
| SourceFiles | |
| LineNumbers | |
| SectionContribs | |
| Segments | |
| InjectedSources | |
| FrameData | |
Definition at line 81 of file PDBTypes.h.
|
strong |
These values correspond to the THUNK_ORDINAL enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/dh0k8hft.aspx.
| Enumerator | |
|---|---|
| Standard | |
| ThisAdjustor | |
| Vcall | |
| Pcode | |
| UnknownLoad | |
| TrampIncremental | |
| BranchIsland | |
Definition at line 324 of file PDBTypes.h.
|
strong |
These values correspond to the UdtKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/wcstk66t.aspx.
| Enumerator | |
|---|---|
| Struct | |
| Class | |
| Union | |
| Interface | |
Definition at line 336 of file PDBTypes.h.
| Enumerator | |
|---|---|
| Empty | |
| Unknown | |
| Unknown | |
| Unknown | |
| Unknown | |
| Unknown | |
| Int8 | |
| Int16 | |
| Int32 | |
| Int64 | |
| Single | |
| Double | |
| UInt8 | |
| UInt16 | |
| UInt32 | |
| UInt64 | |
| Bool | |
| Bool | |
Definition at line 442 of file PDBTypes.h.
Definition at line 33 of file NVPTXBaseInfo.h.
| enum llvm::RemapFlags |
RemapFlags - These are flags that the value mapping APIs allow.
Definition at line 51 of file ValueMapper.h.
|
strong |
| Enumerator | |
|---|---|
| success | |
| bad_magic | |
| unsupported_version | |
| too_large | |
| truncated | |
| malformed | |
| unrecognized_format | |
Definition at line 28 of file SampleProf.h.
| enum llvm::SCEVTypes |
| Enumerator | |
|---|---|
| scConstant | |
| scTruncate | |
| scZeroExtend | |
| scSignExtend | |
| scAddExpr | |
| scMulExpr | |
| scUDivExpr | |
| scAddRecExpr | |
| scUMaxExpr | |
| scSMaxExpr | |
| scUnknown | |
| scCouldNotCompute | |
Definition at line 27 of file ScalarEvolutionExpressions.h.
Specific patterns of select instructions we can match.
| Enumerator | |
|---|---|
| SPF_UNKNOWN | |
| SPF_SMIN | |
| SPF_UMIN | |
| SPF_SMAX | |
| SPF_UMAX | |
| SPF_ABS | |
| SPF_NABS | |
Definition at line 293 of file ValueTracking.h.
|
strong |
The statepoint intrinsic accepts a set of flags as its third argument.
Valid values come out of this set.
| Enumerator | |
|---|---|
| None | |
| GCTransition |
Indicates that this statepoint is a transition from GC-aware code to code that is not GC-aware. |
| MaskAll |
A bitmask that includes all valid flags. |
Definition at line 31 of file Statepoint.h.
| Enumerator | |
|---|---|
| SingleThread | |
| CrossThread | |
Definition at line 49 of file Instructions.h.
| enum llvm::TransformKind |
TransformKind - Different types of transformations that TransformForPostIncUse can do.
Definition at line 52 of file ScalarEvolutionNormalization.h.
| enum llvm::ZeroBehavior |
The behavior an operation has on an input of 0.
| Enumerator | |
|---|---|
| ZB_Undefined |
The returned value is undefined. |
| ZB_Max |
The returned value is numeric_limits<T>::max() |
| ZB_Width |
The returned value is numeric_limits<T>::digits. |
Definition at line 33 of file MathExtras.h.
| void llvm::__deregister_frame | ( | void * | p | ) |
Definition at line 64 of file RTDyldMemoryManager.cpp.
References llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
Referenced by llvm::RTDyldMemoryManager::deregisterEHFrames().
| void llvm::__register_frame | ( | void * | p | ) |
Definition at line 51 of file RTDyldMemoryManager.cpp.
References llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
Referenced by llvm::RTDyldMemoryManager::registerEHFrames().
|
inlinestatic |
Definition at line 539 of file AArch64BaseInfo.h.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), llvm::AArch64Layout::Invalid, llvm::AArch64Layout::VL_16B, llvm::AArch64Layout::VL_1D, llvm::AArch64Layout::VL_2D, llvm::AArch64Layout::VL_2S, llvm::AArch64Layout::VL_4H, llvm::AArch64Layout::VL_4S, llvm::AArch64Layout::VL_8B, llvm::AArch64Layout::VL_8H, llvm::AArch64Layout::VL_B, llvm::AArch64Layout::VL_D, llvm::AArch64Layout::VL_H, and llvm::AArch64Layout::VL_S.
|
inlinestatic |
Definition at line 520 of file AArch64BaseInfo.h.
References llvm_unreachable, llvm::AArch64Layout::VL_16B, llvm::AArch64Layout::VL_1D, llvm::AArch64Layout::VL_2D, llvm::AArch64Layout::VL_2S, llvm::AArch64Layout::VL_4H, llvm::AArch64Layout::VL_4S, llvm::AArch64Layout::VL_8B, llvm::AArch64Layout::VL_8H, llvm::AArch64Layout::VL_B, llvm::AArch64Layout::VL_D, llvm::AArch64Layout::VL_H, and llvm::AArch64Layout::VL_S.
|
inline |
Returns the absolute value of the argument.
Definition at line 651 of file APFloat.h.
References llvm::APFloat::clearSign(), and X.
Referenced by llvm::X86FrameLowering::assignCalleeSavedSpillSlots(), checkValueWidth(), CompareNumbers(), llvm::HexagonEvaluator::evaluate(), getIntInlineImmEncoding(), getNewAlignmentDiff(), ignoreCallingConv(), llvm::ARMTargetLowering::isLegalAddImmediate(), llvm::ARMTargetLowering::isLegalICmpImmediate(), isValidLSDoubleOffset(), and llvm::LibCallSimplifier::optimizeCall().
|
inlinestatic |
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 175 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addConstantPoolIndex(), llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().
|
inlinestatic |
Definition at line 389 of file ARMBaseInstrInfo.h.
References llvm::MachineInstrBuilder::addReg().
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::ARMBaseInstrInfo::copyPhysReg(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), and llvm::ARMBaseInstrInfo::optimizeSelect().
|
inlinestatic |
Definition at line 384 of file ARMBaseInstrInfo.h.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), and llvm::ARMCC::AL.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::ARMBaseInstrInfo::breakPartialRegDependency(), llvm::ARMBaseInstrInfo::copyFromCPSR(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyToCPSR(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), emitPostLd(), emitPostSt(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), emitThumbRegPlusImmInReg(), llvm::ARMBaseInstrInfo::expandLoadStackGuardBase(), llvm::ARMBaseInstrInfo::expandPostRAPseudo(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), rewriteT2FrameIndex(), llvm::ThumbRegisterInfo::saveScavengerRegister(), llvm::ARMBaseInstrInfo::setExecutionDomain(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), and llvm::ARMBaseInstrInfo::storeRegToStackSlot().
|
inlinestatic |
Definition at line 394 of file ARMBaseInstrInfo.h.
References llvm::MachineInstrBuilder::addReg(), getDeadRegState(), and getDefRegState().
Referenced by emitPostLd(), emitPostSt(), and emitThumbRegPlusImmInReg().
|
inlinestatic |
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 91 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().
|
inlinestatic |
Add a BDX memory reference for frame object FI to MIB.
Definition at line 27 of file SystemZInstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::MachineInstr::getDesc(), llvm::PseudoSourceValue::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::AArch64CC::MI, llvm::MachineMemOperand::MOLoad, and llvm::MachineMemOperand::MOStore.
|
inlinestatic |
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 PPCInstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), and llvm::MachineInstrBuilder::addImm().
Referenced by llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::SystemZInstrInfo::loadRegFromStackSlot(), llvm::X86InstrInfo::loadRegFromStackSlot(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerVRSAVERestore(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), restoreCRs(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::SystemZInstrInfo::storeRegToStackSlot(), and llvm::X86InstrInfo::storeRegToStackSlot().
|
inlinestatic |
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 149 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::AArch64CC::MI, llvm::MachineMemOperand::MOLoad, and llvm::MachineMemOperand::MOStore.
|
inlinestatic |
Definition at line 123 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::X86AddressMode::Base, llvm::X86AddressMode::BaseType, llvm::X86AddressMode::Disp, llvm::X86AddressMode::FrameIndex, llvm::X86AddressMode::FrameIndexBase, llvm::X86AddressMode::GV, llvm::X86AddressMode::GVOpFlags, llvm::X86AddressMode::IndexReg, llvm::X86AddressMode::Reg, llvm::X86AddressMode::RegBase, and llvm::X86AddressMode::Scale.
Referenced by llvm::X86TargetLowering::EmitInstrWithCustomInserter().
| void llvm::AddLandingPadInfo | ( | const LandingPadInst & | I, |
| MachineModuleInfo & | MMI, | ||
| MachineBasicBlock * | MBB | ||
| ) |
AddLandingPadInfo - Extract the exception handling information from the landingpad instruction and add them to the specified machine module info.
Definition at line 548 of file FunctionLoweringInfo.cpp.
References llvm::MachineModuleInfo::addCatchTypeInfo(), llvm::MachineModuleInfo::addCleanup(), llvm::MachineModuleInfo::addFilterTypeInfo(), llvm::MachineModuleInfo::addPersonality(), llvm::LandingPadInst::getClause(), llvm::LandingPadInst::getNumClauses(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::Function::getPersonalityFn(), llvm::ARM_PROC::IE, llvm::LandingPadInst::isCatch(), llvm::LandingPadInst::isCleanup(), llvm::User::op_begin(), llvm::User::op_end(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::Constant::stripPointerCasts(), and llvm::Value::stripPointerCasts().
|
inline |
Definition at line 68 of file IntervalIterator.h.
References llvm::Interval::Nodes.
|
inline |
Definition at line 79 of file IntervalIterator.h.
References llvm::Interval::Nodes.
|
inlinestatic |
Definition at line 400 of file ARMBaseInstrInfo.h.
References llvm::MachineInstrBuilder::addReg().
|
inlinestatic |
Definition at line 99 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().
Referenced by addFrameReference(), addOperands(), addRegOffset(), and llvm::X86InstrInfo::convertToThreeAddress().
|
inlinestatic |
Add one to a Constant.
Definition at line 65 of file InstCombineInternal.h.
References llvm::ConstantInt::get(), llvm::ConstantExpr::getAdd(), and llvm::Value::getType().
Referenced by llvm::InstCombiner::FoldAndOfICmps(), llvm::InstCombiner::FoldICmpDivCst(), llvm::InstCombiner::FoldOrOfICmps(), llvm::ScalarEvolution::getAddExpr(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), and llvm::InstCombiner::visitSub().
|
inlinestatic |
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 108 of file X86InstrBuilder.h.
References addOffset(), llvm::MachineInstrBuilder::addReg(), and getKillRegState().
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::emitEpilogue(), and llvm::X86FrameLowering::emitPrologue().
|
inlinestatic |
addRegReg - This function is used to add a memory reference of the form: [Reg + Reg].
Definition at line 115 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), and getKillRegState().
Referenced by llvm::X86InstrInfo::convertToThreeAddress().
|
inline |
Aligns Addr to Alignment bytes, rounding up.
Alignment should be a power of two. This method rounds up, so alignAddr(7, 4) == 8 and alignAddr(8, 4) == 8.
Definition at line 565 of file MathExtras.h.
References isPowerOf2_64().
Referenced by alignmentAdjustment(), llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Allocate(), and llvm::SpecificBumpPtrAllocator< llvm::LazyCallGraph::SCC >::DestroyAll().
|
inline |
Returns the necessary adjustment for aligning Ptr to Alignment bytes, rounding up.
Definition at line 576 of file MathExtras.h.
References alignAddr().
Referenced by llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Allocate(), and readCoverageMappingData().
|
inline |
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.
| bool llvm::all_of | ( | R && | Range, |
| UnaryPredicate && | P | ||
| ) |
Provide wrappers to std::all_of which take ranges instead of having to pass being/end explicitly.
Definition at line 334 of file STLExtras.h.
References P.
Referenced by llvm::DbgVariable::addMMIEntry(), llvm::DebugLocEntry::addValues(), llvm::DwarfDebug::beginFunction(), combineLoadToOperationType(), computePointerICmp(), llvm::DebugLocEntry::finalize(), llvm::Loop::hasLoopInvariantOperands(), LowerVECTOR_SHUFFLE(), partitionShuffleOfConcats(), and StrengthenNoWrapFlags().
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 73 of file ModuleUtils.cpp.
References appendToGlobalArray().
Same as appendToGlobalCtors(), but for global dtors.
Definition at line 77 of file ModuleUtils.cpp.
References appendToGlobalArray().
|
inlinestatic |
Applies the Map (Loop -> SCEV) to the given Scev.
Definition at line 749 of file ScalarEvolutionExpressions.h.
References llvm::SCEVApplyRewriter::rewrite().
|
inlinestatic |
Definition at line 867 of file RuntimeDyldELF.cpp.
|
inlinestatic |
Definition at line 863 of file RuntimeDyldELF.cpp.
|
inlinestatic |
Definition at line 871 of file RuntimeDyldELF.cpp.
|
inlinestatic |
Definition at line 875 of file RuntimeDyldELF.cpp.
|
inlinestatic |
Definition at line 879 of file RuntimeDyldELF.cpp.
|
inlinestatic |
Definition at line 883 of file RuntimeDyldELF.cpp.
|
inlinestatic |
Definition at line 861 of file RuntimeDyldELF.cpp.
| bool llvm::AreStatisticsEnabled | ( | ) |
|
inlinestatic |
Definition at line 68 of file ARMBaseInfo.h.
References llvm::ARMCC::AL, llvm::ARMCC::EQ, llvm::ARMCC::GE, llvm::ARMCC::GT, llvm::ARMCC::HI, llvm::ARMCC::HS, llvm::ARMCC::LE, llvm_unreachable, llvm::ARMCC::LO, llvm::ARMCC::LS, llvm::ARMCC::LT, llvm::ARMCC::MI, llvm::ARMCC::NE, llvm::ARMCC::PL, llvm::ARMCC::VC, and llvm::ARMCC::VS.
Referenced by llvm::ARMInstPrinter::printMandatoryPredicateOperand(), and llvm::ARMInstPrinter::printPredicateOperand().
|
inline |
Find the length of an array.
Definition at line 247 of file STLExtras.h.
References N.
Referenced by llvm::TargetLoweringBase::addRegisterClass(), AnalyzeArguments(), llvm::ARMBaseInstrInfo::ARMBaseInstrInfo(), llvm::AtomicSDNode::AtomicSDNode(), canLowerByDroppingEvenElements(), CC_PPC32_SVR4_Custom_AlignArgRegs(), CC_PPC32_SVR4_Custom_AlignFPArgRegs(), convertAddSubFlagsOpcode(), llvm::PPCInstrInfo::DefinesPredicate(), llvm::MCDwarfLineTableHeader::Emit(), llvm::AArch64SysReg::SysRegMapper::fromString(), getAllocationData(), llvm::SystemZFrameLowering::getCalleeSavedSpillSlots(), llvm::HexagonFrameLowering::getCalleeSavedSpillSlots(), llvm::PPCFrameLowering::getCalleeSavedSpillSlots(), llvm::AArch64TTIImpl::getCastInstrCost(), getConcreteOpcode(), llvm::TargetLoweringBase::getCondCodeAction(), llvm::MCAsmBackend::getFixupKindInfo(), getLdStNInstrDesc(), llvm::SelectionDAG::getMachineNode(), llvm::TargetLoweringBase::getNumRegisters(), llvm::TargetLoweringBase::getOperationAction(), llvm::TargetLoweringBase::getRegisterType(), llvm::object::MachOObjectFile::getRelocationTypeName(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::AMDGPURegisterInfo::getSubRegFromChannel(), llvm::TargetLoweringBase::hasTargetDAGCombine(), llvm::raw_ostream::indent(), llvm::TargetLoweringBase::initActions(), isF128SoftLibCall(), isImageOrSamplerVal(), llvm::TargetLoweringBase::isTypeLegal(), lookup(), lookupAVX2(), LookupNEONLdSt(), llvm::MipsSETargetLowering::MipsSETargetLowering(), llvm::SelectionDAG::MorphNodeTo(), llvm::AArch64SysReg::MRSMapper::MRSMapper(), llvm::AArch64SysReg::MSRMapper::MSRMapper(), llvm::Triple::normalize(), llvm::TargetLoweringBase::setCondCodeAction(), llvm::TargetLoweringBase::setOperationAction(), llvm::TargetLoweringBase::setTargetDAGCombine(), llvm::SystemZFrameLowering::SystemZFrameLowering(), llvm::TargetRecip::TargetRecip(), llvm::AArch64SysReg::SysRegMapper::toString(), and llvm::X86TargetLowering::X86TargetLowering().
|
inline |
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 std::less 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 287 of file STLExtras.h.
References get_array_pod_sort_comparator.
Referenced by accumulateAndSortLibcalls(), CasesAreContiguous(), llvm::object::computeSymbolSizes(), llvm::X86TargetLowering::ExpandInlineAsm(), llvm::AttributeSetNode::get(), llvm::MDAttachmentMap::getAll(), llvm::PassNameParser::printOptionInfo(), llvm::TargetRegistry::printRegisteredTargetsForVersion(), llvm::Inliner::removeDeadFunctions(), setUsedInitializer(), SimplifyBranchOnICmpChain(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), sortOpts(), llvm::MCELFObjectTargetWriter::sortRelocs(), and ValuesOverlap().
|
inline |
Definition at line 296 of file STLExtras.h.
References llvm::MCID::Compare.
|
inline |
Adapt std::less<T> for array_pod_sort.
Definition at line 253 of file STLExtras.h.
Definition at line 249 of file MipsNaClELFStreamer.cpp.
References llvm::X86II::T8.
| const std::error_category & llvm::BitcodeErrorCategory | ( | ) |
Definition at line 4645 of file BitcodeReader.cpp.
References ErrorCategory.
Referenced by make_error_code().
|
inline |
BitsToDouble - This function takes a 64-bit integer and returns the bit equivalent double.
Definition at line 504 of file MathExtras.h.
References llvm::tgtok::Bits, and T.
Referenced by llvm::X86TargetLowering::BuildFILD(), and llvm::X86TargetLowering::ReplaceNodeResults().
|
inline |
BitsToFloat - This function takes a 32-bit integer and returns the bit equivalent float.
Definition at line 515 of file MathExtras.h.
References llvm::tgtok::Bits, F(), I, and T.
|
inline |
BuildMI - Builder interface.
Specify how to create the initial instruction itself.
Definition at line 236 of file MachineInstrBuilder.h.
References llvm::MachineFunction::CreateMachineInstr().
Referenced by llvm::MachineBasicBlock::addLiveIn(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::SparcInstrInfo::AnalyzeBranch(), llvm::ARMBaseInstrInfo::breakPartialRegDependency(), llvm::X86InstrInfo::breakPartialRegDependency(), llvm::Mips16InstrInfo::BuildAddiuSpImm(), llvm::R600InstrInfo::buildDefaultInstruction(), llvm::SIInstrInfo::buildIndirectRead(), llvm::SIInstrInfo::buildIndirectWrite(), BuildMI(), llvm::SIInstrInfo::buildMovInstr(), llvm::SIInstrInfo::calculateLDSSpillAddress(), llvm::X86InstrInfo::classifyLEAReg(), CombineCVTAToLocal(), llvm::PPCInstrInfo::commuteInstruction(), llvm::FastISel::constrainOperandRegClass(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::SIInstrInfo::convertToThreeAddress(), llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMBaseInstrInfo::copyFromCPSR(), llvm::BPFInstrInfo::copyPhysReg(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::Mips16InstrInfo::copyPhysReg(), llvm::MipsSEInstrInfo::copyPhysReg(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::MSP430InstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::HexagonInstrInfo::copyPhysReg(), llvm::SparcInstrInfo::copyPhysReg(), llvm::SIInstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::SystemZInstrInfo::copyPhysReg(), llvm::X86InstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysRegTuple(), llvm::ARMBaseInstrInfo::copyToCPSR(), llvm::MSP430FrameLowering::eliminateCallFramePseudoInstr(), llvm::XCoreFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::BPFRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::AArch64FrameLowering::emitCalleeSavedFrameMoves(), EmitCfiOffset(), llvm::InstrEmitter::EmitDbgValue(), EmitDefCfaOffset(), EmitDefCfaRegister(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::Mips16FrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::AArch64InstrInfo::emitFrameIndexDebugValue(), emitGPDisp(), emitIncrement(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::MachineRegisterInfo::EmitLiveInCopies(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), EmitMonitor(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::TargetLoweringBase::emitPatchPoint(), EmitPCMPSTRI(), EmitPCMPSTRM(), emitPostLd(), emitPostSt(), llvm::Mips16FrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), llvm::X86FrameLowering::emitSPUpdate(), llvm::X86FrameLowering::emitStackProbeCall(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), emitThumbRegPlusImmInReg(), EmitXBegin(), llvm::SparcTargetLowering::expandAtomicRMW(), expandLoadStackGuard(), llvm::ARMBaseInstrInfo::expandLoadStackGuardBase(), llvm::HexagonInstrInfo::expandPostRAPseudo(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::SparcTargetLowering::expandSelectCC(), 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_rrii(), llvm::FastISel::fastEmitInst_rrr(), finalizeBundle(), llvm::ARMFrameLowering::fixTCReturn(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), forceReg(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::MipsInstrInfo::genInstrWithNewOpc(), genMadd(), genMaddR(), llvm::SparcInstrInfo::getGlobalBaseReg(), HandleVRSaveUpdate(), IfNeededExtSP(), IfNeededLDAWSP(), llvm::BPFInstrInfo::InsertBranch(), llvm::XCoreInstrInfo::InsertBranch(), llvm::MipsInstrInfo::InsertBranch(), llvm::NVPTXInstrInfo::InsertBranch(), llvm::HexagonInstrInfo::InsertBranch(), llvm::SparcInstrInfo::InsertBranch(), llvm::MSP430InstrInfo::InsertBranch(), llvm::ARMBaseInstrInfo::InsertBranch(), llvm::AArch64InstrInfo::InsertBranch(), llvm::PPCInstrInfo::InsertBranch(), llvm::SystemZInstrInfo::InsertBranch(), llvm::R600InstrInfo::InsertBranch(), llvm::X86InstrInfo::InsertBranch(), insertCopy(), insertDivByZeroTrap(), InsertFPConstInst(), InsertFPImmInst(), InsertLDR_STR(), InsertNewDef(), llvm::MipsInstrInfo::insertNoop(), llvm::PPCInstrInfo::insertNoop(), insertNopBeforeInstruction(), llvm::SIInstrInfo::insertNOPs(), llvm::AArch64InstrInfo::insertSelect(), llvm::PPCInstrInfo::insertSelect(), llvm::X86InstrInfo::insertSelect(), InsertSPConstInst(), InsertSPImmInst(), llvm::SIInstrInfo::legalizeOperands(), llvm::SIInstrInfo::legalizeOpWithMove(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::Mips16InstrInfo::loadImmediate(), llvm::XCoreInstrInfo::loadImmediate(), llvm::SystemZInstrInfo::loadImmediate(), llvm::X86InstrInfo::loadRegFromAddr(), llvm::Mips16InstrInfo::loadRegFromStack(), llvm::MipsSEInstrInfo::loadRegFromStack(), llvm::BPFInstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::SystemZInstrInfo::loadRegFromStackSlot(), llvm::X86InstrInfo::loadRegFromStackSlot(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerVRSAVERestore(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), llvm::Mips16InstrInfo::makeFrame(), MakeM0Inst(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::SIInstrInfo::moveSMRDToVALU(), llvm::SIInstrInfo::moveToVALU(), llvm::PPCInstrInfo::optimizeCompareInstr(), llvm::AArch64InstrInfo::optimizeCondBranch(), llvm::ARMBaseInstrInfo::optimizeSelect(), llvm::HexagonInstrInfo::PredicateInstruction(), reassociateOps(), llvm::ARMBaseInstrInfo::reMaterialize(), llvm::X86InstrInfo::reMaterialize(), replaceFI(), llvm::SystemZFrameLowering::restoreCalleeSavedRegisters(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::MSP430FrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::X86FrameLowering::restoreCalleeSavedRegisters(), restoreCRs(), llvm::Mips16InstrInfo::restoreFrame(), RestoreSpillList(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::ThumbRegisterInfo::saveScavengerRegister(), llvm::FastISel::selectBitCast(), llvm::FastISel::selectCall(), llvm::FastISel::selectIntrinsicCall(), llvm::FastISel::selectPatchpoint(), llvm::FastISel::selectStackmap(), llvm::FunctionLoweringInfo::set(), setCallTargetReg(), llvm::ARMBaseInstrInfo::setExecutionDomain(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::MSP430FrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), llvm::SIInstrInfo::splitSMRD(), llvm::X86InstrInfo::storeRegToAddr(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::BPFInstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::SystemZInstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), tryOrrMovk(), trySequenceOfOnes(), and tryToreplicateChunks().
|
inline |
BuildMI - This version of the builder sets up the first operand as a destination virtual register.
Definition at line 245 of file MachineInstrBuilder.h.
References llvm::MachineFunction::CreateMachineInstr(), and llvm::RegState::Define.
|
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 257 of file MachineInstrBuilder.h.
References llvm::MachineInstrBuilder::addReg(), llvm::MachineFunction::CreateMachineInstr(), llvm::RegState::Define, llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::AArch64CC::MI.
|
inline |
Definition at line 268 of file MachineInstrBuilder.h.
References llvm::MachineInstrBuilder::addReg(), llvm::MachineFunction::CreateMachineInstr(), llvm::RegState::Define, llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::AArch64CC::MI.
|
inline |
Definition at line 279 of file MachineInstrBuilder.h.
References BuildMI(), I, and llvm::MachineInstr::isInsideBundle().
|
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 297 of file MachineInstrBuilder.h.
References llvm::MachineFunction::CreateMachineInstr(), llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::AArch64CC::MI.
|
inline |
Definition at line 307 of file MachineInstrBuilder.h.
References llvm::MachineFunction::CreateMachineInstr(), llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::AArch64CC::MI.
|
inline |
Definition at line 317 of file MachineInstrBuilder.h.
References BuildMI(), I, and llvm::MachineInstr::isInsideBundle().
|
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 334 of file MachineInstrBuilder.h.
References BuildMI(), and llvm::MachineBasicBlock::end().
|
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 344 of file MachineInstrBuilder.h.
References BuildMI(), and llvm::MachineBasicBlock::end().
|
inline |
BuildMI - This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect+offset address.
The convention is that a DBG_VALUE is indirect iff the second operand is an immediate.
Definition at line 356 of file MachineInstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMetadata(), llvm::MachineInstrBuilder::addReg(), BuildMI(), and llvm::RegState::Debug.
|
inline |
BuildMI - This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect+offset address and inserts it at position I.
Definition at line 384 of file MachineInstrBuilder.h.
References BuildMI(), llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::AArch64CC::MI.
| bool llvm::bypassSlowDivision | ( | Function & | F, |
| Function::iterator & | I, | ||
| const DenseMap< unsigned int, unsigned int > & | BypassWidth | ||
| ) |
This optimization identifies DIV instructions that can be profitably bypassed and carried out with a shorter, faster divide.
Definition at line 223 of file BypassSlowDivision.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::IntegerType::get(), llvm::IntegerType::getBitWidth(), and reuseOrInsertFastDiv().
|
inline |
ByteSwap_16 - This function returns a byte-swapped representation of the 16-bit argument, Value.
Definition at line 366 of file MathExtras.h.
References llvm::sys::SwapByteOrder_16().
Referenced by llvm::APInt::byteSwap().
|
inline |
ByteSwap_32 - This function returns a byte-swapped representation of the 32-bit argument, Value.
Definition at line 372 of file MathExtras.h.
References llvm::sys::SwapByteOrder_32().
Referenced by llvm::APInt::byteSwap().
|
inline |
ByteSwap_64 - This function returns a byte-swapped representation of the 64-bit argument, Value.
Definition at line 378 of file MathExtras.h.
References llvm::sys::SwapByteOrder_64().
Referenced by llvm::APInt::byteSwap().
| SmallVectorImpl<T>::const_pointer llvm::c_str | ( | SmallVectorImpl< T > & | str | ) |
Definition at line 162 of file WindowsSupport.h.
References llvm::SmallVectorTemplateCommon< T >::data(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by fuzzer::CopyFileToErr(), CrashHandler(), llvm::TargetLowering::getMultipleConstraintMatchWeight(), llvm::NVPTXRegisterInfo::getName(), LLVMGetDefaultTargetTriple(), and llvm::NVPTXTargetLowering::LowerCall().
| void llvm::Calculate | ( | DominatorTreeBase< typename GraphTraits< NodeT >::NodeType > & | DT, |
| FuncT & | F | ||
| ) |
Definition at line 151 of file GenericDomTreeConstruction.h.
References llvm::DomTreeNodeBase< T >::addChild(), llvm::DominatorTreeBase< N >::InfoRec::DFSNum, llvm::DominatorTreeBase< N >::InfoRec::Label, make_unique(), N, llvm::DominatorTreeBase< N >::InfoRec::Parent, llvm::SmallVectorImpl< T >::resize(), llvm::DominatorTreeBase< N >::InfoRec::Semi, and size.
| void llvm::Calculate | ( | DominatorTreeBase< typename GraphTraits< N >::NodeType > & | DT, |
| FuncT & | F | ||
| ) |
| template void llvm::Calculate< Function, BasicBlock * > | ( | DominatorTreeBase< GraphTraits< BasicBlock * >::NodeType > & | DT, |
| Function & | F | ||
| ) |
| template void llvm::Calculate< Function, Inverse< BasicBlock * > > | ( | DominatorTreeBase< GraphTraits< Inverse< BasicBlock * >>::NodeType > & | DT, |
| Function & | F | ||
| ) |
| void llvm::calculateDbgValueHistory | ( | const MachineFunction * | MF, |
| const TargetRegisterInfo * | TRI, | ||
| DbgValueHistoryMap & | Result | ||
| ) |
Definition at line 184 of file DbgValueHistoryCalculator.cpp.
References addRegDescribedVar(), applyToClobberedRegisters(), clobberRegisterUses(), collectChangingRegs(), dropRegDescribedVar(), llvm::MCRegisterInfo::getNumRegs(), llvm::DbgValueHistoryMap::getRegisterForVar(), I, isDescribedByReg(), llvm::AArch64CC::MI, and llvm::DbgValueHistoryMap::startInstrRange().
Referenced by llvm::DwarfDebug::beginFunction().
| void llvm::calculateSpillWeightsAndHints | ( | LiveIntervals & | LIS, |
| MachineFunction & | MF, | ||
| const MachineLoopInfo & | MLI, | ||
| const MachineBlockFrequencyInfo & | MBFI, | ||
| VirtRegAuxInfo::NormalizingFn | norm = normalizeSpillWeight |
||
| ) |
Compute spill weights and allocation hints for all virtual register live intervals.
Definition at line 25 of file CalcSpillWeights.cpp.
References llvm::VirtRegAuxInfo::calculateSpillWeightAndHint(), dbgs(), DEBUG, llvm::LiveIntervals::getInterval(), llvm::MachineFunction::getName(), llvm::MachineFunction::getRegInfo(), and llvm::TargetRegisterInfo::index2VirtReg().
| void llvm::calculateWinCXXEHStateNumbers | ( | const Function * | ParentFn, |
| WinEHFuncInfo & | FuncInfo | ||
| ) |
Analyze the IR in ParentFn and it's handlers to build WinEHFuncInfo, which describes the state numbers and tables used by __CxxFrameHandler3.
This analysis assumes that WinEHPrepare has already been run.
Definition at line 2879 of file WinEHPrepare.cpp.
References llvm::WinEHFuncInfo::LandingPadStateMap, and None.
Referenced by llvm::FunctionLoweringInfo::set().
| Pass* llvm::callDefaultCtor | ( | ) |
Definition at line 95 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.
| Pass* llvm::callTargetMachineCtor | ( | TargetMachine * | TM | ) |
Definition at line 97 of file PassSupport.h.
| bool llvm::canBeOmittedFromSymbolTable | ( | const GlobalValue * | GV | ) |
Definition at line 621 of file CodeGen/Analysis.cpp.
References llvm::GlobalStatus::analyzeGlobal(), GS, llvm::GlobalValue::hasLinkOnceODRLinkage(), llvm::GlobalValue::hasUnnamedAddr(), and llvm::GlobalStatus::IsCompared.
Referenced by canBeHidden().
canConstantFoldCallTo - Return true if its even possible to fold a call to the specified function.
Return true if it's even possible to fold a call to the specified function.
Definition at line 1224 of file ConstantFolding.cpp.
References llvm::Function::getIntrinsicID(), llvm::Value::getName(), llvm::Value::hasName(), maxnum(), and minnum().
Referenced by CanConstantFold(), ConstantFoldInstOperands(), and SimplifyCall().
| unsigned llvm::canFoldARMInstrIntoMOVCC | ( | unsigned | Reg, |
| MachineInstr *& | MI, | ||
| const MachineRegisterInfo & | MRI | ||
| ) |
Determine if MI can be folded into an ARM MOVCC instruction, and return the opcode of the SSA instruction representing the conditional MI.
CannotBeNegativeZero - Return true if we can prove that the specified FP value is never equal to -0.0.
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 2254 of file ValueTracking.cpp.
References dyn_cast(), F(), FPO, llvm::Operator::getOpcode(), llvm::User::getOperand(), and I.
Referenced by SimplifyFAddInst(), and SimplifyFSubInst().
CannotBeOrderedLessThanZero - Return true if we can prove that the specified FP value is either a NaN or never less than 0.0.
Definition at line 2305 of file ValueTracking.cpp.
References Call, dyn_cast(), llvm::Operator::getOpcode(), llvm::User::getOperand(), and I.
Referenced by SimplifyFCmpInst().
Definition at line 83 of file LibCallSemantics.cpp.
References classifyEHPersonality(), llvm::Function::getPersonalityFn(), and isAsynchronousEHPersonality().
Referenced by markAliveBlocks().
Definition at line 23 of file Capacity.h.
|
inlinestatic |
Definition at line 925 of file SmallVector.h.
References llvm::SmallVectorBase::capacity_in_bytes().
|
inlinestatic |
Definition at line 1068 of file DenseMap.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
CastToCStr - Return V if it is an i8*, otherwise cast it to i8*.
Definition at line 29 of file BuildLibCalls.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateBitCast(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Type::getPointerAddressSpace(), and llvm::Value::getType().
Referenced by EmitFPutS(), EmitFWrite(), EmitMemChr(), EmitMemCmp(), EmitMemCpyChk(), EmitPutS(), EmitStrChr(), EmitStrCpy(), EmitStrLen(), EmitStrNCmp(), EmitStrNCpy(), and EmitStrNLen().
|
static |
Definition at line 179 of file ARMCallingConv.h.
References llvm::CCState::addLoc(), Align(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateRegBlock(), llvm::CCState::AllocateStack(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorImpl< T >::clear(), DRegList, llvm::SmallVectorTemplateCommon< T >::end(), llvm::MVT::f32, llvm::MVT::f64, llvm::CCState::getFirstUnallocated(), llvm::CCState::getNextStackOffset(), llvm::ISD::ArgFlagsTy::getOrigAlign(), llvm::CCValAssign::getPending(), llvm::CCState::getPendingLocs(), llvm::MVT::getSizeInBits(), llvm::MVT::i32, llvm::ISD::ArgFlagsTy::isInConsecutiveRegsLast(), llvm_unreachable, fuzzer::min(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), QRegList, RoundUpToAlignment(), RRegList, llvm::MVT::SimpleTy, llvm::SmallVectorTemplateCommon< T >::size(), llvm::ArrayRef< T >::size(), SRegList, and llvm::MVT::v2f64.
|
static |
Definition at line 112 of file ARMCallingConv.h.
References f64AssignAAPCS(), and llvm::MVT::v2f64.
|
static |
Definition at line 58 of file ARMCallingConv.h.
References f64AssignAPCS(), and llvm::MVT::v2f64.
| bool llvm::CC_PPC32_SVR4_Custom_AlignArgRegs | ( | unsigned & | ValNo, |
| MVT & | ValVT, | ||
| MVT & | LocVT, | ||
| CCValAssign::LocInfo & | LocInfo, | ||
| ISD::ArgFlagsTy & | ArgFlags, | ||
| CCState & | State | ||
| ) |
Definition at line 2550 of file PPCISelLowering.cpp.
References llvm::CCState::AllocateReg(), array_lengthof(), llvm::CCState::getFirstUnallocated(), R4, and R6.
| bool llvm::CC_PPC32_SVR4_Custom_AlignFPArgRegs | ( | unsigned & | ValNo, |
| MVT & | ValVT, | ||
| MVT & | LocVT, | ||
| CCValAssign::LocInfo & | LocInfo, | ||
| ISD::ArgFlagsTy & | ArgFlags, | ||
| CCState & | State | ||
| ) |
Definition at line 2577 of file PPCISelLowering.cpp.
References llvm::CCState::AllocateReg(), array_lengthof(), and llvm::CCState::getFirstUnallocated().
| bool llvm::CC_PPC32_SVR4_Custom_Dummy | ( | unsigned & | ValNo, |
| MVT & | ValVT, | ||
| MVT & | LocVT, | ||
| CCValAssign::LocInfo & | LocInfo, | ||
| ISD::ArgFlagsTy & | ArgFlags, | ||
| CCState & | State | ||
| ) |
Definition at line 2543 of file PPCISelLowering.cpp.
|
inline |
Definition at line 23 of file PPCCallingConv.h.
References llvm_unreachable.
|
inline |
Definition at line 23 of file X86CallingConv.h.
References llvm::MVT::i32, llvm::CCValAssign::Indirect, and llvm::ISD::ArgFlagsTy::setInReg().
|
inline |
Definition at line 36 of file X86CallingConv.h.
References llvm_unreachable.
|
inline |
Definition at line 41 of file RuntimeDyldImpl.h.
References report_fatal_error().
Referenced by llvm::LoopAccessInfo::addRuntimeCheck(), llvm::RuntimeDyldImpl::computeTotalAllocSize(), DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeAddrMode5Operand(), DecodeAddrMode6Operand(), DecodeAddrModeImm12Operand(), DecodeArmMOVTWInstruction(), DecodeBitfieldMaskOperand(), DecodeBranchImmInstruction(), DecodeCopMemInstruction(), DecodeDoubleRegLoad(), DecodeDoubleRegStore(), DecodeDPRRegListOperand(), DecodeGPRnopcRegisterClass(), DecodeGPRwithAPSRRegisterClass(), DecodeLDR(), DecodeLDRPreImm(), DecodeLDRPreReg(), DecodeMemMultipleWritebackInstruction(), DecodeMRRC2(), DecodeNEONModImmInstruction(), DecodePostIdxReg(), DecodeQADDInstruction(), DecodeRegListOperand(), DecodeRFEInstruction(), DecoderGPRRegisterClass(), DecodeSMLAInstruction(), DecodeSORegImmOperand(), DecodeSORegMemOperand(), DecodeSORegRegOperand(), DecodeSPRRegListOperand(), DecodeSTRPreImm(), DecodeSTRPreReg(), DecodeSwap(), DecodeT2AddrModeImm0_1020s4(), DecodeT2AddrModeImm12(), DecodeT2AddrModeImm8(), DecodeT2AddrModeImm8s4(), DecodeT2AddrModeSOReg(), DecodeT2LDRDPreInstruction(), DecodeT2LdStPre(), DecodeT2LoadImm12(), DecodeT2LoadImm8(), DecodeT2LoadLabel(), DecodeT2LoadShift(), DecodeT2LoadT(), DecodeT2MOVTWInstruction(), DecodeT2STRDPreInstruction(), DecodeTBLInstruction(), DecodeThumb2BCCInstruction(), DecodeThumbAddrModeIS(), DecodeThumbAddrModeRR(), DecodeThumbAddSpecialReg(), DecodeThumbAddSPReg(), DecodeThumbTableBranch(), DecodeTSTInstruction(), DecodeVCVTD(), DecodeVCVTQ(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3DupInstruction(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDInstruction(), DecodeVMOVRRS(), DecodeVMOVSRR(), DecodeVSHLMaxInstruction(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), DecodeVSTInstruction(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::RuntimeDyldImpl::emitSection(), llvm::RuntimeDyldCOFFX86_64::finalizeLoad(), and llvm::RuntimeDyldImpl::loadObjectImpl().
| llvm::Intrinsic::ID llvm::checkBinaryFloatSignature | ( | const CallInst & | I, |
| Intrinsic::ID | ValidIntrinsicID | ||
| ) |
Identify if call has a binary float signature It returns input intrinsic ID if call has two arguments, arguments type and call instruction type should be floating point type and call should only reads memory.
Check call has a binary float signature It checks following: a) call should have 2 arguments.
else return not_intrinsic.
b) arguments type should be floating point type c) call instruction type and arguments type should be same d) call should only reads memory. If all these condition is met then return ValidIntrinsicID else return not_intrinsic.
Definition at line 102 of file VectorUtils.cpp.
References llvm::CallInst::getArgOperand(), llvm::CallInst::getNumArgOperands(), llvm::Value::getType(), llvm::Type::isFloatingPointTy(), llvm::Intrinsic::not_intrinsic, and llvm::CallInst::onlyReadsMemory().
Referenced by getIntrinsicIDForCall().
| bool llvm::CheckBitcodeOutputToConsole | ( | raw_ostream & | stream_to_check, |
| bool | print_warning = true |
||
| ) |
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. Check for output written to a console
| stream_to_check | The stream to be checked |
| print_warning | Control whether warnings are printed |
Definition at line 19 of file SystemUtils.cpp.
References errs(), and llvm::raw_ostream::is_displayed().
| void llvm::checkForCycles | ( | const SDNode * | N, |
| const SelectionDAG * | DAG = nullptr, |
||
| bool | force = false |
||
| ) |
Definition at line 7155 of file SelectionDAG.cpp.
References check(), and checkForCyclesHelper().
| void llvm::checkForCycles | ( | const SelectionDAG * | DAG, |
| bool | force = false |
||
| ) |
Definition at line 7172 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and llvm::SelectionDAG::getRoot().
Referenced by llvm::SelectionDAG::AssignTopologicalOrder(), llvm::SDNode::InitOperands(), llvm::SDNode::SDNode(), and llvm::SelectionDAG::setRoot().
Definition at line 822 of file Instructions.h.
Referenced by llvm::GetElementPtrInst::getGEPReturnType().
Definition at line 98 of file ModuleUtils.cpp.
References llvm::Value::dump(), and report_fatal_error().
Referenced by createSanitizerCtorAndInitFunctions().
| llvm::Intrinsic::ID llvm::checkUnaryFloatSignature | ( | const CallInst & | I, |
| Intrinsic::ID | ValidIntrinsicID | ||
| ) |
Identify if call has a unary float signature It returns input intrinsic ID if call has a single argument, argument type and call instruction type should be floating point type and call should only reads memory.
Check call has a unary float signature It checks following: a) call should have a single argument b) argument type should be floating point type c) call instruction type and argument type should be same d) call should only reads memory.
else return not_intrinsic.
If all these condition is met then return ValidIntrinsicID else return not_intrinsic.
Definition at line 83 of file VectorUtils.cpp.
References llvm::CallInst::getArgOperand(), llvm::CallInst::getNumArgOperands(), llvm::Value::getType(), llvm::Type::isFloatingPointTy(), llvm::Intrinsic::not_intrinsic, and llvm::CallInst::onlyReadsMemory().
Referenced by getIntrinsicIDForCall().
| EHPersonality llvm::classifyEHPersonality | ( | const Value * | Pers | ) |
See if the given exception handling personality function is one that we understand.
If so, return a description of it; otherwise return Unknown.
Definition at line 67 of file LibCallSemantics.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), dyn_cast(), F(), llvm::Value::getName(), GNU_Ada, GNU_C, GNU_CXX, GNU_ObjC, MSVC_CXX, MSVC_Win64SEH, MSVC_X86SEH, llvm::Value::stripPointerCasts(), and Unknown.
Referenced by llvm::DwarfCFIException::beginFunction(), llvm::WinException::beginFunction(), canSimplifyInvokeNoUnwind(), llvm::WinException::endFunction(), llvm::ARMException::endFunction(), llvm::MachineModuleInfo::getPersonalityType(), getSEHRegistrationNodeSize(), llvm::FunctionLoweringInfo::set(), and llvm::InstCombiner::visitLandingPadInst().
| void llvm::clearAnnotationCache | ( | const llvm::Module * | Mod | ) |
Definition at line 38 of file NVPTXUtilities.cpp.
References annotationCache, and Lock.
Referenced by llvm::NVPTXAsmPrinter::doFinalization().
| void llvm::CloneAndPruneFunctionInto | ( | Function * | NewFunc, |
| const Function * | OldFunc, | ||
| ValueToValueMapTy & | VMap, | ||
| bool | ModuleLevelChanges, | ||
| SmallVectorImpl< ReturnInst * > & | Returns, | ||
| const char * | NameSuffix = "", |
||
| ClonedCodeInfo * | CodeInfo = nullptr, |
||
| Instruction * | TheCall = nullptr |
||
| ) |
CloneAndPruneFunctionInto - This works exactly like CloneFunctionInto, except that it does some simple constant prop and DCE on the fly.
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.
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 713 of file CloneFunction.cpp.
References llvm::BasicBlock::begin(), CloneAndPruneIntoFromInst(), and llvm::Function::front().
Referenced by InlineFunction().
| void llvm::CloneAndPruneIntoFromInst | ( | Function * | NewFunc, |
| const Function * | OldFunc, | ||
| const Instruction * | StartingInst, | ||
| ValueToValueMapTy & | VMap, | ||
| bool | ModuleLevelChanges, | ||
| SmallVectorImpl< ReturnInst * > & | Returns, | ||
| const char * | NameSuffix = "", |
||
| ClonedCodeInfo * | CodeInfo = nullptr, |
||
| CloningDirector * | Director = nullptr |
||
| ) |
This works like CloneAndPruneFunctionInto, except that it does not clone the entire function.
Instead it starts at an instruction provided by the caller and copies (and prunes) only the code reachable from that instruction.
Definition at line 468 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::CloningDirector::getTypeRemapper(), llvm::CloningDirector::getValueMaterializer(), I, llvm::BranchInst::isConditional(), MapValue(), llvm::AArch64CC::NV, pred, pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::iplist< NodeTy, Traits >::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 CloneAndPruneFunctionInto().
| BasicBlock * llvm::CloneBasicBlock | ( | const BasicBlock * | BB, |
| ValueToValueMapTy & | VMap, | ||
| const Twine & | NameSuffix = "", |
||
| Function * | F = nullptr, |
||
| ClonedCodeInfo * | CodeInfo = nullptr |
||
| ) |
CloneBasicBlock - Return a copy of the specified basic block, but without embedding the block into a particular function.
See comments in Cloning.h.
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 39 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, llvm::iplist< NodeTy, Traits >::push_back(), and llvm::Value::setName().
Referenced by CloneFunctionInto(), CloneLoopBlocks(), cloneLoopWithPreheader(), and UnrollLoop().
| Function * llvm::CloneFunction | ( | const Function * | F, |
| ValueToValueMapTy & | VMap, | ||
| bool | ModuleLevelChanges, | ||
| ClonedCodeInfo * | CodeInfo = nullptr |
||
| ) |
CloneFunction - Return a copy of the specified function, but without embedding the function into another module.
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, and debug info metadata will not be cloned.
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 217 of file CloneFunction.cpp.
References llvm::Function::arg_begin(), llvm::Function::arg_end(), CloneDebugInfoMetadata(), 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(), I, and llvm::FunctionType::isVarArg().
| void llvm::CloneFunctionInto | ( | Function * | NewFunc, |
| const Function * | OldFunc, | ||
| ValueToValueMapTy & | VMap, | ||
| bool | ModuleLevelChanges, | ||
| SmallVectorImpl< ReturnInst * > & | Returns, | ||
| const char * | NameSuffix = "", |
||
| ClonedCodeInfo * | CodeInfo = nullptr, |
||
| ValueMapTypeRemapper * | TypeMapper = nullptr, |
||
| ValueMaterializer * | Materializer = nullptr |
||
| ) |
Clone OldFunc into NewFunc, transforming the old arguments into references to VMap values.
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 78 of file CloneFunction.cpp.
References llvm::AttributeSet::addAttributes(), llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::Function::args(), llvm::Function::begin(), CloneBasicBlock(), llvm::Function::copyAttributesFrom(), llvm::ValueMap< KeyT, ValueT, Config >::count(), llvm::Function::end(), llvm::AttributeSet::FunctionIndex, llvm::BlockAddress::get(), llvm::Function::getAttributes(), llvm::Function::getContext(), llvm::AttributeSet::getFnAttributes(), llvm::AttributeSet::getNumSlots(), llvm::AttributeSet::getParamAttributes(), llvm::AttributeSet::getRetAttributes(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::hasAddressTaken(), I, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), RemapInstruction(), llvm::AttributeSet::ReturnIndex, RF_NoModuleLevelChanges, RF_None, and llvm::Function::setAttributes().
Referenced by CloneFunction(), CloneModule(), and llvm::orc::moveFunctionBody().
| Loop * llvm::cloneLoopWithPreheader | ( | BasicBlock * | Before, |
| BasicBlock * | LoopDomBB, | ||
| Loop * | OrigLoop, | ||
| ValueToValueMapTy & | VMap, | ||
| const Twine & | NameSuffix, | ||
| LoopInfo * | LI, | ||
| DominatorTree * | DT, | ||
| SmallVectorImpl< BasicBlock * > & | Blocks | ||
| ) |
Clones a loop OrigLoop.
Returns the loop and the blocks in Blocks.
Updates LoopInfo and DominatorTree assuming the loop is dominated by block LoopDomBB. Insert the new blocks before block specified in Before.
Definition at line 740 of file CloneFunction.cpp.
References llvm::LoopBase< N, M >::addBasicBlockToLoop(), llvm::LoopBase< N, M >::addChildLoop(), llvm::DominatorTreeBase< N >::addNewBlock(), llvm::LoopInfoBase< N, M >::addTopLevelLoop(), CloneBasicBlock(), llvm::Function::end(), F(), llvm::Function::getBasicBlockList(), llvm::DomTreeNodeBase< T >::getBlock(), llvm::LoopBase< N, M >::getBlocks(), llvm::LoopBase< N, M >::getHeader(), llvm::DomTreeNodeBase< T >::getIDom(), llvm::LoopBase< N, M >::getLoopPreheader(), llvm::DominatorTreeBase< N >::getNode(), llvm::LoopBase< N, M >::getParentLoop(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::iplist< NodeTy, Traits >::splice().
Referenced by llvm::LoopVersioning::versionLoop().
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 28 of file CloneModule.cpp.
Referenced by LLVMCloneModule().
| Module * llvm::CloneModule | ( | const Module * | M, |
| ValueToValueMapTy & | VMap | ||
| ) |
Definition at line 35 of file CloneModule.cpp.
References llvm::NamedMDNode::addOperand(), llvm::Module::alias_begin(), llvm::Module::alias_end(), llvm::Function::arg_begin(), llvm::Module::begin(), CloneFunctionInto(), llvm::GlobalVariable::copyAttributesFrom(), llvm::GlobalValue::copyAttributesFrom(), llvm::Function::copyAttributesFrom(), llvm::GlobalAlias::create(), llvm::Function::Create(), llvm::Module::end(), F(), llvm::Module::getContext(), llvm::Module::getDataLayout(), llvm::Module::getModuleIdentifier(), llvm::Module::getModuleInlineAsm(), llvm::NamedMDNode::getName(), llvm::NamedMDNode::getNumOperands(), llvm::NamedMDNode::getOperand(), llvm::Module::getOrInsertNamedMetadata(), llvm::Module::getTargetTriple(), llvm::Module::global_begin(), llvm::Module::global_end(), I, MapMetadata(), MapValue(), llvm::Module::named_metadata_begin(), llvm::Module::named_metadata_end(), llvm::GlobalAlias::setAliasee(), llvm::Module::setDataLayout(), llvm::GlobalVariable::setInitializer(), llvm::Module::setModuleInlineAsm(), llvm::Function::setPersonalityFn(), and llvm::Module::setTargetTriple().
| GlobalVariable * llvm::collectUsedGlobalVariables | ( | Module & | M, |
| SmallPtrSetImpl< GlobalValue * > & | Set, | ||
| bool | CompilerUsed | ||
| ) |
Given "llvm.used" or "llvm.compiler.used" as a global name, collect the initializer elements of that global in Set and return the global itself.
Definition at line 82 of file ModuleUtils.cpp.
References G, llvm::Module::getGlobalVariable(), llvm::GlobalVariable::getInitializer(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::GlobalVariable::hasInitializer(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), and llvm::Value::stripPointerCastsNoFollowAliases().
| void llvm::combineMetadata | ( | Instruction * | K, |
| const Instruction * | J, | ||
| ArrayRef< unsigned > | KnownIDs | ||
| ) |
Combine the metadata of two instructions so that K can replace J.
Metadata not listed as known via KnownIDs is removed
Definition at line 1286 of file Local.cpp.
References llvm::Instruction::dropUnknownMetadata(), llvm::Instruction::getAllMetadataOtherThanDebugLoc(), llvm::Instruction::getMetadata(), llvm::MDNode::getMostGenericAliasScope(), llvm::MDNode::getMostGenericFPMath(), llvm::MDNode::getMostGenericRange(), llvm::MDNode::getMostGenericTBAA(), llvm::MDNode::intersect(), Kind, llvm_unreachable, llvm::LLVMContext::MD_alias_scope, llvm::LLVMContext::MD_dbg, llvm::LLVMContext::MD_fpmath, llvm::LLVMContext::MD_invariant_load, llvm::LLVMContext::MD_noalias, llvm::LLVMContext::MD_nonnull, llvm::LLVMContext::MD_range, llvm::LLVMContext::MD_tbaa, llvm::Instruction::setMetadata(), and llvm::SmallVectorTemplateCommon< T >::size().
Referenced by HoistThenElseCodeToIf(), patchReplacementInstruction(), and llvm::InstCombiner::visitLoadInst().
|
inlinestatic |
Definition at line 28 of file ASanStackFrameLayout.cpp.
References llvm::ASanStackVariableDescription::Alignment.
Referenced by ComputeASanStackFrameLayout().
|
static |
Definition at line 243 of file RuntimeDyld.cpp.
Referenced by llvm::RuntimeDyldImpl::computeTotalAllocSize().
| void llvm::ComputeASanStackFrameLayout | ( | SmallVectorImpl< ASanStackVariableDescription > & | Vars, |
| size_t | Granularity, | ||
| size_t | MinHeaderSize, | ||
| ASanStackFrameLayout * | Layout | ||
| ) |
Definition at line 51 of file ASanStackFrameLayout.cpp.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorImpl< T >::clear(), CompareVars(), llvm::ASanStackFrameLayout::DescriptionString, llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::ASanStackFrameLayout::FrameAlignment, llvm::ASanStackFrameLayout::FrameSize, llvm::SmallVectorImpl< T >::insert(), kAsanStackLeftRedzoneMagic, kAsanStackMidRedzoneMagic, kAsanStackRightRedzoneMagic, kMinAlignment, llvm::ASanStackFrameLayout::ShadowBytes, llvm::SmallVectorTemplateCommon< T >::size(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::raw_svector_ostream::str(), and VarAndRedzoneSize().
| uint64_t llvm::computeBundlePadding | ( | const MCAssembler & | Assembler, |
| const MCFragment * | F, | ||
| uint64_t | FOffset, | ||
| uint64_t | FSize | ||
| ) |
Compute the amount of padding required before the fragment F to obey bundling restrictions, where FOffset is the fragment's offset in its section and FSize is the fragment's size.
Definition at line 222 of file MCAssembler.cpp.
References llvm::MCFragment::alignToBundleEnd(), and llvm::MCAssembler::getBundleAlignSize().
Referenced by llvm::MCAsmLayout::layoutFragment().
|
static |
Definition at line 242 of file RuntimeDyldMachO.cpp.
References llvm::SectionEntry::LoadAddress, and llvm::SectionEntry::ObjAddress.
Referenced by llvm::RuntimeDyldMachOCRTPBase< Impl >::registerEHFrames().
| unsigned llvm::ComputeEditDistance | ( | ArrayRef< T > | FromArray, |
| ArrayRef< T > | ToArray, | ||
| bool | AllowReplacements = true, |
||
| unsigned | MaxEditDistance = 0 |
||
| ) |
Determine the edit distance between two sequences.
| FromArray | the first sequence to compare. |
| ToArray | the second sequence to compare. |
| AllowReplacements | whether to allow element replacements (change one element into another) as a single operation, rather than as two operations (an insertion and a removal). |
| MaxEditDistance | If non-zero, the maximum edit distance that this routine is allowed to compute. If the edit distance will exceed that maximum, returns MaxEditDistance+1. |
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 fuzzer::min(), and llvm::ArrayRef< T >::size().
Referenced by llvm::StringRef::edit_distance().
| void llvm::computeKnownBits | ( | Value * | V, |
| APInt & | KnownZero, | ||
| APInt & | KnownOne, | ||
| const DataLayout & | DL, | ||
| unsigned | Depth = 0, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr, |
||
| const DominatorTree * | DT = nullptr |
||
| ) |
Determine which bits of V are known to be either zero or one and return them in the KnownZero/KnownOne bit sets.
This function is defined on values with integer type, values with pointer type, and vectors of integers. In the case where V is a vector, the 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 133 of file ValueTracking.cpp.
References safeCxtI().
Referenced by computeKnownBits(), llvm::InstCombiner::computeKnownBits(), computeKnownBitsAddSub(), computeKnownBitsFromAssume(), computeKnownBitsFromOperator(), computeKnownBitsFromTrueCondition(), computeKnownBitsMul(), ComputeNumSignBits(), computeOverflowForUnsignedMul(), ComputeSignBit(), EliminateDeadSwitchCases(), llvm::ScalarEvolution::GetMinTrailingZeros(), getOrEnforceKnownAlignment(), haveNoCommonBitsSet(), llvm::SelectionDAG::InferPtrAlignment(), isKnownNonZero(), isKnownToBeAPowerOfTwo(), isZero(), MaskedValueIsZero(), SimplifyICmpInst(), SimplifyRightShift(), SymbolicallyEvaluateBinop(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitCallInst(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitReturnInst(), llvm::InstCombiner::visitSub(), and llvm::InstCombiner::visitSwitchInst().
Compute known bits from the range metadata.
KnownZero the set of bits that are known to be zero
Definition at line 349 of file ValueTracking.cpp.
References countLeadingZeros(), llvm::APInt::getBitWidth(), llvm::APInt::getHighBitsSet(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::ConstantInt::getValue(), and fuzzer::min().
Referenced by llvm::SelectionDAG::computeKnownBits(), and computeKnownBitsFromOperator().
| void llvm::computeLICMSafetyInfo | ( | LICMSafetyInfo * | SafetyInfo, |
| Loop * | CurLoop | ||
| ) |
Computes safety information for a loop checks loop body & header for the possiblity of may throw exception, it takes LICMSafetyInfo and loop as argument.
Computes loop safety information, checks loop body & header for the possiblity of may throw exception.
Updates safety information in LICMSafetyInfo argument.
Definition at line 407 of file LICM.cpp.
References llvm::BasicBlock::begin(), llvm::LoopBase< N, M >::block_begin(), llvm::LoopBase< N, M >::block_end(), llvm::BasicBlock::end(), llvm::LoopBase< N, M >::getHeader(), llvm::LICMSafetyInfo::HeaderMayThrow, I, and llvm::LICMSafetyInfo::MayThrow.
| unsigned llvm::ComputeLinearIndex | ( | Type * | Ty, |
| const unsigned * | Indices, | ||
| const unsigned * | IndicesEnd, | ||
| unsigned | CurIndex = 0 |
||
| ) |
Compute the linearized index of a member in a nested aggregate/struct/array.
Compute the linearized index of a member in a nested aggregate/struct/array by recursing and accumulating CurIndex as long as there are indices in the index list.
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, i.e the number of element in memory before the seeked one. This is disconnected from the number of bytes.
| Ty | is the type indexed by Indices. |
| Indices | is an optional pointer in the indices list to the current index. |
| IndicesEnd | is the end of the indices list. |
| CurIndex | is the current index in the recursion. |
CurIndex plus the linear index in Ty the indices list.Definition at line 36 of file CodeGen/Analysis.cpp.
Referenced by ComputeLinearIndex(), and llvm::FastISel::selectExtractValue().
|
inline |
Definition at line 54 of file CodeGen/Analysis.h.
References llvm::ArrayRef< T >::begin(), ComputeLinearIndex(), and llvm::ArrayRef< T >::end().
| 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.
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.
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 2132 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(), I, llvm::Type::isIntegerTy(), MaxDepth, and llvm::APInt::setBit().
Referenced by computeArraySize().
| unsigned llvm::ComputeNumSignBits | ( | Value * | Op, |
| const DataLayout & | DL, | ||
| unsigned | Depth = 0, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr, |
||
| const DominatorTree * | DT = nullptr |
||
| ) |
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 201 of file ValueTracking.cpp.
References ComputeNumSignBits(), and safeCxtI().
Referenced by ComputeNumSignBits(), llvm::InstCombiner::ComputeNumSignBits(), SimplifyAShrInst(), llvm::InstCombiner::visitSExt(), and llvm::InstCombiner::visitShl().
| OverflowResult llvm::computeOverflowForUnsignedAdd | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| AssumptionCache * | AC, | ||
| const Instruction * | CxtI, | ||
| const DominatorTree * | DT | ||
| ) |
Definition at line 3290 of file ValueTracking.cpp.
References AlwaysOverflows, ComputeSignBit(), MayOverflow, and NeverOverflows.
Referenced by llvm::InstCombiner::computeOverflowForUnsignedAdd(), and llvm::InstCombiner::visitAdd().
| OverflowResult llvm::computeOverflowForUnsignedMul | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| AssumptionCache * | AC, | ||
| const Instruction * | CxtI, | ||
| const DominatorTree * | DT | ||
| ) |
Definition at line 3240 of file ValueTracking.cpp.
References AlwaysOverflows, computeKnownBits(), llvm::APInt::countLeadingOnes(), llvm::Type::getScalarSizeInBits(), llvm::Value::getType(), MayOverflow, NeverOverflows, and llvm::APInt::umul_ov().
Referenced by llvm::InstCombiner::computeOverflowForUnsignedMul(), and llvm::InstCombiner::visitMul().
| void llvm::ComputeSignBit | ( | Value * | V, |
| bool & | KnownZero, | ||
| bool & | KnownOne, | ||
| const DataLayout & | DL, | ||
| unsigned | Depth = 0, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr, |
||
| const DominatorTree * | DT = nullptr |
||
| ) |
ComputeSignBit - Determine whether the sign bit is known to be zero or one.
Convenience wrapper around computeKnownBits.
Definition at line 160 of file ValueTracking.cpp.
References safeCxtI().
Referenced by computeOverflowForUnsignedAdd(), llvm::InstCombiner::ComputeSignBit(), isKnownNonZero(), SimplifyICmpInst(), llvm::InstCombiner::simplifyRangeCheck(), and llvm::InstCombiner::visitSExt().
| 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 528 of file FunctionLoweringInfo.cpp.
References llvm::CallInst::getArgOperand(), llvm::CallInst::getCalledValue(), llvm::Type::getContainedType(), llvm::CallInst::getNumArgOperands(), llvm::Value::getType(), llvm::FunctionType::isVarArg(), post_order(), llvm::MachineModuleInfo::setUsesVAFloatArgument(), and llvm::MachineModuleInfo::usesVAFloatArgument().
Referenced by llvm::FastISel::selectCall().
| void llvm::ComputeValueVTs | ( | const TargetLowering & | TLI, |
| const DataLayout & | DL, | ||
| Type * | Ty, | ||
| SmallVectorImpl< EVT > & | ValueVTs, | ||
| SmallVectorImpl< uint64_t > * | Offsets = nullptr, |
||
| uint64_t | StartingOffset = 0 |
||
| ) |
ComputeValueVTs - Given an LLVM IR type, compute a sequence of EVTs that represent all the individual underlying non-aggregate types that comprise it.
If Offsets is non-null, it points to a vector to be filled in with the in-memory offsets of each of the individual values.
Definition at line 84 of file CodeGen/Analysis.cpp.
References llvm::StructLayout::getElementOffset(), llvm::DataLayout::getStructLayout(), llvm::DataLayout::getTypeAllocSize(), llvm::TargetLoweringBase::getValueType(), llvm::Type::isVoidTy(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by llvm::FunctionLoweringInfo::ComputePHILiveOutRegInfo(), ComputePTXValueVTs(), llvm::FunctionLoweringInfo::CreateRegs(), llvm::NVPTXTargetLowering::getPrototype(), GetReturnInfo(), llvm::SelectionDAGBuilder::getValueImpl(), llvm::NVPTXTargetLowering::LowerCall(), llvm::FastISel::lowerCallTo(), llvm::TargetLowering::LowerCallTo(), llvm::RegsForValue::RegsForValue(), llvm::FastISel::selectExtractValue(), and llvm::FunctionLoweringInfo::set().
Definition at line 917 of file ConstantFold.cpp.
References llvm::APFloat::add(), llvm::APIntOps::And(), llvm::APInt::ashr(), llvm::APFloat::divide(), llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::ConstantFP::get(), llvm::ConstantVector::get(), llvm::ConstantExpr::get(), llvm::UndefValue::get(), llvm::GlobalValue::getAlignment(), llvm::Constant::getAllOnesValue(), llvm::ConstantExpr::getAnd(), llvm::APInt::getBitWidth(), llvm::ConstantExpr::getCompare(), llvm::Value::getContext(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantInt::getFalse(), llvm::CmpInst::getInversePredicate(), llvm::APInt::getLowBitsSet(), llvm::ConstantExpr::getLShr(), llvm::Constant::getNullValue(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), llvm::ConstantExpr::getXor(), llvm::APInt::isAllOnesValue(), llvm::Instruction::isAssociative(), llvm::Instruction::isCommutative(), llvm::Type::isIntegerTy(), llvm::APInt::isMinSignedValue(), Log2_32(), llvm::APInt::lshr(), llvm::PatternMatch::m_APInt(), llvm::PatternMatch::m_One(), llvm::PatternMatch::m_Undef(), llvm::PatternMatch::m_Zero(), llvm::PatternMatch::match(), fuzzer::min(), llvm::APFloat::mod(), llvm::APFloat::multiply(), llvm::APIntOps::Or(), pred, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::APFloat::rmNearestTiesToEven, llvm::APInt::sdiv(), llvm::APInt::shl(), llvm::APInt::srem(), llvm::APFloat::subtract(), T, llvm::APInt::udiv(), llvm::APInt::ult(), llvm::APInt::urem(), and llvm::APIntOps::Xor().
Referenced by llvm::ConstantExpr::get().
| Constant * llvm::ConstantFoldCall | ( | Function * | F, |
| ArrayRef< Constant * > | Operands, | ||
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
ConstantFoldCall - Attempt to constant fold a call to the specified function with the specified arguments, returning null if unsuccessful.
Attempt to constant fold a call to the specified function with the specified arguments, returning null if unsuccessful.
Definition at line 1772 of file ConstantFolding.cpp.
References ConstantFoldScalarCall(), ConstantFoldVectorCall(), llvm::Function::getIntrinsicID(), llvm::Value::getName(), llvm::Function::getReturnType(), llvm::Value::hasName(), and Operands.
Referenced by ConstantFoldInstOperands(), and SimplifyCall().
| opcode | The opcode of the cast |
| V | The source constant |
| DestTy | The destination type |
Definition at line 524 of file ConstantFold.cpp.
References llvm::APFloat::Bogus, llvm::APFloat::convert(), llvm::APFloat::convertFromAPInt(), llvm::APFloat::convertToInteger(), ExtractConstantBytes(), FoldBitCast(), foldConstantCastPair(), 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(), llvm::Type::getFltSemantics(), getFoldedAlignOf(), getFoldedOffsetOf(), getFoldedSizeOf(), llvm::ConstantExpr::getMul(), llvm::Constant::getNullValue(), llvm::APInt::getNullValue(), llvm::ConstantExpr::getPointerCast(), llvm::Type::getPrimitiveSizeInBits(), llvm::GEPOperator::getSourceElementType(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::APFloat::IEEEdouble, llvm::APFloat::IEEEhalf, llvm::APFloat::IEEEquad, llvm::APFloat::IEEEsingle, llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::Type::isFP128Ty(), llvm::Type::isHalfTy(), llvm::Constant::isNullValue(), llvm::ConstantInt::isOne(), llvm::Type::isPPC_FP128Ty(), llvm::Type::isVectorTy(), llvm::Type::isX86_FP80Ty(), llvm::Type::isX86_MMXTy(), llvm_unreachable, llvm::APFloat::opInvalidOp, llvm::APFloat::opOverflow, llvm::APFloat::PPCDoubleDouble, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::APFloat::rmNearestTiesToEven, llvm::APFloat::rmTowardZero, and llvm::APFloat::x87DoubleExtended.
Referenced by getFoldedCast().
| Constant * llvm::ConstantFoldCompareInstOperands | ( | unsigned | Predicate, |
| Constant * | Ops0, | ||
| Constant * | Ops1, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
ConstantFoldCompareInstOperands - Attempt to constant fold a compare instruction (icmp/fcmp) with the specified operands.
Attempt to constant fold a compare instruction (icmp/fcmp) with the specified operands.
If it fails, it returns a constant expression of the specified operands.
Definition at line 1103 of file ConstantFolding.cpp.
References llvm::APIntOps::And(), ConstantFoldInstOperands(), llvm::ConstantExpr::getCompare(), llvm::ConstantExpr::getIntegerCast(), llvm::DataLayout::getIntPtrType(), llvm::Constant::getNullValue(), llvm::Value::getType(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::Constant::isNullValue(), Null, and llvm::APIntOps::Or().
Referenced by ConstantFold(), ConstantFoldConstantExpressionImpl(), ConstantFoldInstruction(), EvaluateExpression(), llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(), getPredicateResult(), SimplifyFCmpInst(), SimplifyICmpInst(), and SimplifyWithOpReplaced().
| Constant * llvm::ConstantFoldCompareInstruction | ( | unsigned short | predicate, |
| Constant * | C1, | ||
| Constant * | C2 | ||
| ) |
Definition at line 1659 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::getCast(), 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::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::CmpInst::isIntPredicate(), llvm::Constant::isNullValue(), llvm::CmpInst::isSigned(), llvm::CmpInst::isTrueWhenEqual(), llvm::CmpInst::isUnordered(), llvm::Type::isVectorTy(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), 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 DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
ConstantFoldConstantExpression - Attempt to fold the constant expression using the specified DataLayout.
Attempt to fold the constant expression using the specified DataLayout.
If successful, the constant result is result is returned, if not, null is returned.
Definition at line 988 of file ConstantFolding.cpp.
References ConstantFoldConstantExpressionImpl().
Referenced by AddReachableCodeToWorklist(), CastGEPIndices(), ConstantFoldInstruction(), emitGlobalConstantImpl(), GetShiftedValue(), llvm::AsmPrinter::lowerConstant(), and SymbolicallyEvaluateGEP().
Attempt to constant fold an extractelement instruction with the specified operands and indices.
The constant result is returned if successful; if not, null is returned.
Definition at line 781 of file ConstantFold.cpp.
References llvm::UndefValue::get(), llvm::Constant::getAggregateElement(), llvm::Constant::getNullValue(), llvm::Value::getType(), llvm::Type::getVectorElementType(), llvm::Type::getVectorNumElements(), and llvm::Constant::isNullValue().
Referenced by llvm::ConstantExpr::getExtractElement(), and SimplifyExtractElementInst().
Attempt to constant fold an extractvalue instruction with the specified operands and indices.
The constant result is returned if successful; if not, null is returned.
Definition at line 871 of file ConstantFold.cpp.
References llvm::ArrayRef< T >::empty(), llvm::Constant::getAggregateElement(), and llvm::ArrayRef< T >::slice().
Referenced by llvm::ConstantExpr::getExtractValue(), and SimplifyExtractValueInst().
| Constant * llvm::ConstantFoldGetElementPtr | ( | Constant * | C, |
| bool | inBounds, | ||
| ArrayRef< Constant * > | Idxs | ||
| ) |
Definition at line 2237 of file ConstantFold.cpp.
References ConstantFoldGetElementPtrImpl(), llvm::Type::getScalarType(), and llvm::Value::getType().
Referenced by llvm::ConstantExpr::getGetElementPtr().
| Constant * llvm::ConstantFoldGetElementPtr | ( | Constant * | C, |
| bool | inBounds, | ||
| ArrayRef< Value * > | Idxs | ||
| ) |
Definition at line 2245 of file ConstantFold.cpp.
References ConstantFoldGetElementPtrImpl(), llvm::Type::getScalarType(), and llvm::Value::getType().
| Constant * llvm::ConstantFoldGetElementPtr | ( | Type * | Ty, |
| Constant * | C, | ||
| bool | inBounds, | ||
| ArrayRef< Constant * > | Idxs | ||
| ) |
Definition at line 2253 of file ConstantFold.cpp.
References ConstantFoldGetElementPtrImpl().
| Constant * llvm::ConstantFoldGetElementPtr | ( | Type * | Ty, |
| Constant * | C, | ||
| bool | inBounds, | ||
| ArrayRef< Value * > | Idxs | ||
| ) |
Definition at line 2259 of file ConstantFold.cpp.
References ConstantFoldGetElementPtrImpl().
| Constant * llvm::ConstantFoldInsertElementInstruction | ( | Constant * | Val, |
| Constant * | Elt, | ||
| Constant * | Idx | ||
| ) |
Definition at line 800 of file ConstantFold.cpp.
References dyn_cast(), llvm::ConstantInt::get(), llvm::ConstantVector::get(), llvm::UndefValue::get(), llvm::Value::getContext(), llvm::ConstantExpr::getExtractElement(), llvm::Type::getInt32Ty(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SmallVectorImpl< T >::reserve().
Referenced by llvm::ConstantExpr::getInsertElement().
| 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 883 of file ConstantFold.cpp.
References llvm::ArrayRef< T >::empty(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::Constant::getAggregateElement(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::ArrayRef< T >::slice(), and llvm::AArch64DB::ST.
Referenced by llvm::ConstantExpr::getInsertValue(), and SimplifyInsertValueInst().
| Constant * llvm::ConstantFoldInstOperands | ( | unsigned | Opcode, |
| Type * | DestTy, | ||
| ArrayRef< Constant * > | Ops, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
ConstantFoldInstOperands - Attempt to constant fold an instruction with the specified operands.
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.
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 1005 of file ConstantFolding.cpp.
References llvm::ArrayRef< T >::back(), Call, canConstantFoldCallTo(), CastGEPIndices(), ConstantFoldCall(), ExtractElement(), F(), FoldBitCast(), llvm::ConstantInt::get(), llvm::ConstantExpr::get(), llvm::ConstantExpr::getAnd(), llvm::ConstantExpr::getCast(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getInsertElement(), llvm::ConstantExpr::getIntegerCast(), llvm::APInt::getLowBitsSet(), llvm::Type::getPointerAddressSpace(), llvm::DataLayout::getPointerTypeSizeInBits(), llvm::Type::getScalarSizeInBits(), llvm::ConstantExpr::getSelect(), llvm::ConstantExpr::getShuffleVector(), llvm::Value::getType(), llvm::Instruction::isBinaryOp(), llvm_unreachable, llvm::MCID::Select, llvm::ArrayRef< T >::size(), llvm::ArrayRef< T >::slice(), SymbolicallyEvaluateBinop(), and SymbolicallyEvaluateGEP().
Referenced by CanShareConstantPoolEntry(), ConstantFold(), ConstantFoldCompareInstOperands(), ConstantFoldConstantExpressionImpl(), ConstantFoldInstruction(), EvaluateExpression(), SimplifyAddInst(), SimplifyAndInst(), SimplifyBinOp(), SimplifyDiv(), SimplifyFAddInst(), SimplifyFMulInst(), SimplifyFSubInst(), SimplifyMulInst(), SimplifyOrInst(), SimplifyRem(), SimplifyShift(), SimplifySubInst(), SimplifyTruncInst(), SimplifyWithOpReplaced(), and SimplifyXorInst().
| Constant * llvm::ConstantFoldInstruction | ( | Instruction * | I, |
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
ConstantFoldInstruction - Try to constant fold the specified instruction.
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 892 of file ConstantFolding.cpp.
References 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(), hoistRegion(), llvm::InstCombiner::run(), and SimplifyInstruction().
| Constant * llvm::ConstantFoldLoadFromConstPtr | ( | Constant * | C, |
| const DataLayout & | DL | ||
| ) |
ConstantFoldLoadFromConstPtr - Return the value that a load from C would produce if it is constant and determinable.
Return the value that a load from C would produce if it is constant and determinable.
If this is not determinable, return null.
Definition at line 528 of file ConstantFolding.cpp.
References ConstantFoldLoadThroughBitcast(), ConstantFoldLoadThroughGEPConstantExpr(), dyn_cast(), llvm::StringRef::empty(), FoldReinterpretLoadFromConstPtr(), llvm::ConstantInt::get(), llvm::UndefValue::get(), llvm::ConstantExpr::getBitCast(), getConstantStringInfo(), llvm::Value::getContext(), llvm::Constant::getNullValue(), llvm::ConstantExpr::getOpcode(), llvm::User::getOperand(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), GetUnderlyingObject(), llvm::Type::isFloatingPointTy(), llvm::DataLayout::isLittleEndian(), llvm::StringRef::size(), and llvm::tgtok::StrVal.
Referenced by AnalyzeLoadFromClobberingMemInst(), ConstantFoldLoadInst(), ConstantFoldLoadThroughBitcast(), EvaluateExpression(), getMemCmpLoad(), GetMemInstValueForLoad(), and SimplifyWithOpReplaced().
| 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.
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 1188 of file ConstantFolding.cpp.
References llvm::Constant::getAggregateElement(), llvm::User::getNumOperands(), and llvm::User::getOperand().
Referenced by CleanupConstantGlobalUsers(), ConstantFoldLoadFromConstPtr(), and isSimpleEnoughPointerToCommit().
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.
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 1206 of file ConstantFolding.cpp.
References llvm::Constant::getAggregateElement(), and llvm::ArrayRef< T >::size().
Definition at line 726 of file ConstantFold.cpp.
References dyn_cast(), llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::ConstantVector::get(), llvm::ConstantExpr::getExtractElement(), llvm::User::getOperand(), llvm::ConstantExpr::getSelect(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::Constant::isAllOnesValue(), llvm::Constant::isNullValue(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::MCID::Select, llvm::SmallVectorTemplateCommon< T >::size(), and llvm::NVPTX::PTXLdStInstCode::V2.
Referenced by llvm::ConstantExpr::getSelect().
| Constant * llvm::ConstantFoldShuffleVectorInstruction | ( | Constant * | V1, |
| Constant * | V2, | ||
| Constant * | Mask | ||
| ) |
Definition at line 830 of file ConstantFold.cpp.
References llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::VectorType::get(), llvm::ConstantVector::get(), llvm::UndefValue::get(), llvm::Value::getContext(), llvm::ConstantExpr::getExtractElement(), llvm::ShuffleVectorInst::getMaskValue(), llvm::Value::getType(), llvm::Type::getVectorElementType(), llvm::Type::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by llvm::ConstantExpr::getShuffleVector().
| bool llvm::ConstantFoldTerminator | ( | BasicBlock * | BB, |
| bool | DeleteDeadConditions = false, |
||
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
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 64 of file Local.cpp.
References llvm::dwarf::syntax::Address, llvm::SmallVectorTemplateCommon< T >::back(), 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::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::BasicBlock::getTerminator(), llvm::ConstantInt::getValue(), llvm::APInt::getZExtValue(), llvm::LLVMContext::MD_prof, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), RecursivelyDeleteTriviallyDeadInstructions(), llvm::BasicBlock::removePredecessor(), llvm::Instruction::setMetadata(), SI, and std::swap().
Referenced by CloneAndPruneIntoFromInst(), and markAliveBlocks().
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 1935 of file ARMBaseInstrInfo.cpp.
References AddSubFlagsOpcodeMap, array_lengthof(), and AddSubFlagsOpcodePair::MachineOpc.
Referenced by llvm::ARMTargetLowering::AdjustInstrPostInstrSelection(), and llvm::ARMAsmPrinter::EmitInstruction().
Definition at line 63 of file ConvertUTFWrapper.cpp.
References conversionOK, ConvertUTF32toUTF8(), llvm::Sched::Source, and strictConversion.
| int llvm::ConvertCostTableLookup | ( | const TypeConversionCostTblEntry< TypeTy > * | Tbl, |
| unsigned | len, | ||
| int | ISD, | ||
| CompareTy | Dst, | ||
| CompareTy | Src | ||
| ) |
Find in type conversion cost table, TypeTy must be comparable to CompareTy by ==.
Definition at line 59 of file CostTable.h.
Referenced by ConvertCostTableLookup(), llvm::X86TTIImpl::getCastInstrCost(), llvm::ARMTTIImpl::getCastInstrCost(), llvm::ARMTTIImpl::getCmpSelInstrCost(), and llvm::AArch64TTIImpl::getCmpSelInstrCost().
| int llvm::ConvertCostTableLookup | ( | const TypeConversionCostTblEntry< TypeTy >(&) | Tbl[N], |
| int | ISD, | ||
| CompareTy | Dst, | ||
| CompareTy | Src | ||
| ) |
Find in type conversion cost table, TypeTy must be comparable to CompareTy by ==.
Definition at line 73 of file CostTable.h.
References ConvertCostTableLookup().
| bool llvm::ConvertDebugDeclareToDebugValue | ( | DbgDeclareInst * | DDI, |
| StoreInst * | SI, | ||
| DIBuilder & | Builder | ||
| ) |
===---------------------------------------------------------------——===// Dbg Intrinsic utilities
Inserts a llvm.dbg.value intrinsic before a store to an alloca'd value that has an associated llvm.dbg.decl intrinsic.
Definition at line 979 of file Local.cpp.
References dyn_cast(), llvm::Instruction::getDebugLoc(), llvm::DbgDeclareInst::getExpression(), llvm::User::getOperand(), llvm::DbgDeclareInst::getVariable(), llvm::DIBuilder::insertDbgValueIntrinsic(), and LdStHasDebugValue().
Referenced by LowerDbgDeclare(), promoteSingleBlockAlloca(), and rewriteSingleStoreAlloca().
| bool llvm::ConvertDebugDeclareToDebugValue | ( | DbgDeclareInst * | DDI, |
| LoadInst * | LI, | ||
| DIBuilder & | Builder | ||
| ) |
Inserts a llvm.dbg.value intrinsic before a load of an alloca'd value that has an associated llvm.dbg.decl intrinsic.
Definition at line 1006 of file Local.cpp.
References llvm::Instruction::getDebugLoc(), llvm::DbgDeclareInst::getExpression(), llvm::User::getOperand(), llvm::DbgDeclareInst::getVariable(), llvm::DIBuilder::insertDbgValueIntrinsic(), and LdStHasDebugValue().
| bool llvm::convertUTF16ToUTF8String | ( | ArrayRef< char > | SrcBytes, |
| std::string & | Out | ||
| ) |
Definition at line 84 of file ConvertUTFWrapper.cpp.
References llvm::ArrayRef< T >::begin(), conversionOK, ConvertUTF16toUTF8(), llvm::ArrayRef< T >::empty(), llvm::ArrayRef< T >::end(), I, llvm::ArrayRef< T >::size(), strictConversion, llvm::sys::SwapByteOrder_16(), targetExhausted, UNI_MAX_UTF8_BYTES_PER_CODE_POINT, UNI_UTF16_BYTE_ORDER_MARK_NATIVE, and UNI_UTF16_BYTE_ORDER_MARK_SWAPPED.
Referenced by ExpandResponseFile(), llvm::DIASourceFile::getFileName(), and llvm::DIADataStream::getName().
Definition at line 133 of file ConvertUTFWrapper.cpp.
References llvm::StringRef::begin(), llvm::SmallVectorImpl< T >::clear(), conversionOK, ConvertUTF8toUTF16(), llvm::SmallVectorBase::empty(), llvm::StringRef::empty(), llvm::StringRef::end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorImpl< T >::resize(), llvm::StringRef::size(), llvm::SmallVectorTemplateCommon< T >::size(), strictConversion, and targetExhausted.
Referenced by llvm::DIASession::createFromExe(), llvm::DIASession::createFromPdb(), llvm::DIARawSymbol::findChildren(), and llvm::DIARawSymbol::findChildrenByRVA().
| bool llvm::ConvertUTF8toWide | ( | unsigned | WideCharWidth, |
| llvm::StringRef | Source, | ||
| char *& | ResultPtr, | ||
| const UTF8 *& | ErrorPtr | ||
| ) |
Definition at line 17 of file ConvertUTFWrapper.cpp.
References llvm::StringRef::begin(), conversionOK, ConvertUTF8toUTF16(), ConvertUTF8toUTF32(), llvm::StringRef::data(), llvm::StringRef::end(), isLegalUTF8String(), llvm::StringRef::size(), sourceIllegal, strictConversion, and targetExhausted.
| int llvm::CostTableLookup | ( | const CostTblEntry< TypeTy > * | Tbl, |
| unsigned | len, | ||
| int | ISD, | ||
| CompareTy | Ty | ||
| ) |
Find in cost table, TypeTy must be comparable to CompareTy by ==.
Definition at line 30 of file CostTable.h.
Referenced by CostTableLookup(), llvm::X86TTIImpl::getArithmeticInstrCost(), llvm::ARMTTIImpl::getArithmeticInstrCost(), llvm::ARMTTIImpl::getCastInstrCost(), llvm::X86TTIImpl::getCmpSelInstrCost(), llvm::X86TTIImpl::getReductionCost(), and llvm::ARMTTIImpl::getShuffleCost().
| int llvm::CostTableLookup | ( | const CostTblEntry< TypeTy >(&) | Tbl[N], |
| int | ISD, | ||
| CompareTy | Ty | ||
| ) |
Find in cost table, TypeTy must be comparable to CompareTy by ==.
Definition at line 42 of file CostTable.h.
References CostTableLookup().
| std::size_t llvm::countLeadingOnes | ( | T | Value, |
| ZeroBehavior | ZB = ZB_Width |
||
| ) |
Count the number of ones from the most significant bit to the first zero bit.
Ex. CountLeadingOnes(0xFF0FFF00) == 8. Only unsigned integral types are allowed.
| ZB | the behavior on an input of all ones. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 391 of file MathExtras.h.
References countLeadingZeros().
Referenced by llvm::APInt::countLeadingOnes(), llvm::UnwindOpcodeAssembler::EmitVFPRegSave(), isSeveralBitsExtractOpFromShr(), and llvm::AArch64_AM::processLogicalImmediate().
| std::size_t llvm::countLeadingZeros | ( | T | Val, |
| ZeroBehavior | ZB = ZB_Width |
||
| ) |
Count number of 0's from the most significant bit to the least stopping at the first 1.
Only unsigned integral types are allowed.
| ZB | the behavior on an input of 0. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 178 of file MathExtras.h.
Referenced by CheckForMaskedLoad(), llvm::SelectionDAG::computeKnownBits(), computeKnownBitsAddSub(), computeKnownBitsFromRangeMetadata(), countLeadingOnes(), llvm::APInt::countLeadingZeros(), llvm::ScaledNumberBase::countLeadingZeros32(), llvm::ScaledNumberBase::countLeadingZeros64(), llvm::AArch64_AM::decodeLogicalImmediate(), llvm::ScaledNumbers::divide32(), llvm::ScaledNumbers::divide64(), llvm::UnwindOpcodeAssembler::EmitVFPRegSave(), findLastSet(), FitWeights(), FoldMaskAndShiftToScale(), llvm::ScaledNumbers::getAdjusted(), llvm::AArch64TTIImpl::getIntImmCost(), llvm::ScaledNumbers::getLgImpl(), llvm::ARM_AM::getT2SOImmValRotateVal(), getTestUnderMaskCond(), isRunOfOnes(), llvm::AArch64_AM::isValidDecodeLogicalImmediate(), KnuthDiv(), Log2_32(), Log2_32_Ceil(), Log2_64(), Log2_64_Ceil(), llvm::ScaledNumbers::matchScales(), llvm::ScaledNumbers::multiply64(), llvm::BlockFrequencyInfoImplBase::Distribution::normalize(), llvm::raw_ostream::operator<<(), PerformBFICombine(), PowerOf2Floor(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::ConstantRange::shl(), and llvm::AArch64TargetLowering::shouldConvertConstantLoadToIntImm().
|
static |
Definition at line 24 of file MCWin64EH.cpp.
References I, llvm::Win64EH::UOP_AllocLarge, llvm::Win64EH::UOP_AllocSmall, llvm::Win64EH::UOP_PushMachFrame, llvm::Win64EH::UOP_PushNonVol, llvm::Win64EH::UOP_SaveNonVol, llvm::Win64EH::UOP_SaveNonVolBig, llvm::Win64EH::UOP_SaveXMM128, llvm::Win64EH::UOP_SaveXMM128Big, and llvm::Win64EH::UOP_SetFPReg.
Referenced by EmitUnwindInfo().
Count the number of set bits in a value.
Ex. countPopulation(0xF000F000) = 8 Returns 0 if the word is zero.
Definition at line 449 of file MathExtras.h.
Referenced by llvm::BitVector::count(), llvm::SparseBitVectorElement< ElementSize >::count(), llvm::SmallBitVector::count(), llvm::APInt::countPopulation(), llvm::SystemZSelectionDAGInfo::EmitTargetCodeForMemset(), ExpandPowI(), HexagonBid::HexagonBid(), isShiftedMask(), llvm::HexagonResource::lessUnits(), llvm::HexagonTargetLowering::LowerCTPOP(), PerformAndCombine(), llvm::HexagonResource::setWeight(), and llvm::SelectionDAGBuilder::visitBitTestCase().
| std::size_t llvm::countTrailingOnes | ( | T | Value, |
| ZeroBehavior | ZB = ZB_Width |
||
| ) |
Count the number of ones from the least significant bit to the first zero bit.
Ex. countTrailingOnes(0x00FF00FF) == 8. Only unsigned integral types are allowed.
| ZB | the behavior on an input of all ones. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 407 of file MathExtras.h.
References countTrailingZeros().
Referenced by CheckForMaskedLoad(), llvm::APInt::countTrailingOnes(), llvm::UnwindOpcodeAssembler::EmitRegSave(), FoldMaskAndShiftToScale(), isBitfieldPositioningOp(), llvm::AArch64_AM::processLogicalImmediate(), and llvm::SelectionDAGBuilder::visitBitTestCase().
| std::size_t llvm::countTrailingZeros | ( | T | Val, |
| ZeroBehavior | ZB = ZB_Width |
||
| ) |
Count number of 0's from the least significant bit to the most stopping at the first 1.
Only unsigned integral types are allowed.
| ZB | the behavior on an input of 0. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 109 of file MathExtras.h.
Referenced by llvm::BitSetBuilder::build(), llvm::PPCTargetLowering::BuildSDIVPow2(), CheckForMaskedLoad(), CollectBSwapParts(), computeKnownBits(), computeKnownBitsFromOperator(), countTrailingOnes(), llvm::APInt::countTrailingZeros(), llvm::object::ObjectFile::createELFObjectFile(), decodeCRBitMOperand(), llvm::ScaledNumbers::divide64(), dumpApplePropertyAttribute(), emitAligningInstructions(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SparseBitVectorElement< ElementSize >::find_first(), llvm::BitVector::find_first(), llvm::SmallBitVector::find_first(), llvm::SparseBitVectorElement< ElementSize >::find_next(), llvm::BitVector::find_next(), llvm::SmallBitVector::find_next(), findFirstSet(), firstCommonClass(), FoldMaskAndShiftToScale(), llvm::TargetRegisterInfo::getAllocatableClass(), llvm::ARM_AM::getSOImmValRotate(), llvm::ARM_AM::getT2SOImmValRotate(), getTestUnderMaskCond(), llvm::ARM_AM::getThumbImm16ValShift(), llvm::ARM_AM::getThumbImmValShift(), isBitfieldPositioningOp(), isShiftedMask(), PerformBFICombine(), PerformORCombine(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::ARMInstPrinter::printThumbITMask(), llvm::AArch64_AM::processLogicalImmediate(), llvm::HexagonResource::setWeight(), TypeSizeToSizeIndex(), and llvm::SelectionDAGBuilder::visitBitTestCase().
| const std::error_category & llvm::coveragemap_category | ( | ) |
Definition at line 528 of file CoverageMapping.cpp.
References ErrorCategory.
Referenced by make_error_code().
| FunctionPass * llvm::createA15SDOptimizerPass | ( | ) |
Definition at line 718 of file A15SDOptimizer.cpp.
| aa Exhaustive Alias Analysis Precision true FunctionPass * llvm::createAAEvalPass | ( | ) |
Definition at line 88 of file AliasAnalysisEvaluator.cpp.
| FunctionPass * llvm::createAArch64A53Fix835769 | ( | ) |
Definition at line 234 of file AArch64A53Fix835769.cpp.
| FunctionPass * llvm::createAArch64A57FPLoadBalancing | ( | ) |
Definition at line 734 of file AArch64A57FPLoadBalancing.cpp.
| aarch64 type AArch64 Type Promotion false FunctionPass * llvm::createAArch64AddressTypePromotionPass | ( | ) |
Definition at line 151 of file AArch64AddressTypePromotion.cpp.
| FunctionPass * llvm::createAArch64AdvSIMDScalar | ( | ) |
Definition at line 391 of file AArch64AdvSIMDScalarPass.cpp.
| MCTargetStreamer * llvm::createAArch64AsmTargetStreamer | ( | MCStreamer & | S, |
| formatted_raw_ostream & | OS, | ||
| MCInstPrinter * | InstPrint, | ||
| bool | isVerboseAsm | ||
| ) |
Definition at line 183 of file AArch64ELFStreamer.cpp.
Referenced by LLVMInitializeAArch64TargetMC().
| MCAsmBackend * llvm::createAArch64beAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 534 of file AArch64AsmBackend.cpp.
References llvm::Triple::getOS(), llvm::MCELFObjectTargetWriter::getOSABI(), and llvm::Triple::isOSBinFormatELF().
Referenced by LLVMInitializeAArch64TargetMC().
| FunctionPass * llvm::createAArch64BranchRelaxation | ( | ) |
createAArch64BranchRelaxation - returns an instance of the constpool island pass.
Definition at line 509 of file AArch64BranchRelaxation.cpp.
| FunctionPass * llvm::createAArch64CleanupLocalDynamicTLSPass | ( | ) |
Definition at line 141 of file AArch64CleanupLocalDynamicTLSPass.cpp.
| FunctionPass * llvm::createAArch64CollectLOHPass | ( | ) |
createAArch64CollectLOHPass - returns an instance of the Statistic for linker optimization pass.
Definition at line 1095 of file AArch64CollectLOH.cpp.
| aarch64 AArch64 CCMP false FunctionPass * llvm::createAArch64ConditionalCompares | ( | ) |
Definition at line 768 of file AArch64ConditionalCompares.cpp.
| aarch64 AArch64 CondOpt false FunctionPass * llvm::createAArch64ConditionOptimizerPass | ( | ) |
Definition at line 124 of file AArch64ConditionOptimizer.cpp.
| FunctionPass * llvm::createAArch64DeadRegisterDefinitions | ( | ) |
Definition at line 133 of file AArch64DeadRegisterDefinitionsPass.cpp.
| MCObjectWriter * llvm::createAArch64ELFObjectWriter | ( | raw_pwrite_stream & | OS, |
| uint8_t | OSABI, | ||
| bool | IsLittleEndian | ||
| ) |
Definition at line 251 of file AArch64ELFObjectWriter.cpp.
References createELFObjectWriter().
| MCELFStreamer * llvm::createAArch64ELFStreamer | ( | MCContext & | Context, |
| MCAsmBackend & | TAB, | ||
| raw_pwrite_stream & | OS, | ||
| MCCodeEmitter * | Emitter, | ||
| bool | RelaxAll | ||
| ) |
Definition at line 190 of file AArch64ELFStreamer.cpp.
Referenced by createELFStreamer().
| FunctionPass * llvm::createAArch64ExpandPseudoPass | ( | ) |
Returns an instance of the pseudo instruction expansion pass.
Definition at line 738 of file AArch64ExpandPseudoInsts.cpp.
| FunctionPass * llvm::createAArch64ISelDag | ( | AArch64TargetMachine & | TM, |
| CodeGenOpt::Level | OptLevel | ||
| ) |
createAArch64ISelDag - This pass converts a legalized DAG into a AArch64-specific DAG, ready for instruction scheduling.
Definition at line 3242 of file AArch64ISelDAGToDAG.cpp.
| MCAsmBackend * llvm::createAArch64leAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 522 of file AArch64AsmBackend.cpp.
References llvm::Triple::getOS(), llvm::MCELFObjectTargetWriter::getOSABI(), llvm::Triple::isOSBinFormatELF(), and llvm::Triple::isOSBinFormatMachO().
Referenced by LLVMInitializeAArch64TargetMC().
| FunctionPass * llvm::createAArch64LoadStoreOptimizationPass | ( | ) |
createARMLoadStoreOptimizationPass - returns an instance of the load / store optimization pass.
Definition at line 1100 of file AArch64LoadStoreOptimizer.cpp.
| MCObjectWriter * llvm::createAArch64MachObjectWriter | ( | raw_pwrite_stream & | OS, |
| uint32_t | CPUType, | ||
| uint32_t | CPUSubtype | ||
| ) |
Definition at line 407 of file AArch64MachObjectWriter.cpp.
References createMachObjectWriter().
| MCCodeEmitter * llvm::createAArch64MCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 195 of file AArch64MCCodeEmitter.cpp.
Referenced by LLVMInitializeAArch64TargetMC().
| MCTargetStreamer * llvm::createAArch64ObjectTargetStreamer | ( | MCStreamer & | S, |
| const MCSubtargetInfo & | STI | ||
| ) |
Definition at line 200 of file AArch64ELFStreamer.cpp.
References llvm::MCSubtargetInfo::getTargetTriple(), and llvm::Triple::isOSBinFormatELF().
Referenced by LLVMInitializeAArch64TargetMC().
| aarch64 promote AArch64 Promote Constant false ModulePass * llvm::createAArch64PromoteConstantPass | ( | ) |
Definition at line 216 of file AArch64PromoteConstant.cpp.
| FunctionPass * llvm::createAArch64StorePairSuppressPass | ( | ) |
Definition at line 62 of file AArch64StorePairSuppress.cpp.
| FunctionPass * llvm::createAddDiscriminatorsPass | ( | ) |
Definition at line 96 of file AddDiscriminators.cpp.
| AddressSanitizer false FunctionPass * llvm::createAddressSanitizerFunctionPass | ( | bool | CompileKernel = false | ) |
Definition at line 704 of file AddressSanitizer.cpp.
| ModulePass* llvm::createAddressSanitizerModulePass | ( | bool | CompileKernel = false | ) |
| FunctionPass * llvm::createAggressiveDCEPass | ( | ) |
Definition at line 97 of file ADCE.cpp.
Referenced by LLVMAddAggressiveDCEPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| ModulePass* llvm::createAliasAnalysisCounterPass | ( | ) |
| Pass* llvm::createAliasDebugger | ( | ) |
| false FunctionPass * llvm::createAlignmentFromAssumptionsPass | ( | ) |
Definition at line 91 of file AlignmentFromAssumptions.cpp.
Referenced by LLVMAddAlignmentFromAssumptionsPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| FunctionPass* llvm::createAllocaHoisting | ( | ) |
createAlwaysInlinerPass - Return a new pass object that inlines only functions that are marked as "always_inline".
Definition at line 77 of file InlineAlways.cpp.
Referenced by LLVMAddAlwaysInlinerPass().
Definition at line 79 of file InlineAlways.cpp.
| ModulePass * llvm::createAMDGPUAlwaysInlinePass | ( | ) |
Definition at line 62 of file AMDGPUAlwaysInlinePass.cpp.
| MCAsmBackend * llvm::createAMDGPUAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 143 of file AMDGPUAsmBackend.cpp.
References llvm::Triple::amdgcn, and llvm::Triple::getArch().
Referenced by LLVMInitializeAMDGPUTargetMC().
| AMDGPU CFG false FunctionPass * llvm::createAMDGPUCFGStructurizerPass | ( | ) |
Definition at line 1900 of file AMDILCFGStructurizer.cpp.
| MCObjectWriter * llvm::createAMDGPUELFObjectWriter | ( | bool | Is64Bit, |
| raw_pwrite_stream & | OS | ||
| ) |
Definition at line 37 of file AMDGPUELFObjectWriter.cpp.
References createELFObjectWriter().
| FunctionPass * llvm::createAMDGPUISelDag | ( | TargetMachine & | tm | ) |
This pass converts a legalized DAG into a AMDGPU-specific.
Definition at line 140 of file AMDGPUISelDAGToDAG.cpp.
| FunctionPass * llvm::createAMDGPUPromoteAlloca | ( | const AMDGPUSubtarget & | ST | ) |
Definition at line 405 of file AMDGPUPromoteAlloca.cpp.
| Pass* llvm::createAMDGPUStructurizeCFGPass | ( | ) |
| 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 105 of file ArgumentPromotion.cpp.
Referenced by LLVMAddArgumentPromotionPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| MCAsmBackend * llvm::createARMAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU, | ||
| bool | IsLittleEndian | ||
| ) |
Definition at line 746 of file ARMAsmBackend.cpp.
References llvm::StringSwitch< T, R >::Cases(), llvm::Triple::COFF, llvm::MachO::CPU_SUBTYPE_ARM_V4T, llvm::MachO::CPU_SUBTYPE_ARM_V5TEJ, llvm::MachO::CPU_SUBTYPE_ARM_V6, llvm::MachO::CPU_SUBTYPE_ARM_V6M, llvm::MachO::CPU_SUBTYPE_ARM_V7, llvm::MachO::CPU_SUBTYPE_ARM_V7EM, llvm::MachO::CPU_SUBTYPE_ARM_V7K, llvm::MachO::CPU_SUBTYPE_ARM_V7M, llvm::MachO::CPU_SUBTYPE_ARM_V7S, CS, llvm::StringSwitch< T, R >::Default(), llvm::Triple::ELF, llvm::Triple::getArchName(), llvm::Triple::getObjectFormat(), llvm::Triple::getOS(), llvm::MCELFObjectTargetWriter::getOSABI(), llvm::Triple::isOSBinFormatELF(), llvm::Triple::isOSWindows(), llvm_unreachable, and llvm::Triple::MachO.
Referenced by createARMBEAsmBackend(), createARMLEAsmBackend(), createThumbBEAsmBackend(), and createThumbLEAsmBackend().
| MCAsmBackend * llvm::createARMBEAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 784 of file ARMAsmBackend.cpp.
References createARMAsmBackend().
Referenced by LLVMInitializeARMTargetMC().
| MCCodeEmitter * llvm::createARMBEMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 448 of file ARMMCCodeEmitter.cpp.
Referenced by LLVMInitializeARMTargetMC().
| FunctionPass * llvm::createARMConstantIslandPass | ( | ) |
createARMConstantIslandPass - returns an instance of the constpool island pass.
Definition at line 384 of file ARMConstantIslandPass.cpp.
| MCObjectWriter * llvm::createARMELFObjectWriter | ( | raw_pwrite_stream & | OS, |
| uint8_t | OSABI, | ||
| bool | IsLittleEndian | ||
| ) |
Construct an ELF Mach-O object writer.
Definition at line 254 of file ARMELFObjectWriter.cpp.
References createELFObjectWriter().
| MCELFStreamer * llvm::createARMELFStreamer | ( | MCContext & | Context, |
| MCAsmBackend & | TAB, | ||
| raw_pwrite_stream & | OS, | ||
| MCCodeEmitter * | Emitter, | ||
| bool | RelaxAll, | ||
| bool | IsThumb | ||
| ) |
Definition at line 1370 of file ARMELFStreamer.cpp.
References llvm::ELF::EF_ARM_EABI_VER5.
Referenced by createELFStreamer().
| FunctionPass * llvm::createARMExpandPseudoPass | ( | ) |
createARMExpandPseudoPass - returns an instance of the pseudo instruction expansion pass.
Definition at line 1365 of file ARMExpandPseudoInsts.cpp.
| FunctionPass * llvm::createARMGlobalBaseRegPass | ( | ) |
Definition at line 205 of file ARMInstrInfo.cpp.
| 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 3966 of file ARMISelDAGToDAG.cpp.
| MCAsmBackend * llvm::createARMLEAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 778 of file ARMAsmBackend.cpp.
References createARMAsmBackend().
Referenced by LLVMInitializeARMTargetMC().
| MCCodeEmitter * llvm::createARMLEMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 442 of file ARMMCCodeEmitter.cpp.
Referenced by LLVMInitializeARMTargetMC().
| FunctionPass * llvm::createARMLoadStoreOptimizationPass | ( | bool | PreAlloc = false | ) |
Returns an instance of the load / store optimization pass.
Definition at line 2273 of file ARMLoadStoreOptimizer.cpp.
| MCObjectWriter * llvm::createARMMachObjectWriter | ( | raw_pwrite_stream & | OS, |
| bool | Is64Bit, | ||
| uint32_t | CPUType, | ||
| uint32_t | CPUSubtype | ||
| ) |
Construct an ARM Mach-O object writer.
Definition at line 466 of file ARMMachObjectWriter.cpp.
References createMachObjectWriter().
| MCRelocationInfo * llvm::createARMMachORelocationInfo | ( | MCContext & | Ctx | ) |
Construct ARM Mach-O relocation info.
createARMMachORelocationInfo - Construct an ARM Mach-O RelocationInfo.
Definition at line 41 of file ARMMachORelocationInfo.cpp.
Referenced by createARMMCRelocationInfo().
| MCTargetStreamer * llvm::createARMNullTargetStreamer | ( | MCStreamer & | S | ) |
Definition at line 1358 of file ARMELFStreamer.cpp.
Referenced by LLVMInitializeARMTargetMC().
| MCTargetStreamer * llvm::createARMObjectTargetStreamer | ( | MCStreamer & | S, |
| const MCSubtargetInfo & | STI | ||
| ) |
Definition at line 1362 of file ARMELFStreamer.cpp.
References llvm::MCSubtargetInfo::getTargetTriple(), and llvm::Triple::isOSBinFormatELF().
Referenced by LLVMInitializeARMTargetMC().
| FunctionPass * llvm::createARMOptimizeBarriersPass | ( | ) |
createARMOptimizeBarriersPass - Returns an instance of the remove double barriers pass.
Definition at line 97 of file ARMOptimizeBarriersPass.cpp.
| MCTargetStreamer * llvm::createARMTargetAsmStreamer | ( | MCStreamer & | S, |
| formatted_raw_ostream & | OS, | ||
| MCInstPrinter * | InstPrint, | ||
| bool | isVerboseAsm | ||
| ) |
Definition at line 1351 of file ARMELFStreamer.cpp.
Referenced by LLVMInitializeARMTargetMC().
| MCObjectWriter * llvm::createARMWinCOFFObjectWriter | ( | raw_pwrite_stream & | OS, |
| bool | Is64Bit | ||
| ) |
Construct an ARM PE/COFF object writer.
Definition at line 85 of file ARMWinCOFFObjectWriter.cpp.
References createWinCOFFObjectWriter().
| MCStreamer * llvm::createARMWinCOFFStreamer | ( | MCContext & | Context, |
| MCAsmBackend & | MAB, | ||
| raw_pwrite_stream & | OS, | ||
| MCCodeEmitter * | Emitter, | ||
| bool | RelaxAll | ||
| ) |
Definition at line 40 of file ARMWinCOFFStreamer.cpp.
Referenced by LLVMInitializeARMTargetMC().
| MCStreamer * llvm::createAsmStreamer | ( | MCContext & | Ctx, |
| std::unique_ptr< formatted_raw_ostream > | OS, | ||
| bool | isVerboseAsm, | ||
| bool | useDwarfDirectory, | ||
| MCInstPrinter * | InstPrint, | ||
| MCCodeEmitter * | CE, | ||
| MCAsmBackend * | TAB, | ||
| bool | ShowInst | ||
| ) |
Create a machine code streamer which will print out assembly for the native target, suitable for compiling with a native assembler.
| 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. |
Definition at line 1365 of file MCAsmStreamer.cpp.
Referenced by llvm::Target::createAsmStreamer().
| FunctionPass* llvm::createAtomicExpandPass | ( | const TargetMachine * | TM | ) |
| ModulePass * llvm::createBarrierNoopPass | ( | ) |
createBarrierNoopPass - This pass is purely a module pass barrier in a pass manager.
Definition at line 43 of file BarrierNoopPass.cpp.
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
| Basic Alias false ImmutablePass * llvm::createBasicAliasAnalysisPass | ( | ) |
Definition at line 579 of file BasicAliasAnalysis.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses(), and LLVMAddBasicAliasAnalysisPass().
| FunctionPass * llvm::createBasicRegisterAllocator | ( | ) |
BasicRegisterAllocation Pass - This pass implements a degenerate global register allocator using the basic regalloc framework.
Definition at line 294 of file RegAllocBasic.cpp.
| BasicBlockPass * llvm::createBBVectorizePass | ( | const VectorizeConfig & | C = VectorizeConfig() | ) |
Definition at line 3206 of file BBVectorize.cpp.
Referenced by LLVMAddBBVectorizePass(), and llvm::PassManagerBuilder::populateModulePassManager().
| ModulePass * llvm::createBitcodeWriterPass | ( | raw_ostream & | Str, |
| bool | ShouldPreserveUseListOrder = false |
||
| ) |
Create and return a pass that writes the module to the specified ostream.
Note that this pass is designed for use with the legacy pass manager.
If ShouldPreserveUseListOrder, encode use-list order so it can be reproduced when deserialized.
Definition at line 48 of file BitcodeWriterPass.cpp.
| FunctionPass * llvm::createBitTrackingDCEPass | ( | ) |
Definition at line 407 of file BDCE.cpp.
Referenced by LLVMAddBitTrackingDCEPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| ModulePass* llvm::createBlockExtractorPass | ( | ) |
createBlockExtractorPass - This pass extracts all blocks (except those specified in the argument list) from the functions in the module.
| FunctionPass * llvm::createBoundsCheckingPass | ( | ) |
Definition at line 211 of file BoundsChecking.cpp.
| MCAsmBackend * llvm::createBPFAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 89 of file BPFAsmBackend.cpp.
Referenced by LLVMInitializeBPFTargetMC().
| MCAsmBackend * llvm::createBPFbeAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 95 of file BPFAsmBackend.cpp.
Referenced by LLVMInitializeBPFTargetMC().
| MCCodeEmitter * llvm::createBPFbeMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 69 of file BPFMCCodeEmitter.cpp.
Referenced by LLVMInitializeBPFTargetMC().
| MCObjectWriter * llvm::createBPFELFObjectWriter | ( | raw_pwrite_stream & | OS, |
| uint8_t | OSABI, | ||
| bool | IsLittleEndian | ||
| ) |
Definition at line 50 of file BPFELFObjectWriter.cpp.
References createELFObjectWriter().
| FunctionPass * llvm::createBPFISelDag | ( | BPFTargetMachine & | TM | ) |
Definition at line 158 of file BPFISelDAGToDAG.cpp.
| MCCodeEmitter * llvm::createBPFMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 63 of file BPFMCCodeEmitter.cpp.
Referenced by LLVMInitializeBPFTargetMC().
| 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 2992 of file ScheduleDAGRRList.cpp.
References llvm::TargetSubtargetInfo::getInstrInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::SelectionDAGISel::MF, and TII.
Referenced by createDefaultScheduler().
| ModulePass * llvm::createCallGraphPrinterPass | ( | ) |
Definition at line 90 of file CallPrinter.cpp.
| ModulePass* llvm::createCallGraphViewerPass | ( | ) |
| FunctionPass * llvm::createCFGOnlyPrinterPass | ( | ) |
Definition at line 162 of file CFGPrinter.cpp.
| FunctionPass * llvm::createCFGPrinterPass | ( | ) |
Definition at line 158 of file CFGPrinter.cpp.
| Simplify the false FunctionPass * llvm::createCFGSimplificationPass | ( | int | Threshold = -1, |
| std::function< bool(const Function &)> | Ftor = nullptr |
||
| ) |
Definition at line 234 of file SimplifyCFGPass.cpp.
Referenced by LLVMAddCFGSimplificationPass(), llvm::PassManagerBuilder::populateFunctionPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
| ImmutablePass* llvm::createCFLAliasAnalysisPass | ( | ) |
Referenced by llvm::TargetPassConfig::addIRPasses().
| CGSCCToFunctionPassAdaptor<FunctionPassT> llvm::createCGSCCToFunctionPassAdaptor | ( | FunctionPassT | Pass | ) |
A function to deduce a function pass type and wrap it in the templated adaptor.
Definition at line 485 of file CGSCCPassManager.h.
| FunctionPass * llvm::createCleanupLocalDynamicTLSPass | ( | ) |
createCleanupLocalDynamicTLSPass() - This pass combines multiple accesses to local-dynamic TLS variables so that the TLS base address for the module is only fetched once per execution path through the function.
Definition at line 6758 of file X86InstrInfo.cpp.
| FunctionPass* llvm::createCodeGenPreparePass | ( | const TargetMachine * | TM = nullptr | ) |
createCodeGenPreparePass - Transform the code to expose more pattern matching during instruction selection.
Referenced by llvm::TargetPassConfig::addCodeGenPrepare().
| MCAsmParserExtension * llvm::createCOFFAsmParser | ( | ) |
Definition at line 793 of file COFFAsmParser.cpp.
| Constant false FunctionPass * llvm::createConstantHoistingPass | ( | ) |
Definition at line 184 of file ConstantHoisting.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses().
| 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(), and llvm::PassManagerBuilder::populateModulePassManager().
| Simple constant false FunctionPass * llvm::createConstantPropagationPass | ( | ) |
Definition at line 59 of file ConstantProp.cpp.
Referenced by LLVMAddConstantPropagationPass().
Definition at line 69 of file CorrelatedValuePropagation.cpp.
Referenced by LLVMAddCorrelatedValuePropagationPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| FunctionPass * llvm::createCostModelAnalysisPass | ( | ) |
Definition at line 74 of file CostModel.cpp.
| llvm::ScheduleDAGSDNodes * llvm::createDAGLinearizer | ( | SelectionDAGISel * | IS, |
| CodeGenOpt::Level | OptLevel | ||
| ) |
createDAGLinearizer - This creates a "no-scheduling" scheduler which linearize the DAG using topological order.
Definition at line 803 of file ScheduleDAGFast.cpp.
References llvm::SelectionDAGISel::MF.
| MCAsmParserExtension * llvm::createDarwinAsmParser | ( | ) |
Definition at line 913 of file DarwinAsmParser.cpp.
| ModulePass* llvm::createDataFlowSanitizerPass | ( | const std::vector< std::string > & | ABIListFiles = std::vector< std::string >(), |
| void *(*)() | getArgTLS = nullptr, |
||
| void *(*)() | getRetValTLS = nullptr |
||
| ) |
| ModulePass* llvm::createDeadArgEliminationPass | ( | ) |
createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the body of the function.
Referenced by LLVMAddDeadArgEliminationPass(), 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 189 of file DeadArgumentElimination.cpp.
| FunctionPass * llvm::createDeadCodeEliminationPass | ( | ) |
| Pass* llvm::createDeadInstEliminationPass | ( | ) |
| FunctionPass * llvm::createDeadStoreEliminationPass | ( | ) |
Definition at line 104 of file DeadStoreElimination.cpp.
Referenced by LLVMAddDeadStoreEliminationPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| FunctionPass * llvm::createDefaultPBQPRegisterAllocator | ( | ) |
PBQPRegisterAllocation Pass - This pass implements the Partitioned Boolean Quadratic Prograaming (PBQP) based register allocator.
Definition at line 885 of file RegAllocPBQP.cpp.
References createPBQPRegisterAllocator().
| ScheduleDAGSDNodes * llvm::createDefaultScheduler | ( | SelectionDAGISel * | IS, |
| CodeGenOpt::Level | OptLevel | ||
| ) |
createDefaultScheduler - This creates an instruction scheduler appropriate for the target.
Definition at line 291 of file SelectionDAGISel.cpp.
References createBURRListDAGScheduler(), createHybridListDAGScheduler(), createILPListDAGScheduler(), createSourceListDAGScheduler(), createVLIWDAGScheduler(), llvm::TargetSubtargetInfo::enableMachineSchedDefaultSched(), llvm::TargetSubtargetInfo::enableMachineScheduler(), llvm::TargetLoweringBase::getSchedulingPreference(), llvm::MachineFunction::getSubtarget(), llvm::Sched::Hybrid, llvm::Sched::ILP, llvm::SelectionDAGISel::MF, llvm::CodeGenOpt::None, llvm::Sched::RegPressure, llvm::Sched::Source, llvm::AArch64DB::ST, llvm::SelectionDAGISel::TLI, and llvm::Sched::VLIW.
| FunctionPass* llvm::createDelinearizationPass | ( | ) |
| FunctionPass * llvm::createDemoteRegisterToMemoryPass | ( | ) |
Definition at line 131 of file Reg2Mem.cpp.
Referenced by LLVMAddDemoteMemoryToRegisterPass().
| FunctionPass * llvm::createDependenceAnalysisPass | ( | ) |
createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis pass.
Definition at line 128 of file DependenceAnalysis.cpp.
| FunctionPass * llvm::createDivergenceAnalysisPass | ( | ) |
end namespace anonymous
Definition at line 289 of file DivergenceAnalysis.cpp.
| FunctionPass * llvm::createDomOnlyPrinterPass | ( | ) |
Definition at line 228 of file DomPrinter.cpp.
| FunctionPass * llvm::createDomOnlyViewerPass | ( | ) |
Definition at line 236 of file DomPrinter.cpp.
| FunctionPass* llvm::createDomPrinterPass | ( | ) |
| FunctionPass * llvm::createDomViewerPass | ( | ) |
Definition at line 232 of file DomPrinter.cpp.
| Prepare DWARF false 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 88 of file DwarfEHPrepare.cpp.
Referenced by llvm::TargetPassConfig::addPassesToHandleExceptions().
| FunctionPass * llvm::createEarlyCSEPass | ( | ) |
Definition at line 771 of file EarlyCSE.cpp.
Referenced by LLVMAddEarlyCSEPass(), llvm::PassManagerBuilder::populateFunctionPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
| MCAsmParserExtension * llvm::createELFAsmParser | ( | ) |
Definition at line 744 of file ELFAsmParser.cpp.
| MCObjectWriter * llvm::createELFObjectWriter | ( | MCELFObjectTargetWriter * | MOTW, |
| raw_pwrite_stream & | OS, | ||
| bool | IsLittleEndian | ||
| ) |
Construct a new ELF writer instance.
| MOTW | - The target specific ELF writer subclass. |
| OS | - The stream to write to. |
Definition at line 1353 of file ELFObjectWriter.cpp.
Referenced by createAArch64ELFObjectWriter(), createAMDGPUELFObjectWriter(), createARMELFObjectWriter(), createBPFELFObjectWriter(), createHexagonELFObjectWriter(), createMipsELFObjectWriter(), createPPCELFObjectWriter(), createSparcELFObjectWriter(), createSystemZObjectWriter(), and createX86ELFObjectWriter().
| MCStreamer * llvm::createELFStreamer | ( | MCContext & | Ctx, |
| MCAsmBackend & | TAB, | ||
| raw_pwrite_stream & | OS, | ||
| MCCodeEmitter * | CE, | ||
| bool | RelaxAll | ||
| ) |
Takes ownership of TAB and CE.
Definition at line 663 of file MCELFStreamer.cpp.
References llvm::MCObjectStreamer::getAssembler(), and llvm::MCAssembler::setRelaxAll().
Referenced by createBPFMCStreamer(), llvm::Target::createMCObjectStreamer(), LLVMInitializeAArch64TargetMC(), and LLVMInitializeARMTargetMC().
| ModulePass* llvm::createEliminateAvailableExternallyPass | ( | ) |
This transform is designed to eliminate available external globals (functions or global variables)
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
| 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 804 of file ExecutionDepsFix.cpp.
| llvm::ScheduleDAGSDNodes * llvm::createFastDAGScheduler | ( | SelectionDAGISel * | IS, |
| CodeGenOpt::Level | OptLevel | ||
| ) |
createFastDAGScheduler - This creates a "fast" scheduler.
Definition at line 798 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 1122 of file RegAllocFast.cpp.
Referenced by llvm::TargetPassConfig::createTargetRegisterAllocator().
| Flatten the false FunctionPass * llvm::createFlattenCFGPass | ( | ) |
Definition at line 49 of file FlattenCFGPass.cpp.
| FunctionPass * llvm::createFloat2IntPass | ( | ) |
Definition at line 537 of file Float2Int.cpp.
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
| ModulePass* llvm::createForwardControlFlowIntegrityPass | ( | ) |
createForwardControlFlowIntegrityPass - This pass adds control-flow integrity.
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 146 of file FunctionAttrs.cpp.
Referenced by LLVMAddFunctionAttrsPass(), and llvm::PassManagerBuilder::populateModulePassManager().
createFunctionInliningPass - Return a new pass object that uses a heuristic to inline direct function calls to small functions.
The Threshold can be passed directly, or asked to be computed from the given optimization and size optimization arguments.
The -inline-threshold command line option takes precedence over the threshold given here.
Definition at line 85 of file InlineSimple.cpp.
Referenced by LLVMAddFunctionInliningPass(), LLVMPassManagerBuilderPopulateLTOPassManager(), LLVMPassManagerBuilderUseInlinerWithThreshold(), and llvm::LTOCodeGenerator::optimize().
Definition at line 87 of file InlineSimple.cpp.
Definition at line 91 of file InlineSimple.cpp.
| FunctionPass * llvm::createGCInfoPrinter | ( | raw_ostream & | OS | ) |
Creates a pass to print GC metadata.
Definition at line 86 of file GCMetadata.cpp.
References Printer.
Referenced by llvm::TargetPassConfig::addMachinePasses().
| FunctionPass* llvm::createGCLoweringPass | ( | ) |
GCLowering Pass - Used by gc.root to perform its default lowering operations.
Referenced by llvm::TargetPassConfig::addIRPasses().
| ModulePass* llvm::createGCOVProfilerPass | ( | const GCOVOptions & | Options = GCOVOptions::getDefault() | ) |
| ModulePass * llvm::createGenericToNVVMPass | ( | ) |
Definition at line 69 of file NVPTXGenericToNVVM.cpp.
| ModulePass* llvm::createGlobalDCEPass | ( | ) |
createGlobalDCEPass - This transform is designed to eliminate unreachable internal globals (functions or global variables)
Referenced by LLVMAddGlobalDCEPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| Pass * llvm::createGlobalMergePass | ( | const TargetMachine * | TM, |
| unsigned | MaximalOffset, | ||
| bool | OnlyOptimizeForSize = false |
||
| ) |
Definition at line 606 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 101 of file GlobalOpt.cpp.
Referenced by LLVMAddGlobalOptimizerPass(), and llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 202 of file GlobalsModRef.cpp.
Definition at line 67 of file GraphWriter.cpp.
References llvm::sys::fs::createTemporaryFile(), errs(), and llvm::SmallString< InternalLen >::str().
Referenced by WriteGraph().
| FunctionPass * llvm::createGreedyRegisterAllocator | ( | ) |
Greedy register allocation pass - This pass implements a global register allocator for optimized builds.
Definition at line 426 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 157 of file ExtractGV.cpp.
| FunctionPass * llvm::createGVNPass | ( | bool | NoLoads = false | ) |
Definition at line 732 of file GVN.cpp.
Referenced by LLVMAddGVNPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| MCAsmBackend * llvm::createHexagonAsmBackend | ( | Target const & | T, |
| MCRegisterInfo const & | , | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 310 of file HexagonAsmBackend.cpp.
References llvm::Triple::getOS(), and llvm::MCELFObjectTargetWriter::getOSABI().
Referenced by LLVMInitializeHexagonTargetMC().
| FunctionPass * llvm::createHexagonCFGOptimizer | ( | ) |
Definition at line 248 of file HexagonCFGOptimizer.cpp.
| FunctionPass * llvm::createHexagonCommonGEP | ( | ) |
Definition at line 1322 of file HexagonCommonGEP.cpp.
| FunctionPass * llvm::createHexagonCopyToCombine | ( | ) |
Definition at line 752 of file HexagonCopyToCombine.cpp.
| MCObjectWriter * llvm::createHexagonELFObjectWriter | ( | raw_pwrite_stream & | OS, |
| uint8_t | OSABI, | ||
| StringRef | CPU | ||
| ) |
Definition at line 246 of file HexagonELFObjectWriter.cpp.
References createELFObjectWriter().
| MCStreamer * llvm::createHexagonELFStreamer | ( | MCContext & | Context, |
| MCAsmBackend & | MAB, | ||
| raw_pwrite_stream & | OS, | ||
| MCCodeEmitter * | CE | ||
| ) |
Definition at line 148 of file HexagonMCELFStreamer.cpp.
Referenced by createMCStreamer().
| FunctionPass * llvm::createHexagonExpandCondsets | ( | ) |
Definition at line 1355 of file HexagonExpandCondsets.cpp.
| FunctionPass * llvm::createHexagonExpandPredSpillCode | ( | ) |
Definition at line 355 of file HexagonExpandPredSpillCode.cpp.
| FunctionPass * llvm::createHexagonFixupHwLoops | ( | ) |
| FunctionPass * llvm::createHexagonGenExtract | ( | ) |
Definition at line 257 of file HexagonGenExtract.cpp.
| FunctionPass * llvm::createHexagonGenInsert | ( | ) |
Definition at line 1585 of file HexagonGenInsert.cpp.
| FunctionPass * llvm::createHexagonGenPredicate | ( | ) |
Definition at line 522 of file HexagonGenPredicate.cpp.
| FunctionPass * llvm::createHexagonHardwareLoops | ( | ) |
Definition at line 343 of file HexagonHardwareLoops.cpp.
| FunctionPass * llvm::createHexagonISelDag | ( | HexagonTargetMachine & | TM, |
| CodeGenOpt::Level | OptLevel | ||
| ) |
Definition at line 187 of file HexagonISelDAGToDAG.cpp.
| MCCodeEmitter * llvm::createHexagonMCCodeEmitter | ( | MCInstrInfo const & | MCII, |
| MCRegisterInfo const & | MRI, | ||
| MCContext & | MCT | ||
| ) |
Definition at line 721 of file HexagonMCCodeEmitter.cpp.
Referenced by LLVMInitializeHexagonTargetMC().
| MCInstrInfo * llvm::createHexagonMCInstrInfo | ( | ) |
Definition at line 43 of file HexagonMCTargetDesc.cpp.
References X.
Referenced by LLVMInitializeHexagonTargetMC().
| FunctionPass * llvm::createHexagonNewValueJump | ( | ) |
Definition at line 648 of file HexagonNewValueJump.cpp.
| FunctionPass * llvm::createHexagonPacketizer | ( | ) |
Definition at line 1411 of file HexagonVLIWPacketizer.cpp.
| FunctionPass * llvm::createHexagonPeephole | ( | ) |
Definition at line 336 of file HexagonPeephole.cpp.
| FunctionPass * llvm::createHexagonRemoveExtendArgs | ( | const HexagonTargetMachine & | TM | ) |
Definition at line 89 of file HexagonRemoveSZExtArgs.cpp.
| FunctionPass * llvm::createHexagonSplitConst32AndConst64 | ( | ) |
Definition at line 166 of file HexagonSplitConst32AndConst64.cpp.
| ImmutablePass* llvm::createHexagonTargetTransformInfoPass | ( | const HexagonTargetMachine * | TM | ) |
Creates a Hexagon-specific Target Transformation Info pass.
| 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 3020 of file ScheduleDAGRRList.cpp.
References llvm::TargetSubtargetInfo::getInstrInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::SelectionDAGISel::MF, TII, and llvm::SelectionDAGISel::TLI.
Referenced by createDefaultScheduler().
| FunctionPass * llvm::createIfConverter | ( | std::function< bool(const Function &)> | Ftor | ) |
Definition at line 1725 of file IfConversion.cpp.
| 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 3036 of file ScheduleDAGRRList.cpp.
References llvm::TargetSubtargetInfo::getInstrInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::SelectionDAGISel::MF, TII, and llvm::SelectionDAGISel::TLI.
Referenced by createDefaultScheduler().
| Pass * llvm::createInductiveRangeCheckEliminationPass | ( | ) |
Definition at line 1493 of file InductiveRangeCheckElimination.cpp.
Definition at line 157 of file IndVarSimplify.cpp.
Referenced by LLVMAddIndVarSimplifyPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| raw_ostream * llvm::CreateInfoOutputFile | ( | ) |
Definition at line 56 of file Timer.cpp.
References errs(), llvm::sys::fs::F_Append, llvm::sys::fs::F_Text, getLibSupportInfoOutputFilename(), and OutputFilename.
Referenced by PrintStatistics().
| 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 191 of file InlineSpiller.cpp.
| FunctionPass* llvm::createInstCountPass | ( | ) |
| ModulePass* llvm::createInstrProfilingPass | ( | const InstrProfOptions & | Options = InstrProfOptions() | ) |
Insert frontend instrumentation based profiling.
| FunctionPass * llvm::createInstructionCombiningPass | ( | ) |
Definition at line 3092 of file InstructionCombining.cpp.
Referenced by LLVMAddInstructionCombiningPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| FunctionPass* llvm::createInstructionNamerPass | ( | ) |
| FunctionPass * llvm::createInstructionSimplifierPass | ( | ) |
Definition at line 115 of file SimplifyInstructions.cpp.
| FunctionPass* llvm::createInterleavedAccessPass | ( | const TargetMachine * | TM | ) |
InterleavedAccess Pass - This pass identifies and matches interleaved memory accesses to target specific intrinsics.
| ModulePass * llvm::createInternalizePass | ( | ArrayRef< const char * > | ExportList | ) |
createInternalizePass - This pass loops over all of the functions in the input module, internalizing all globals (functions and variables) it can.
The symbols in ExportList are never internalized.
The symbol in DSOList are internalized if it is safe to drop them from the symbol table.
Note that commandline options that are used with the above function are not used now!
Definition at line 222 of file Internalize.cpp.
Referenced by LLVMAddInternalizePass().
| ModulePass * llvm::createInternalizePass | ( | ) |
createInternalizePass - Same as above, but with an empty exportList.
Definition at line 220 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 1661 of file SCCP.cpp.
Referenced by LLVMAddIPSCCPPass(), and llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 46 of file IVUsers.cpp.
| ModulePass* llvm::createJumpInstrTablesPass | ( | ) |
createJumpInstrTables - This pass creates jump-instruction tables.
| jump Jump false FunctionPass * llvm::createJumpThreadingPass | ( | int | Threshold = -1 | ) |
Definition at line 152 of file JumpThreading.cpp.
Referenced by LLVMAddJumpThreadingPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| Pass* llvm::createLAAPass | ( | ) |
Definition at line 1771 of file LoopAccessAnalysis.cpp.
| FunctionPass * llvm::createLazyValueInfoPass | ( | ) |
createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.
Definition at line 49 of file LazyValueInfo.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 | ( | ) |
Definition at line 172 of file LICM.cpp.
Referenced by LLVMAddLICMPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| FunctionPass * llvm::createLintPass | ( | ) |
| BasicBlockPass * llvm::createLoadCombinePass | ( | ) |
Definition at line 271 of file LoadCombine.cpp.
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 73 of file LoopDeletion.cpp.
Referenced by LLVMAddLoopDeletionPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| FunctionPass * llvm::createLoopDistributePass | ( | ) |
Definition at line 796 of file LoopDistribute.cpp.
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
| Pass* llvm::createLoopExtractorPass | ( | ) |
createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it can.
Definition at line 228 of file LoopIdiomRecognize.cpp.
Referenced by LLVMAddLoopIdiomPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| loop Simplify instructions in false Pass * llvm::createLoopInstSimplifyPass | ( | ) |
Definition at line 68 of file LoopInstSimplify.cpp.
Definition at line 1300 of file LoopInterchange.cpp.
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
| Pass * llvm::createLoopRerollPass | ( | ) |
Definition at line 452 of file LoopRerollPass.cpp.
Referenced by LLVMAddLoopRerollPass(), and llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 93 of file LoopRotation.cpp.
Referenced by LLVMAddLoopRotatePass(), and llvm::PassManagerBuilder::populateModulePassManager().
| Pass * llvm::createLoopSimplifyPass | ( | ) |
Definition at line 792 of file LoopSimplify.cpp.
Definition at line 4967 of file LoopStrengthReduce.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses().
| Pass * llvm::createLoopUnrollPass | ( | int | Threshold = -1, |
| int | Count = -1, |
||
| int | AllowPartial = -1, |
||
| int | Runtime = -1 |
||
| ) |
Definition at line 244 of file LoopUnrollPass.cpp.
Referenced by createSimpleLoopUnrollPass(), LLVMAddLoopUnrollPass(), and llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 366 of file LoopUnswitch.cpp.
Referenced by LLVMAddLoopUnswitchPass(), and llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 5255 of file LoopVectorize.cpp.
Referenced by LLVMAddLoopVectorizePass(), and llvm::PassManagerBuilder::populateModulePassManager().
| FunctionPass * llvm::createLowerAggrCopies | ( | ) |
Definition at line 226 of file NVPTXLowerAggrCopies.cpp.
| Pass* llvm::createLowerAtomicPass | ( | ) |
| ModulePass * llvm::createLowerBitSetsPass | ( | ) |
This pass lowers bitset metadata and the llvm.bitset.test intrinsic to bitsets.
Definition at line 239 of file LowerBitSets.cpp.
Referenced by llvm::PassManagerBuilder::populateLTOPassManager().
| FunctionPass* llvm::createLowerExpectIntrinsicPass | ( | ) |
| FunctionPass* llvm::createLowerInvokePass | ( | ) |
Referenced by llvm::TargetPassConfig::addPassesToHandleExceptions().
| FunctionPass* llvm::createLowerSwitchPass | ( | ) |
Referenced by LLVMAddLowerSwitchPass().
| 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.
Referenced by llvm::TargetPassConfig::addPrintPass(), and INITIALIZE_PASS().
| FunctionPass* llvm::createMachineRegionInfoPass | ( | ) |
Definition at line 136 of file MachineRegionInfo.cpp.
| FunctionPass* llvm::createMachineVerifierPass | ( | const std::string & | Banner | ) |
createMachineVerifierPass - This pass verifies cenerated machine code instructions for correctness.
Referenced by llvm::TargetPassConfig::addVerifyPass().
| MCObjectWriter * llvm::createMachObjectWriter | ( | MCMachObjectTargetWriter * | MOTW, |
| raw_pwrite_stream & | OS, | ||
| bool | IsLittleEndian | ||
| ) |
Construct a new Mach-O writer instance.
This routine takes ownership of the target writer subclass.
| MOTW | - The target specific Mach-O writer subclass. |
| OS | - The stream to write to. |
Definition at line 949 of file MachObjectWriter.cpp.
Referenced by createAArch64MachObjectWriter(), createARMMachObjectWriter(), createPPCMachObjectWriter(), and createX86MachObjectWriter().
| MCStreamer * llvm::createMachOStreamer | ( | MCContext & | Ctx, |
| MCAsmBackend & | TAB, | ||
| raw_pwrite_stream & | OS, | ||
| MCCodeEmitter * | CE, | ||
| bool | RelaxAll, | ||
| bool | DWARFMustBeAtTheEnd, | ||
| bool | LabelSections = false |
||
| ) |
Definition at line 490 of file MCMachOStreamer.cpp.
Referenced by createARMMachOStreamer(), createMachOStreamer(), llvm::Target::createMCObjectStreamer(), and LLVMInitializeAArch64TargetMC().
| MCAsmParser * llvm::createMCAsmParser | ( | SourceMgr & | SM, |
| MCContext & | C, | ||
| MCStreamer & | Out, | ||
| const MCAsmInfo & | MAI | ||
| ) |
Create an MCAsmParser instance.
Definition at line 4840 of file AsmParser.cpp.
Referenced by llvm::object::IRObjectFile::IRObjectFile().
| MCRelocationInfo * llvm::createMCRelocationInfo | ( | const Triple & | TT, |
| MCContext & | Ctx | ||
| ) |
Definition at line 37 of file MCRelocationInfo.cpp.
Referenced by createARMMCRelocationInfo(), llvm::Target::createMCRelocationInfo(), and createX86MCRelocationInfo().
| MCSymbolizer * llvm::createMCSymbolizer | ( | const Triple & | TT, |
| LLVMOpInfoCallback | GetOpInfo, | ||
| LLVMSymbolLookupCallback | SymbolLookUp, | ||
| void * | DisInfo, | ||
| MCContext * | Ctx, | ||
| std::unique_ptr< MCRelocationInfo > && | RelInfo | ||
| ) |
Definition at line 191 of file MCExternalSymbolizer.cpp.
Referenced by llvm::Target::createMCSymbolizer().
| FunctionPass * llvm::createMemCpyOptPass | ( | ) |
Definition at line 361 of file MemCpyOptimizer.cpp.
Referenced by LLVMAddMemCpyOptPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| print Print MemDeps of true FunctionPass * llvm::createMemDepPrinter | ( | ) |
Definition at line 86 of file MemDepPrinter.cpp.
| print Memory Dereferenciblity of pointers in true FunctionPass * llvm::createMemDerefPrinter | ( | ) |
Definition at line 48 of file MemDerefPrinter.cpp.
| FunctionPass* llvm::createMemorySanitizerPass | ( | int | TrackOrigins = 0 | ) |
| FunctionPass * llvm::createMergedLoadStoreMotionPass | ( | ) |
createMergedLoadStoreMotionPass - The public interface to this file.
Definition at line 164 of file MergedLoadStoreMotion.cpp.
References MergedLoadStoreMotion.
Referenced by LLVMAddMergedLoadStoreMotionPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| ModulePass * llvm::createMergeFunctionsPass | ( | ) |
createMergeFunctionsPass - This pass discovers identical functions and collapses them.
Definition at line 1151 of file MergeFunctions.cpp.
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
| ModulePass* llvm::createMetaRenamerPass | ( | ) |
| const MipsFrameLowering * llvm::createMips16FrameLowering | ( | const MipsSubtarget & | ST | ) |
Create MipsFrameLowering objects.
Definition at line 171 of file Mips16FrameLowering.cpp.
Referenced by llvm::MipsFrameLowering::create().
| ModulePass * llvm::createMips16HardFloatPass | ( | MipsTargetMachine & | TM | ) |
Definition at line 545 of file Mips16HardFloat.cpp.
References Mips16HardFloat.
| const MipsInstrInfo * llvm::createMips16InstrInfo | ( | const MipsSubtarget & | STI | ) |
Create MipsInstrInfo objects.
Definition at line 453 of file Mips16InstrInfo.cpp.
Referenced by llvm::MipsInstrInfo::create().
| FunctionPass * llvm::createMips16ISelDag | ( | MipsTargetMachine & | TM | ) |
Definition at line 320 of file Mips16ISelDAGToDAG.cpp.
| const MipsTargetLowering * llvm::createMips16TargetLowering | ( | const MipsTargetMachine & | TM, |
| const MipsSubtarget & | STI | ||
| ) |
Create MipsTargetLowering objects.
Definition at line 156 of file Mips16ISelLowering.cpp.
Referenced by llvm::MipsTargetLowering::create().
| MCAsmBackend * llvm::createMipsAsmBackendEB32 | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 419 of file MipsAsmBackend.cpp.
References llvm::Triple::getOS().
Referenced by LLVMInitializeMipsTargetMC().
| MCAsmBackend * llvm::createMipsAsmBackendEB64 | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 432 of file MipsAsmBackend.cpp.
References llvm::Triple::getOS().
Referenced by LLVMInitializeMipsTargetMC().
| MCAsmBackend * llvm::createMipsAsmBackendEL32 | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 412 of file MipsAsmBackend.cpp.
References llvm::Triple::getOS().
Referenced by LLVMInitializeMipsTargetMC().
| MCAsmBackend * llvm::createMipsAsmBackendEL64 | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 426 of file MipsAsmBackend.cpp.
References llvm::Triple::getOS().
Referenced by LLVMInitializeMipsTargetMC().
| FunctionPass * llvm::createMipsConstantIslandPass | ( | MipsTargetMachine & | tm | ) |
createMipsLongBranchPass - Returns a pass that converts branches to long branches.
Definition at line 442 of file MipsConstantIslandPass.cpp.
| FunctionPass * llvm::createMipsDelaySlotFillerPass | ( | MipsTargetMachine & | TM | ) |
createMipsDelaySlotFillerPass - Returns a pass that fills in delay slots in Mips MachineFunctions
Definition at line 646 of file MipsDelaySlotFiller.cpp.
| MCObjectWriter * llvm::createMipsELFObjectWriter | ( | raw_pwrite_stream & | OS, |
| uint8_t | OSABI, | ||
| bool | IsLittleEndian, | ||
| bool | Is64Bit | ||
| ) |
Definition at line 411 of file MipsELFObjectWriter.cpp.
References createELFObjectWriter().
Referenced by llvm::MipsAsmBackend::createObjectWriter().
| MCELFStreamer * llvm::createMipsELFStreamer | ( | MCContext & | Context, |
| MCAsmBackend & | MAB, | ||
| raw_pwrite_stream & | OS, | ||
| MCCodeEmitter * | Emitter, | ||
| bool | RelaxAll | ||
| ) |
Definition at line 76 of file MipsELFStreamer.cpp.
Referenced by createMCStreamer().
| FunctionPass * llvm::createMipsLongBranchPass | ( | MipsTargetMachine & | tm | ) |
createMipsLongBranchPass - Returns a pass that converts branches to long branches.
Definition at line 97 of file MipsLongBranch.cpp.
| MCCodeEmitter * llvm::createMipsMCCodeEmitterEB | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 37 of file MipsMCCodeEmitter.cpp.
Referenced by LLVMInitializeMipsTargetMC().
| MCCodeEmitter * llvm::createMipsMCCodeEmitterEL | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 43 of file MipsMCCodeEmitter.cpp.
Referenced by LLVMInitializeMipsTargetMC().
| llvm::FunctionPass * llvm::createMipsModuleISelDagPass | ( | MipsTargetMachine & | TM | ) |
Definition at line 48 of file MipsModuleISelDAGToDAG.cpp.
| MCELFStreamer * llvm::createMipsNaClELFStreamer | ( | MCContext & | Context, |
| MCAsmBackend & | TAB, | ||
| raw_pwrite_stream & | OS, | ||
| MCCodeEmitter * | Emitter, | ||
| bool | RelaxAll | ||
| ) |
Definition at line 254 of file MipsNaClELFStreamer.cpp.
References MIPS_NACL_BUNDLE_ALIGN.
Referenced by createMCStreamer().
| FunctionPass * llvm::createMipsOptimizePICCallPass | ( | MipsTargetMachine & | TM | ) |
Return an OptimizeCall object.
Definition at line 299 of file MipsOptimizePICCall.cpp.
| ModulePass * llvm::createMipsOs16Pass | ( | MipsTargetMachine & | TM | ) |
Definition at line 154 of file MipsOs16.cpp.
| const MipsFrameLowering * llvm::createMipsSEFrameLowering | ( | const MipsSubtarget & | ST | ) |
Definition at line 678 of file MipsSEFrameLowering.cpp.
Referenced by llvm::MipsFrameLowering::create().
| const MipsInstrInfo * llvm::createMipsSEInstrInfo | ( | const MipsSubtarget & | STI | ) |
Definition at line 637 of file MipsSEInstrInfo.cpp.
Referenced by llvm::MipsInstrInfo::create().
| FunctionPass * llvm::createMipsSEISelDag | ( | MipsTargetMachine & | TM | ) |
Definition at line 1013 of file MipsSEISelDAGToDAG.cpp.
| const MipsTargetLowering * llvm::createMipsSETargetLowering | ( | const MipsTargetMachine & | TM, |
| const MipsSubtarget & | STI | ||
| ) |
Definition at line 231 of file MipsSEISelLowering.cpp.
Referenced by llvm::MipsTargetLowering::create().
| std::unique_ptr< MIRParser > llvm::createMIRParser | ( | std::unique_ptr< MemoryBuffer > | Contents, |
| LLVMContext & | Context | ||
| ) |
This function is another interface to the MIR serialization format parser.
It returns a MIR parser that works with the given memory buffer and that can parse the embedded LLVM IR module and initialize the machine functions by parsing the machine function's state.
| Contents | - The MemoryBuffer containing the machine level IR. |
| Context | - Context which will be used for the parsed LLVM IR module. |
Definition at line 508 of file MIRParser.cpp.
Referenced by createMIRParserFromFile().
| std::unique_ptr< MIRParser > llvm::createMIRParserFromFile | ( | StringRef | Filename, |
| SMDiagnostic & | Error, | ||
| LLVMContext & | Context | ||
| ) |
This function is the main interface to the MIR serialization format parser.
It reads in a MIR file and returns a MIR parser that can parse the embedded LLVM IR module and initialize the machine functions by parsing the machine function's state.
| Filename | - The name of the file to parse. |
| Error | - Error result info. |
| Context | - Context which will be used for the parsed LLVM IR module. |
Definition at line 495 of file MIRParser.cpp.
References createMIRParser(), llvm::SourceMgr::DK_Error, and llvm::MemoryBuffer::getFile().
| FunctionPass * llvm::createMLxExpansionPass | ( | ) |
Definition at line 398 of file MLxExpansionPass.cpp.
| ModulePass* llvm::createModuleDebugInfoPrinterPass | ( | ) |
| ModuleToFunctionPassAdaptor<FunctionPassT> llvm::createModuleToFunctionPassAdaptor | ( | FunctionPassT | Pass | ) |
A function to deduce a function pass type and wrap it in the templated adaptor.
Definition at line 829 of file PassManager.h.
Referenced by llvm::PassBuilder::parsePassPipeline().
| ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT> llvm::createModuleToPostOrderCGSCCPassAdaptor | ( | CGSCCPassT | Pass | ) |
A function to deduce a function pass type and wrap it in the templated adaptor.
Definition at line 265 of file CGSCCPassManager.h.
Referenced by llvm::PassBuilder::parsePassPipeline().
| FunctionPass * llvm::createMSP430BranchSelectionPass | ( | ) |
createMSP430BranchSelectionPass - returns an instance of the Branch Selection Pass
Definition at line 52 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 126 of file MSP430ISelDAGToDAG.cpp.
| nary Nary false FunctionPass * llvm::createNaryReassociatePass | ( | ) |
Definition at line 200 of file NaryReassociate.cpp.
| ImmutablePass* llvm::createNoAAPass | ( | ) |
| MCStreamer * llvm::createNullStreamer | ( | MCContext & | Ctx | ) |
Create a dummy machine code streamer, which does nothing.
This is useful for timing the assembler front end.
Definition at line 41 of file MCNullStreamer.cpp.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), and llvm::Target::createNullStreamer().
| ModulePass * llvm::createNVPTXAssignValidGlobalNamesPass | ( | ) |
Definition at line 82 of file NVPTXAssignValidGlobalNames.cpp.
| FunctionPass * llvm::createNVPTXFavorNonGenericAddrSpacesPass | ( | ) |
Definition at line 284 of file NVPTXFavorNonGenericAddrSpaces.cpp.
| FunctionPass * llvm::createNVPTXImageOptimizerPass | ( | ) |
Definition at line 176 of file NVPTXImageOptimizer.cpp.
| 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 46 of file NVPTXISelDAGToDAG.cpp.
| BasicBlockPass * llvm::createNVPTXLowerAllocaPass | ( | ) |
Definition at line 113 of file NVPTXLowerAlloca.cpp.
| FunctionPass * llvm::createNVPTXLowerKernelArgsPass | ( | const NVPTXTargetMachine * | TM | ) |
Definition at line 172 of file NVPTXLowerKernelArgs.cpp.
| MachineFunctionPass * llvm::createNVPTXPeephole | ( | ) |
Definition at line 154 of file NVPTXPeephole.cpp.
| MachineFunctionPass * llvm::createNVPTXPrologEpilogPass | ( | ) |
Definition at line 44 of file NVPTXPrologEpilogPass.cpp.
| MachineFunctionPass * llvm::createNVPTXReplaceImageHandlesPass | ( | ) |
Definition at line 189 of file NVPTXReplaceImageHandles.cpp.
| ModulePass * llvm::createNVVMReflectPass | ( | ) |
Definition at line 80 of file NVVMReflect.cpp.
| ModulePass * llvm::createNVVMReflectPass | ( | const StringMap< int > & | Mapping | ) |
Definition at line 84 of file NVVMReflect.cpp.
| ImmutablePass* llvm::createObjCARCAliasAnalysisPass | ( | ) |
| Pass* llvm::createObjCARCAPElimPass | ( | ) |
| Pass * llvm::createObjCARCContractPass | ( | ) |
Definition at line 643 of file ObjCARCContract.cpp.
| Pass* llvm::createObjCARCExpandPass | ( | ) |
| FunctionPass * llvm::createPAEvalPass | ( | ) |
Definition at line 88 of file ProvenanceAnalysisEvaluator.cpp.
| ModulePass* llvm::createPartialInliningPass | ( | ) |
createPartialInliningPass - This pass inlines parts of functions.
| FunctionPass * llvm::createPartiallyInlineLibCallsPass | ( | ) |
Definition at line 161 of file PartiallyInlineLibCalls.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses(), and LLVMAddPartiallyInlineLibCallsPass().
| FunctionPass * llvm::createPBQPRegisterAllocator | ( | char * | customPassID = nullptr | ) |
Create a PBQP register allocator instance.
Definition at line 881 of file RegAllocPBQP.cpp.
Referenced by createDefaultPBQPRegisterAllocator().
| FunctionPass * llvm::createPlaceSafepointsPass | ( | ) |
Definition at line 743 of file PlaceSafepoints.cpp.
| FunctionPass * llvm::createPostDomOnlyPrinterPass | ( | ) |
Definition at line 244 of file DomPrinter.cpp.
| FunctionPass * llvm::createPostDomOnlyViewerPass | ( | ) |
Definition at line 252 of file DomPrinter.cpp.
| FunctionPass * llvm::createPostDomPrinterPass | ( | ) |
Definition at line 240 of file DomPrinter.cpp.
| FunctionPass * llvm::createPostDomTree | ( | ) |
Definition at line 47 of file PostDominators.cpp.
| FunctionPass * llvm::createPostDomViewerPass | ( | ) |
Definition at line 248 of file DomPrinter.cpp.
| MCAsmBackend * llvm::createPPCAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 231 of file PPCAsmBackend.cpp.
References llvm::Triple::getArch(), llvm::Triple::getOS(), llvm::MCELFObjectTargetWriter::getOSABI(), llvm::Triple::isOSDarwin(), and llvm::Triple::ppc64le.
Referenced by LLVMInitializePowerPCTargetMC().
| FunctionPass* llvm::createPPCBranchSelectionPass | ( | ) |
| ppc ctr PowerPC CTR false FunctionPass * llvm::createPPCCTRLoops | ( | PPCTargetMachine & | TM | ) |
Definition at line 154 of file PPCCTRLoops.cpp.
| ppc ctr loops PowerPC CTR Loops false FunctionPass * llvm::createPPCCTRLoopsVerify | ( | ) |
Definition at line 165 of file PPCCTRLoops.cpp.
| FunctionPass* llvm::createPPCEarlyReturnPass | ( | ) |
| MCObjectWriter * llvm::createPPCELFObjectWriter | ( | raw_pwrite_stream & | OS, |
| bool | Is64Bit, | ||
| bool | IsLittleEndian, | ||
| uint8_t | OSABI | ||
| ) |
Construct an PPC ELF object writer.
Definition at line 415 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 4279 of file PPCISelDAGToDAG.cpp.
| ppc loop data PPC Loop Data false FunctionPass * llvm::createPPCLoopDataPrefetchPass | ( | ) |
Definition at line 103 of file PPCLoopDataPrefetch.cpp.
| FunctionPass * llvm::createPPCLoopPreIncPrepPass | ( | PPCTargetMachine & | TM | ) |
Definition at line 99 of file PPCLoopPreIncPrep.cpp.
| MCObjectWriter * llvm::createPPCMachObjectWriter | ( | raw_pwrite_stream & | OS, |
| bool | Is64Bit, | ||
| uint32_t | CPUType, | ||
| uint32_t | CPUSubtype | ||
| ) |
Construct a PPC Mach-O object writer.
Definition at line 377 of file PPCMachObjectWriter.cpp.
References createMachObjectWriter().
| MCCodeEmitter * llvm::createPPCMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 146 of file PPCMCCodeEmitter.cpp.
Referenced by LLVMInitializePowerPCTargetMC().
| FunctionPass * llvm::createPPCTLSDynamicCallPass | ( | ) |
Definition at line 170 of file PPCTLSDynamicCall.cpp.
| FunctionPass* llvm::createPPCTOCRegDepsPass | ( | ) |
| FunctionPass* llvm::createPPCVSXCopyPass | ( | ) |
| FunctionPass * llvm::createPPCVSXFMAMutatePass | ( | ) |
Definition at line 343 of file PPCVSXFMAMutate.cpp.
| FunctionPass * llvm::createPPCVSXSwapRemovalPass | ( | ) |
Definition at line 977 of file PPCVSXSwapRemoval.cpp.
| BasicBlockPass * llvm::createPrintBasicBlockPass | ( | llvm::raw_ostream & | OS, |
| const std::string & | Banner = "" |
||
| ) |
Create and return a pass that writes the BB to the specified raw_ostream.
Definition at line 129 of file IRPrintingPasses.cpp.
Referenced by llvm::BasicBlockPass::createPrinterPass().
| FunctionPass * llvm::createPrintFunctionPass | ( | llvm::raw_ostream & | OS, |
| const std::string & | Banner = "" |
||
| ) |
Create and return a pass that prints functions to the specified raw_ostream as they are processed.
Definition at line 124 of file IRPrintingPasses.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses(), llvm::TargetPassConfig::addISelPrepare(), llvm::legacy::FunctionPassManagerImpl::createPrinterPass(), and llvm::FunctionPass::createPrinterPass().
| MachineFunctionPass * llvm::createPrintMIRPass | ( | raw_ostream & | OS | ) |
MIRPrinting pass - this pass prints out the LLVM IR into the given stream using the MIR serialization format.
Definition at line 67 of file MIRPrintingPass.cpp.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile().
| ModulePass* llvm::createPrintModulePass | ( | raw_ostream & | OS, |
| const std::string & | Banner = "", |
||
| bool | ShouldPreserveUseListOrder = false |
||
| ) |
Create and return a pass that writes the module to the specified raw_ostream.
Referenced by llvm::ModulePass::createPrinterPass(), and llvm::legacy::PassManagerImpl::createPrinterPass().
| FunctionPass * llvm::createPromoteMemoryToRegisterPass | ( | ) |
Definition at line 94 of file Mem2Reg.cpp.
Referenced by LLVMAddPromoteMemoryToRegisterPass().
createPruneEHPass - Return a new pass object which transforms invoke instructions into calls, if the callee can not unwind the stack.
Definition at line 62 of file PruneEH.cpp.
Referenced by LLVMAddPruneEHPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| llvm::FunctionPass * llvm::createR600ClauseMergePass | ( | TargetMachine & | tm | ) |
Definition at line 204 of file R600ClauseMergePass.cpp.
| llvm::FunctionPass * llvm::createR600ControlFlowFinalizer | ( | TargetMachine & | tm | ) |
Definition at line 677 of file R600ControlFlowFinalizer.cpp.
| R600 Emit Clause false llvm::FunctionPass * llvm::createR600EmitClauseMarkers | ( | ) |
Definition at line 333 of file R600EmitClauseMarkers.cpp.
| FunctionPass * llvm::createR600ExpandSpecialInstrsPass | ( | TargetMachine & | tm | ) |
Definition at line 55 of file R600ExpandSpecialInstrs.cpp.
| MCCodeEmitter * llvm::createR600MCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 84 of file R600MCCodeEmitter.cpp.
Referenced by LLVMInitializeAMDGPUTargetMC().
| llvm::FunctionPass * llvm::createR600Packetizer | ( | TargetMachine & | tm | ) |
Definition at line 406 of file R600Packetizer.cpp.
| FunctionPass * llvm::createR600TextureIntrinsicsReplacer | ( | ) |
Definition at line 301 of file R600TextureIntrinsicsReplacer.cpp.
| llvm::FunctionPass * llvm::createR600VectorRegMerger | ( | TargetMachine & | tm | ) |
Definition at line 380 of file R600OptimizeVectorRegisters.cpp.
| FunctionPass* llvm::createReassociatePass | ( | ) |
Referenced by LLVMAddReassociatePass(), and llvm::PassManagerBuilder::populateModulePassManager().
| FunctionPass * llvm::createRegionInfoPass | ( | ) |
Definition at line 169 of file RegionInfo.cpp.
| FunctionPass * llvm::createRegionOnlyPrinterPass | ( | ) |
Definition at line 217 of file RegionPrinter.cpp.
| FunctionPass * llvm::createRegionOnlyViewerPass | ( | ) |
Definition at line 209 of file RegionPrinter.cpp.
| FunctionPass * llvm::createRegionPrinterPass | ( | ) |
Definition at line 213 of file RegionPrinter.cpp.
| FunctionPass* llvm::createRegionViewerPass | ( | ) |
| ModulePass * llvm::createRewriteStatepointsForGCPass | ( | ) |
Definition at line 125 of file RewriteStatepointsForGC.cpp.
| ModulePass* llvm::createRewriteSymbolsPass | ( | ) |
Referenced by llvm::TargetPassConfig::addCodeGenPrepare().
| ModulePass * llvm::createRewriteSymbolsPass | ( | SymbolRewriter::RewriteDescriptorList & | DL | ) |
Definition at line 549 of file SymbolRewriter.cpp.
|
static |
Definition at line 849 of file RuntimeDyld.cpp.
References llvm::RuntimeDyldCOFF::create().
Referenced by llvm::RuntimeDyld::loadObject().
|
static |
Definition at line 860 of file RuntimeDyld.cpp.
Referenced by llvm::RuntimeDyld::loadObject().
|
static |
Definition at line 870 of file RuntimeDyld.cpp.
References llvm::RuntimeDyldMachO::create().
Referenced by llvm::RuntimeDyld::loadObject().
| safe Safe Stack instrumentation false FunctionPass * llvm::createSafeStackPass | ( | ) |
This pass splits the stack into a safe stack and an unsafe stack to protect against stack-based overflow vulnerabilities.
Definition at line 609 of file SafeStack.cpp.
Referenced by llvm::TargetPassConfig::addISelPrepare().
| FunctionPass * llvm::createSampleProfileLoaderPass | ( | ) |
Definition at line 757 of file SampleProfile.cpp.
References SampleProfileFile.
| FunctionPass * llvm::createSampleProfileLoaderPass | ( | StringRef | Name | ) |
Definition at line 761 of file SampleProfile.cpp.
| ModulePass* llvm::createSanitizerCoverageModulePass | ( | const SanitizerCoverageOptions & | Options = SanitizerCoverageOptions() | ) |
| std::pair< Function *, Function * > llvm::createSanitizerCtorAndInitFunctions | ( | Module & | M, |
| StringRef | CtorName, | ||
| StringRef | InitName, | ||
| ArrayRef< Type * > | InitArgTypes, | ||
| ArrayRef< Value * > | InitArgs | ||
| ) |
Creates sanitizer constructor function, and calls sanitizer's init function from it.
Definition at line 108 of file ModuleUtils.cpp.
References checkSanitizerInterfaceFunction(), llvm::BasicBlock::Create(), llvm::Function::Create(), llvm::ReturnInst::Create(), llvm::StringRef::empty(), llvm::GlobalValue::ExternalLinkage, llvm::FunctionType::get(), llvm::Module::getContext(), llvm::Module::getOrInsertFunction(), llvm::Type::getVoidTy(), llvm::GlobalValue::InternalLinkage, llvm::GlobalValue::setLinkage(), and llvm::ArrayRef< T >::size().
| scev ScalarEvolution based Alias false FunctionPass * llvm::createScalarEvolutionAliasAnalysisPass | ( | ) |
Definition at line 71 of file ScalarEvolutionAliasAnalysis.cpp.
| FunctionPass * llvm::createScalarizerPass | ( | ) |
Definition at line 674 of file Scalarizer.cpp.
Referenced by LLVMAddScalarizerPass().
| FunctionPass* llvm::createScalarReplAggregatesPass | ( | signed | Threshold = -1, |
| bool | UseDomTree = true, |
||
| signed | StructMemberThreshold = -1, |
||
| signed | ArrayElementThreshold = -1, |
||
| signed | ScalarLoadThreshold = -1 |
||
| ) |
| FunctionPass* llvm::createSCCPPass | ( | ) |
Referenced by LLVMAddSCCPPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| ImmutablePass* llvm::createScopedNoAliasAAPass | ( | ) |
Referenced by llvm::TargetPassConfig::addIRPasses(), and LLVMAddScopedNoAliasAAPass().
| separate const offset from Split GEPs to a variadic base and a constant offset for better false FunctionPass * llvm::createSeparateConstOffsetFromGEPPass | ( | const TargetMachine * | TM = nullptr, |
| bool | LowerGEP = false |
||
| ) |
Definition at line 401 of file SeparateConstOffsetFromGEP.cpp.
| shadow stack gc Shadow Stack GC false FunctionPass * llvm::createShadowStackGCLoweringPass | ( | ) |
ShadowStackGCLowering - Implements the custom lowering mechanism used by the shadow stack GC.
Only runs on functions which opt in to the shadow stack collector.
Definition at line 70 of file ShadowStackGCLowering.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses().
| FunctionPass * llvm::createSIAnnotateControlFlowPass | ( | ) |
Create the annotation pass.
Definition at line 363 of file SIAnnotateControlFlow.cpp.
| FunctionPass* llvm::createSICodeEmitterPass | ( | formatted_raw_ostream & | OS | ) |
| FunctionPass * llvm::createSIFixControlFlowLiveIntervalsPass | ( | ) |
Definition at line 69 of file SIFixControlFlowLiveIntervals.cpp.
| FunctionPass * llvm::createSIFixSGPRCopiesPass | ( | TargetMachine & | tm | ) |
Definition at line 114 of file SIFixSGPRCopies.cpp.
| FunctionPass * llvm::createSIFixSGPRLiveRangesPass | ( | ) |
Definition at line 102 of file SIFixSGPRLiveRanges.cpp.
| FunctionPass * llvm::createSIFoldOperandsPass | ( | ) |
Definition at line 88 of file SIFoldOperands.cpp.
| FunctionPass * llvm::createSIInsertWaits | ( | TargetMachine & | tm | ) |
Definition at line 136 of file SIInsertWaits.cpp.
| FunctionPass * llvm::createSILoadStoreOptimizerPass | ( | TargetMachine & | tm | ) |
Definition at line 130 of file SILoadStoreOptimizer.cpp.
| FunctionPass * llvm::createSILowerControlFlowPass | ( | TargetMachine & | tm | ) |
Definition at line 112 of file SILowerControlFlow.cpp.
| FunctionPass * llvm::createSILowerI1CopiesPass | ( | ) |
Definition at line 68 of file SILowerI1Copies.cpp.
| MCCodeEmitter * llvm::createSIMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 73 of file SIMCCodeEmitter.cpp.
Referenced by LLVMInitializeAMDGPUTargetMC().
| Pass * llvm::createSimpleLoopUnrollPass | ( | ) |
Definition at line 249 of file LoopUnrollPass.cpp.
References createLoopUnrollPass().
Referenced by 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 155 of file LoopExtractor.cpp.
| FunctionPass * llvm::createSinkingPass | ( | ) |
| FunctionPass * llvm::createSIPrepareScratchRegs | ( | ) |
Definition at line 56 of file SIPrepareScratchRegs.cpp.
| FunctionPass * llvm::createSIShrinkInstructionsPass | ( | ) |
Definition at line 71 of file SIShrinkInstructions.cpp.
| FunctionPass * llvm::createSITypeRewriter | ( | ) |
Definition at line 159 of file SITypeRewriter.cpp.
| FunctionPass* llvm::createSjLjEHPreparePass | ( | ) |
createSjLjEHPreparePass - This pass adapts exception handling code to use the GCC-style builtin setjmp/longjmp (sjlj) to handling EH control flow.
Referenced by llvm::TargetPassConfig::addPassesToHandleExceptions().
| Pass * llvm::createSLPVectorizerPass | ( | ) |
Definition at line 4050 of file SLPVectorizer.cpp.
Referenced by LLVMAddSLPVectorizePass(), and llvm::PassManagerBuilder::populateModulePassManager().
| 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 3006 of file ScheduleDAGRRList.cpp.
References llvm::TargetSubtargetInfo::getInstrInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::SelectionDAGISel::MF, and TII.
Referenced by createDefaultScheduler().
| MCAsmBackend * llvm::createSparcAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 300 of file SparcAsmBackend.cpp.
References llvm::Triple::getOS().
Referenced by LLVMInitializeSparcTargetMC().
| FunctionPass * llvm::createSparcDelaySlotFillerPass | ( | TargetMachine & | TM | ) |
createSparcDelaySlotFillerPass - Returns a pass that fills in delay slots in Sparc MachineFunctions
Definition at line 100 of file DelaySlotFiller.cpp.
| MCObjectWriter * llvm::createSparcELFObjectWriter | ( | raw_pwrite_stream & | OS, |
| bool | Is64Bit, | ||
| bool | IsLIttleEndian, | ||
| uint8_t | OSABI | ||
| ) |
Definition at line 133 of file SparcELFObjectWriter.cpp.
References createELFObjectWriter().
| FunctionPass * llvm::createSparcISelDag | ( | SparcTargetMachine & | TM | ) |
createSparcISelDag - This pass converts a legalized DAG into a SPARC-specific DAG, ready for instruction scheduling.
Definition at line 225 of file SparcISelDAGToDAG.cpp.
| MCCodeEmitter * llvm::createSparcMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 76 of file SparcMCCodeEmitter.cpp.
Referenced by LLVMInitializeSparcTargetMC().
| FunctionPass * llvm::createSpeculativeExecutionPass | ( | ) |
Definition at line 239 of file SpeculativeExecution.cpp.
| FunctionPass * llvm::createSROAPass | ( | bool | RequiresDomTree = true | ) |
Definition at line 1275 of file SROA.cpp.
Referenced by llvm::PassManagerBuilder::populateFunctionPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
| FunctionPass* llvm::createStackProtectorPass | ( | const TargetMachine * | TM | ) |
createStackProtectorPass - This pass adds stack protectors to functions.
Referenced by llvm::TargetPassConfig::addISelPrepare().
| Straight line strength false FunctionPass * llvm::createStraightLineStrengthReducePass | ( | ) |
Definition at line 220 of file StraightLineStrengthReduce.cpp.
| ModulePass* llvm::createStripDeadDebugInfoPass | ( | ) |
| ModulePass * llvm::createStripDeadPrototypesPass | ( | ) |
createStripDeadPrototypesPass - This pass removes any function declarations (prototypes) that are not used.
Definition at line 72 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().
| Pass * llvm::createStructurizeCFGPass | ( | ) |
Create the pass.
Definition at line 955 of file StructurizeCFG.cpp.
| FunctionPass * llvm::createSystemZElimComparePass | ( | SystemZTargetMachine & | TM | ) |
Definition at line 95 of file SystemZElimCompare.cpp.
| FunctionPass * llvm::createSystemZISelDag | ( | SystemZTargetMachine & | TM, |
| CodeGenOpt::Level | OptLevel | ||
| ) |
Definition at line 355 of file SystemZISelDAGToDAG.cpp.
| FunctionPass * llvm::createSystemZLDCleanupPass | ( | SystemZTargetMachine & | TM | ) |
Definition at line 56 of file SystemZLDCleanup.cpp.
| FunctionPass * llvm::createSystemZLongBranchPass | ( | SystemZTargetMachine & | TM | ) |
Definition at line 169 of file SystemZLongBranch.cpp.
| MCAsmBackend * llvm::createSystemZMCAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 112 of file SystemZMCAsmBackend.cpp.
References llvm::Triple::getOS(), and llvm::MCELFObjectTargetWriter::getOSABI().
Referenced by LLVMInitializeSystemZTargetMC().
| MCCodeEmitter * llvm::createSystemZMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 116 of file SystemZMCCodeEmitter.cpp.
Referenced by LLVMInitializeSystemZTargetMC().
| MCObjectWriter * llvm::createSystemZObjectWriter | ( | raw_pwrite_stream & | OS, |
| uint8_t | OSABI | ||
| ) |
Definition at line 155 of file SystemZMCObjectWriter.cpp.
References createELFObjectWriter().
| FunctionPass * llvm::createSystemZShortenInstPass | ( | SystemZTargetMachine & | TM | ) |
Definition at line 56 of file SystemZShortenInst.cpp.
| Tail Call false FunctionPass * llvm::createTailCallEliminationPass | ( | ) |
Definition at line 133 of file TailRecursionElimination.cpp.
Referenced by LLVMAddTailCallEliminationPass(), and llvm::PassManagerBuilder::populateModulePassManager().
| ImmutablePass * llvm::createTargetTransformInfoWrapperPass | ( | TargetIRAnalysis | TIRA | ) |
Create an analysis pass wrapper around a TTI object.
This analysis pass just holds the TTI instance and makes it available to clients.
Definition at line 336 of file TargetTransformInfo.cpp.
Referenced by addPassesToGenerateCode(), LLVMAddAnalysisPasses(), and llvm::LTOCodeGenerator::optimize().
| FunctionPass* llvm::createThreadSanitizerPass | ( | ) |
| FunctionPass * llvm::createThumb2ITBlockPass | ( | ) |
createThumb2ITBlockPass - Returns an instance of the Thumb2 IT blocks insertion pass.
Definition at line 297 of file Thumb2ITBlockPass.cpp.
| FunctionPass * llvm::createThumb2SizeReductionPass | ( | std::function< bool(const Function &)> | Ftor = nullptr | ) |
createThumb2SizeReductionPass - Returns an instance of the Thumb2 size reduction pass.
Definition at line 1034 of file Thumb2SizeReduction.cpp.
| MCAsmBackend * llvm::createThumbBEAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 796 of file ARMAsmBackend.cpp.
References createARMAsmBackend().
Referenced by LLVMInitializeARMTargetMC().
| MCAsmBackend * llvm::createThumbLEAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 790 of file ARMAsmBackend.cpp.
References createARMAsmBackend().
Referenced by LLVMInitializeARMTargetMC().
| ImmutablePass* llvm::createTypeBasedAliasAnalysisPass | ( | ) |
Referenced by llvm::TargetPassConfig::addIRPasses(), and LLVMAddTypeBasedAliasAnalysisPass().
| Pass* llvm::createUnifyFunctionExitNodesPass | ( | ) |
| FunctionPass * llvm::createUnpackMachineBundles | ( | std::function< bool(const Function &)> | Ftor | ) |
Definition at line 80 of file MachineInstrBundle.cpp.
| 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 llvm::TargetPassConfig::addPassesToHandleExceptions().
| FunctionPass * llvm::createVerifierPass | ( | bool | FatalErrors = true | ) |
Create a verifier pass.
Check a module or function for validity. This is essentially a pass wrapped around the above verifyFunction and verifyModule routines and functionality. When the pass detects a verification error it is always printed to stderr, and by default they are fatal. You can override that by passing false to FatalErrors.
Note that this creates a pass suitable for the legacy pass manager. It has nothing to do with VerifierPass.
Definition at line 3703 of file Verifier.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses(), llvm::TargetPassConfig::addISelPrepare(), LLVMAddVerifierPass(), and llvm::PassManagerBuilder::populateLTOPassManager().
| ScheduleDAGSDNodes * llvm::createVLIWDAGScheduler | ( | SelectionDAGISel * | IS, |
| CodeGenOpt::Level | OptLevel | ||
| ) |
createVLIWDAGScheduler - Scheduler for VLIW targets.
createVLIWDAGScheduler - This creates a top-down list scheduler.
This creates top down DFA driven list scheduler with clustering heuristic to control register pressure.
Definition at line 277 of file ScheduleDAGVLIW.cpp.
References llvm::SelectionDAGISel::AA, and llvm::SelectionDAGISel::MF.
Referenced by createDefaultScheduler().
| MCAsmBackend* llvm::createWebAssemblyAsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| StringRef | TT, | ||
| StringRef | CPU | ||
| ) |
| FunctionPass * llvm::createWebAssemblyISelDag | ( | WebAssemblyTargetMachine & | TM, |
| CodeGenOpt::Level | OptLevel | ||
| ) |
This pass converts a legalized DAG into a WebAssembly-specific DAG, ready for instruction scheduling.
Definition at line 70 of file WebAssemblyISelDAGToDAG.cpp.
| MCObjectWriter * llvm::createWinCOFFObjectWriter | ( | MCWinCOFFObjectTargetWriter * | MOTW, |
| raw_pwrite_stream & | OS | ||
| ) |
Construct a new Win COFF writer instance.
| MOTW | - The target specific WinCOFF writer subclass. |
| OS | - The stream to write to. |
Definition at line 1094 of file WinCOFFObjectWriter.cpp.
Referenced by createARMWinCOFFObjectWriter(), and createX86WinCOFFObjectWriter().
| FunctionPass* llvm::createWinEHPass | ( | const TargetMachine * | TM | ) |
createWinEHPass - Prepares personality functions used by MSVC on Windows, in addition to the Itanium LSDA based personalities.
Referenced by llvm::TargetPassConfig::addPassesToHandleExceptions().
| MCAsmBackend * llvm::createX86_32AsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 772 of file X86AsmBackend.cpp.
References llvm::Triple::getOS(), llvm::MCELFObjectTargetWriter::getOSABI(), llvm::Triple::isOSBinFormatELF(), llvm::Triple::isOSBinFormatMachO(), and llvm::Triple::isOSWindows().
Referenced by LLVMInitializeX86TargetMC().
| MCAsmBackend * llvm::createX86_64AsmBackend | ( | const Target & | T, |
| const MCRegisterInfo & | MRI, | ||
| const Triple & | TT, | ||
| StringRef | CPU | ||
| ) |
Definition at line 786 of file X86AsmBackend.cpp.
References llvm::MachO::CPU_SUBTYPE_X86_64_ALL, llvm::MachO::CPU_SUBTYPE_X86_64_H, CS, llvm::StringSwitch< T, R >::Default(), llvm::Triple::getArchName(), llvm::Triple::getEnvironment(), llvm::Triple::getOS(), llvm::MCELFObjectTargetWriter::getOSABI(), llvm::Triple::GNUX32, llvm::Triple::isOSBinFormatELF(), llvm::Triple::isOSBinFormatMachO(), and llvm::Triple::isOSWindows().
Referenced by LLVMInitializeX86TargetMC().
| MCRelocationInfo * llvm::createX86_64ELFRelocationInfo | ( | MCContext & | Ctx | ) |
Construct X86-64 ELF relocation info.
createX86ELFRelocationInfo - Construct an X86 Mach-O RelocationInfo.
Definition at line 138 of file X86ELFRelocationInfo.cpp.
Referenced by createX86MCRelocationInfo().
| MCRelocationInfo * llvm::createX86_64MachORelocationInfo | ( | MCContext & | Ctx | ) |
Construct X86-64 Mach-O relocation info.
createX86_64MachORelocationInfo - Construct an X86-64 Mach-O RelocationInfo.
Definition at line 117 of file X86MachORelocationInfo.cpp.
Referenced by createX86MCRelocationInfo().
| X86AsmInstrumentation * llvm::CreateX86AsmInstrumentation | ( | const MCTargetOptions & | MCOptions, |
| const MCContext & | Ctx, | ||
| const MCSubtargetInfo & | STI | ||
| ) |
Definition at line 1069 of file X86AsmInstrumentation.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), llvm::MCSubtargetInfo::getTargetTriple(), llvm::MCTargetOptions::SanitizeAddress, and T.
| FunctionPass * llvm::createX86CallFrameOptimization | ( | ) |
createX86CallFrameOptimization - Return a pass that optimizes the code-size of x86 call sequences.
This is done by replacing esp-relative movs with pushes.
Definition at line 111 of file X86CallFrameOptimization.cpp.
| MCObjectWriter * llvm::createX86ELFObjectWriter | ( | raw_pwrite_stream & | OS, |
| bool | IsELF64, | ||
| uint8_t | OSABI, | ||
| uint16_t | EMachine | ||
| ) |
Construct an X86 ELF object writer.
Definition at line 253 of file X86ELFObjectWriter.cpp.
References createELFObjectWriter().
| FunctionPass * llvm::createX86ExpandPseudoPass | ( | ) |
Return a Machine IR pass that expands X86-specific pseudo instructions into a sequence of actual instructions.
Returns an instance of the pseudo instruction expansion pass.
This pass must run after prologue/epilogue insertion and before lowering the MachineInstr to MC.
Definition at line 177 of file X86ExpandPseudo.cpp.
| FunctionPass * llvm::createX86FixupLEAs | ( | ) |
createX86FixupLEAs - Return a a pass that selectively replaces certain instructions (like add, sub, inc, dec, some shifts, and some multiplies) by equivalent LEA instructions, in order to eliminate execution delays in some Atom processors.
Definition at line 148 of file X86FixupLEAs.cpp.
| 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 284 of file X86FloatingPoint.cpp.
| FunctionPass * llvm::createX86GlobalBaseRegPass | ( | ) |
createX86GlobalBaseRegPass - This pass initializes a global base register for PIC on x86-32.
Definition at line 6646 of file X86InstrInfo.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 2922 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 91 of file X86VZeroUpper.cpp.
| MCObjectWriter * llvm::createX86MachObjectWriter | ( | raw_pwrite_stream & | OS, |
| bool | Is64Bit, | ||
| uint32_t | CPUType, | ||
| uint32_t | CPUSubtype | ||
| ) |
Construct an X86 Mach-O object writer.
Definition at line 569 of file X86MachObjectWriter.cpp.
References createMachObjectWriter().
| MCCodeEmitter * llvm::createX86MCCodeEmitter | ( | const MCInstrInfo & | MCII, |
| const MCRegisterInfo & | MRI, | ||
| MCContext & | Ctx | ||
| ) |
Definition at line 171 of file X86MCCodeEmitter.cpp.
Referenced by LLVMInitializeX86TargetMC().
| FunctionPass * llvm::createX86PadShortFunctions | ( | ) |
createX86PadShortFunctions - Return a pass that pads short functions with NOOPs.
This will prevent a stall when returning on the Atom.
Definition at line 89 of file X86PadShortFunction.cpp.
| MCObjectWriter * llvm::createX86WinCOFFObjectWriter | ( | raw_pwrite_stream & | OS, |
| bool | Is64Bit | ||
| ) |
Construct an X86 Win COFF object writer.
Definition at line 93 of file X86WinCOFFObjectWriter.cpp.
References createWinCOFFObjectWriter().
| MCStreamer * llvm::createX86WinCOFFStreamer | ( | MCContext & | C, |
| MCAsmBackend & | AB, | ||
| raw_pwrite_stream & | OS, | ||
| MCCodeEmitter * | CE, | ||
| bool | RelaxAll | ||
| ) |
Construct an X86 Windows COFF machine code streamer which will generate PE/COFF format object files.
Takes ownership of AB and CE.
Definition at line 51 of file X86WinCOFFStreamer.cpp.
Referenced by LLVMInitializeX86TargetMC().
| FunctionPass * llvm::createX86WinEHStatePass | ( | ) |
createX86WinEHStatePass - Return an IR pass that inserts EH registration stack objects and explicit EH state updates.
This pass must run after EH preparation, which does Windows-specific but architecture-neutral preparation.
Definition at line 110 of file X86WinEHState.cpp.
| FunctionPass * llvm::createXCoreFrameToArgsOffsetEliminationPass | ( | ) |
createXCoreFrameToArgsOffsetEliminationPass - returns an instance of the Frame to args offset elimination pass
Definition at line 41 of file XCoreFrameToArgsOffsetElim.cpp.
| 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 83 of file XCoreISelDAGToDAG.cpp.
| ModulePass* llvm::createXCoreLowerThreadLocalPass | ( | ) |
| raw_ostream & llvm::dbgs | ( | ) |
dbgs() - This returns a reference to a raw_ostream for debugging messages.
dbgs - Return a circular-buffered debug stream.
If debugging is disabled it returns errs(). Use it like: dbgs() << "foo" << "bar";
Definition at line 123 of file Debug.cpp.
References llvm::sys::AddSignalHandler(), debug_user_sig_handler(), DebugBufferSize, DebugFlag, EnableDebugBuffering, and errs().
Referenced by llvm::InstCombineWorklist::Add(), addChainDependency(), llvm::ExecutionEngine::addGlobalMapping(), llvm::InstCombineWorklist::AddInitialGroup(), llvm::TargetPassConfig::addIRPasses(), llvm::TargetPassConfig::addISelPrepare(), llvm::PMDataManager::addLowerLevelRequiredPass(), llvm::TargetPassConfig::addMachinePasses(), llvm::TargetPassConfig::addPrintPass(), AddReachableCodeToWorklist(), llvm::LoopAccessInfo::addRuntimeCheck(), llvm::DIEHash::addSLEB128(), llvm::BlockFrequencyInfoImplBase::addToDist(), llvm::DIEHash::addULEB128(), llvm::IVUsers::AddUsersImpl(), llvm::BlockFrequencyInfoImplBase::adjustLoopHeaderMass(), AdjustStackOffset(), llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(), llvm::RegAllocBase::allocatePhysRegs(), llvm::AllocationOrder::AllocationOrder(), llvm::HexagonInstrInfo::AnalyzeBranch(), llvm::CCState::AnalyzeCallOperands(), llvm::CCState::AnalyzeCallResult(), llvm::CCState::AnalyzeFormalArguments(), AnalyzeLoadFromClobberingWrite(), llvm::CCState::AnalyzeReturn(), llvm::A57ChainingConstraint::apply(), llvm::MemoryDepChecker::areDepsSafe(), llvm::LiveRegMatrix::assign(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::SelectionDAG::AssignTopologicalOrder(), llvm::CriticalAntiDepBreaker::BreakAntiDependencies(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), BreakUpSubtract(), BUCompareLatency(), llvm::SchedBoundary::bumpCycle(), llvm::SchedBoundary::bumpNode(), BURRSort(), llvm::LiveRangeEdit::calculateRegClassAndHint(), calculateSpillWeightsAndHints(), CanPropagatePredecessorsForPHIs(), llvm::RuntimeDyldCheckerImpl::check(), llvm::GenericScheduler::checkAcyclicLatency(), checkForCyclesHelper(), llvm::SchedBoundary::checkHazard(), clampStackAlignment(), llvm::objcarc::PtrState::ClearKnownPositiveRefCount(), collectInvolvedReg(), llvm::ScalarEvolution::collectParametricTerms(), combineInstructionsOverFunction(), completeEphemeralValues(), llvm::ObjectSizeOffsetVisitor::compute(), llvm::ScalarEvolution::computeAccessFunctions(), computeADRP(), llvm::ScheduleDAGMILive::computeCyclicCriticalPath(), llvm::BlockFrequencyInfoImplBase::computeLoopScale(), computeOthers(), convertFloatingToInteger(), llvm::X86InstrInfo::copyPhysReg(), llvm::SchedBoundary::countResource(), createCleanupHandler(), createIrreducibleLoop(), llvm::X86Disassembler::Debug(), debug_user_sig_handler(), debugAssign(), DeleteInstructionInBlock(), llvm::ScalarEvolution::delinearize(), llvm::DependenceAnalysis::depends(), llvm::Constant::destroyConstant(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::BlockFrequencyInfoImplBase::distributeMass(), llvm::BlockFrequencyInfoImpl< BlockT >::doFunction(), llvm::RegisterPressure::dump(), llvm::Comdat::dump(), llvm::MCLabel::dump(), llvm::BranchProbability::dump(), llvm::MachineLoop::dump(), llvm::MCValue::dump(), llvm::ILPValue::dump(), llvm::LiveDebugVariables::dump(), llvm::MCParsedAsmOperand::dump(), llvm::PHITransAddr::dump(), llvm::DIEAbbrev::dump(), llvm::DominanceFrontierBase< BlockT >::dump(), llvm::ValueEnumerator::dump(), llvm::CallGraph::dump(), llvm::LiveVariables::VarInfo::dump(), llvm::Trace::dump(), llvm::DebugLoc::dump(), llvm::LexicalScope::dump(), llvm::Metadata::dump(), llvm::SubtargetFeatures::dump(), llvm::bfi_detail::BlockMass::dump(), llvm::Type::dump(), llvm::MachineJumpTableInfo::dump(), llvm::Pass::dump(), llvm::SCEV::dump(), llvm::DwarfAccelTable::Atom::dump(), llvm::LivePhysRegs::dump(), llvm::PressureDiff::dump(), llvm::MCOperand::dump(), llvm::PMStack::dump(), llvm::SlotIndex::dump(), llvm::MachineConstantPool::dump(), llvm::IVUsers::dump(), llvm::VirtRegMap::dump(), llvm::MCInst::dump(), llvm::AliasSet::dump(), llvm::LiveRange::Segment::dump(), llvm::Value::dump(), llvm::DominanceFrontier::dump(), llvm::CallGraphNode::dump(), llvm::coverage::CounterMappingContext::dump(), llvm::DwarfAccelTable::dump(), llvm::ConstantRange::dump(), llvm::GCOVFunction::dump(), llvm::MachineFunction::dump(), llvm::GCOVBlock::dump(), llvm::SlotIndexes::dump(), llvm::CallGraphWrapperPass::dump(), llvm::MCSymbol::dump(), llvm::AttributeSet::dump(), llvm::AliasSetTracker::dump(), llvm::RegPressureTracker::dump(), llvm::SplitEditor::dump(), llvm::ScaledNumberBase::dump(), llvm::RegionBase< RegionTr >::dump(), llvm::DIEValue::dump(), llvm::Loop::dump(), llvm::Twine::dump(), llvm::BlockFrequencyInfoImplBase::dump(), llvm::SUnit::dump(), llvm::ReadyQueue::dump(), llvm::LiveRange::dump(), llvm::PBQP::RegAlloc::PBQPRAGraph::dump(), llvm::MachineFrameInfo::dump(), llvm::ConstantUniqueMap< llvm::ConstantExpr >::dump(), llvm::Module::dump(), llvm::MachineBasicBlock::dump(), llvm::SDNode::dump(), llvm::LiveInterval::dump(), llvm::RegionInfoBase< RegionTr >::dump(), llvm::DIE::dump(), llvm::MachineInstr::dump(), llvm::NamedMDNode::dump(), llvm::APInt::dump(), dump_registers(), llvm::SUnit::dumpAll(), llvm::PMTopLevelManager::dumpArguments(), llvm::PMDataManager::dumpLastUses(), dumpMachineInstrRangeWithSlotIndex(), llvm::ScheduleDAGSDNodes::dumpNode(), llvm::PMDataManager::dumpPassArguments(), llvm::PMDataManager::dumpPassInfo(), llvm::Pass::dumpPassStructure(), llvm::FPPassManager::dumpPassStructure(), llvm::SDNode::dumpr(), llvm::TargetRegisterInfo::dumpReg(), dumpRegSetPressure(), llvm::RuntimeDyldMachO::dumpRelocationToResolve(), llvm::Twine::dumpRepr(), llvm::SDNode::dumprWithDepth(), llvm::ScheduleDAGSDNodes::dumpSchedule(), llvm::ScheduleDAGMI::dumpSchedule(), llvm::SchedBoundary::dumpScheduledState(), dumpSectionMemory(), dumpSmallBitVector(), llvm::DWARFContextInMemory::DWARFContextInMemory(), llvm::LiveRangeEdit::eliminateDeadDefs(), EliminateDeadSwitchCases(), llvm::HexagonRegisterInfo::eliminateFrameIndex(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::PPCDispatchGroupSBHazardRecognizer::EmitInstruction(), llvm::TargetLowering::EmitInstrWithCustomInserter(), llvm::RuntimeDyldImpl::emitSection(), llvm::HexagonMCCodeEmitter::encodeInstruction(), llvm::HexagonMCCodeEmitter::EncodeSingleInstruction(), llvm::SplitEditor::enterIntvAfter(), llvm::SplitEditor::enterIntvAtEnd(), llvm::SplitEditor::enterIntvBefore(), llvm::InstCombiner::EraseInstFromFunction(), 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(), extendSegmentsToUses(), extractInteger(), extractVector(), fdbgs(), llvm::SchedDFSImpl::finalize(), llvm::ScalarEvolution::findArrayDimensions(), llvm::SSAUpdaterImpl< UpdaterT >::FindAvailableVals(), findBaseDefiningValueCached(), findCallees(), findGCD(), findIrreducibleHeaders(), llvm::SchedBoundary::findMaxLatency(), llvm::RegScavenger::FindUnusedReg(), llvm::SplitEditor::finish(), llvm::ScheduleDAGInstrs::fixupKills(), FoldBlockIntoPredecessor(), FoldBranchToCommonDest(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::InstCombiner::FoldShiftByConstant(), FoldTwoEntryPHINode(), for(), llvm::ARMTargetLowering::functionArgumentNeedsConsecutiveRegisters(), llvm::FunctionLoweringInfo::getArgumentFrameIndex(), llvm::coverage::CoverageMapping::getCoverageForExpansion(), llvm::coverage::CoverageMapping::getCoverageForFile(), llvm::coverage::CoverageMapping::getCoverageForFunction(), llvm::HexagonMCInstrInfo::getDuplexPossibilties(), llvm::ScoreboardHazardRecognizer::getHazardType(), llvm::Mips16InstrInfo::getInlineAsmLength(), llvm::InlineCostAnalysis::getInlineCost(), GetLoadValueForLoad(), llvm::RegPressureTracker::getMaxUpwardPressureDelta(), getNewAlignment(), getNewAlignmentDiff(), llvm::SchedBoundary::getOtherResourceCount(), llvm::HexagonInstrInfo::getPredReg(), llvm::CCState::getRemainingRegParmsForType(), llvm::DependenceAnalysis::getSplitIteration(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::objcarc::BottomUpPtrState::HandlePotentialAlterRefCount(), llvm::objcarc::TopDownPtrState::HandlePotentialAlterRefCount(), llvm::objcarc::BottomUpPtrState::HandlePotentialUse(), llvm::objcarc::TopDownPtrState::HandlePotentialUse(), hasOutsideLoopUser(), hasVRegCycleUse(), HexagonMCShuffle(), hoist(), hoistRegion(), llvm::objcarc::BottomUpPtrState::InitBottomUp(), INITIALIZE_PASS_BEGIN(), llvm::ExecutionEngine::InitializeMemory(), llvm::ScheduleDAGMILive::initRegPressure(), initVRegCycle(), InlineCallIfPossible(), llvm::HexagonInstrInfo::InsertBranch(), insertCopy(), insertInteger(), InsertPreheaderForLoop(), insertUniqueBackedgeBlock(), insertVector(), llvm::MachineTraceMetrics::Ensemble::invalidate(), llvm::MachineTraceMetrics::invalidate(), isBitfieldExtractOpFromAnd(), isBitfieldExtractOpFromShr(), isInductionPHI(), isProfitableChain(), llvm::RecurrenceDescriptor::isReductionPHI(), isStridedPtr(), KnuthDiv(), llvm::LazyCallGraph::LazyCallGraph(), llvm::SplitEditor::leaveIntvAfter(), llvm::SplitEditor::leaveIntvAtTop(), llvm::SplitEditor::leaveIntvBefore(), LinearizeExprTree(), llvm_unreachable_internal(), llvm::RuntimeDyldImpl::loadObjectImpl(), llvm::HexagonTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::HexagonEvaluator::mask(), llvm::object::MachORebaseEntry::moveNext(), llvm::object::MachOBindEntry::moveNext(), needsFP(), llvm::MipsRegisterInfo::needsStackRealignment(), llvm::AggressiveAntiDepBreaker::Observe(), operator<<(), OptimizeAwayTrappingUsesOfLoads(), optimizeGlobalCtorsList(), llvm::OptLevelChanger::OptLevelChanger(), llvm::SplitEditor::overlapIntv(), llvm::BlockFrequencyInfoImplBase::packageLoop(), performBitcastCombine(), performConcatVectorsCombine(), llvm::MipsSETargetLowering::PerformDAGCombine(), PerformHeapAllocSRoA(), llvm::R600SchedStrategy::pickNode(), llvm::ConvergingVLIWScheduler::pickNode(), llvm::GenericScheduler::pickNode(), llvm::PostGenericScheduler::pickNode(), llvm::GenericScheduler::pickNodeBidirectional(), llvm::RuntimeDyldMachO::populateIndirectSymbolPointersSection(), llvm::HexagonInstrInfo::PredicateInstruction(), print_name(), PrintOps(), printReachingDef(), llvm::RuntimeDyldCOFFX86_64::processRelocationRef(), llvm::RuntimeDyldELF::processRelocationRef(), ProfitableToMerge(), promoteLoopAccessesToScalars(), reachedUsesToDefs(), llvm::RuntimeDyldImpl::reassignSectionAddress(), registerADRCandidate(), llvm::GenericScheduler::registerRoots(), llvm::PostGenericScheduler::registerRoots(), llvm::R600SchedStrategy::releaseBottomNode(), llvm::ScheduleDAGMI::releasePred(), llvm::ScheduleDAGMI::releaseSucc(), llvm::R600SchedStrategy::releaseTopNode(), llvm::HexagonInstrInfo::RemoveBranch(), llvm::PMDataManager::removeDeadPasses(), llvm::LazyCallGraph::SCC::removeInterSCCEdge(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::SlotIndexes::renumberIndexes(), llvm::SCEVExpander::replaceCongruentIVs(), replaceDominatedUsesWith(), llvm::InstCombiner::ReplaceInstUsesWith(), replaceSymbolicStrideSCEV(), ReplaceUsesOfWith(), llvm::GenericScheduler::reschedulePhysRegCopies(), llvm::VLIWResourceModel::reserveResources(), llvm::objcarc::PtrState::ResetSequenceProgress(), llvm::MipsTargetMachine::resetSubtarget(), llvm::SelectionDAGBuilder::resolveDanglingDebugInfo(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::RuntimeDyldImpl::resolveRelocations(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), rewriteLoopExitBlock(), llvm::BitTracker::run(), llvm::VerifierPass::run(), llvm::DAGTypeLegalizer::run(), llvm::Interpreter::run(), llvm::PassManager< IRUnitT >::run(), llvm::InstCombiner::run(), llvm::BranchProbabilityInfo::runOnFunction(), llvm::RGPassManager::runOnFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::SlotIndexes::runOnMachineFunction(), llvm::Inliner::runOnSCC(), llvm::RegScavenger::scavengeRegister(), llvm::R600SchedStrategy::schedNode(), llvm::VLIWMachineScheduler::schedule(), llvm::ScheduleDAGMI::schedule(), llvm::ScheduleDAGMILive::schedule(), llvm::PMTopLevelManager::schedulePass(), llvm::SchedDFSResult::scheduleTree(), llvm::ConvergingVLIWScheduler::SchedulingCost(), llvm::ScoreboardHazardRecognizer::ScoreboardHazardRecognizer(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::FastISel::selectIntrinsicCall(), llvm::SplitEditor::selectIntv(), separateNestedLoop(), llvm::FaultMaps::serializeToFaultMapSection(), llvm::StackMaps::serializeToStackMapSection(), llvm::BranchProbabilityInfo::setEdgeWeight(), llvm::objcarc::PtrState::SetKnownPositiveRefCount(), llvm::GenericSchedulerBase::setPolicy(), llvm::objcarc::PtrState::SetSeq(), llvm::ARMBaseRegisterInfo::shouldCoalesce(), llvm::LiveIntervals::shrinkToUses(), llvm::HexagonShuffler::shuffle(), SimplifyBranchOnICmpChain(), SimplifyCondBranchToCondBranch(), SimplifyCondBranchToTwoReturns(), simplifyOneLoop(), sink(), sinkRegion(), SinkThenElseCodeToEnd(), llvm::LoopPass::skipOptnoneFunction(), llvm::FunctionPass::skipOptnoneFunction(), llvm::BasicBlockPass::skipOptnoneFunction(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), llvm::SparseSolver::Solve(), speculatePHINodeLoads(), speculateSelectInstLoads(), SpeculativelyExecuteBB(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::SplitEditor::splitLiveThroughBlock(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), SRAGlobal(), llvm::DbgValueHistoryMap::startInstrRange(), llvm::ExecutionEngine::StoreValueToMemory(), llvm::ConvergingVLIWScheduler::traceCandidate(), llvm::GenericSchedulerBase::traceCandidate(), tracePick(), truncateIVUse(), llvm::GenericScheduler::tryCandidate(), tryLowerToSLI(), tryPromoteAllocaToVector(), TryToShrinkGlobalToBoolean(), TryToSimplifyUncondBranchFromEmptyBlock(), llvm::LiveRegMatrix::unassign(), UnrollLoop(), unwrapLoop(), llvm::LiveIntervals::HMEditor::updateAllRanges(), llvm::ScheduleDAGMILive::updatePressureDiffs(), llvm::ScheduleDAGMILive::updateScheduledPressure(), llvm::MipsSubtarget::useConstantIslands(), llvm::SplitEditor::useIntv(), llvm::ValueHandleBase::ValueIsDeleted(), llvm::ValueHandleBase::ValueIsRAUWd(), llvm::ScalarEvolution::verifyAnalysis(), verifyCTRBranch(), VerifyPHIs(), llvm::ScheduleDAG::VerifyScheduledDAG(), llvm::Interpreter::visitAllocaInst(), llvm::InstCombiner::visitAllocaInst(), llvm::Interpreter::visitBinaryOperator(), llvm::Interpreter::visitExtractElementInst(), llvm::Interpreter::visitFCmpInst(), llvm::Interpreter::visitICmpInst(), llvm::ObjectSizeOffsetVisitor::visitInstruction(), llvm::ObjectSizeOffsetEvaluator::visitInstruction(), llvm::Interpreter::visitLoadInst(), llvm::InstCombiner::visitSExt(), llvm::Interpreter::visitStoreInst(), llvm::InstCombiner::visitTrunc(), llvm::Interpreter::visitVAArgInst(), llvm::InstCombiner::visitZExt(), llvm::MachObjectWriter::writeObject(), llvm::OptLevelChanger::~OptLevelChanger(), llvm::Value::~Value(), and llvm::ValueSymbolTable::~ValueSymbolTable().
Decode a BLEND immediate mask into a shuffle mask.
Definition at line 338 of file X86ShuffleDecode.cpp.
References llvm::tgtok::Bit, llvm::MVT::getScalarSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Decode a SSE4A EXTRQ instruction as a v16i8 shuffle mask.
Definition at line 433 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), SM_SentinelUndef, and SM_SentinelZero.
Referenced by EmitAnyX86InstComments().
Definition at line 25 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and SM_SentinelZero.
Referenced by EmitAnyX86InstComments().
Decode a SSE4A INSERTQ instruction as a v16i8 shuffle mask.
Definition at line 468 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and SM_SentinelUndef.
Referenced by EmitAnyX86InstComments().
| void llvm::DecodeMOVDDUPMask | ( | MVT | VT, |
| SmallVectorImpl< int > & | ShuffleMask | ||
| ) |
Definition at line 82 of file X86ShuffleDecode.cpp.
References llvm::MVT::getScalarSizeInBits(), llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Definition at line 49 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Definition at line 58 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
| void llvm::DecodeMOVSHDUPMask | ( | MVT | VT, |
| SmallVectorImpl< int > & | ShuffleMask | ||
| ) |
Definition at line 74 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
| void llvm::DecodeMOVSLDUPMask | ( | MVT | VT, |
| SmallVectorImpl< int > & | ShuffleMask | ||
| ) |
Definition at line 66 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Definition at line 125 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorElementType(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Decode a PSHUFB mask from an IR-level vector constant.
Definition at line 268 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::Constant::getAggregateElement(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), llvm::Type::getVectorElementType(), llvm::Type::getVectorNumElements(), llvm::Type::isIntegerTy(), llvm::Type::isVectorTy(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorImpl< T >::reserve(), SM_SentinelUndef, and SM_SentinelZero.
Referenced by llvm::X86AsmPrinter::EmitInstruction(), and getTargetShuffleMask().
| void llvm::DecodePSHUFBMask | ( | ArrayRef< uint64_t > | RawMask, |
| SmallVectorImpl< int > & | ShuffleMask | ||
| ) |
Decode a PSHUFB mask from a raw array of constants such as from BUILD_VECTOR.
Definition at line 316 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::ArrayRef< T >::size(), SM_SentinelUndef, and SM_SentinelZero.
Definition at line 162 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Definition at line 178 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
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 146 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Definition at line 96 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and SM_SentinelZero.
Referenced by EmitAnyX86InstComments().
Definition at line 110 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and SM_SentinelZero.
Referenced by EmitAnyX86InstComments().
Decode a scalar float move instruction as a shuffle mask.
Definition at line 424 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and SM_SentinelZero.
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
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 197 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Utility function to decode a ULEB128 value.
Definition at line 80 of file LEB128.h.
Referenced by llvm::sampleprof::SampleProfileReaderBinary::hasFormat(), loadTestingFormat(), llvm::sampleprof::SampleProfileReaderBinary::readNumber(), and llvm::coverage::RawCoverageReader::readULEB128().
| 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 219 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 239 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Definition at line 256 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and SM_SentinelZero.
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
Decode a VPERMILP variable mask from an IR-level vector constant.
Definition at line 360 of file X86ShuffleDecode.cpp.
References llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::Type::getScalarSizeInBits(), llvm::Value::getType(), llvm::Type::getVectorElementType(), llvm::Type::getVectorNumElements(), llvm::Type::isIntegerTy(), llvm::Type::isVectorTy(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and SM_SentinelUndef.
Referenced by llvm::X86AsmPrinter::EmitInstruction().
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 354 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
| void llvm::DecodeZeroExtendMask | ( | MVT | SrcVT, |
| MVT | DstVT, | ||
| SmallVectorImpl< int > & | Mask | ||
| ) |
Decode a zero extension instruction as a shuffle mask.
Definition at line 400 of file X86ShuffleDecode.cpp.
References llvm::MVT::getScalarSizeInBits(), llvm::MVT::getVectorNumElements(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and SM_SentinelZero.
Referenced by EmitAnyX86InstComments().
| void llvm::DecodeZeroMoveLowMask | ( | MVT | VT, |
| SmallVectorImpl< int > & | ShuffleMask | ||
| ) |
Decode a move lower and zero upper instruction as a shuffle mask.
Definition at line 417 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and SM_SentinelZero.
Referenced by EmitAnyX86InstComments().
| 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 | ) |
| void llvm::DeleteContainerPointers | ( | Container & | C | ) |
For a container of pointers, deletes the pointers and then clears the container.
Definition at line 316 of file STLExtras.h.
References I.
| 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 325 of file STLExtras.h.
References I.
Referenced by llvm::LLVMContextImpl::~LLVMContextImpl().
| void llvm::DeleteDeadBlock | ( | BasicBlock * | BB | ) |
DeleteDeadBlock - Delete the specified block, which must have no predecessors.
Definition at line 36 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::back(), llvm::BasicBlock::empty(), llvm::BasicBlock::eraseFromParent(), llvm::UndefValue::get(), llvm::BasicBlock::getInstList(), llvm::TerminatorInst::getNumSuccessors(), llvm::BasicBlock::getSinglePredecessor(), llvm::TerminatorInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), I, llvm::iplist< NodeTy, Traits >::pop_back(), pred_begin(), pred_end(), llvm::BasicBlock::removePredecessor(), llvm::Value::replaceAllUsesWith(), and llvm::Value::use_empty().
Referenced by CloneAndPruneIntoFromInst().
| bool llvm::DeleteDeadPHIs | ( | BasicBlock * | BB, |
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
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.
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 92 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), dyn_cast(), I, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), RecursivelyDeleteDeadPHINode(), and llvm::SmallVectorTemplateCommon< T >::size().
|
inline |
Definition at line 98 of file STLExtras.h.
| AllocaInst * llvm::DemotePHIToStack | ( | PHINode * | P, |
| Instruction * | AllocaPoint = nullptr |
||
| ) |
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.
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.
The PHI node is deleted. It returns the pointer to the alloca inserted.
Definition at line 108 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(), P, llvm::Value::replaceAllUsesWith(), Slot, and llvm::Value::use_empty().
| AllocaInst * llvm::DemoteRegToStack | ( | Instruction & | I, |
| bool | VolatileLoads = false, |
||
| Instruction * | AllocaPoint = nullptr |
||
| ) |
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.
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 24 of file DemoteRegToStack.cpp.
References llvm::BasicBlock::begin(), llvm::Instruction::eraseFromParent(), F(), llvm::Function::getEntryBlock(), llvm::BasicBlock::getFirstInsertionPt(), llvm::Value::getName(), llvm::InvokeInst::getNormalDest(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), GetSuccessorNumber(), llvm::Value::getType(), I, isCriticalEdge(), Loads, llvm::User::replaceUsesOfWith(), Slot, SplitCriticalEdge(), llvm::Value::use_empty(), and llvm::Instruction::user_back().
| iterator_range<df_iterator<T> > llvm::depth_first | ( | const T & | G | ) |
Definition at line 213 of file DepthFirstIterator.h.
References df_begin(), df_end(), and make_range().
Referenced by llvm::LoopAccessAnalysis::print(), and llvm::LoopBase< N, M >::verifyLoop().
| iterator_range<df_ext_iterator<T, SetTy> > llvm::depth_first_ext | ( | const T & | G, |
| SetTy & | S | ||
| ) |
Definition at line 235 of file DepthFirstIterator.h.
References df_ext_begin(), df_ext_end(), and make_range().
Referenced by llvm::LiveVariables::runOnMachineFunction().
| df_iterator<T> llvm::df_begin | ( | const T & | G | ) |
Definition at line 202 of file DepthFirstIterator.h.
References llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::begin().
Referenced by llvm::IDFCalculator::calculate(), depth_first(), llvm::GraphTraits< PostDominatorTree * >::nodes_begin(), llvm::GraphTraits< DomTreeNode * >::nodes_begin(), and llvm::GraphTraits< DominatorTree * >::nodes_begin().
| df_iterator<T> llvm::df_end | ( | const T & | G | ) |
Definition at line 207 of file DepthFirstIterator.h.
References llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::end().
Referenced by llvm::IDFCalculator::calculate(), depth_first(), llvm::GraphTraits< PostDominatorTree * >::nodes_begin(), llvm::GraphTraits< PostDominatorTree * >::nodes_end(), llvm::GraphTraits< DomTreeNode * >::nodes_end(), and llvm::GraphTraits< DominatorTree * >::nodes_end().
| df_ext_iterator<T, SetTy> llvm::df_ext_begin | ( | const T & | G, |
| SetTy & | S | ||
| ) |
Definition at line 225 of file DepthFirstIterator.h.
References llvm::df_iterator< T, SetTy, true >::begin().
Referenced by depth_first_ext(), llvm::LiveIntervals::pruneValue(), and llvm::LoopBase< N, M >::verifyLoop().
| df_ext_iterator<T, SetTy> llvm::df_ext_end | ( | const T & | G, |
| SetTy & | S | ||
| ) |
Definition at line 230 of file DepthFirstIterator.h.
References llvm::df_iterator< T, SetTy, true >::end().
Referenced by depth_first_ext(), llvm::LiveIntervals::pruneValue(), and llvm::LoopBase< N, M >::verifyLoop().
| unsigned llvm::DFSPass | ( | DominatorTreeBase< typename GraphT::NodeType > & | DT, |
| typename GraphT::NodeType * | V, | ||
| unsigned | N | ||
| ) |
Definition at line 34 of file GenericDomTreeConstruction.h.
References llvm::DominatorTreeBase< N >::InfoRec::DFSNum, llvm::DominatorTreeBase< N >::Info, llvm::DominatorTreeBase< N >::InfoRec::Label, N, llvm::DominatorTreeBase< N >::InfoRec::Parent, llvm::DominatorBase< NodeT >::Roots, llvm::DominatorTreeBase< N >::InfoRec::Semi, SI, succ_begin(), succ_end(), and llvm::DominatorTreeBase< N >::Vertex.
| int llvm::DiffFilesWithTolerance | ( | StringRef | NameA, |
| StringRef | NameB, | ||
| double | AbsTol, | ||
| double | RelTol, | ||
| std::string * | Error = nullptr |
||
| ) |
DiffFilesWithTolerance - Compare the two files specified, returning 0 if the files match, 1 if they are different, and 2 if there is a file error.
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.
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 173 of file FileUtilities.cpp.
References BackupNumber(), CompareNumbers(), llvm::ErrorOr< T >::get(), llvm::MemoryBuffer::getBufferEnd(), llvm::MemoryBuffer::getBufferSize(), llvm::MemoryBuffer::getBufferStart(), llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFile(), and isNumberChar().
|
static |
Stable LoopInfo Analysis - Build a loop tree using stable iterators so the result does / not depend on use list (block predecessor) order.
Discover a subloop with the specified backedges such that: All blocks within this loop are mapped to this loop or a subloop. And all subloops within this loop have their parent loop set to this loop or a subloop.
Definition at line 346 of file LoopInfoImpl.h.
References llvm::ArrayRef< T >::begin(), llvm::LoopInfoBase< N, M >::changeLoopFor(), llvm::ArrayRef< T >::end(), llvm::LoopInfoBase< N, M >::getLoopFor(), and llvm::DominatorTreeBase< N >::isReachableFromEntry().
Referenced by llvm::LoopInfoBase< N, M >::Analyze().
| bool llvm::DisplayGraph | ( | StringRef | Filename, |
| bool | wait = true, |
||
| GraphProgram::Name | program = GraphProgram::DOT |
||
| ) |
Definition at line 135 of file GraphWriter.cpp.
References errs(), ExecGraphViewer(), getProgramName(), llvm_unreachable, and ViewBackground.
Referenced by ViewGraph().
|
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 528 of file MathExtras.h.
Referenced by getLit64Encoding(), llvm::SIInstrInfo::isInlineConstant(), and llvm::support::endian::Writer< endian >::write().
| void llvm::dump | ( | const SparseBitVector< ElementSize > & | LHS, |
| raw_ostream & | out | ||
| ) |
Definition at line 863 of file SparseBitVector.h.
References llvm::SparseBitVector< ElementSize >::begin(), and llvm::SparseBitVector< ElementSize >::end().
Referenced by llvm::PBQP::RegAlloc::PBQPRAGraph::dump(), llvm::BlockFrequencyInfoImplBase::finalizeMetrics(), and llvm::VLIWResourceModel::reserveResources().
| void llvm::dumpBlock | ( | Value * | v, |
| char * | blockName | ||
| ) |
Definition at line 463 of file NVPTXUtilities.cpp.
References llvm::Function::begin(), llvm::StringRef::data(), llvm::Value::dump(), llvm::Function::end(), F(), llvm::Value::getName(), and getParentFunction().
| void llvm::dumpBytes | ( | ArrayRef< uint8_t > | Bytes, |
| raw_ostream & | OS | ||
| ) |
Convert `Bytes' to a hex string and output to `OS'.
Definition at line 19 of file MCInstPrinter.cpp.
| void llvm::dumpInst | ( | Value * | base, |
| char * | instName | ||
| ) |
Definition at line 494 of file NVPTXUtilities.cpp.
References llvm::Value::dump(), getInst(), and I.
| void llvm::dumpInstRec | ( | Value * | v, |
| std::set< Instruction * > * | visited | ||
| ) |
| void llvm::dumpInstRec | ( | Value * | v | ) |
Definition at line 517 of file NVPTXUtilities.cpp.
References dumpInstRec().
| void llvm::dumpParent | ( | Value * | v | ) |
Definition at line 526 of file NVPTXUtilities.cpp.
| LLVM_DUMP_METHOD void llvm::dumpRegSetPressure | ( | ArrayRef< unsigned > | SetPressure, |
| const TargetRegisterInfo * | TRI | ||
| ) |
Definition at line 44 of file RegisterPressure.cpp.
References dbgs(), Empty, llvm::TargetRegisterInfo::getRegPressureSetName(), and llvm::ArrayRef< T >::size().
Referenced by llvm::RegisterPressure::dump(), llvm::RegPressureTracker::dump(), and llvm::ScheduleDAGMILive::initRegPressure().
|
static |
Definition at line 43 of file RuntimeDyld.cpp.
References llvm::SectionEntry::Address, dbgs(), format(), llvm::SectionEntry::LoadAddress, llvm::SectionEntry::Name, and llvm::SectionEntry::Size.
Referenced by llvm::RuntimeDyldImpl::resolveRelocations().
|
inline |
Definition at line 285 of file Casting.h.
Referenced by llvm::GEPOperator::accumulateConstantOffset(), AddAliasScopeMetadata(), AddCombineToVPADDL(), AddPHINodeEntriesForMappedBlock(), llvm::LoopVersioning::addPHINodes(), AddPredecessorToBlock(), AddReachableCodeToWorklist(), adjustForFNeg(), llvm::X86FrameLowering::adjustForHiPEPrologue(), adjustForLTGFR(), adjustForTestUnderMask(), adjustZeroCmp(), aliasSameBasePointerGEPs(), allPredCameFromBeginCatch(), allSuccessorsReachEndCatch(), AnalyzeLoadFromClobberingMemInst(), llvm::SelectInst::areInvalidOperands(), llvm::SIInstrInfo::areLoadsFromSameBasePtr(), BuildConstantFromSCEV(), llvm::X86TargetLowering::BuildFILD(), BuildSubAggregate(), cacheAnnotationFromMD(), llvm::EHStreamer::callToNoUnwindFunction(), canBeCheaplyTransformed(), CanEvaluateSExtd(), CanEvaluateShifted(), CanEvaluateShuffled(), CanEvaluateTruncated(), CanEvaluateZExtd(), canExpand(), canFoldInAddressingMode(), canFoldIVIncExpr(), canIfConvertPHINodes(), CannotBeNegativeZero(), CannotBeOrderedLessThanZero(), canonicalizeMetadataForValue(), CanPropagatePredecessorsForPHIs(), canTrapImpl(), llvm::CastInst::castIsValid(), ChangeVSETULTtoVSETULE(), CheapToScalarize(), CheckAndImm(), checkBoolTestAndOrSetCCCombine(), checkBoolTestSetCCCombine(), CheckInteger(), CheckOrImm(), classifyEHPersonality(), CleanupPointerRootUsers(), ClearSubclassDataAfterReassociation(), CloneAliasScopeMetadata(), CloneAndPruneIntoFromInst(), CloneLoopBlocks(), CloneNodeWithValues(), CollectAddOperandsWithScales(), CollectInsertionElements(), collectUsesWithPtrTypes(), combineLoadToOperationType(), llvm::AMDGPUTargetLowering::computeKnownBitsForTargetNode(), computeKnownBitsFromDominatingCondition(), computeKnownBitsFromOperator(), ComputeMultiple(), ComputeNumSignBits(), llvm::AMDGPUTargetLowering::ComputeNumSignBitsForTargetNode(), computePointerICmp(), ConcatenateTwoVectors(), ConnectProlog(), ConstantFoldGetElementPtrImpl(), ConstantFoldInsertElementInstruction(), ConstantFoldInstruction(), ConstantFoldLoadFromConstPtr(), ConstantFoldLoadThroughBitcast(), ConstantFoldSelectInstruction(), ConstantFoldTerminator(), ConstHasGlobalValuePredicate(), contains(), containsSafePHI(), ConvertDebugDeclareToDebugValue(), llvm::TypedInit::convertInitializerBitRange(), llvm::TypedInit::convertInitListSlice(), createPHIsForSplitLoopExit(), createReplacementInstr(), DecodeFixedType(), decomposeBitTestICmp(), DecomposeGEPExpression(), DecomposeSimpleLinearExpr(), DeleteDeadPHIs(), DemandedBitsLHSMask(), llvm::DependenceAnalysis::depends(), detectLog2OfHalf(), llvm::DominatorTree::dominates(), DominatesMergePoint(), llvm::Value::DoPHITranslation(), llvm::FrameEntry::dumpInstructions(), llvm::mdconst::dyn_extract(), llvm::mdconst::dyn_extract_or_null(), EliminateDuplicatePHINodes(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::SystemZSelectionDAGInfo::EmitTargetCodeForMemset(), EmitVectorComparison(), llvm::ARMAsmPrinter::EmitXXStructor(), EraseTerminatorInstAndDCECond(), llvm::SetTheory::evaluate(), EvaluateExpression(), evaluateFCmpRelation(), EvaluateGEPOffsetExpression(), evaluateICmpRelation(), expandDivision(), llvm::ARMTargetLowering::ExpandInlineAsm(), llvm::X86TargetLowering::ExpandInlineAsm(), expandRemainder(), ExtractConstantBytes(), ExtractEquivalentCondition(), extractMallocCall(), ExtractTypeInfo(), llvm::MachObjectWriter::findAliasedSymbol(), findBeginCatchSplitPoint(), FindInitTrampoline(), FindInitTrampolineFromAlloca(), FindLoopCounter(), llvm::SelectionDAGBuilder::FindMergedConditions(), FindPHIForConditionForwarding(), FindPhiPredForUseInBlock(), findSafeStoreForStoreStrongContraction(), llvm::MCAssembler::Finish(), fixupFPReturnAndCall(), llvm::BinOpInit::Fold(), llvm::TernOpInit::Fold(), llvm::InstCombiner::FoldAndOfICmps(), FoldBitCast(), FoldBranchToCommonDest(), llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(), FoldCondBranchOnPHI(), llvm::SelectionDAG::FoldConstantArithmetic(), llvm::InstCombiner::foldFMulConst(), llvm::InstCombiner::FoldICmpShrCst(), foldLogOpOfMaskedICmps(), FoldOperand(), FoldOperationIntoSelectOperand(), llvm::InstCombiner::FoldOrOfICmps(), llvm::InstCombiner::FoldOrWithConstants(), FoldReinterpretLoadFromConstPtr(), foldSelectICmpAndOr(), llvm::InstCombiner::FoldShiftByConstant(), FoldTwoEntryPHINode(), llvm::InstCombiner::FoldXorWithConstants(), followSingleUnconditionalBranches(), ForeachHelper(), llvm::ScalarEvolution::forgetValue(), genLoopLimit(), GEPToVectorIndex(), llvm::RecordRecTy::get(), getAsNonOpaqueConstant(), llvm::GlobalAlias::getBaseObject(), llvm::CallSiteBase< Function, BasicBlock, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getCalledFunction(), llvm::StatepointBase< Function, Instruction, Value, CallSite >::getCalledFunction(), getCalledFunction(), llvm::CallInst::getCalledFunction(), llvm::InvokeInst::getCalledFunction(), getCommonReturnValue(), llvm::IPDBSession::getConcreteSymbolById(), getConstantEvolvingPHI(), getConstantEvolvingPHIOperands(), getConstantFromPool(), GetConstantInt(), getConstantStringInfo(), llvm::ExecutionEngine::getConstantValue(), llvm::ListInit::getElementAsRecord(), getExactSDiv(), getExtendTypeForNode(), llvm::ConstantInt::getFalse(), getGatherNode(), getGEPSmallConstantIntOffsetV(), GetIfCondition(), getIndexedTypeInternal(), getInsertPointForUses(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getInterleavedMemoryOpCost(), llvm::SCEVExpander::getIVIncOperand(), llvm::TargetLoweringObjectFile::getKindForGlobal(), getKnownConstant(), llvm::BasicBlock::getLandingPadInst(), getLocForWrite(), getLoopPhiForCounter(), getLoopTest(), llvm::X86TTIImpl::getMaskedMemoryOpCost(), llvm::SelectionDAG::getMemcpy(), getMemcpyLoadsAndStores(), llvm::SelectionDAG::getMemmove(), getMemmoveLoadsAndStores(), llvm::SelectionDAG::getMemset(), getMemSetPatternValue(), getMemsetStores(), getMinFromExprs(), llvm::ScalarEvolution::getMulExpr(), llvm::Mangler::getNameWithPrefix(), getNaturalGEPRecursively(), llvm::SelectionDAG::getNode(), getNoopInput(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), GetOffsetFromIndex(), getOpenCLAlignment(), llvm::ARMBaseInstrInfo::getOperandLatency(), llvm::AArch64TTIImpl::getOrCreateResultFromMemIntrinsic(), llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(), getPredicateResult(), getPrefetchNode(), getPreStartForExtend(), llvm::NVPTXTargetLowering::getPrototype(), llvm::Constant::getRelocationInfo(), getScatterNode(), getShuffleAndOtherOprd(), llvm::ScalarEvolution::getSignExtendExpr(), llvm::ScalarEvolution::getSmallConstantTripCount(), llvm::ScalarEvolution::getSmallConstantTripMultiple(), llvm::DependenceAnalysis::getSplitIteration(), llvm::SparcTargetLowering::getSRetArgSize(), getStrideFromPointer(), getTargetShuffleMask(), llvm::BasicBlock::getTerminatingMustTailCall(), llvm::BasicBlock::getTerminator(), llvm::ConstantInt::getTrue(), getTypeOfMaskedICmp(), getTypePartition(), llvm::ScalarEvolution::getUDivExactExpr(), llvm::ScalarEvolution::getUDivExpr(), getUniformBase(), getUniqueCastUse(), llvm::AMDGPUTTIImpl::getUnrollingPreferences(), GetUnrollMetadata(), getValueFromFromCondition(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::DIGlobalVariable::getVariable(), getVShiftImm(), handleBranchExpect(), HandleCallsInBlockInlinedThroughInvoke(), handleIndirectSymViaGOTPCRel(), handleSwitchExpect(), hasComputableBounds(), hasConcreteDefImpl(), hasDefinedInitializer(), HasNoDuplicateCall(), hasOnlyOneNonZeroIndex(), hasReturnsTwiceAttr(), llvm::ARMConstantPoolConstant::hasSameValue(), llvm::ARMConstantPoolSymbol::hasSameValue(), llvm::ARMConstantPoolMBB::hasSameValue(), llvm::FastISel::hasTrivialKill(), HoistThenElseCodeToIf(), llvm::CompositeType::indexValid(), INITIALIZE_PASS(), INITIALIZE_PASS_WITH_OPTIONS(), InlineCallIfPossible(), InlineFunction(), llvm::RuntimePointerChecking::insert(), insertVector(), llvm::SSAUpdaterTraits< SSAUpdater >::InstrIsPHI(), InstructionDereferencesPointer(), isAllConstantBuildVector(), isAllOnes(), isAllOnesConstant(), isAssumeIntrinsic(), isBLACompatibleAddress(), isBSwapHWordElement(), isCalleeLoad(), isChainSelectCmpBranch(), IsConstantOffsetFromGlobal(), IsConstantOne(), isConstantSplatVector(), llvm::Constant::isConstantUsed(), llvm::TargetLowering::isConstFalseVal(), llvm::TargetLowering::isConstTrueVal(), isConstVecPow2(), llvm::Type::isEmptyTy(), isExistingPhi(), isExtendedBUILD_VECTOR(), isFMulOrFDivWithConstant(), isFreeCall(), llvm::TargetLowering::isGAPlusOffset(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), llvm::HexagonTargetObjectFile::IsGlobalInSmallSection(), llvm::MipsTargetObjectFile::IsGlobalInSmallSectionImpl(), isGOTEquivalentCandidate(), isHighCostExpansion(), isImageOrSamplerVal(), llvm::X86Operand::isImmSExti16i8(), llvm::X86Operand::isImmSExti32i8(), llvm::X86Operand::isImmSExti64i32(), llvm::X86Operand::isImmSExti64i8(), llvm::X86Operand::isImmUnsignedi8(), isInductionPHI(), isInTailCallPosition(), isKnownNonNullFromDominatingCondition(), llvm::ScalarEvolution::isKnownPredicate(), isLikelyComplexAddressComputation(), llvm::ScalarEvolution::isLoopBackedgeGuardedByCond(), llvm::ScalarEvolution::isLoopEntryGuardedByCond(), isLoopIncrement(), isLoopInvariant(), IsMaxConsistingOf(), llvm::RecurrenceDescriptor::isMinMaxSelectCmpPattern(), isNaturalMemoryOperand(), llvm::SCEV::isNonConstantNegative(), llvm::ISD::isNormalLoad(), llvm::ISD::isNormalStore(), isNoWrapAddRec(), isNullConstant(), isNullFPConstant(), isObjectSizeLessThanOrEq(), isOneConstant(), isOnlyCopiedFromConstantGlobal(), IsPointerOffset(), isPositiveHalfWord(), llvm::PHITransAddr::IsPotentiallyPHITranslatable(), llvm::objcarc::IsPotentialRetainableObjPtr(), isProfitableToFoldUnconditional(), llvm::DominatorTree::isReachableFromEntry(), isReportingError(), isSafePHIToSpeculate(), isSafeSelectToSpeculate(), isSafeSROAElementUse(), isSafeToHoistInvoke(), isSafeToSpeculateStore(), isSafeToSpeculativelyExecute(), isSameCompare(), isSameUnderlyingObjectInLoop(), isScaledConstantInRange(), isSelect01(), isSetCC(), isShuffleEquivalent(), isSimpleEnoughPointerToCommit(), isSimpleIVUser(), isSimpleShift(), isStridedPtr(), llvm::MCAssembler::isThumbFunc(), isTypeCongruent(), isUndefShift(), llvm::Value::isUsedInBasicBlock(), llvm::Instruction::isUsedOutsideOfBlock(), IsUserOfGlobalSafeForSRA(), llvm::ShuffleVectorInst::isValidOperands(), isVectorAllOnes(), isVSplat(), isXor1OfSetCC(), isZero(), isZeroLengthArray(), isZeroOrAllOnes(), IVUseShouldUsePostIncValue(), lookThroughCast(), llvm::ARMTargetLowering::LowerAsmOperandForConstraint(), llvm::PPCTargetLowering::LowerAsmOperandForConstraint(), llvm::TargetLowering::LowerAsmOperandForConstraint(), llvm::HexagonTargetLowering::LowerBUILD_VECTOR(), llvm::NVPTXTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCONCAT_VECTORS(), llvm::AsmPrinter::lowerConstant(), llvm::HexagonTargetLowering::LowerDYNAMIC_STACKALLOC(), lowerExpectIntrinsic(), llvm::HexagonTargetLowering::LowerEXTRACT_VECTOR(), LowerF128Load(), LowerF128Store(), llvm::SITargetLowering::LowerFormalArguments(), llvm::AArch64TargetLowering::lowerInterleavedStore(), LowerINTRINSIC_WO_CHAIN(), LowerScalarImmediateShift(), LowerScalarVariableShift(), llvm::HexagonTargetLowering::LowerSETCC(), llvm::IntrinsicLowering::LowerToByteSwap(), lowerVectorShuffleAsBroadcast(), LowerXOR(), MaintainNoSignedWrap(), MapValue(), llvm::PatternMatch::specific_intval::match(), llvm::PatternMatch::MaxMin_match< CmpInst_t, LHS_t, RHS_t, Pred_t >::match(), MatchingStackOffset(), MatchNotExpr(), matchPairwiseReduction(), matchPairwiseReductionAtLevel(), matchRotateSub(), matchSelectPattern(), matchVectorSplittingReduction(), memAddrUsesCTR(), mergeEmptyReturnBlocks(), needsLFTR(), false::next_type(), onlyUsedByLifetimeMarkers(), llvm::orc::CtorDtorIterator::operator*(), llvm::LibCallSimplifier::optimizeCall(), OptimizeGlobalAddressOfMalloc(), llvm::TargetLowering::ParseConstraints(), passingValueIsAlwaysUndefined(), patchReplacementInstruction(), performANDCombine(), PerformANDCombine(), PerformAndCombine(), PerformBFICombine(), PerformBITCASTCombine(), performCMovFPCombine(), llvm::AMDGPUTargetLowering::PerformDAGCombine(), llvm::SystemZTargetLowering::PerformDAGCombine(), performDSPShiftCombine(), PerformEXTRACT_VECTOR_ELTCombine(), PerformMULCombine(), PerformMulCombine(), PerformORCombine(), PerformOrCombine(), performSELECTCombine(), PerformSHLCombine(), performSRACombine(), PerformZExtCombine(), llvm::MachineInstr::print(), llvm::AArch64InstPrinter::printAlignedLabel(), printExpr(), printMetadataImpl(), llvm::X86IntelInstPrinter::printPCRelImm(), llvm::X86ATTInstPrinter::printPCRelImm(), llvm::DebugInfoFinder::processDeclare(), ProcessUGT_ADDCST_ADD(), llvm::DebugInfoFinder::processValue(), promoteLoopAccessesToScalars(), promoteSingleBlockAlloca(), PushLoopPHIs(), RecursivelyDeleteTriviallyDeadInstructions(), llvm::Constant::removeDeadConstantUsers(), removeDeadUsersOfConstant(), RemoveInstInputs(), llvm::BasicBlock::removePredecessor(), removeUndefIntroducingPredecessor(), ReorganizeVector(), llvm::SCEVExpander::replaceCongruentIVs(), replaceConstantExprOp(), llvm::LoopInfo::replacementPreservesLCSSAForm(), llvm::BasicBlock::replaceSuccessorsPhiUsesWith(), llvm::Value::replaceUsesOutsideBlock(), llvm::ReplaceableMetadataImpl::resolveAllUses(), llvm::OpInit::resolveListElementReference(), llvm::VarInit::resolveListElementReference(), llvm::TernOpInit::resolveReferences(), reuseTableCompare(), rewriteNonInstructionUses(), RewriteUsesOfClonedInstructions(), llvm::ExecutionEngine::runStaticConstructorsDestructors(), safeCxtI(), ScalarizeMaskedLoad(), ScalarizeMaskedStore(), selectCCOpsAreFMaxCompatible(), llvm::FastISel::selectExtractValue(), llvm::FunctionLoweringInfo::set(), SetLoopAlreadyUnrolled(), shouldConvertUse(), shouldSwapCmpOperands(), ShrinkDemandedConstant(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(), SimplifyAssociativeBinOp(), SimplifyBranchOnICmpChain(), SimplifyCall(), SimplifyCondBranchToCondBranch(), llvm::TargetLowering::SimplifyDemandedBits(), SimplifyExtractValueInst(), SimplifyICmpInst(), SimplifyIndirectBrOnSelect(), simplifyOneLoop(), SimplifyOrInst(), llvm::InstCombiner::simplifyRangeCheck(), simplifyRelocatesOffABase(), simplifyShuffleOperandRecursively(), SimplifySwitchOnSelect(), SimplifyWithOpReplaced(), SinkShiftAndTruncate(), SinkThenElseCodeToEnd(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), SolveQuadraticEquation(), SpeculativelyExecuteBB(), splitAndLowerVectorShuffle(), llvm::BasicBlock::splitBasicBlock(), SplitCriticalSideEffectEdges(), llvm::DbgInfoIntrinsic::StripCast(), stripGetElementPtr(), swapMayExposeCSEOpportunities(), SymbolicallyEvaluateGEP(), ThreadBinOpOverSelect(), tryCombineCRC32(), tryCombineToBSL(), tryLowerToSLI(), TryMULWIDECombine(), tryPromoteAllocaToVector(), TryToMergeLandingPad(), TryToOptimizeStoreOfMallocToGlobal(), TryToSimplifyUncondBranchWithICmpInIt(), llvm::RecordRecTy::typeIsConvertibleTo(), UnrollLoop(), UpdateCallGraphAfterInlining(), upgradeGlobalArray(), llvm::yaml::MappingTraits< std::unique_ptr< ELFYAML::Section > >::validate(), ValueDominatesPHI(), llvm::ValueEnumerator::ValueEnumerator(), llvm::SSAUpdaterTraits< SSAUpdater >::ValueIsPHI(), llvm::InlineAsm::Verify(), VerifySubExpr(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAllocaInst(), llvm::InstCombiner::visitAnd(), llvm::InstCombiner::visitCallInst(), llvm::ObjectSizeOffsetVisitor::visitCallSite(), llvm::InstCombiner::visitFAdd(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitFMul(), llvm::InstCombiner::visitFPToSI(), llvm::InstCombiner::visitFPToUI(), llvm::InstCombiner::visitFPTrunc(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithCastAndCast(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitInsertValueInst(), llvm::InstCombiner::visitLandingPadInst(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitShuffleVectorInst(), llvm::InstCombiner::visitXor(), and llvm::InstCombiner::visitZExt().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| 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 832 of file Local.cpp.
References llvm::BasicBlock::begin(), llvm::PHINode::block_begin(), llvm::PHINode::block_end(), dyn_cast(), llvm::Instruction::eraseFromParent(), hash_combine(), hash_combine_range(), I, llvm::DenseSet< ValueT, ValueInfoT >::insert(), llvm::Instruction::isIdenticalTo(), llvm::Value::replaceAllUsesWith(), llvm::User::value_op_begin(), and llvm::User::value_op_end().
|
static |
Definition at line 50 of file MCWin64EH.cpp.
References llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createSub(), llvm::MCStreamer::EmitValue(), and llvm::MCStreamer::getContext().
Referenced by EmitUnwindCode(), and EmitUnwindInfo().
| bool llvm::EmitAnyX86InstComments | ( | const MCInst * | MI, |
| raw_ostream & | OS, | ||
| const char *(*)(unsigned) | getRegName | ||
| ) |
EmitAnyX86InstComments - This function decodes x86 instructions and prints newline terminated strings to the specified string if desired.
This information is shown in disassembly dumps when verbose assembly is enabled.
Definition at line 117 of file X86InstComments.cpp.
References DecodeBLENDMask(), DecodeEXTRQIMask(), DecodeINSERTPSMask(), DecodeINSERTQIMask(), DecodeMOVDDUPMask(), DecodeMOVHLPSMask(), DecodeMOVLHPSMask(), DecodeMOVSHDUPMask(), DecodeMOVSLDUPMask(), DecodePALIGNRMask(), DecodePSHUFHWMask(), DecodePSHUFLWMask(), DecodePSHUFMask(), DecodePSLLDQMask(), DecodePSRLDQMask(), DecodeScalarMoveMask(), DecodeSHUFPMask(), DecodeUNPCKHMask(), DecodeUNPCKLMask(), DecodeVPERM2X128Mask(), DecodeVPERMMask(), DecodeZeroExtendMask(), DecodeZeroMoveLowMask(), llvm::SmallVectorBase::empty(), llvm::X86ISD::EXTRQI, llvm::MCOperand::getImm(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), getZeroExtensionTypes(), llvm::X86ISD::INSERTQI, llvm::MCOperand::isImm(), llvm::SmallVectorTemplateCommon< T, typename >::size(), SM_SentinelUndef, SM_SentinelZero, llvm::MVT::v16f32, llvm::MVT::v16i16, llvm::MVT::v16i32, llvm::MVT::v16i8, llvm::MVT::v2f64, llvm::MVT::v2i64, llvm::MVT::v32i8, llvm::MVT::v4f32, llvm::MVT::v4f64, llvm::MVT::v4i32, llvm::MVT::v4i64, llvm::MVT::v8f32, llvm::MVT::v8f64, llvm::MVT::v8i16, llvm::MVT::v8i32, and llvm::MVT::v8i64.
Referenced by llvm::X86ATTInstPrinter::printInst(), and llvm::X86IntelInstPrinter::printInst().
| 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 emitRegPlusImmediate().
| Value * llvm::EmitBinaryFloatFnCall | ( | Value * | Op1, |
| Value * | Op2, | ||
| StringRef | Name, | ||
| IRBuilder<> & | B, | ||
| const AttributeSet & | Attrs | ||
| ) |
EmitUnaryFloatFnCall - Emit a call to the binary function named 'Name' (e.g.
EmitBinaryFloatFnCall - Emit a call to the binary function named 'Name' (e.g.
'fmin'). This function is known to take type matching 'Op1' and 'Op2' and return one value with the same type. If 'Op1/Op2' are long double, 'l' is added as the suffix of name, if 'Op1/Op2' are float, we add a 'f' suffix.
'fmin'). This function is known to take type matching 'Op1' and 'Op2' and return one value with the same type. If 'Op1/Op2' are long double, 'l' is added as the suffix of name, if 'Op1/Op2' is a float, we add a 'f' suffix.
Definition at line 299 of file BuildLibCalls.cpp.
References AppendTypeSuffix(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::IRBuilderBase::GetInsertBlock(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::CallInst::setAttributes(), llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
| Value * llvm::EmitFPutC | ( | Value * | Char, |
| Value * | File, | ||
| IRBuilder<> & | B, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitFPutC - Emit a call to the fputc function.
This assumes that Char is an i32, and File is a pointer to FILE.
This assumes that Char is an integer and File is a pointer to FILE.
Definition at line 363 of file BuildLibCalls.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateIntCast(), F(), llvm::AttributeSet::FunctionIndex, llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::TargetLibraryInfo::has(), llvm::Type::isPointerTy(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, and llvm::CallInst::setCallingConv().
| Value * llvm::EmitFPutS | ( | Value * | Str, |
| Value * | File, | ||
| IRBuilder<> & | B, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitFPutS - Emit a call to the puts function.
Str is required to be a pointer and File is a pointer to FILE.
Definition at line 396 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::TargetLibraryInfo::getName(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::TargetLibraryInfo::has(), llvm::Type::isPointerTy(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), and llvm::Constant::stripPointerCasts().
| void llvm::emitFrameOffset | ( | MachineBasicBlock & | MBB, |
| MachineBasicBlock::iterator | MBBI, | ||
| DebugLoc | DL, | ||
| unsigned | DestReg, | ||
| unsigned | SrcReg, | ||
| int | Offset, | ||
| const TargetInstrInfo * | TII, | ||
| MachineInstr::MIFlag | = MachineInstr::NoFlags, |
||
| bool | SetNZCV = false |
||
| ) |
emitFrameOffset - Emit instructions as needed to set DestReg to SrcReg plus Offset.
This is intended to be used from within the prolog/epilog insertion (PEI) pass, where a virtual scratch register may be allocated if necessary, to be replaced by the scavenger at the end of PEI.
Referenced by llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitPrologue(), and rewriteAArch64FrameIndex().
| Value * llvm::EmitFWrite | ( | Value * | Ptr, |
| Value * | Size, | ||
| Value * | File, | ||
| IRBuilder<> & | B, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitFWrite - Emit a call to the fwrite function.
This assumes that Ptr is a pointer, Size is an 'intptr_t', and File is a pointer to FILE.
Definition at line 428 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::ConstantInt::get(), llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::TargetLibraryInfo::getName(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::TargetLibraryInfo::has(), llvm::Type::isPointerTy(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), and llvm::Constant::stripPointerCasts().
| Value* llvm::EmitGEPOffset | ( | IRBuilderTy * | Builder, |
| const DataLayout & | DL, | ||
| User * | GEP, | ||
| bool | NoAssumptions = false |
||
| ) |
EmitGEPOffset - Given a getelementptr instruction/constantexpr, emit the code necessary to compute the offset from the base pointer (without adding in the base pointer).
Return the result as a signed integer of intptr size. When NoAssumptions is true, no assumptions about index computation not overflowing is made.
Definition at line 193 of file Local.h.
References GEP, gep_type_begin(), llvm::ConstantInt::get(), llvm::StructLayout::getElementOffset(), llvm::ConstantExpr::getIntegerCast(), llvm::DataLayout::getIntPtrType(), llvm::ConstantExpr::getMul(), llvm::Value::getName(), llvm::Constant::getNullValue(), llvm::DataLayout::getStructLayout(), llvm::Value::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::GEPOperator::isInBounds(), llvm::SystemZISD::OC, llvm::User::op_begin(), and llvm::User::op_end().
Referenced by llvm::InstCombiner::FoldGEPICmp(), llvm::InstCombiner::OptimizePointerDifference(), and llvm::ObjectSizeOffsetEvaluator::visitGEPOperator().
|
static |
Definition at line 169 of file WinCodeViewLineTables.cpp.
References llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::create(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::getContext(), llvm::MCBinaryExpr::Sub, and llvm::MCSymbolRefExpr::VK_None.
| void llvm::emitLoopInterleaveWarning | ( | LLVMContext & | Ctx, |
| const Function & | Fn, | ||
| const DebugLoc & | DLoc, | ||
| const Twine & | Msg | ||
| ) |
Emit a warning when loop interleaving is specified but fails.
Fn is the function triggering the warning, DLoc is the debug location where the diagnostic is generated. Msg is the message string to use.
Definition at line 210 of file DiagnosticInfo.cpp.
References llvm::LLVMContext::diagnose().
| void llvm::emitLoopVectorizeWarning | ( | LLVMContext & | Ctx, |
| const Function & | Fn, | ||
| const DebugLoc & | DLoc, | ||
| const Twine & | Msg | ||
| ) |
Emit a warning when loop vectorization is specified but fails.
Fn is the function triggering the warning, DLoc is the debug location where the diagnostic is generated. Msg is the message string to use.
Definition at line 204 of file DiagnosticInfo.cpp.
References llvm::LLVMContext::diagnose().
| Value * llvm::EmitMemChr | ( | Value * | Ptr, |
| Value * | Val, | ||
| Value * | Len, | ||
| IRBuilder<> & | B, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitMemChr - Emit a call to the memchr function.
This assumes that Ptr is a pointer, Val is an i32 value, and Len is an 'intptr_t' value.
Definition at line 212 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
| Value * llvm::EmitMemCmp | ( | Value * | Ptr1, |
| Value * | Ptr2, | ||
| Value * | Len, | ||
| IRBuilder<> & | B, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitMemCmp - Emit a call to the memcmp function.
Definition at line 234 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
| Value * llvm::EmitMemCpyChk | ( | Value * | Dst, |
| Value * | Src, | ||
| Value * | Len, | ||
| Value * | ObjSize, | ||
| IRBuilder<> & | B, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitMemCpyChk - Emit a call to the __memcpy_chk function to the builder.
This expects that the Len and ObjSize have type 'intptr_t' and Dst/Src are pointers.
Definition at line 187 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
| void llvm::emitOptimizationRemark | ( | LLVMContext & | Ctx, |
| const char * | PassName, | ||
| const Function & | Fn, | ||
| const DebugLoc & | DLoc, | ||
| const Twine & | Msg | ||
| ) |
Emit an optimization-applied message.
PassName is the name of the pass emitting the message. If -Rpass= is given and PassName matches the regular expression in -Rpass, then the remark will be emitted. Fn is the function triggering the remark, DLoc is the debug location where the diagnostic is generated. Msg is the message string to use.
Definition at line 177 of file DiagnosticInfo.cpp.
References llvm::LLVMContext::diagnose().
Referenced by llvm::Inliner::runOnSCC(), and UnrollLoop().
| void llvm::emitOptimizationRemarkAnalysis | ( | LLVMContext & | Ctx, |
| const char * | PassName, | ||
| const Function & | Fn, | ||
| const DebugLoc & | DLoc, | ||
| const Twine & | Msg | ||
| ) |
Emit an optimization analysis remark message.
PassName is the name of the pass emitting the message. If -Rpass-analysis= is given and PassName matches the regular expression in -Rpass, then the remark will be emitted. Fn is the function triggering the remark, DLoc is the debug location where the diagnostic is generated. Msg is the message string to use.
Definition at line 190 of file DiagnosticInfo.cpp.
References llvm::LLVMContext::diagnose().
Referenced by llvm::LoopAccessReport::emitAnalysis(), and emitAnalysis().
| void llvm::emitOptimizationRemarkMissed | ( | LLVMContext & | Ctx, |
| const char * | PassName, | ||
| const Function & | Fn, | ||
| const DebugLoc & | DLoc, | ||
| const Twine & | Msg | ||
| ) |
Emit an optimization-missed message.
PassName is the name of the pass emitting the message. If -Rpass-missed= is given and PassName matches the regular expression in -Rpass, then the remark will be emitted. Fn is the function triggering the remark, DLoc is the debug location where the diagnostic is generated. Msg is the message string to use.
Definition at line 183 of file DiagnosticInfo.cpp.
References llvm::LLVMContext::diagnose().
Referenced by llvm::Inliner::runOnSCC().
| Value * llvm::EmitPutChar | ( | Value * | Char, |
| IRBuilder<> & | B, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitPutChar - Emit a call to the putchar function.
This assumes that Char is an integer.
Definition at line 317 of file BuildLibCalls.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateIntCast(), F(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
| Value * llvm::EmitPutS | ( | Value * | Str, |
| IRBuilder<> & | B, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitPutS - Emit a call to the puts function.
This assumes that Str is some pointer.
Definition at line 339 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, and llvm::CallInst::setCallingConv().
|
static |
Definition at line 138 of file MCWin64EH.cpp.
References llvm::WinEH::FrameInfo::Begin, llvm::MCSymbolRefExpr::create(), EmitSymbolRefWithOfs(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::EmitValueToAlignment(), llvm::WinEH::FrameInfo::End, llvm::WinEH::FrameInfo::Function, llvm::MCStreamer::getContext(), llvm::WinEH::FrameInfo::Symbol, and llvm::MCSymbolRefExpr::VK_COFF_IMGREL32.
Referenced by llvm::Win64EH::UnwindEmitter::Emit(), and EmitUnwindInfo().
| void llvm::emitSourceFileHeader | ( | StringRef | Desc, |
| raw_ostream & | OS | ||
| ) |
emitSourceFileHeader - Output an LLVM style file header to the specified raw_ostream.
Definition at line 34 of file TableGenBackend.cpp.
References MAX_LINE_LEN, fuzzer::min(), llvm::cl::Prefix, printLine(), llvm::StringRef::size(), and llvm::StringRef::substr().
| Value * llvm::EmitStrChr | ( | Value * | Ptr, |
| char | C, | ||
| IRBuilder<> & | B, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitStrChr - Emit a call to the strchr function to the builder, for the specified pointer and character.
Ptr is required to be some pointer type, and the return value has 'i8*' type.
Definition at line 87 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::ConstantInt::get(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), and llvm::Constant::stripPointerCasts().
| Value * llvm::EmitStrCpy | ( | Value * | Dst, |
| Value * | Src, | ||
| IRBuilder<> & | B, | ||
| const TargetLibraryInfo * | TLI, | ||
| StringRef | Name = "strcpy" |
||
| ) |
EmitStrCpy - Emit a call to the strcpy function to the builder, for the specified pointer arguments.
Definition at line 138 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
| Value * llvm::EmitStrLen | ( | Value * | Ptr, |
| IRBuilder<> & | B, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
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.
This always returns an integer value of size intptr_t.
Definition at line 36 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), and llvm::Constant::stripPointerCasts().
| Value * llvm::EmitStrNCmp | ( | Value * | Ptr1, |
| Value * | Ptr2, | ||
| Value * | Len, | ||
| IRBuilder<> & | B, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitStrNCmp - Emit a call to the strncmp function to the builder.
Definition at line 111 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
| Value * llvm::EmitStrNCpy | ( | Value * | Dst, |
| Value * | Src, | ||
| Value * | Len, | ||
| IRBuilder<> & | B, | ||
| const TargetLibraryInfo * | TLI, | ||
| 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 161 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
| Value * llvm::EmitStrNLen | ( | Value * | Ptr, |
| Value * | MaxLen, | ||
| IRBuilder<> & | B, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI | ||
| ) |
EmitStrNLen - Emit a call to the strnlen function to the builder, for the specified pointer.
Ptr is required to be some pointer type, MaxLen must be of size_t type, and the return value has 'intptr_t' type.
Definition at line 61 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::AttributeSet::FunctionIndex, llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), and llvm::Constant::stripPointerCasts().
|
static |
Definition at line 125 of file MCWin64EH.cpp.
References llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCBinaryExpr::createSub(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::getContext(), and llvm::MCSymbolRefExpr::VK_COFF_IMGREL32.
Referenced by EmitRuntimeFunction().
| Value * llvm::EmitUnaryFloatFnCall | ( | Value * | Op, |
| StringRef | Name, | ||
| IRBuilder<> & | B, | ||
| const AttributeSet & | 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 278 of file BuildLibCalls.cpp.
References AppendTypeSuffix(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::IRBuilderBase::GetInsertBlock(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::CallInst::setAttributes(), llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
|
static |
Definition at line 59 of file MCWin64EH.cpp.
References EmitAbsDifference(), llvm::MCStreamer::EmitIntValue(), llvm::WinEH::Instruction::Label, llvm::WinEH::Instruction::Offset, llvm::WinEH::Instruction::Operation, llvm::WinEH::Instruction::Register, llvm::Win64EH::UOP_AllocLarge, llvm::Win64EH::UOP_AllocSmall, llvm::Win64EH::UOP_PushMachFrame, llvm::Win64EH::UOP_PushNonVol, llvm::Win64EH::UOP_SaveNonVol, llvm::Win64EH::UOP_SaveNonVolBig, llvm::Win64EH::UOP_SaveXMM128, llvm::Win64EH::UOP_SaveXMM128Big, and llvm::Win64EH::UOP_SetFPReg.
Referenced by EmitUnwindInfo().
|
static |
Definition at line 150 of file MCWin64EH.cpp.
References llvm::WinEH::FrameInfo::Begin, llvm::WinEH::FrameInfo::ChainedParent, CountOfUnwindCodes(), llvm::MCSymbolRefExpr::create(), llvm::MCContext::createTempSymbol(), EmitAbsDifference(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitLabel(), EmitRuntimeFunction(), EmitUnwindCode(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::EmitValueToAlignment(), llvm::WinEH::FrameInfo::ExceptionHandler, llvm::MCStreamer::getContext(), llvm::WinEH::FrameInfo::HandlesExceptions, llvm::WinEH::FrameInfo::HandlesUnwind, llvm::WinEH::FrameInfo::Instructions, Label, llvm::WinEH::FrameInfo::LastFrameInst, llvm::WinEH::Instruction::Offset, llvm::WinEH::Instruction::Operation, llvm::WinEH::FrameInfo::PrologEnd, llvm::WinEH::Instruction::Register, llvm::WinEH::FrameInfo::Symbol, llvm::Win64EH::UNW_ChainInfo, llvm::Win64EH::UNW_ExceptionHandler, llvm::Win64EH::UNW_TerminateHandler, llvm::Win64EH::UOP_SetFPReg, and llvm::MCSymbolRefExpr::VK_COFF_IMGREL32.
Referenced by llvm::Win64EH::UnwindEmitter::EmitUnwindInfo().
| void llvm::EnablePrettyStackTrace | ( | ) |
Definition at line 149 of file PrettyStackTrace.cpp.
References RegisterCrashPrinter().
Referenced by LLVMEnablePrettyStackTrace(), and llvm::PrettyStackTraceProgram::PrettyStackTraceProgram().
| void llvm::EnableStatistics | ( | ) |
Enable the collection and printing of statistics.
Definition at line 92 of file Statistic.cpp.
References Enabled.
|
inline |
Utility function to encode a SLEB128 value to an output stream.
Definition at line 23 of file LEB128.h.
Referenced by llvm::BufferByteStreamer::EmitSLEB128(), llvm::MCStreamer::EmitSLEB128IntValue(), and llvm::MCDwarfLineAddr::Encode().
|
inline |
Utility function to encode a ULEB128 value to an output stream.
Definition at line 38 of file LEB128.h.
Referenced by llvm::UnwindOpcodeAssembler::EmitSPOffset(), llvm::BufferByteStreamer::EmitULEB128(), llvm::MCStreamer::EmitULEB128IntValue(), llvm::MCDwarfLineAddr::Encode(), llvm::sampleprof::SampleProfileWriterBinary::SampleProfileWriterBinary(), llvm::coverage::CoverageFilenamesSectionWriter::write(), llvm::coverage::CoverageMappingWriter::write(), llvm::sampleprof::SampleProfileWriterBinary::write(), and writeCounter().
| raw_ostream & llvm::errs | ( | ) |
This returns a reference to a raw_ostream for standard error.
errs() - This returns a reference to a raw_ostream for standard error.
Use it like: errs() << "foo" << "bar";
Definition at line 729 of file raw_ostream.cpp.
Referenced by analyzeParsePointLiveness(), llvm::SubtargetFeatures::ApplyFeatureFlag(), llvm::Interpreter::callExternalFunction(), CheckBitcodeOutputToConsole(), checkForCyclesHelper(), llvm::SelectionDAG::clearGraphAttrs(), CrashHandler(), llvm::EngineBuilder::create(), createDependencyFile(), createGraphFilename(), CreateInfoOutputFile(), dbgs(), llvm::LLVMContext::diagnose(), DisplayGraph(), llvm::SubMultiClassReference::dump(), llvm::RecTy::dump(), llvm::opt::Arg::dump(), llvm::ARMConstantPoolValue::dump(), llvm::MCFragment::dump(), llvm::MCSection::dump(), llvm::opt::Option::dump(), llvm::Init::dump(), llvm::LiveRangeUpdater::dump(), llvm::MCAssembler::dump(), llvm::RecordVal::dump(), llvm::Record::dump(), llvm::MultiClass::dump(), llvm::RecordKeeper::dump(), dumpDataAux(), llvm::RGPassManager::dumpPassStructure(), llvm::LPPassManager::dumpPassStructure(), llvm::DWARFContextInMemory::DWARFContextInMemory(), llvm::XCoreFrameLowering::eliminateCallFramePseudoInstr(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::AMDGPUAsmPrinter::EmitInstruction(), llvm::MCStreamer::EmitRawTextImpl(), llvm::cl::Option::error(), ExecGraphViewer(), ferrs(), findBasePointer(), findBasePointers(), llvm::MCAssembler::Finish(), llvm::SubtargetFeatures::getFeatureBits(), llvm::SelectionDAG::getGraphAttrs(), llvm::MCSubtargetInfo::getSchedModelForCPU(), llvm::MipsTargetMachine::getTargetIRAnalysis(), Help(), INITIALIZE_PASS(), insertParsePoints(), libDriverMain(), lle_X_sprintf(), LLVMSetLinkage(), LLVMVerifyFunction(), LLVMVerifyModule(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::HexagonTargetLowering::LowerOperation(), llvm::MipsSubtarget::MipsSubtarget(), llvm::PluginLoader::operator=(), OptimizeGlobalAddressOfMalloc(), llvm::DWARFDebugLoc::parse(), llvm::DWARFDebugLocDWO::parse(), llvm::PassNameParser::passRegistered(), llvm::detail::printBumpPtrAllocatorStats(), PrintError(), PrintLoadStoreResults(), llvm::SourceMgr::PrintMessage(), PrintModRefResults(), PrintPercent(), PrintRecyclerStats(), PrintResults(), PrintWarning(), llvm::GCOVFile::readGCDA(), llvm::GCOVFunction::readGCDA(), llvm::GCOVBuffer::readGCDAFormat(), llvm::GCOVFunction::readGCNO(), llvm::GCOVBuffer::readGCNOFormat(), llvm::GCOVBuffer::readGCOVVersion(), llvm::GCOVBuffer::readInt(), llvm::GCOVBuffer::readString(), llvm::GenericScheduler::registerRoots(), llvm::PostGenericScheduler::registerRoots(), removeUseSoftFloat(), llvm::DOTGraphTraitsPrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnFunction(), llvm::DOTGraphTraitsModulePrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnModule(), llvm::SelectionDAG::setGraphAttrs(), llvm::SelectionDAG::setGraphColor(), llvm::SelectionDAG::setSubgraphColor(), TableGenMain(), llvm::SubtargetFeatures::ToggleFeature(), llvm::PHITransAddr::Verify(), llvm::DominatorTree::verifyDomTree(), VerifySubExpr(), llvm::MachineRegisterInfo::verifyUseList(), llvm::BlockFrequencyInfo::view(), llvm::MachineBlockFrequencyInfo::view(), llvm::MachineFunction::viewCFG(), llvm::MachineFunction::viewCFGOnly(), llvm::SelectionDAG::viewGraph(), llvm::ScheduleDAGMI::viewGraph(), llvm::ScheduleDAG::viewGraph(), llvm::Interpreter::visitInstruction(), WriteGraph(), and llvm::yaml::yamlize().
| GraphT::NodeType* llvm::Eval | ( | DominatorTreeBase< typename GraphT::NodeType > & | DT, |
| typename GraphT::NodeType * | VIn, | ||
| unsigned | LastLinked | ||
| ) |
Definition at line 108 of file GenericDomTreeConstruction.h.
References llvm::SmallVectorTemplateCommon< T >::back(), llvm::DominatorTreeBase< N >::InfoRec::DFSNum, llvm::SmallVectorBase::empty(), llvm::DominatorTreeBase< N >::Info, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::DominatorTreeBase< N >::InfoRec::Label, llvm::DominatorTreeBase< N >::InfoRec::Parent, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::DominatorTreeBase< N >::Vertex.
Referenced by EvaluateStaticConstructor().
| bool llvm::expandDivision | ( | BinaryOperator * | Div | ) |
Generate code to divide two integers, replacing Div with the generated code.
This currently generates code similarly to compiler-rt's implementations, but future work includes generating more specialized code when more information about the operands are known. Implements both 32bit and 64bit scalar division.
Replace Div with generated code.
Definition at line 436 of file IntegerDivision.cpp.
References llvm::User::dropAllReferences(), dyn_cast(), llvm::Instruction::eraseFromParent(), generateSignedDivisionCode(), generateUnsignedDivisionCode(), llvm::IRBuilderBase::GetInsertPoint(), llvm::Type::getIntegerBitWidth(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::Type::isVectorTy(), llvm_unreachable, and llvm::Value::replaceAllUsesWith().
Referenced by expandDivisionUpTo32Bits(), expandDivisionUpTo64Bits(), and expandRemainder().
| bool llvm::expandDivisionUpTo32Bits | ( | BinaryOperator * | Div | ) |
Generate code to divide two integers, replacing Div with the generated code.
Generate code to divide two integers of bitwidth up to 32 bits.
Uses ExpandDivision with a 32bit Div which makes it useful for targets with little or no support for less than 32 bit arithmetic.
Replace Rem with generated code.
Uses the above routines and extends the inputs/truncates the outputs to operate in 32 bits; that is, these routines are good for targets that have no or very little support for smaller than 32 bit integer arithmetic.
Replace Div with emulation code.
Definition at line 590 of file IntegerDivision.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateSDiv(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateTrunc(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateUDiv(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExt(), llvm::User::dropAllReferences(), llvm::Instruction::eraseFromParent(), expandDivision(), llvm::IRBuilderBase::getInt32Ty(), llvm::Type::getIntegerBitWidth(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::Type::isVectorTy(), llvm_unreachable, and llvm::Value::replaceAllUsesWith().
| bool llvm::expandDivisionUpTo64Bits | ( | BinaryOperator * | Div | ) |
Generate code to divide two integers, replacing Div with the generated code.
Generate code to divide two integers of bitwidth up to 64 bits.
Uses ExpandDivision with a 64bit Div.
Replace Rem with generated code.
Uses the above routines and extends the inputs/truncates the outputs to operate in 64 bits.
Replace Div with emulation code.
Definition at line 640 of file IntegerDivision.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateSDiv(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateTrunc(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateUDiv(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExt(), llvm::User::dropAllReferences(), llvm::Instruction::eraseFromParent(), expandDivision(), llvm::IRBuilderBase::getInt64Ty(), llvm::Type::getIntegerBitWidth(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::Type::isVectorTy(), llvm_unreachable, and llvm::Value::replaceAllUsesWith().
| bool llvm::expandRemainder | ( | BinaryOperator * | Rem | ) |
Generate code to calculate the remainder of two integers, replacing Rem with the generated code.
This currently generates code using the udiv expansion, but future work includes generating more specialized code, e.g. when more information about the operands are known. Implements both 32bit and 64bit scalar division.
Replace Rem with generated code.
Definition at line 376 of file IntegerDivision.cpp.
References llvm::User::dropAllReferences(), dyn_cast(), llvm::Instruction::eraseFromParent(), expandDivision(), generatedUnsignedRemainderCode(), generateSignedRemainderCode(), llvm::IRBuilderBase::GetInsertPoint(), llvm::Type::getIntegerBitWidth(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::Type::isVectorTy(), llvm_unreachable, and llvm::Value::replaceAllUsesWith().
Referenced by expandRemainderUpTo32Bits(), and expandRemainderUpTo64Bits().
| bool llvm::expandRemainderUpTo32Bits | ( | BinaryOperator * | Rem | ) |
Generate code to calculate the remainder of two integers, replacing Rem with the generated code.
Generate code to compute the remainder of two integers of bitwidth up to 32 bits.
Uses ExpandReminder with a 32bit Rem which makes it useful for targets with little or no support for less than 32 bit arithmetic.
Replace Rem with generated code.
Uses the above routines and extends the inputs/truncates the outputs to operate in 32 bits; that is, these routines are good for targets that have no or very little suppport for smaller than 32 bit integer arithmetic.
Replace Rem with emulation code.
Definition at line 489 of file IntegerDivision.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSRem(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateTrunc(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateURem(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExt(), llvm::User::dropAllReferences(), llvm::Instruction::eraseFromParent(), expandRemainder(), llvm::IRBuilderBase::getInt32Ty(), llvm::Type::getIntegerBitWidth(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::Type::isVectorTy(), llvm_unreachable, and llvm::Value::replaceAllUsesWith().
| bool llvm::expandRemainderUpTo64Bits | ( | BinaryOperator * | Rem | ) |
Generate code to calculate the remainder of two integers, replacing Rem with the generated code.
Generate code to compute the remainder of two integers of bitwidth up to 64 bits.
Uses ExpandReminder with a 64bit Rem.
Replace Rem with generated code.
Uses the above routines and extends the inputs/truncates the outputs to operate in 64 bits.
Replace Rem with emulation code.
Definition at line 539 of file IntegerDivision.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSRem(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateTrunc(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateURem(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExt(), llvm::User::dropAllReferences(), llvm::Instruction::eraseFromParent(), expandRemainder(), llvm::IRBuilderBase::getInt64Ty(), llvm::Type::getIntegerBitWidth(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::Type::isVectorTy(), llvm_unreachable, and llvm::Value::replaceAllUsesWith().
extractCallocCall - Returns the corresponding CallInst if the instruction is a calloc call.
Definition at line 293 of file MemoryBuiltins.cpp.
References I, and isCallocLikeFn().
Referenced by extractCallocCall().
Definition at line 115 of file MemoryBuiltins.h.
References extractCallocCall().
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 204 of file MemoryBuiltins.cpp.
References dyn_cast(), I, and isMallocLikeFn().
Referenced by extractMallocCall(), and OptimizeOnceStoredGlobal().
Definition at line 80 of file MemoryBuiltins.h.
References extractMallocCall().
| GlobalValue * llvm::ExtractTypeInfo | ( | Value * | V | ) |
ExtractTypeInfo - Returns the type info, possibly bitcast, encoded in V.
Definition at line 118 of file CodeGen/Analysis.cpp.
References dyn_cast(), and llvm::Value::stripPointerCasts().
|
static |
Definition at line 71 of file ARMCallingConv.h.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateStack(), llvm::CCValAssign::getCustomMem(), llvm::CCValAssign::getCustomReg(), GPRArgRegs, and R2.
Referenced by CC_ARM_AAPCS_Custom_f64().
|
static |
Definition at line 28 of file ARMCallingConv.h.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateStack(), llvm::CCValAssign::getCustomMem(), llvm::CCValAssign::getCustomReg(), and R2.
Referenced by CC_ARM_APCS_Custom_f64().
|
static |
Definition at line 124 of file ARMCallingConv.h.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCValAssign::getCustomReg(), and R2.
Referenced by RetCC_ARM_APCS_Custom_f64().
| formatted_raw_ostream & llvm::fdbgs | ( | ) |
fdbgs() - This returns a reference to a formatted_raw_ostream for debug output.
fdbgs() - This returns a reference to a formatted_raw_ostream for the debug stream.
Use it like: fdbgs() << "foo" << "bar";
Definition at line 104 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 97 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 112 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::TargetSubtargetInfo::getInstrInfo(), getKillRegState(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), 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::MCRegisterInfo::DiffListIterator::isValid(), llvm::MIBundleBuilder::prepend(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::MachineOperand::setIsInternalRead(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::SmallVectorTemplateCommon< T, typename >::size(), and TII.
Referenced by llvm::VLIWPacketizerList::endPacket(), finalizeBundle(), and finalizeBundles().
| MachineBasicBlock::instr_iterator llvm::finalizeBundle | ( | MachineBasicBlock & | MBB, |
| MachineBasicBlock::instr_iterator | FirstMI | ||
| ) |
finalizeBundle - Same functionality as the previous finalizeBundle except the last instruction in the bundle is not provided as an input.
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 223 of file MachineInstrBundle.cpp.
References finalizeBundle(), and llvm::MachineBasicBlock::instr_end().
| bool llvm::finalizeBundles | ( | MachineFunction & | MF | ) |
finalizeBundles - Finalize instruction bundles in the specified MachineFunction.
Return true if any bundles are finalized.
Definition at line 235 of file MachineInstrBundle.cpp.
References llvm::MachineFunction::begin(), llvm::MachineFunction::end(), finalizeBundle(), I, llvm::MachineBasicBlock::instr_begin(), and llvm::MachineBasicBlock::instr_end().
Referenced by INITIALIZE_PASS().
| bool llvm::findAllNVVMAnnotation | ( | const llvm::GlobalValue * | gv, |
| std::string | prop, | ||
| std::vector< unsigned > & | retval | ||
| ) |
Definition at line 116 of file NVPTXUtilities.cpp.
References annotationCache, cacheAnnotationFromMD(), llvm::GlobalValue::getParent(), and Lock.
Referenced by getAlign(), isImageReadOnly(), isImageReadWrite(), isImageWriteOnly(), and isSampler().
| 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 1070 of file Local.cpp.
References llvm::Value::getContext(), llvm::MetadataAsValue::getIfExists(), llvm::LocalAsMetadata::getIfExists(), and llvm::Value::users().
Referenced by replaceDbgDeclareForAlloca().
| Value * llvm::FindAvailableLoadedValue | ( | Value * | Ptr, |
| BasicBlock * | ScanBB, | ||
| BasicBlock::iterator & | ScanFrom, | ||
| unsigned | MaxInstsToScan = 6, |
||
| AliasAnalysis * | AA = nullptr, |
||
| AAMDNodes * | AATags = nullptr |
||
| ) |
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.
Scan the ScanBB block backwards to see if we have the value at the memory address *Ptr locally available within a small number of instructions.
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 AATags is non-null and a load or store is found, the AA tags from the load or store are recorded there. If there are no AA tags or if no access is found, it is left unmodified.
The scan starts from ScanFrom. MaxInstsToScan specifies the maximum instructions to scan in the block. If it is set to 0, it will scan the whole block.
If the value is available, this function returns it. If not, it returns 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 is left at the last instruction processed and this returns null.
You can also optionally specify an alias analysis implementation, which makes this more precise.
If AATags is non-null and a load or store is found, the AA tags from the load or store are recorded there. If there are no AA tags or if no access is found, it is left unmodified.
Definition at line 183 of file Loads.cpp.
References AreEquivalentAddressValues(), llvm::BasicBlock::begin(), DL, llvm::Module::getDataLayout(), llvm::AliasAnalysis::getModRefInfo(), llvm::BasicBlock::getModule(), llvm::Value::getType(), llvm::DataLayout::getTypeStoreSize(), llvm::CastInst::isBitOrNoopPointerCastable(), llvm::Instruction::mayWriteToMemory(), llvm::AliasAnalysis::Mod, SI, and llvm::Value::stripPointerCasts().
Referenced by llvm::InstCombiner::visitLoadInst().
Get the index of the first set bit starting from the least significant bit.
Only unsigned integral types are allowed.
| ZB | the behavior on an input of 0. Only ZB_Max and ZB_Undefined are valid arguments. |
Definition at line 192 of file MathExtras.h.
References countTrailingZeros(), ZB_Max, and ZB_Undefined.
Referenced by isStringOfOnes().
| void llvm::FindFunctionBackedges | ( | const Function & | F, |
| SmallVectorImpl< std::pair< const BasicBlock *, const BasicBlock * > > & | Result | ||
| ) |
Analyze the specified function to find all of the loop backedges in the function and return them.
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 27 of file CFG.cpp.
References llvm::SmallVectorTemplateCommon< T >::back(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::SmallVectorBase::empty(), llvm::SmallPtrSetImpl< PtrType >::erase(), llvm::Function::getEntryBlock(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), succ_begin(), succ_empty(), and succ_end().
| Value * llvm::FindInsertedValue | ( | Value * | V, |
| ArrayRef< unsigned > | idx_range, | ||
| Instruction * | InsertBefore = nullptr |
||
| ) |
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.
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 2504 of file ValueTracking.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::ArrayRef< T >::begin(), BuildSubAggregate(), llvm::ArrayRef< T >::empty(), llvm::ArrayRef< T >::end(), llvm::ExtractValueInst::getIndexedType(), llvm::Value::getType(), I, llvm::Type::isArrayTy(), llvm::Type::isStructTy(), makeArrayRef(), llvm::SmallVectorImpl< T >::reserve(), size, llvm::SmallVectorTemplateCommon< T >::size(), llvm::ArrayRef< T >::size(), and llvm::ArrayRef< T >::slice().
Referenced by BuildSubAggregate().
Get the index of the last set bit starting from the least significant bit.
Only unsigned integral types are allowed.
| ZB | the behavior on an input of 0. Only ZB_Max and ZB_Undefined are valid arguments. |
Definition at line 206 of file MathExtras.h.
References countLeadingZeros(), ZB_Max, and ZB_Undefined.
Referenced by llvm::SystemZSelectionDAGInfo::EmitTargetCodeForMemset(), SelectInt64(), and SelectInt64Count().
| bool llvm::findOneNVVMAnnotation | ( | const llvm::GlobalValue * | gv, |
| std::string | prop, | ||
| unsigned & | retval | ||
| ) |
Definition at line 102 of file NVPTXUtilities.cpp.
References annotationCache, cacheAnnotationFromMD(), llvm::GlobalValue::getParent(), and Lock.
Referenced by getMaxNTIDx(), getMaxNTIDy(), getMaxNTIDz(), getMinCTASm(), getReqNTIDx(), getReqNTIDy(), getReqNTIDz(), isKernelFunction(), isManaged(), isSampler(), isSurface(), and isTexture().
| MachineBasicBlock::iterator llvm::findPHICopyInsertPoint | ( | MachineBasicBlock * | MBB, |
| MachineBasicBlock * | SuccMBB, | ||
| unsigned | SrcReg | ||
| ) |
findPHICopyInsertPoint - Find a safe place in MBB to insert a copy from SrcReg when following the CFG edge to SuccMBB.
This needs to be after any def of SrcReg, but before any subsequent point where control flow might jump out of the basic block.
Definition at line 22 of file PHIEliminationUtils.cpp.
References llvm::MachineBasicBlock::begin(), llvm::SmallPtrSetImpl< PtrType >::begin(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::SmallPtrSetImplBase::empty(), llvm::MachineBasicBlock::empty(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::MachineBasicBlock::isLandingPad(), llvm::MachineRegisterInfo::reg_instructions(), llvm::SmallPtrSetImplBase::size(), and llvm::MachineBasicBlock::SkipPHIsAndLabels().
| llvm::Value * llvm::findScalarElement | ( | llvm::Value * | V, |
| unsigned | EltNo | ||
| ) |
Given a vector and an element number, see if the scalar value is already around as a register, for example if it were inserted then extracted from the vector.
Definition at line 364 of file VectorUtils.cpp.
References llvm::CallingConv::C, llvm::Constant::getAggregateElement(), llvm::VectorType::getNumElements(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::Type::isVectorTy(), llvm::PatternMatch::m_Add(), llvm::PatternMatch::m_Constant(), llvm::PatternMatch::m_Value(), and llvm::PatternMatch::match().
Referenced by SimplifyExtractElementInst(), and llvm::InstCombiner::visitExtractElementInst().
| bool llvm::FlattenCFG | ( | BasicBlock * | BB, |
| AliasAnalysis * | AA = nullptr |
||
| ) |
FlatternCFG - This function is used to flatten a CFG.
FlattenCFG - This function is used to flatten a CFG.
For example, it uses parallel-and and parallel-or mode to collapse
Definition at line 487 of file FlattenCFG.cpp.
Referenced by iterativelyFlattenCFG().
|
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 541 of file MathExtras.h.
Referenced by llvm::SITargetLowering::analyzeImmediate(), llvm::PPC::get_VSPLTI_elt(), getLit32Encoding(), llvm::SIInstrInfo::isInlineConstant(), and llvm::support::endian::Writer< endian >::write().
| bool llvm::FoldBranchToCommonDest | ( | BranchInst * | BI, |
| unsigned | BonusInstThreshold = 1 |
||
| ) |
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.
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 2042 of file SimplifyCFG.cpp.
References AddPredecessorToBlock(), llvm::APIntOps::And(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::BasicBlock::begin(), checkCSEInPredecessor(), llvm::Instruction::clone(), llvm::BranchInst::Create(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateBinOp(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateNot(), dbgs(), DEBUG, llvm::Instruction::dropUnknownMetadata(), dyn_cast(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::BasicBlock::end(), EraseTerminatorInstAndDCECond(), ExtractBranchMetadata(), FitWeights(), llvm::BranchInst::getCondition(), llvm::Value::getContext(), llvm::BasicBlock::getInstList(), llvm::CmpInst::getInversePredicate(), llvm::Value::getName(), llvm::User::getOperand(), llvm::Instruction::getParent(), llvm::BasicBlock::getSinglePredecessor(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::ConstantInt::getType(), llvm::Value::hasOneUse(), I, llvm::iplist< NodeTy, Traits >::insert(), llvm::Instruction::insertBefore(), llvm::BranchInst::isConditional(), llvm::Type::isIntegerTy(), llvm::ConstantInt::isOne(), isProfitableToFoldUnconditional(), isSafeToSpeculativelyExecute(), llvm::BranchInst::isUnconditional(), llvm::LLVMContext::MD_dbg, llvm::LLVMContext::MD_prof, llvm::APIntOps::Or(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), RemapInstruction(), RF_IgnoreMissingEntries, RF_NoModuleLevelChanges, SafeToMergeTerminators(), llvm::BranchInst::setCondition(), llvm::Instruction::setMetadata(), llvm::Value::setName(), llvm::CmpInst::setPredicate(), llvm::BranchInst::setSuccessor(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::BranchInst::swapSuccessors(), and llvm::Value::takeName().
Referenced by simplifyOneLoop().
| 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 646 of file BasicBlockUtils.cpp.
References llvm::Instruction::clone(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::getInstList(), llvm::BasicBlock::getTerminator(), llvm::iplist< NodeTy, Traits >::insert(), llvm::User::op_begin(), llvm::User::op_end(), llvm::iplist< NodeTy, Traits >::push_back(), llvm::BasicBlock::removePredecessor(), and llvm::User::setOperand().
| void llvm::FoldSingleEntryPHINodes | ( | BasicBlock * | BB, |
| AliasAnalysis * | AA = nullptr, |
||
| MemoryDependenceAnalysis * | MemDep = nullptr |
||
| ) |
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 68 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), llvm::AliasAnalysis::deleteValue(), llvm::UndefValue::get(), and llvm::MemoryDependenceAnalysis::removeInstruction().
Referenced by FoldBlockIntoPredecessor(), FoldCondBranchOnPHI(), MergeBlockIntoPredecessor(), and normalizeForInvokeSafepoint().
| cl::opt<bool> llvm::ForceBottomUp | ( | "misched-bottomup" | , |
| cl::Hidden | , | ||
| cl:: | desc"Force bottom-up list scheduling" | ||
| ) |
| cl::opt<bool> llvm::ForceTopDown | ( | "misched-topdown" | , |
| cl::Hidden | , | ||
| cl:: | desc"Force top-down list scheduling" | ||
| ) |
|
inline |
These are helper functions used to produce formatted output.
They use template type deduction to construct the appropriate instance of the format_object class to simplify their construction.
This is typically used like:
Definition at line 111 of file Format.h.
Referenced by dbgprintf(), llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), llvm::DWARFDebugInfoEntryMinimal::dump(), llvm::DWARFAbbreviationDeclaration::dump(), llvm::DWARFAcceleratorTable::dump(), llvm::DWARFDebugLoc::dump(), llvm::DWARFDebugAbbrev::dump(), llvm::DWARFDebugArangeSet::dump(), llvm::DWARFFormValue::dump(), llvm::DWARFDebugRangeList::dump(), llvm::DWARFDebugLocDWO::dump(), llvm::DWARFContext::dump(), llvm::DWARFDebugLine::Prologue::dump(), llvm::DWARFDebugLine::Row::dump(), dumpApplePropertyAttribute(), llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), dumpPubSection(), dumpRanges(), llvm::RuntimeDyldMachO::dumpRelocationToResolve(), dumpSectionMemory(), llvm::DWARFContextInMemory::DWARFContextInMemory(), llvm::RuntimeDyldImpl::emitCommonSymbols(), emitGlobalConstantDataSequential(), emitGlobalConstantImpl(), llvm::AMDGPUAsmPrinter::EmitInstruction(), llvm::RuntimeDyldImpl::emitSection(), llvm::RuntimeDyldCheckerExprEval::evaluate(), llvm::MCInstPrinter::formatDec(), llvm::MCInstPrinter::formatHex(), getSizeForEncoding(), Help(), llvm::RuntimeDyldImpl::loadObjectImpl(), llvm::object::MachORebaseEntry::moveNext(), llvm::object::MachOBindEntry::moveNext(), llvm::raw_ostream::operator<<(), llvm::DWARFDebugFrame::parse(), llvm::BranchProbability::print(), llvm::ILPValue::print(), llvm::TimeRecord::print(), llvm::DIEAbbrev::print(), llvm::DIEEntry::print(), llvm::DIETypeSignature::print(), llvm::FileInfo::print(), llvm::LiveInterval::print(), llvm::DIE::print(), llvm::AArch64InstPrinter::printFPImmOperand(), llvm::AArch64InstPrinter::printHexImm(), llvm::X86ATTInstPrinter::printOperand(), printOperand(), printRestOfMemberHeader(), llvm::AArch64InstPrinter::printSIMDType10Operand(), PrintStatistics(), printVal(), llvm::RuntimeDyldImpl::reassignSectionAddress(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::RuntimeDyldImpl::resolveRelocations(), llvm::MD5::stringifyResult(), and llvm::AArch64ExternalSymbolizer::tryAddingSymbolicOperand().
|
inline |
format_decimal - Output N as a right justified, fixed-width decimal.
If number will not fit in width, full number is still printed. Examples: OS << format_decimal(0, 5) => " 0" OS << format_decimal(255, 5) => " 255" OS << format_decimal(-1, 3) => " -1" OS << format_decimal(12345, 3) => "12345"
|
inline |
format_hex - Output N as a fixed width hexadecimal.
If number will not fit in width, full number is still printed. Examples: OS << format_hex(255, 4) => 0xff OS << format_hex(255, 4, true) => 0xFF OS << format_hex(255, 6) => 0x00ff OS << format_hex(255, 2) => 0xff
Definition at line 162 of file Format.h.
Referenced by operator<<().
|
inline |
format_hex_no_prefix - Output N as a fixed width hexadecimal.
Does not prepend '0x' to the outputted string. If number will not fit in width, full number is still printed. Examples: OS << format_hex_no_prefix(255, 4) => ff OS << format_hex_no_prefix(255, 4, true) => FF OS << format_hex_no_prefix(255, 6) => 00ff OS << format_hex_no_prefix(255, 2) => ff
Definition at line 175 of file Format.h.
Referenced by llvm::IPDBSourceFile::dump().
| bool llvm::formLCSSA | ( | Loop & | L, |
| DominatorTree & | DT, | ||
| LoopInfo * | LI, | ||
| ScalarEvolution * | SE = nullptr |
||
| ) |
Put loop into LCSSA form.
Looks at all instructions in the loop which have uses outside of the current loop. For each, an LCSSA PHI node is inserted and the uses outside the loop are rewritten to use this node.
LoopInfo and DominatorTree are required and preserved.
If ScalarEvolution is passed in, it will be preserved.
Returns true if any modifications are made to the loop.
Definition at line 215 of file LCSSA.cpp.
References llvm::BasicBlock::begin(), llvm::LoopBase< N, M >::block_begin(), llvm::LoopBase< N, M >::block_end(), blockDominatesAnExit(), llvm::SmallVectorBase::empty(), llvm::BasicBlock::end(), llvm::ScalarEvolution::forgetLoop(), llvm::LoopBase< N, M >::getExitBlocks(), I, llvm::Loop::isLCSSAForm(), and processInstruction().
Referenced by formLCSSARecursively().
| bool llvm::formLCSSARecursively | ( | Loop & | L, |
| DominatorTree & | DT, | ||
| LoopInfo * | LI, | ||
| ScalarEvolution * | SE = nullptr |
||
| ) |
Put a loop nest into LCSSA form.
Process a loop nest depth first.
This recursively forms LCSSA for a loop nest.
LoopInfo and DominatorTree are required and preserved.
If ScalarEvolution is passed in, it will be preserved.
Returns true if any modifications are made to the loop.
Definition at line 264 of file LCSSA.cpp.
References llvm::LoopBase< N, M >::begin(), llvm::LoopBase< N, M >::end(), formLCSSA(), and I.
Referenced by UnrollLoop().
| 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 90 of file FormattedStream.cpp.
References outs().
| DITypeIdentifierMap llvm::generateDITypeIdentifierMap | ( | const NamedMDNode * | CU_Nodes | ) |
Generate map by visiting all retained types.
Definition at line 75 of file DebugInfo.cpp.
References llvm::NamedMDNode::getNumOperands(), llvm::NamedMDNode::getOperand(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), and P.
Referenced by llvm::DwarfDebug::beginModule().
|
inline |
Definition at line 103 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::begin(), GEP, and llvm::User::op_begin().
Referenced by llvm::GEPOperator::accumulateConstantOffset(), computeKnownBitsFromOperator(), ConstantFoldGetElementPtrImpl(), DecomposeGEPExpression(), EmitGEPOffset(), EvaluateGEPOffsetExpression(), evaluateICmpRelation(), getGEPInductionOperand(), llvm::DataLayout::getIndexedOffset(), GetOffsetFromIndex(), isGEPFoldable(), isGEPKnownNonNull(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), IsUserOfGlobalSafeForSRA(), llvm::Interpreter::visitGetElementPtrInst(), and llvm::InstCombiner::visitGetElementPtrInst().
|
inline |
Definition at line 114 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::begin(), GEP, and llvm::User::op_begin().
|
inline |
Definition at line 128 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::begin(), and llvm::ArrayRef< T >::begin().
|
inline |
Definition at line 111 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::end(), and llvm::User::op_end().
Referenced by llvm::GEPOperator::accumulateConstantOffset(), ConstantFoldGetElementPtrImpl(), isGEPKnownNonNull(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), IsUserOfGlobalSafeForSRA(), llvm::Interpreter::visitGetElementPtrInst(), and llvm::InstCombiner::visitGetElementPtrInst().
|
inline |
Definition at line 122 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::end(), and llvm::User::op_end().
|
inline |
Definition at line 134 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::end(), and llvm::ArrayRef< T >::end().
Definition at line 781 of file X86RegisterInfo.cpp.
References llvm_unreachable.
Referenced by copyPhysRegOpcode_AVX512().
Make MDOperand transparent for hashing.
This overload of an implementation detail of the hashing library makes MDOperand hash to the same value as a Metadata pointer.
Note that overloading hash_value() as follows:
does not cause MDOperand to be transparent. In particular, a bare pointer doesn't get hashed before it's combined, whereas MDOperand would.
Definition at line 201 of file LLVMContextImpl.cpp.
References llvm::MDOperand::get().
| bool llvm::getAlign | ( | const llvm::Function & | F, |
| unsigned | index, | ||
| unsigned & | align | ||
| ) |
Definition at line 303 of file NVPTXUtilities.cpp.
References findAllNVVMAnnotation(), PROPERTY_ALIGN, and PropertyAnnotationNames.
Referenced by llvm::NVPTXTargetLowering::getPrototype().
| bool llvm::getAlign | ( | const llvm::CallInst & | I, |
| unsigned | index, | ||
| unsigned & | align | ||
| ) |
Definition at line 319 of file NVPTXUtilities.cpp.
References llvm::Instruction::getMetadata().
Definition at line 380 of file StringRef.cpp.
References llvm::StringRef::empty(), llvm::StringRef::front(), getAsUnsignedInteger(), and llvm::StringRef::substr().
Referenced by llvm::StringRef::getAsInteger().
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 339 of file StringRef.cpp.
References llvm::StringRef::empty(), GetAutoSenseRadix(), and llvm::StringRef::substr().
Referenced by llvm::StringRef::getAsInteger(), getAsSignedInteger(), and parsePhysicalReg().
| std::string llvm::getBitcodeTargetTriple | ( | MemoryBufferRef | Buffer, |
| LLVMContext & | Context, | ||
| DiagnosticHandlerFunction | DiagnosticHandler = nullptr |
||
| ) |
Read the header of the specified bitcode buffer and extract just the triple information.
If successful, this returns a string. On error, this returns "".
Definition at line 4736 of file BitcodeReader.cpp.
References llvm::ErrorOr< T >::get().
Referenced by llvm::LTOModule::isBitcodeForTarget().
Definition at line 110 of file AArch64BaseInfo.h.
|
inline |
Return an iterator pointing beyond the bundle containing MI.
Definition at line 62 of file MachineInstrBundle.h.
References I, and llvm::AArch64CC::MI.
Referenced by llvm::ScheduleDAGInstrs::fixupKills(), and toggleBundleKillFlag().
|
inline |
Return an iterator pointing beyond the bundle containing MI.
Definition at line 71 of file MachineInstrBundle.h.
References I, and llvm::AArch64CC::MI.
|
inline |
getBundleStart - Returns the first instruction in the bundle containing MI.
Definition at line 46 of file MachineInstrBundle.h.
References I, and llvm::AArch64CC::MI.
Referenced by llvm::SlotIndexes::getInstructionIndex(), llvm::MachineOperandIteratorBase::MachineOperandIteratorBase(), llvm::MachineRegisterInfo::defusechain_instr_iterator< Uses, Defs, SkipDebug, ByOperand, ByInstr, ByBundle >::operator*(), llvm::MachineRegisterInfo::defusechain_iterator< Uses, Defs, SkipDebug, ByOperand, ByInstr, ByBundle >::operator++(), llvm::MachineRegisterInfo::defusechain_instr_iterator< Uses, Defs, SkipDebug, ByOperand, ByInstr, ByBundle >::operator++(), and llvm::MachineRegisterInfo::defusechain_instr_iterator< Uses, Defs, SkipDebug, ByOperand, ByInstr, ByBundle >::operator->().
|
inline |
Definition at line 53 of file MachineInstrBundle.h.
References I, and llvm::AArch64CC::MI.
|
inlinestatic |
Assign a complexity or rank value to LLVM Values.
This routine maps IR values to various complexity ranks: 0 -> undef 1 -> Constants 2 -> Other non-instructions 3 -> Arguments 3 -> Unary operations 4 -> Other instructions
Definition at line 52 of file InstCombineInternal.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.
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.
If successful, it returns true and returns the string in Str. If unsuccessful, it returns false.
Definition at line 2625 of file ValueTracking.cpp.
References dyn_cast(), llvm::StringRef::find(), GEP, 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().
Definition at line 26 of file PPCRegisterInfo.h.
Referenced by llvm::PPCInstrInfo::copyPhysReg(), llvm::PPCRegisterInfo::lowerCRBitRestore(), and llvm::PPCRegisterInfo::lowerCRBitSpilling().
| std::unique_ptr< DataStreamer > llvm::getDataFileStreamer | ( | const std::string & | Filename, |
| std::string * | Err | ||
| ) |
Definition at line 78 of file DataStream.cpp.
Definition at line 408 of file MachineInstrBuilder.h.
References llvm::RegState::Dead.
Referenced by AddDefaultT1CC(), llvm::PPCInstrInfo::commuteInstruction(), finalizeBundle(), InsertLDR_STR(), tryOrrMovk(), trySequenceOfOnes(), tryToreplicateChunks(), and llvm::X86InstrInfo::unfoldMemoryOperand().
Return Debug Info Metadata Version by checking module flags.
Definition at line 369 of file DebugInfo.cpp.
References llvm::Module::getModuleFlag().
Referenced by UpgradeDebugInfo().
Definition at line 417 of file MachineInstrBuilder.h.
References llvm::RegState::Debug.
Definition at line 399 of file MachineInstrBuilder.h.
References llvm::RegState::Define.
Referenced by AddDefaultT1CC(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), llvm::X86FrameLowering::emitSPUpdate(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), finalizeBundle(), InsertLDR_STR(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), and llvm::X86InstrInfo::unfoldMemoryOperand().
| DICompositeTypeBase * llvm::getDICompositeType | ( | DIType * | T | ) |
Find underlying composite type.
Definition at line 59 of file DebugInfo.cpp.
References llvm::CallingConv::C.
| DISubprogram * llvm::getDISubprogram | ( | const MDNode * | Scope | ) |
Find subprogram that is enclosing this scope.
Definition at line 36 of file DebugInfo.cpp.
References llvm::DILocalScope::getSubprogram().
Referenced by llvm::DwarfDebug::beginFunction(), llvm::DwarfCompileUnit::constructInlinedScopeDIE(), llvm::DIBuilder::createLocalVariable(), getDISubprogram(), and llvm::DebugLoc::getFnDebugLoc().
| DISubprogram * llvm::getDISubprogram | ( | const Function * | F | ) |
Find debug info for a given function.
nullptr. Definition at line 42 of file DebugInfo.cpp.
References getDISubprogram(), and llvm::DebugLoc::getInlinedAtScope().
Definition at line 150 of file AArch64BaseInfo.h.
| ISD::CondCode llvm::getFCmpCodeWithoutNaN | ( | ISD::CondCode | CC | ) |
getFCmpCodeWithoutNaN - Given an ISD condition code comparing floats, return the equivalent code if we're allowed to assume that NaNs won't occur.
Definition at line 183 of file CodeGen/Analysis.cpp.
References llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, and llvm::ISD::SETUNE.
Referenced by llvm::SelectionDAGBuilder::EmitBranchForMergedCondition().
| ISD::CondCode llvm::getFCmpCondCode | ( | FCmpInst::Predicate | Pred | ) |
getFCmpCondCode - Return the ISD condition code corresponding to the given LLVM IR floating-point condition code.
This includes consideration of global floating-point math flags.
Definition at line 161 of file CodeGen/Analysis.cpp.
References 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_unreachable, llvm::ISD::SETFALSE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETTRUE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, llvm::ISD::SETUNE, and llvm::ISD::SETUO.
Referenced by llvm::SelectionDAGBuilder::EmitBranchForMergedCondition().
Find the operand of the GEP that should be checked for consecutive stores.
This ignores trailing indices that have no effect on the final pointer.
Definition at line 224 of file VectorUtils.cpp.
References advance(), DL, gep_type_begin(), llvm::Module::getDataLayout(), llvm::Instruction::getModule(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::Type::getScalarType(), llvm::GetElementPtrInst::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::PatternMatch::m_Zero(), and llvm::PatternMatch::match().
Referenced by stripGetElementPtr().
| 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 30 of file LLVMContext.cpp.
References GlobalContext.
Referenced by llvm::LTOModule::createFromBuffer(), llvm::LTOModule::createFromFile(), llvm::LTOModule::createFromOpenFileSlice(), llvm::X86TTIImpl::getMaskedMemoryOpCost(), LLVMGetGlobalContext(), LLVMIntPtrType(), LLVMIntPtrTypeForAS(), LLVMModuleCreateWithName(), and LLVMParseBitcode().
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, and llvm_unreachable.
Referenced by llvm::InstCombiner::FoldAndOfICmps(), llvm::InstCombiner::FoldOrOfICmps(), and llvm::InstCombiner::visitXor().
| ISD::CondCode llvm::getICmpCondCode | ( | ICmpInst::Predicate | Pred | ) |
getICmpCondCode - Return the ISD condition code corresponding to the given LLVM IR integer condition code.
Definition at line 198 of file CodeGen/Analysis.cpp.
References 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, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, and llvm::ISD::SETULT.
Referenced by llvm::SelectionDAGBuilder::EmitBranchForMergedCondition().
| 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().
| Value * llvm::GetIfCondition | ( | BasicBlock * | BB, |
| BasicBlock *& | IfTrue, | ||
| BasicBlock *& | IfFalse | ||
| ) |
GetIfCondition - Check whether BB is the merge point of a if-region.
GetIfCondition - Given a basic block (BB) with two predecessors, check to see if the merge at this block is due to an "if condition".
If so, return the boolean condition that determines which entry into BB will be taken. Also, return by references the block that will be entered from if the condition is true, and the block that will be entered if the condition is false.
If so, return the boolean condition that determines which entry into BB will be taken. Also, return by references the block that will be entered from if the condition is true, and the block that will be entered if the condition is false.
This does no checking to see if the true/false blocks have large or unsavory instructions in them.
Definition at line 785 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), dyn_cast(), llvm::BranchInst::getCondition(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getNumIncomingValues(), llvm::BasicBlock::getSinglePredecessor(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::BranchInst::isConditional(), pred_begin(), pred_end(), and std::swap().
Referenced by FoldTwoEntryPHINode().
Definition at line 402 of file MachineInstrBuilder.h.
References llvm::RegState::Implicit.
Referenced by addSavedGPR(), and finalizeBundle().
| Instruction * llvm::getInst | ( | Value * | base, |
| char * | instName | ||
| ) |
Definition at line 478 of file NVPTXUtilities.cpp.
References llvm::StringRef::data(), F(), llvm::Value::getName(), getParentFunction(), I, inst_begin(), and inst_end().
Referenced by dumpInst().
| ARMCC::CondCodes llvm::getInstrPredicate | ( | const MachineInstr * | MI, |
| unsigned & | PredReg | ||
| ) |
getInstrPredicate - If instruction is predicated, returns its predicate condition, otherwise returns AL.
It also returns the condition code register by reference.
Definition at line 1724 of file ARMBaseInstrInfo.cpp.
References llvm::ARMCC::AL, llvm::MachineInstr::findFirstPredOperandIdx(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), and llvm::MachineOperand::getReg().
Referenced by llvm::ARMBaseInstrInfo::commuteInstruction(), getITInstrPredicate(), isMatchingDecrement(), isMatchingIncrement(), llvm::ARMBaseInstrInfo::isProfitableToIfCvt(), llvm::Thumb2InstrInfo::ReplaceTailWithBranchTo(), and rewriteT2FrameIndex().
Definition at line 414 of file MachineInstrBuilder.h.
References llvm::RegState::InternalRead.
| llvm::Intrinsic::ID llvm::getIntrinsicIDForCall | ( | CallInst * | CI, |
| const TargetLibraryInfo * | TLI | ||
| ) |
Returns intrinsic ID for call.
For the input call instruction it finds mapping intrinsic and returns its intrinsic ID, in case it does not found it return not_intrinsic.
For the input call instruction it finds mapping intrinsic and returns its ID, in case it does not found it return not_intrinsic.
Definition at line 117 of file VectorUtils.cpp.
References checkBinaryFloatSignature(), checkUnaryFloatSignature(), F(), llvm::CallInst::getCalledFunction(), llvm::TargetLibraryInfo::getLibFunc(), llvm::Value::getName(), llvm::GlobalValue::hasLocalLinkage(), isTriviallyVectorizable(), maxnum(), minnum(), and llvm::Intrinsic::not_intrinsic.
Referenced by getVectorIntrinsicCost().
|
static |
Definition at line 192 of file X86IntrinsicsInfo.h.
References llvm::sys::path::begin(), Data, llvm::sys::path::end(), INTR_NO_TYPE, and IntrinsicsWithChain.
Referenced by LowerINTRINSIC_W_CHAIN().
|
static |
Definition at line 1115 of file X86IntrinsicsInfo.h.
References llvm::sys::path::begin(), Data, llvm::sys::path::end(), INTR_NO_TYPE, and IntrinsicsWithoutChain.
Referenced by LowerINTRINSIC_WO_CHAIN().
| 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 635 of file Thumb2InstrInfo.cpp.
References llvm::ARMCC::AL, getInstrPredicate(), and llvm::MachineInstr::getOpcode().
Referenced by llvm::Thumb2InstrInfo::isLegalToSplitMBBAt().
Definition at line 405 of file MachineInstrBuilder.h.
References llvm::RegState::Kill.
Referenced by addRegOffset(), addRegReg(), addSavedGPR(), llvm::PPCInstrInfo::commuteInstruction(), llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMBaseInstrInfo::copyFromCPSR(), llvm::BPFInstrInfo::copyPhysReg(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::Mips16InstrInfo::copyPhysReg(), llvm::MipsSEInstrInfo::copyPhysReg(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::MSP430InstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::HexagonInstrInfo::copyPhysReg(), llvm::SparcInstrInfo::copyPhysReg(), llvm::SIInstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::SystemZInstrInfo::copyPhysReg(), llvm::X86InstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysRegTuple(), llvm::ARMBaseInstrInfo::copyToCPSR(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitPrologue(), llvm::FastISel::fastEmitInst_extractsubreg(), 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_rrii(), llvm::FastISel::fastEmitInst_rrr(), finalizeBundle(), llvm::ARMBaseInstrInfo::FoldImmediate(), genMadd(), genMaddR(), getPrologueDeath(), insertCopy(), insertDivByZeroTrap(), InsertFPConstInst(), InsertFPImmInst(), InsertLDR_STR(), InsertSPConstInst(), InsertSPImmInst(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), reassociateOps(), restoreCRs(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::SIInstrInfo::splitSMRD(), llvm::X86InstrInfo::storeRegToAddr(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::BPFInstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::SystemZInstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), and llvm::X86InstrInfo::unfoldMemoryOperand().
|
inlinestatic |
getKnownAlignment - Try to infer an alignment for the specified pointer.
Definition at line 180 of file Local.h.
References getOrEnforceKnownAlignment().
Referenced by AddAlignmentAssumptions(), and llvm::InstCombiner::visitCallInst().
| ErrorOr< std::unique_ptr< Module > > llvm::getLazyBitcodeModule | ( | std::unique_ptr< MemoryBuffer > && | Buffer, |
| LLVMContext & | Context, | ||
| DiagnosticHandlerFunction | DiagnosticHandler = nullptr, |
||
| bool | ShouldLazyLoadMetadata = false |
||
| ) |
Read the header of the specified bitcode buffer and prepare for lazy deserialization of function bodies.
If ShouldLazyLoadMetadata is true, lazily load metadata as well. If successful, this moves Buffer. On error, this does not move Buffer.
Definition at line 4708 of file BitcodeReader.cpp.
References getLazyBitcodeModuleImpl().
Referenced by llvm::object::IRObjectFile::create(), getLazyIRModule(), LLVMGetBitcodeModuleInContext(), and parseBitcodeFileImpl().
| std::unique_ptr< Module > llvm::getLazyIRFileModule | ( | StringRef | Filename, |
| SMDiagnostic & | Err, | ||
| LLVMContext & | Context | ||
| ) |
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 50 of file IRReader.cpp.
References llvm::SourceMgr::DK_Error, llvm::ErrorOr< T >::get(), llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFileOrSTDIN(), and getLazyIRModule().
| Type * llvm::getMallocAllocatedType | ( | const CallInst * | CI, |
| const TargetLibraryInfo * | TLI | ||
| ) |
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 272 of file MemoryBuiltins.cpp.
References llvm::SequentialType::getElementType(), and getMallocType().
Referenced by computeArraySize(), OptimizeOnceStoredGlobal(), PerformHeapAllocSRoA(), and TryToOptimizeStoreOfMallocToGlobal().
| Value * llvm::getMallocArraySize | ( | CallInst * | CI, |
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI, | ||
| 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 283 of file MemoryBuiltins.cpp.
References computeArraySize(), and isMallocLikeFn().
Referenced by TryToOptimizeStoreOfMallocToGlobal().
| PointerType * llvm::getMallocType | ( | const CallInst * | CI, |
| const TargetLibraryInfo * | TLI | ||
| ) |
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.
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 240 of file MemoryBuiltins.cpp.
References llvm::Value::getType(), isMallocLikeFn(), llvm::Value::user_begin(), and llvm::Value::user_end().
Referenced by getMallocAllocatedType().
Definition at line 1736 of file ARMBaseInstrInfo.cpp.
References llvm_unreachable.
Referenced by llvm::ARMBaseInstrInfo::PredicateInstruction().
| bool llvm::getMaxNTIDx | ( | const llvm::Function & | F, |
| unsigned & | x | ||
| ) |
Definition at line 257 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_MAXNTID_X, and PropertyAnnotationNames.
| bool llvm::getMaxNTIDy | ( | const llvm::Function & | F, |
| unsigned & | y | ||
| ) |
Definition at line 262 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_MAXNTID_Y, and PropertyAnnotationNames.
| bool llvm::getMaxNTIDz | ( | const llvm::Function & | F, |
| unsigned & | z | ||
| ) |
Definition at line 267 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_MAXNTID_Z, and PropertyAnnotationNames.
|
static |
Definition at line 78 of file DwarfCompileUnit.cpp.
References llvm::User::getNumOperands(), llvm::ConstantExpr::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), and llvm::ConstantInt::isZero().
Referenced by llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE().
| bool llvm::getMinCTASm | ( | const llvm::Function & | F, |
| unsigned & | x | ||
| ) |
Definition at line 287 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_MINNCTAPERSM, and PropertyAnnotationNames.
| int llvm::getNextAvailablePluginDiagnosticKind | ( | ) |
Get the next available kind ID for a plugin diagnostic.
Each time this function is called, it returns a different number. Therefore, a plugin that wants to "identify" its own classes with a dynamic identifier, just have to use this method to get a new ID and assign it to each of its classes. The returned ID will be greater than or equal to DK_FirstPluginKind. Thus, the plugin identifiers will not conflict with the DiagnosticKind values.
Definition at line 89 of file DiagnosticInfo.cpp.
References DK_FirstPluginKind.
|
inline |
Definition at line 49 of file IntervalIterator.h.
|
inline |
Definition at line 50 of file IntervalIterator.h.
References llvm::Interval::getHeaderNode().
| MemoryObject * llvm::getNonStreamedMemoryObject | ( | const unsigned char * | Start, |
| const unsigned char * | End | ||
| ) |
Definition at line 121 of file StreamingMemoryObject.cpp.
Referenced by llvm::BitstreamReader::init().
| std::string llvm::getNVPTXRegClassName | ( | TargetRegisterClass const * | RC | ) |
Definition at line 29 of file NVPTXRegisterInfo.cpp.
| std::string llvm::getNVPTXRegClassStr | ( | TargetRegisterClass const * | RC | ) |
Definition at line 51 of file NVPTXRegisterInfo.cpp.
Referenced by llvm::NVPTXAsmPrinter::getVirtualRegisterName().
| bool llvm::getObjectSize | ( | const Value * | Ptr, |
| uint64_t & | Size, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI, | ||
| bool | RoundToAlign = false |
||
| ) |
Compute the size of the object pointed by Ptr.
Returns true and the object size in Size if successful, and false otherwise. In this context, by object we mean the region of memory starting at Ptr to the end of the underlying object pointed to by Ptr. If RoundToAlign is true, then Size is rounded up to the aligment of allocas, byval arguments, and global variables.
Returns true and the object size in Size if successful, and false otherwise. If RoundToAlign is true, then Size is rounded up to the aligment of allocas, byval arguments, and global variables.
Definition at line 353 of file MemoryBuiltins.cpp.
References Data, llvm::Value::getContext(), and llvm::APInt::ult().
Referenced by computePointerICmp(), getObjectSize(), getPointerSize(), isObjectSize(), isObjectSmallerThan(), and llvm::InstCombiner::visitCallInst().
|
static |
Definition at line 116 of file RuntimeDyld.cpp.
References llvm::object::SectionRef::getAddress(), llvm::object::SymbolRef::getAddress(), and llvm::ErrorOr< T >::getError().
Referenced by llvm::MCWinCOFFStreamer::EmitInstToData(), llvm::DWARFDebugInfoEntryMinimal::getAttributeValue(), llvm::X86TargetLowering::isGAPlusOffset(), llvm::RuntimeDyldImpl::loadObjectImpl(), llvm::MSP430TargetLowering::LowerGlobalAddress(), and llvm::HexagonTargetLowering::LowerGLOBALADDRESS().
Returns the English suffix for an ordinal integer (-st, -nd, -rd, -th).
Definition at line 150 of file StringExtras.h.
| unsigned llvm::getOrEnforceKnownAlignment | ( | Value * | V, |
| unsigned | PrefAlign, | ||
| const DataLayout & | DL, | ||
| const Instruction * | CxtI = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const DominatorTree * | DT = nullptr |
||
| ) |
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 927 of file Local.cpp.
References Align(), computeKnownBits(), enforceKnownAlignment(), llvm::DataLayout::getPointerTypeSizeInBits(), llvm::Value::getType(), llvm::Type::isPointerTy(), llvm::Value::MaximumAlignment, and fuzzer::min().
Referenced by getKnownAlignment(), HandleByValArgument(), llvm::InstCombiner::visitAllocaInst(), llvm::InstCombiner::visitCallInst(), llvm::InstCombiner::visitLoadInst(), and llvm::InstCombiner::visitStoreInst().
| BasicBlock * llvm::getParentBlock | ( | Value * | v | ) |
Definition at line 439 of file NVPTXUtilities.cpp.
References I.
Definition at line 449 of file NVPTXUtilities.cpp.
Referenced by dumpBlock(), and getInst().
If TimingInfo is enabled then start pass timer.
Definition at line 1754 of file LegacyPassManager.cpp.
References TheTimeInfo.
Referenced by llvm::PMDataManager::freePass(), llvm::RGPassManager::runOnFunction(), llvm::LPPassManager::runOnFunction(), llvm::FPPassManager::runOnFunction(), and llvm::PMDataManager::verifyPreservedAnalysis().
| Value * llvm::GetPointerBaseWithConstantOffset | ( | Value * | Ptr, |
| int64_t & | Offset, | ||
| const DataLayout & | DL | ||
| ) |
GetPointerBaseWithConstantOffset - Analyze the specified pointer to see if it can be expressed as a base pointer plus a constant offset.
Analyze the specified pointer to see if it can be expressed as a base pointer plus a constant offset.
Return the base and offset to the caller.
Definition at line 2590 of file ValueTracking.cpp.
References GEP, llvm::Operator::getOpcode(), llvm::DataLayout::getPointerTypeSizeInBits(), llvm::APInt::getSExtValue(), llvm::Value::getType(), and llvm::Type::isVectorTy().
Referenced by AnalyzeLoadFromClobberingLoad(), AnalyzeLoadFromClobberingWrite(), llvm::MemoryDependenceAnalysis::getLoadLoadClobberFullWidthSize(), GetPointerBaseWithConstantOffset(), isLoadLoadClobberIfExtendedToFullWidth(), isOverwrite(), and isSafeToLoadUnconditionally().
|
inlinestatic |
Definition at line 154 of file ValueTracking.h.
References GetPointerBaseWithConstantOffset().
| bool llvm::getReqNTIDx | ( | const llvm::Function & | F, |
| unsigned & | x | ||
| ) |
Definition at line 272 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_REQNTID_X, and PropertyAnnotationNames.
| bool llvm::getReqNTIDy | ( | const llvm::Function & | F, |
| unsigned & | y | ||
| ) |
Definition at line 277 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_REQNTID_Y, and PropertyAnnotationNames.
| bool llvm::getReqNTIDz | ( | const llvm::Function & | F, |
| unsigned & | z | ||
| ) |
Definition at line 282 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_REQNTID_Z, and PropertyAnnotationNames.
| void llvm::GetReturnInfo | ( | Type * | ReturnType, |
| AttributeSet | attr, | ||
| SmallVectorImpl< ISD::OutputArg > & | Outs, | ||
| const TargetLowering & | TLI, | ||
| const DataLayout & | DL | ||
| ) |
Given an LLVM IR type and return type attributes, compute the return value EVTs and flags, and optionally also the offsets, if the return value is being lowered to memory.
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 1477 of file TargetLoweringBase.cpp.
References llvm::ISD::ANY_EXTEND, llvm::EVT::bitsLT(), ComputeValueVTs(), llvm::Type::getContext(), llvm::TargetLoweringBase::getNumRegisters(), llvm::TargetLoweringBase::getRegisterType(), llvm::AttributeSet::hasAttribute(), llvm::MVT::i32, llvm::Attribute::InReg, llvm::EVT::isInteger(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::AttributeSet::ReturnIndex, llvm::ISD::ArgFlagsTy::setInReg(), llvm::ISD::ArgFlagsTy::setSExt(), llvm::ISD::ArgFlagsTy::setZExt(), llvm::Attribute::SExt, llvm::ISD::SIGN_EXTEND, llvm::SmallVectorTemplateCommon< T >::size(), llvm::ISD::ZERO_EXTEND, and llvm::Attribute::ZExt.
Referenced by llvm::FastISel::lowerCallTo(), llvm::TargetLowering::LowerCallTo(), and llvm::FunctionLoweringInfo::set().
| std::string llvm::getSamplerName | ( | const llvm::Value & | val | ) |
Definition at line 252 of file NVPTXUtilities.cpp.
References llvm::Value::getName(), and llvm::Value::hasName().
| unsigned llvm::getSLEB128Size | ( | int64_t | Value | ) |
Utility function to get the size of the SLEB128-encoded value.
Definition at line 30 of file LEB128.cpp.
Referenced by llvm::EHStreamer::computeActionsTable(), and llvm::DIEInteger::SizeOf().
|
inline |
Definition at line 56 of file IntervalIterator.h.
Referenced by llvm::IntervalIterator< NodeTy, OrigContainer_t, GT, IGT >::operator++().
|
inline |
Definition at line 59 of file IntervalIterator.h.
References llvm::IntervalPartition::getBlockInterval().
| ErrorOr< std::unique_ptr< Module > > llvm::getStreamedBitcodeModule | ( | StringRef | Name, |
| std::unique_ptr< DataStreamer > | Streamer, | ||
| LLVMContext & | Context, | ||
| DiagnosticHandlerFunction | DiagnosticHandler = nullptr |
||
| ) |
Read the header of the specified stream and prepare for lazy deserialization and streaming of function bodies.
Definition at line 4715 of file BitcodeReader.cpp.
References getBitcodeModuleImpl().
| llvm::Value * llvm::getStrideFromPointer | ( | llvm::Value * | Ptr, |
| ScalarEvolution * | SE, | ||
| Loop * | Lp | ||
| ) |
Get the stride of a pointer access in a loop.
Looks for symbolic strides "a[i*stride]". Returns the symbolic stride, or null otherwise.
Definition at line 284 of file VectorUtils.cpp.
References llvm::CallingConv::C, DL, dyn_cast(), llvm::APInt::getBitWidth(), llvm::SequentialType::getElementType(), llvm::LoopBase< N, M >::getHeader(), llvm::ScalarEvolution::getSCEV(), llvm::APInt::getSExtValue(), llvm::SCEVAddRecExpr::getStepRecurrence(), llvm::Value::getType(), llvm::DataLayout::getTypeAllocSize(), getUniqueCastUse(), llvm::SCEVUnknown::getValue(), llvm::Type::isAggregateType(), llvm::Loop::isLoopInvariant(), scConstant, and stripGetElementPtr().
| 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 compute the length of the string pointed to by the specified pointer, return 'len+1'.
If we can't, return 0.
Definition at line 2760 of file ValueTracking.cpp.
References GetStringLengthH(), llvm::Value::getType(), and llvm::Type::isPointerTy().
Referenced by llvm::ObjectSizeOffsetVisitor::visitCallSite().
| unsigned llvm::GetSuccessorNumber | ( | BasicBlock * | BB, |
| BasicBlock * | Succ | ||
| ) |
Search for the specified successor of basic block BB and return its position in the terminator instruction's list of successors.
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 72 of file CFG.cpp.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), and llvm::BasicBlock::getTerminator().
Referenced by DemoteRegToStack(), SplitCriticalSideEffectEdges(), and SplitEdge().
| std::string llvm::getSurfaceName | ( | const llvm::Value & | val | ) |
Definition at line 247 of file NVPTXUtilities.cpp.
References llvm::Value::getName(), and llvm::Value::hasName().
| std::string llvm::getTextureName | ( | const llvm::Value & | val | ) |
Definition at line 242 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 37 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::LTOCodeGenerator::setCodeGenDebugOptions(), and SplitString().
| unsigned llvm::getULEB128Size | ( | uint64_t | Value | ) |
Utility function to get the size of the ULEB128-encoded value.
Definition at line 20 of file LEB128.cpp.
Referenced by llvm::EHStreamer::computeActionsTable(), llvm::DwarfFile::computeSizeAndOffset(), EmitDwarfLineTable(), llvm::EHStreamer::emitExceptionTable(), llvm::DIEInteger::SizeOf(), llvm::DIELoc::SizeOf(), and llvm::DIEBlock::SizeOf().
Definition at line 411 of file MachineInstrBuilder.h.
References llvm::RegState::Undef.
Referenced by llvm::X86InstrInfo::convertToThreeAddress(), llvm::X86FrameLowering::emitSPUpdate(), finalizeBundle(), llvm::HexagonInstrInfo::InsertBranch(), InsertLDR_STR(), llvm::ARMBaseInstrInfo::setExecutionDomain(), and llvm::X86InstrInfo::unfoldMemoryOperand().
| Value * llvm::GetUnderlyingObject | ( | Value * | V, |
| const DataLayout & | DL, | ||
| 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 2796 of file ValueTracking.cpp.
References GEP, llvm::Operator::getOpcode(), llvm::Value::getType(), I, llvm::Type::isPointerTy(), llvm::JumpTable::Simplified, and SimplifyInstruction().
Referenced by AnalyzeLoadFromClobberingMemInst(), llvm::AliasAnalysis::callCapturesBefore(), ConstantFoldLoadFromConstPtr(), llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(), llvm::objcarc::GetUnderlyingObjCPtr(), GetUnderlyingObject(), GetUnderlyingObjects(), llvm::AMDGPUTTIImpl::getUnrollingPreferences(), InstructionDereferencesPointer(), isOverwrite(), and underlyingObjectsAlias().
|
inlinestatic |
Definition at line 180 of file ValueTracking.h.
References GetUnderlyingObject().
| void llvm::GetUnderlyingObjects | ( | Value * | V, |
| SmallVectorImpl< Value * > & | Objects, | ||
| const DataLayout & | DL, | ||
| LoopInfo * | LI = nullptr, |
||
| unsigned | MaxLookup = 6 |
||
| ) |
This method is similar to GetUnderlyingObject except that it can look through phi and select instructions and return multiple objects.
If LoopInfo is passed, loop phis are further analyzed. If a pointer accesses different objects in each iteration, we don't look through the phi node. E.g. consider this loop nest:
int **A; for (i) for (j) { A[i][j] = A[i-1][j] * B[j] }
This is transformed by Load-PRE to stash away A[i] for the next iteration of the outer loop:
Curr = A[0]; // Prev_0 for (i: 1..N) { Prev = Curr; // Prev = PHI (Prev_0, Curr) Curr = A[i]; for (j: 0..N) { Curr[j] = Prev[j] * B[j] } }
Since A[i] and A[i-1] are independent pointers, getUnderlyingObjects should not assume that Curr and Prev share the same underlying object thus it shouldn't look through the phi above.
Definition at line 2826 of file ValueTracking.cpp.
References llvm::SmallVectorBase::empty(), GetUnderlyingObject(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::LoopInfoBase< N, M >::isLoopHeader(), isSameUnderlyingObjectInLoop(), P, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and SI.
Referenced by AddAliasScopeMetadata(), computePointerICmp(), and getUnderlyingObjects().
| llvm::Value * llvm::getUniqueCastUse | ( | llvm::Value * | Ptr, |
| Loop * | Lp, | ||
| Type * | Ty | ||
| ) |
If a value has only one user that is a CastInst, return it.
Definition at line 268 of file VectorUtils.cpp.
References dyn_cast(), llvm::Value::getType(), and llvm::Value::users().
Referenced by getStrideFromPointer().
|
static |
Definition at line 23 of file MetadataImpl.h.
References llvm::DenseSet< ValueT, ValueInfoT >::end(), llvm::DenseSet< ValueT, ValueInfoT >::find_as(), and I.
Referenced by uniquifyImpl().
Given an llvm.loop loop id metadata node, returns the loop hint metadata node with the given name (for example, "llvm.loop.unroll.count").
If no such metadata node exists, then nullptr is returned.
Definition at line 564 of file LoopUnroll.cpp.
References dyn_cast(), llvm::StringRef::equals(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), and llvm::MDString::getString().
Referenced by GetUnrollMetadataForLoop().
Definition at line 30 of file AArch64BaseInfo.h.
Referenced by llvm::AArch64InstPrinter::printInst().
| unsigned llvm::getX86SubSuperRegister | ( | unsigned | , |
| MVT::SimpleValueType | , | ||
| bool | High = false |
||
| ) |
Returns the sub or super register of a specific X86 register.
e.g. getX86SubSuperRegister(X86::EAX, MVT::i16) returns X86::AX. Aborts on error.
Definition at line 773 of file X86RegisterInfo.cpp.
References getX86SubSuperRegisterOrZero(), and llvm_unreachable.
Referenced by llvm::X86InstrInfo::classifyLEAReg(), copyPhysRegOpcode_AVX512(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), llvm::X86RegisterInfo::getPtrSizedFrameRegister(), llvm::X86RegisterInfo::getReservedRegs(), getX86SubSuperRegisterOrZero(), printAsmMRegister(), and printOperand().
| unsigned llvm::getX86SubSuperRegisterOrZero | ( | unsigned | , |
| MVT::SimpleValueType | , | ||
| bool | High = false |
||
| ) |
Returns the sub or super register of a specific X86 register.
Like getX86SubSuperRegister() but returns 0 on error.
Definition at line 600 of file X86RegisterInfo.cpp.
References getX86SubSuperRegister(), llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, and llvm::MVT::i8.
Referenced by llvm::X86TargetLowering::getRegForInlineAsmConstraint(), and getX86SubSuperRegister().
Definition at line 70 of file AArch64BaseInfo.h.
|
inline |
GreatestCommonDivisor64 - Return the greatest common divisor of the two values using Euclid's algorithm.
Definition at line 493 of file MathExtras.h.
References llvm::ARM_PROC::A, and T.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), and UnrollLoop().
|
inline |
Definition at line 50 of file GenericValue.h.
References llvm::GenericValue::PointerVal.
Referenced by lle_X_atexit(), lle_X_fprintf(), lle_X_memcpy(), lle_X_memset(), lle_X_scanf(), lle_X_sprintf(), lle_X_sscanf(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::Interpreter::visitCallSite(), llvm::Interpreter::visitIndirectBrInst(), llvm::Interpreter::visitLoadInst(), and llvm::Interpreter::visitStoreInst().
Combine values into a single hash_code.
This routine accepts a varying number of arguments of any type. It will attempt to combine them into a single hash_code. For user-defined types it attempts to call a
The result is suitable for returning from a user's hash_value implementation for their user-defined type. Consumers of a type should not call this routine, they should instead call 'hash_value'.
Definition at line 603 of file Hashing.h.
References llvm::hashing::detail::hash_combine_recursive_helper::buffer, and llvm::hashing::detail::hash_combine_recursive_helper::combine().
Referenced by EliminateDuplicatePHINodes(), llvm::InlineAsmKeyType::getHash(), llvm::ConstantExprKeyType::getHash(), llvm::Linker::StructTypeKeyInfo::getHashValue(), llvm::AnonStructTypeKeyInfo::getHashValue(), llvm::FunctionTypeKeyInfo::getHashValue(), llvm::MDNodeKeyImpl< DILocation >::getHashValue(), llvm::MDNodeKeyImpl< GenericDINode >::getHashValue(), llvm::MDNodeKeyImpl< DISubrange >::getHashValue(), llvm::MDNodeKeyImpl< DIEnumerator >::getHashValue(), llvm::MDNodeKeyImpl< DIBasicType >::getHashValue(), llvm::MDNodeKeyImpl< DIDerivedType >::getHashValue(), llvm::MDNodeKeyImpl< DICompositeType >::getHashValue(), llvm::MDNodeKeyImpl< DISubroutineType >::getHashValue(), llvm::MDNodeKeyImpl< DIFile >::getHashValue(), llvm::DenseMapInfo< coverage::CounterExpression >::getHashValue(), llvm::MDNodeKeyImpl< DICompileUnit >::getHashValue(), llvm::MDNodeKeyImpl< DISubprogram >::getHashValue(), llvm::MDNodeKeyImpl< DILexicalBlock >::getHashValue(), llvm::MDNodeKeyImpl< DILexicalBlockFile >::getHashValue(), llvm::MDNodeKeyImpl< DINamespace >::getHashValue(), llvm::MDNodeKeyImpl< DIModule >::getHashValue(), llvm::MDNodeKeyImpl< DITemplateTypeParameter >::getHashValue(), llvm::MDNodeKeyImpl< DITemplateValueParameter >::getHashValue(), llvm::MDNodeKeyImpl< DIGlobalVariable >::getHashValue(), llvm::MDNodeKeyImpl< DILocalVariable >::getHashValue(), llvm::MDNodeKeyImpl< DIObjCProperty >::getHashValue(), llvm::MDNodeKeyImpl< DIImportedEntity >::getHashValue(), llvm::DenseMapInfo< CIEKey >::getHashValue(), llvm::PBQP::RegAlloc::hash_value(), llvm::PBQP::hash_value(), and hash_value().
| 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 481 of file Hashing.h.
References llvm::hashing::detail::hash_combine_range_impl().
Referenced by llvm::MDNodeOpsKey::calculateHash(), llvm::FoldingSetNodeIDRef::ComputeHash(), EliminateDuplicatePHINodes(), llvm::ConstantAggrKeyType< ConstantClass >::getHash(), llvm::ConstantExprKeyType::getHash(), llvm::Linker::StructTypeKeyInfo::getHashValue(), llvm::AnonStructTypeKeyInfo::getHashValue(), llvm::FunctionTypeKeyInfo::getHashValue(), llvm::MDNodeKeyImpl< DIExpression >::getHashValue(), llvm::MachineInstrExpressionTrait::getHashValue(), llvm::PBQP::RegAlloc::hash_value(), llvm::PBQP::hash_value(), and hash_value().
| std::enable_if< is_integral_or_enum< T >::value, hash_code >::type llvm::hash_value | ( | T | 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 634 of file Hashing.h.
References llvm::hashing::detail::hash_integer_value().
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 640 of file Hashing.h.
References llvm::hashing::detail::hash_integer_value().
Compute a hash_code for a pair of objects.
Definition at line 648 of file Hashing.h.
References hash_combine().
Compute a hash_code for a standard string.
Definition at line 655 of file Hashing.h.
References hash_combine_range().
Referenced by llvm::hashing::detail::get_hashable_data().
Compute a hash_code for a StringRef.
Definition at line 483 of file StringRef.cpp.
References llvm::StringRef::begin(), llvm::StringRef::end(), and hash_combine_range().
See friend declarations above.
Overload to compute a hash code for an APFloat value.
These additional declarations are required in order to compile LLVM with IBM xlC compiler.
Definition at line 2848 of file APFloat.cpp.
References hash_combine(), hash_combine_range(), llvm::APFloat::isFiniteNonZero(), llvm::APFloat::isNaN(), and llvm::fltSemantics::precision.
Referenced by llvm::hashing::detail::get_hashable_data(), llvm::DenseMapAPIntKeyInfo::getHashValue(), llvm::DenseMapInfo< TableGenStringKey >::getHashValue(), llvm::DenseMapAPFloatKeyInfo::getHashValue(), llvm::DenseMapInfo< Expression >::getHashValue(), and llvm::DenseMapInfo< StringRef >::getHashValue().
| hash_code llvm::hash_value | ( | const MachineOperand & | MO | ) |
Note that this includes the same information in the hash that isIdenticalTo uses for comparison. It is thus suited for use in hash tables which use that function for equality comparisons only.
Definition at line 257 of file MachineInstr.cpp.
References llvm::MachineOperand::getBlockAddress(), llvm::MachineOperand::getCFIIndex(), llvm::MachineOperand::getCImm(), llvm::MachineOperand::getFPImm(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineOperand::getMBB(), llvm::MachineOperand::getMCSymbol(), llvm::MachineOperand::getMetadata(), llvm::MachineOperand::getOffset(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getRegMask(), llvm::MachineOperand::getSubReg(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::getType(), hash_combine(), llvm::MachineOperand::isDef(), llvm_unreachable, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_CFIIndex, llvm::MachineOperand::MO_CImmediate, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_FPImmediate, llvm::MachineOperand::MO_FrameIndex, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_MCSymbol, llvm::MachineOperand::MO_Metadata, llvm::MachineOperand::MO_Register, llvm::MachineOperand::MO_RegisterLiveOut, llvm::MachineOperand::MO_RegisterMask, and llvm::MachineOperand::MO_TargetIndex.
Definition at line 668 of file APInt.cpp.
References llvm::APInt::getNumWords(), hash_combine(), hash_combine_range(), llvm::APInt::pVal, and llvm::APInt::VAL.
HashString - Hash function for strings.
This is the Bernstein hash function.
Definition at line 143 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 139 of file CodeGen/Analysis.cpp.
References llvm::TargetLowering::C_Memory, llvm::InlineAsm::ConstraintInfo::Codes, llvm::TargetLowering::getConstraintType(), and llvm::InlineAsm::ConstraintInfo::isIndirect.
| bool llvm::hasUTF16ByteOrderMark | ( | ArrayRef< char > | S | ) |
Definition at line 78 of file ConvertUTFWrapper.cpp.
References llvm::ArrayRef< T >::size().
Referenced by ExpandResponseFile().
Identifies if the intrinsic has a scalar operand.
It checks for ctlz,cttz and powi special intrinsics whose argument is scalar.
It check for ctlz,cttz and powi special intrinsics whose argument is scalar.
Definition at line 62 of file VectorUtils.cpp.
| bool llvm::haveNoCommonBitsSet | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr, |
||
| const DominatorTree * | DT = nullptr |
||
| ) |
Returns true if LHS and RHS have no common bits set.
Definition at line 141 of file ValueTracking.cpp.
References computeKnownBits(), llvm::Type::getScalarType(), llvm::Value::getType(), llvm::Type::isIntOrIntVectorTy(), and IT().
Referenced by llvm::InstCombiner::visitAdd().
| void llvm::HexagonLowerToMC | ( | const MachineInstr * | MI, |
| MCInst & | MCI, | ||
| HexagonAsmPrinter & | AP | ||
| ) |
Definition at line 44 of file HexagonMCInstLower.cpp.
References llvm::MCInst::addOperand(), llvm::APFloat::bitcastToAPInt(), llvm::MCSymbolRefExpr::create(), llvm::MCOperand::createExpr(), llvm::MCOperand::createImm(), llvm::MCOperand::createInst(), 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::MCInst::getOpcode(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::APInt::getRawData(), llvm::MachineOperand::getReg(), llvm::AsmPrinter::getSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::MachineOperand::getSymbolName(), GetSymbolRef(), llvm::MachineOperand::getType(), llvm::ConstantFP::getValueAPF(), llvm::MachineOperand::isImplicit(), llvm_unreachable, 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, llvm::HexagonMCInstrInfo::setInnerLoop(), llvm::MCInst::setOpcode(), and llvm::HexagonMCInstrInfo::setOuterLoop().
Referenced by llvm::HexagonAsmPrinter::EmitInstruction().
| bool llvm::HexagonMCShuffle | ( | MCInstrInfo const & | MCII, |
| MCSubtargetInfo const & | STI, | ||
| MCInst & | MCB | ||
| ) |
Definition at line 101 of file HexagonMCShuffler.cpp.
References llvm::HexagonMCInstrInfo::bundleSize(), dbgs(), DEBUG, DisableShuffle, llvm::HexagonShuffler::getError(), llvm::HexagonMCInstrInfo::isBundle(), llvm_unreachable, llvm::HexagonMCShuffler::reshuffleTo(), llvm::HexagonShuffler::SHUFFLE_ERROR_BRANCHES, llvm::HexagonShuffler::SHUFFLE_ERROR_INVALID, llvm::HexagonShuffler::SHUFFLE_ERROR_LOADS, llvm::HexagonShuffler::SHUFFLE_ERROR_NOSLOTS, llvm::HexagonShuffler::SHUFFLE_ERROR_SLOTS, llvm::HexagonShuffler::SHUFFLE_ERROR_STORES, and llvm::HexagonShuffler::SHUFFLE_SUCCESS.
Referenced by llvm::HexagonMCELFStreamer::EmitInstruction(), and llvm::HexagonAsmPrinter::EmitInstruction().
| bool llvm::HexagonMCShuffle | ( | MCInstrInfo const & | MCII, |
| MCSubtargetInfo const & | STI, | ||
| MCInst & | MCB, | ||
| const MCInst * | AddMI, | ||
| int | fixupCount | ||
| ) |
| unsigned llvm::HexagonMCShuffle | ( | MCInstrInfo const & | MCII, |
| MCSubtargetInfo const & | STI, | ||
| MCContext & | Context, | ||
| MCInst & | MCB, | ||
| SmallVector< DuplexCandidate, 8 > | possibleDuplexes | ||
| ) |
Definition at line 151 of file HexagonMCShuffler.cpp.
References llvm::HexagonMCInstrInfo::bundleSize(), llvm::HexagonMCShuffler::copyTo(), dbgs(), DEBUG, DisableShuffle, llvm::HexagonShuffler::getError(), llvm::HexagonMCInstrInfo::isBundle(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::HexagonMCInstrInfo::replaceDuplex(), llvm::HexagonMCShuffler::reshuffleTo(), llvm::HexagonShuffler::SHUFFLE_SUCCESS, llvm::HexagonShuffler::size(), and llvm::SmallVectorTemplateCommon< T >::size().
hexdigit - Return the hexadecimal character for the given number X (which should be less than 16).
Definition at line 26 of file StringExtras.h.
Referenced by llvm::MCFragment::dump(), PrintEscapedString(), printMetadataIdentifier(), utohex_buffer(), and llvm::yaml::BinaryRef::writeAsHex().
|
inlinestatic |
Interpret the given character C as a hexadecimal digit and return its value.
If C is not a valid hex digit, -1U is returned.
Definition at line 40 of file StringExtras.h.
Referenced by trailingHexadecimalFraction(), and UnEscapeLexed().
|
inlinestatic |
Definition at line 117 of file Sparc.h.
Referenced by HIX22(), and replaceFI().
|
inline |
Hi_32 - This function returns the high 32 bits of a 64 bit value.
Definition at line 246 of file MathExtras.h.
|
inlinestatic |
| bool llvm::hoistRegion | ( | DomTreeNode * | N, |
| AliasAnalysis * | AA, | ||
| LoopInfo * | LI, | ||
| DominatorTree * | DT, | ||
| TargetLibraryInfo * | TLI, | ||
| Loop * | CurLoop, | ||
| AliasSetTracker * | CurAST, | ||
| LICMSafetyInfo * | SafetyInfo | ||
| ) |
Walk the specified region of the CFG (defined by all blocks dominated by the specified block, and that are in the current loop) in depth first order w.r.t the DominatorTree.
This allows us to visit definitions before uses, allowing us to hoist a loop body in one pass without iteration. Takes DomTreeNode, AliasAnalysis, LoopInfo, DominatorTree, DataLayout, TargetLibraryInfo, Loop, AliasSet information for all instructions of the loop and loop safety information as arguments. It returns changed status.
This allows us to visit definitions before uses, allowing us to hoist a loop body in one pass without iteration.
Definition at line 355 of file LICM.cpp.
References llvm::BasicBlock::begin(), canSinkOrHoistInst(), ConstantFoldInstruction(), llvm::LoopBase< N, M >::contains(), llvm::AliasSetTracker::copyValue(), dbgs(), DEBUG, llvm::AliasSetTracker::deleteValue(), llvm::BasicBlock::end(), llvm::Instruction::eraseFromParent(), llvm::DomTreeNodeBase< T >::getBlock(), llvm::DomTreeNodeBase< T >::getChildren(), llvm::Module::getDataLayout(), llvm::LoopBase< N, M >::getLoopPreheader(), llvm::Instruction::getModule(), llvm::Loop::hasLoopInvariantOperands(), hoist(), I, inSubLoop(), isSafeToExecuteUnconditionally(), and llvm::Value::replaceAllUsesWith().
| idf_iterator<T> llvm::idf_begin | ( | const T & | G | ) |
Definition at line 251 of file DepthFirstIterator.h.
References llvm::df_iterator< Inverse< T >, SetTy, External >::begin().
Referenced by inverse_depth_first().
| idf_iterator<T> llvm::idf_end | ( | const T & | G | ) |
Definition at line 256 of file DepthFirstIterator.h.
References llvm::df_iterator< Inverse< T >, SetTy, External >::end().
Referenced by inverse_depth_first().
| idf_ext_iterator<T, SetTy> llvm::idf_ext_begin | ( | const T & | G, |
| SetTy & | S | ||
| ) |
Definition at line 276 of file DepthFirstIterator.h.
References llvm::df_iterator< Inverse< T >, SetTy, External >::begin().
Referenced by inverse_depth_first_ext().
| idf_ext_iterator<T, SetTy> llvm::idf_ext_end | ( | const T & | G, |
| SetTy & | S | ||
| ) |
Definition at line 281 of file DepthFirstIterator.h.
References llvm::df_iterator< Inverse< T >, SetTy, External >::end().
Referenced by inverse_depth_first_ext().
| void llvm::initializeAAEvalPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
|
static |
| void llvm::initializeAArch64AddressTypePromotionPass | ( | PassRegistry & | ) |
| void llvm::initializeAArch64CollectLOHPass | ( | PassRegistry & | ) |
| void llvm::initializeAArch64ConditionalComparesPass | ( | PassRegistry & | ) |
| void llvm::initializeAArch64ConditionOptimizerPass | ( | PassRegistry & | ) |
| void llvm::initializeAArch64PromoteConstantPass | ( | PassRegistry & | ) |
| void llvm::initializeADCEPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeAddDiscriminatorsPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
| void llvm::initializeAddressSanitizerModulePass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| void llvm::initializeAddressSanitizerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| void llvm::initializeAliasAnalysisAnalysisGroup | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::SelectionDAGISel::SelectionDAGISel().
| void llvm::initializeAliasAnalysisCounterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeAliasDebuggerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeAliasSetPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeAlignmentFromAssumptionsPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
|
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.
|
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.
|
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.
|
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().
|
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.
|
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::initializeAMDGPUCFGStructurizerPass | ( | PassRegistry & | ) |
| void llvm::initializeAnalysis | ( | PassRegistry & | Registry | ) |
initializeAnalysis - Initialize all passes linked into the Analysis library.
Definition at line 22 of file Analysis/Analysis.cpp.
References initializeAAEvalPass(), initializeAliasAnalysisAnalysisGroup(), initializeAliasAnalysisCounterPass(), initializeAliasDebuggerPass(), initializeAliasSetPrinterPass(), initializeBasicAliasAnalysisPass(), initializeBlockFrequencyInfoPass(), initializeBranchProbabilityInfoPass(), initializeCFGOnlyPrinterPass(), initializeCFGOnlyViewerPass(), initializeCFGPrinterPass(), initializeCFGViewerPass(), initializeCFLAliasAnalysisPass(), initializeCostModelAnalysisPass(), initializeDelinearizationPass(), initializeDependenceAnalysisPass(), initializeDivergenceAnalysisPass(), initializeDominanceFrontierPass(), initializeDomOnlyPrinterPass(), initializeDomOnlyViewerPass(), initializeDomPrinterPass(), initializeDomViewerPass(), initializeInstCountPass(), initializeIntervalPartitionPass(), initializeIVUsersPass(), initializeLazyValueInfoPass(), initializeLibCallAliasAnalysisPass(), initializeLintPass(), initializeLoopInfoWrapperPassPass(), initializeMemDepPrinterPass(), initializeMemDerefPrinterPass(), initializeMemoryDependenceAnalysisPass(), initializeModuleDebugInfoPrinterPass(), initializeNoAAPass(), initializePostDominatorTreePass(), initializePostDomOnlyPrinterPass(), initializePostDomOnlyViewerPass(), initializePostDomPrinterPass(), initializePostDomViewerPass(), initializeRegionInfoPassPass(), initializeRegionOnlyPrinterPass(), initializeRegionOnlyViewerPass(), initializeRegionPrinterPass(), initializeRegionViewerPass(), initializeScalarEvolutionAliasAnalysisPass(), initializeScalarEvolutionPass(), initializeScopedNoAliasAAPass(), initializeTargetTransformInfoWrapperPassPass(), and initializeTypeBasedAliasAnalysisPass().
Referenced by LLVMInitializeAnalysis().
| void llvm::initializeArgPromotionPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeAssumptionCacheTrackerPass | ( | PassRegistry & | ) |
Referenced by llvm::AssumptionCacheTracker::AssumptionCacheTracker().
| void llvm::initializeAtomicExpandPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeBarrierNoopPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeBasicAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeBBVectorizePass | ( | PassRegistry & | ) |
Referenced by initializeVectorization().
| void llvm::initializeBDCEPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeBlockExtractorPassPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeBlockFrequencyInfoPass | ( | PassRegistry & | ) |
Referenced by llvm::BlockFrequencyInfo::BlockFrequencyInfo(), and initializeAnalysis().
| void llvm::initializeBoundsCheckingPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| void llvm::initializeBranchFolderPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeBranchProbabilityInfoPass | ( | PassRegistry & | ) |
| void llvm::initializeBreakCriticalEdgesPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
| void llvm::initializeCallGraphPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeIPA().
| void llvm::initializeCallGraphViewerPass | ( | PassRegistry & | ) |
Referenced by initializeIPA().
| void llvm::initializeCallGraphWrapperPassPass | ( | PassRegistry & | ) |
Referenced by llvm::CallGraphWrapperPass::CallGraphWrapperPass(), and initializeIPA().
| void llvm::initializeCFGOnlyPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
| void llvm::initializeCFGOnlyViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeCFGPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
| void llvm::initializeCFGSimplifyPassPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeCFGViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeCFLAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeCodeGen | ( | PassRegistry & | Registry | ) |
initializeCodeGen - Initialize all passes linked into the CodeGen library.
Definition at line 22 of file CodeGen.cpp.
References initializeAtomicExpandPass(), initializeBranchFolderPassPass(), initializeCodeGenPreparePass(), initializeDeadMachineInstructionElimPass(), initializeDwarfEHPreparePass(), initializeEarlyIfConverterPass(), initializeExpandISelPseudosPass(), initializeExpandPostRAPass(), initializeFinalizeMachineBundlesPass(), initializeGCMachineCodeAnalysisPass(), initializeGCModuleInfoPass(), initializeIfConverterPass(), initializeImplicitNullChecksPass(), initializeLiveDebugVariablesPass(), initializeLiveIntervalsPass(), initializeLiveStacksPass(), initializeLiveVariablesPass(), initializeLocalStackSlotPassPass(), initializeLowerIntrinsicsPass(), initializeMachineBlockFrequencyInfoPass(), initializeMachineBlockPlacementPass(), initializeMachineBlockPlacementStatsPass(), initializeMachineCombinerPass(), initializeMachineCopyPropagationPass(), initializeMachineCSEPass(), initializeMachineDominatorTreePass(), initializeMachineFunctionPrinterPassPass(), initializeMachineLICMPass(), initializeMachineLoopInfoPass(), initializeMachineModuleInfoPass(), initializeMachinePostDominatorTreePass(), initializeMachineSchedulerPass(), initializeMachineSinkingPass(), initializeMachineVerifierPassPass(), initializeOptimizePHIsPass(), initializePeepholeOptimizerPass(), initializePEIPass(), initializePHIEliminationPass(), initializePostMachineSchedulerPass(), initializePostRASchedulerPass(), initializeProcessImplicitDefsPass(), initializeRegisterCoalescerPass(), initializeShrinkWrapPass(), initializeSlotIndexesPass(), initializeStackColoringPass(), initializeStackMapLivenessPass(), initializeStackProtectorPass(), initializeStackSlotColoringPass(), initializeTailDuplicatePassPass(), initializeTargetPassConfigPass(), initializeTwoAddressInstructionPassPass(), initializeUnpackMachineBundlesPass(), initializeUnreachableBlockElimPass(), initializeUnreachableMachineBlockElimPass(), initializeVirtRegMapPass(), initializeVirtRegRewriterPass(), and initializeWinEHPreparePass().
Referenced by LLVMInitializeCodeGen(), and llvm::TargetPassConfig::TargetPassConfig().
| void llvm::initializeCodeGenPreparePass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeConstantHoistingPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| 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 47 of file Core.cpp.
References initializeDominatorTreeWrapperPassPass(), initializePrintBasicBlockPassPass(), initializePrintFunctionPassWrapperPass(), initializePrintModulePassWrapperPass(), and initializeVerifierLegacyPassPass().
Referenced by LLVMInitializeCore().
| void llvm::initializeCorrelatedValuePropagationPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeCostModelAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeDAEPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeDAHPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeDataFlowSanitizerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| void llvm::initializeDCEPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeDeadInstEliminationPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeDeadMachineInstructionElimPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeDelinearizationPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeDependenceAnalysisPass | ( | PassRegistry & | ) |
Referenced by llvm::DependenceAnalysis::DependenceAnalysis(), and initializeAnalysis().
| void llvm::initializeDivergenceAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeDominanceFrontierPass | ( | PassRegistry & | ) |
Referenced by llvm::DominanceFrontier::DominanceFrontier(), and initializeAnalysis().
| void llvm::initializeDominatorTreeWrapperPassPass | ( | PassRegistry & | ) |
Referenced by llvm::DominatorTreeWrapperPass::DominatorTreeWrapperPass(), and initializeCore().
| void llvm::initializeDomOnlyPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
| void llvm::initializeDomOnlyViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeDomPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
| void llvm::initializeDomViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeDSEPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeDwarfEHPreparePass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeEarlyCSELegacyPassPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeEarlyIfConverterPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeEdgeBundlesPass | ( | PassRegistry & | ) |
| void llvm::initializeEliminateAvailableExternallyPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeExpandISelPseudosPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeExpandPostRAPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeFinalizeMachineBundlesPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeFlattenCFGPassPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeFloat2IntPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeForwardControlFlowIntegrityPass | ( | PassRegistry & | ) |
| void llvm::initializeFunctionAttrsPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeGCMachineCodeAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeGCModuleInfoPass | ( | PassRegistry & | ) |
| void llvm::initializeGCOVProfilerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| void llvm::initializeGenericToNVVMPass | ( | PassRegistry & | ) |
Referenced by LLVMInitializeNVPTXTarget().
| 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::initializeHexagonCFGOptimizerPass | ( | PassRegistry & | Registry | ) |
Definition at line 244 of file HexagonCFGOptimizer.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
| void llvm::initializeHexagonCommonGEPPass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonCopyToCombinePass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonDAGToDAGISelPass | ( | PassRegistry & | Registry | ) |
Definition at line 200 of file HexagonISelDAGToDAG.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
| void llvm::initializeHexagonExpandCondsetsPass | ( | PassRegistry & | Registry | ) |
Definition at line 1350 of file HexagonExpandCondsets.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
| void llvm::initializeHexagonExpandPredSpillCodePass | ( | PassRegistry & | Registry | ) |
Definition at line 350 of file HexagonExpandPredSpillCode.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
| void llvm::initializeHexagonFixupHwLoopsPass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonGenExtractPass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonGenInsertPass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonGenPredicatePass | ( | PassRegistry & | Registry | ) |
| void llvm::initializeHexagonHardwareLoopsPass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonNewValueJumpPass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonPacketizerPass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonPeepholePass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonRemoveExtendArgsPass | ( | PassRegistry & | ) |
| void llvm::initializeHexagonSplitConst32AndConst64Pass | ( | PassRegistry & | ) |
| void llvm::initializeIfConverterPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeImplicitNullChecksPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeInductiveRangeCheckEliminationPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeIndVarSimplifyPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeInlineCostAnalysisPass | ( | PassRegistry & | ) |
| Combine redundant false void llvm::initializeInstCombine | ( | PassRegistry & | Registry | ) |
initializeInstCombine - Initialize all passes linked into the InstCombine library.
Definition at line 3084 of file InstructionCombining.cpp.
References initializeInstructionCombiningPassPass().
| void llvm::initializeInstCountPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeInstNamerPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
| void llvm::initializeInstrProfilingPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| void llvm::initializeInstructionCombiningPassPass | ( | PassRegistry & | ) |
Referenced by initializeInstCombine(), and LLVMInitializeInstCombine().
| 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 23 of file Instrumentation.cpp.
References initializeAddressSanitizerModulePass(), initializeAddressSanitizerPass(), initializeBoundsCheckingPass(), initializeDataFlowSanitizerPass(), initializeGCOVProfilerPass(), initializeInstrProfilingPass(), initializeMemorySanitizerPass(), initializeSafeStackPass(), initializeSanitizerCoverageModulePass(), and initializeThreadSanitizerPass().
Referenced by LLVMInitializeInstrumentation().
| void llvm::initializeInstSimplifierPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
|
static |
| void llvm::initializeInternalizePassPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeIPO().
| void llvm::initializeIntervalPartitionPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::IntervalPartition::IntervalPartition().
| void llvm::initializeIPA | ( | PassRegistry & | Registry | ) |
initializeIPA - Initialize all passes linked into the IPA library.
Definition at line 21 of file IPA.cpp.
References initializeCallGraphPrinterPass(), initializeCallGraphViewerPass(), initializeCallGraphWrapperPassPass(), and initializeGlobalsModRefPass().
Referenced by LLVMInitializeIPA().
| void llvm::initializeIPCPPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeIPO | ( | PassRegistry & | Registry | ) |
initializeIPO - Initialize all passes linked into the IPO library.
Definition at line 24 of file IPO.cpp.
References initializeAlwaysInlinerPass(), initializeArgPromotionPass(), initializeBarrierNoopPass(), initializeBlockExtractorPassPass(), initializeConstantMergePass(), initializeDAEPass(), initializeDAHPass(), initializeEliminateAvailableExternallyPass(), initializeFunctionAttrsPass(), initializeGlobalDCEPass(), initializeGlobalOptPass(), initializeInternalizePassPass(), initializeIPCPPass(), initializeLoopExtractorPass(), initializeLowerBitSetsPass(), initializeMergeFunctionsPass(), initializePartialInlinerPass(), initializePruneEHPass(), initializeSimpleInlinerPass(), initializeSingleLoopExtractorPass(), initializeStripDeadDebugInfoPass(), initializeStripDeadPrototypesPassPass(), initializeStripDebugDeclarePass(), initializeStripNonDebugSymbolsPass(), and initializeStripSymbolsPass().
Referenced by LLVMInitializeIPO().
| void llvm::initializeIPSCCPPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeIVUsersPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::IVUsers::IVUsers().
| void llvm::initializeJumpThreadingPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLazyValueInfoPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::LazyValueInfo::LazyValueInfo().
| void llvm::initializeLCSSAPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
| void llvm::initializeLibCallAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::LibCallAliasAnalysis::LibCallAliasAnalysis().
| void llvm::initializeLICMPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLintPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeLiveDebugVariablesPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::LiveDebugVariables::LiveDebugVariables().
| void llvm::initializeLiveIntervalsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::LiveIntervals::LiveIntervals().
| void llvm::initializeLiveRegMatrixPass | ( | PassRegistry & | ) |
| void llvm::initializeLiveStacksPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::LiveStacks::LiveStacks().
| void llvm::initializeLiveVariablesPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::LiveVariables::LiveVariables().
| void llvm::initializeLoadCombinePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoaderPassPass | ( | PassRegistry & | ) |
| void llvm::initializeLocalStackSlotPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeLoopAccessAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts(), and llvm::LoopAccessAnalysis::LoopAccessAnalysis().
| void llvm::initializeLoopDeletionPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopDistributePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopExtractorPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeLoopIdiomRecognizePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopInfoWrapperPassPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::LoopInfoWrapperPass::LoopInfoWrapperPass().
| void llvm::initializeLoopInstSimplifyPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopInterchangePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopRerollPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopRotatePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopSimplifyPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
| void llvm::initializeLoopStrengthReducePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopUnrollPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopUnswitchPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLoopVectorizePass | ( | PassRegistry & | ) |
Referenced by initializeVectorization().
| void llvm::initializeLowerAtomicPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLowerBitSetsPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeLowerExpectIntrinsicPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeLowerIntrinsicsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeLowerInvokePass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
| void llvm::initializeLowerSwitchPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
| void llvm::initializeMachineBlockFrequencyInfoPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::MachineBlockFrequencyInfo::MachineBlockFrequencyInfo().
| void llvm::initializeMachineBlockPlacementPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMachineBlockPlacementStatsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMachineBranchProbabilityInfoPass | ( | PassRegistry & | ) |
| void llvm::initializeMachineCombinerPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMachineCopyPropagationPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMachineCSEPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMachineDominanceFrontierPass | ( | PassRegistry & | ) |
Referenced by llvm::MachineDominanceFrontier::MachineDominanceFrontier().
| void llvm::initializeMachineDominatorTreePass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::MachineDominatorTree::MachineDominatorTree().
| void llvm::initializeMachineFunctionPrinterPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMachineLICMPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMachineLoopInfoPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::MachineLoopInfo::MachineLoopInfo().
| void llvm::initializeMachineModuleInfoPass | ( | PassRegistry & | ) |
| void llvm::initializeMachinePostDominatorTreePass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeCodeGen().
| void llvm::initializeMachineRegionInfoPassPass | ( | PassRegistry & | ) |
Referenced by llvm::MachineRegionInfoPass::MachineRegionInfoPass().
| void llvm::initializeMachineSchedulerPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMachineSinkingPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMachineTraceMetricsPass | ( | PassRegistry & | ) |
| void llvm::initializeMachineVerifierPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeMemCpyOptPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeMemDepPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeMemDerefPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeMemoryDependenceAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::MemoryDependenceAnalysis::MemoryDependenceAnalysis().
| void llvm::initializeMemorySanitizerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| void llvm::initializeMergedLoadStoreMotionPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeMergeFunctionsPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeMetaRenamerPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
| void llvm::initializeMIRPrintingPassPass | ( | PassRegistry & | ) |
| void llvm::initializeModuleDebugInfoPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeNaryReassociatePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
|
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.
|
inline |
InitializeNativeTargetAsmParser - The main program should call this function to initialize the native target asm parser.
Definition at line 142 of file TargetSelect.h.
|
inline |
InitializeNativeTargetAsmPrinter - The main program should call this function to initialize the native target asm printer.
Definition at line 130 of file TargetSelect.h.
|
inline |
InitializeNativeTargetDisassembler - The main program should call this function to initialize the native target disassembler.
Definition at line 154 of file TargetSelect.h.
| void llvm::initializeNoAAPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeNVPTXAllocaHoistingPass | ( | PassRegistry & | ) |
Referenced by LLVMInitializeNVPTXTarget().
| void llvm::initializeNVPTXAssignValidGlobalNamesPass | ( | PassRegistry & | ) |
Referenced by LLVMInitializeNVPTXTarget().
| void llvm::initializeNVPTXFavorNonGenericAddrSpacesPass | ( | PassRegistry & | ) |
Referenced by LLVMInitializeNVPTXTarget().
| void llvm::initializeNVPTXLowerAllocaPass | ( | PassRegistry & | ) |
Referenced by LLVMInitializeNVPTXTarget().
| void llvm::initializeNVPTXLowerKernelArgsPass | ( | PassRegistry & | ) |
Referenced by LLVMInitializeNVPTXTarget().
| void llvm::initializeNVPTXPeepholePass | ( | PassRegistry & | ) |
| void llvm::initializeNVVMReflectPass | ( | PassRegistry & | ) |
Referenced by LLVMInitializeNVPTXTarget().
| void llvm::initializeObjCARCAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts(), and llvm::objcarc::ObjCARCAliasAnalysis::ObjCARCAliasAnalysis().
| void llvm::initializeObjCARCAPElimPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts().
| void llvm::initializeObjCARCContractPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts().
| void llvm::initializeObjCARCExpandPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts().
| void llvm::initializeObjCARCOptPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts().
| void llvm::initializeObjCARCOpts | ( | PassRegistry & | Registry | ) |
initializeObjCARCOpts - Initialize all passes linked into the ObjCARCOpts library.
initializeObjCARCOptsPasses - Initialize all passes linked into the ObjCARCOpts library.
Definition at line 39 of file ObjCARC.cpp.
References initializeObjCARCAliasAnalysisPass(), initializeObjCARCAPElimPass(), initializeObjCARCContractPass(), initializeObjCARCExpandPass(), initializeObjCARCOptPass(), and initializePAEvalPass().
Referenced by LLVMInitializeObjCARCOpts().
| void llvm::initializeOptimizePHIsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializePAEvalPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts().
| void llvm::initializePartialInlinerPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializePartiallyInlineLibCallsPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializePeepholeOptimizerPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializePEIPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializePHIEliminationPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializePlaceBackedgeSafepointsImplPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializePlaceSafepointsPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializePostDominatorTreePass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::PostDominatorTree::PostDominatorTree().
| void llvm::initializePostDomOnlyPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
| void llvm::initializePostDomOnlyViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializePostDomPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
| void llvm::initializePostDomViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializePostMachineSchedulerPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeCodeGen().
| void llvm::initializePostRASchedulerPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializePPCBSelPass | ( | PassRegistry & | ) |
| void llvm::initializePPCCTRLoopsPass | ( | PassRegistry & | ) |
| void llvm::initializePPCCTRLoopsVerifyPass | ( | PassRegistry & | ) |
| void llvm::initializePPCDAGToDAGISelPass | ( | PassRegistry & | Registry | ) |
Definition at line 4290 of file PPCISelDAGToDAG.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
| void llvm::initializePPCEarlyReturnPass | ( | PassRegistry & | ) |
| void llvm::initializePPCLoopDataPrefetchPass | ( | PassRegistry & | ) |
| void llvm::initializePPCLoopPreIncPrepPass | ( | PassRegistry & | ) |
| void llvm::initializePPCTLSDynamicCallPass | ( | PassRegistry & | ) |
| void llvm::initializePPCTOCRegDepsPass | ( | PassRegistry & | ) |
| void llvm::initializePPCVSXCopyPass | ( | PassRegistry & | ) |
| void llvm::initializePPCVSXFMAMutatePass | ( | PassRegistry & | ) |
| void llvm::initializePPCVSXSwapRemovalPass | ( | PassRegistry & | ) |
| void llvm::initializePrintBasicBlockPassPass | ( | PassRegistry & | ) |
Referenced by initializeCore().
| void llvm::initializePrintFunctionPassWrapperPass | ( | PassRegistry & | ) |
Referenced by initializeCore().
| void llvm::initializePrintModulePassWrapperPass | ( | PassRegistry & | ) |
Referenced by initializeCore().
| void llvm::initializeProcessImplicitDefsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializePromotePassPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
| void llvm::initializePruneEHPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeR600EmitClauseMarkersPass | ( | PassRegistry & | ) |
| void llvm::initializeReassociatePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeRegionInfoPassPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::RegionInfoPass::RegionInfoPass().
| void llvm::initializeRegionOnlyPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
| 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::initializeRewriteStatepointsForGCPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeRewriteSymbolsPass | ( | PassRegistry & | ) |
| void llvm::initializeSafeStackPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| void llvm::initializeSampleProfileLoaderPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeSanitizerCoverageModulePass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| void llvm::initializeScalarEvolutionAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeScalarEvolutionPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::ScalarEvolution::ScalarEvolution().
| void llvm::initializeScalarizerPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeScalarOpts | ( | PassRegistry & | Registry | ) |
initializeScalarOpts - Initialize all passes linked into the ScalarOpts library.
initializeScalarOptsPasses - Initialize all passes linked into the ScalarOpts library.
Definition at line 29 of file Scalar.cpp.
References initializeADCEPass(), initializeAlignmentFromAssumptionsPass(), initializeBDCEPass(), initializeCFGSimplifyPassPass(), initializeConstantHoistingPass(), initializeConstantPropagationPass(), initializeCorrelatedValuePropagationPass(), initializeDCEPass(), initializeDeadInstEliminationPass(), initializeDSEPass(), initializeEarlyCSELegacyPassPass(), initializeFlattenCFGPassPass(), initializeFloat2IntPass(), initializeGVNPass(), initializeInductiveRangeCheckEliminationPass(), initializeIndVarSimplifyPass(), initializeIPSCCPPass(), initializeJumpThreadingPass(), initializeLICMPass(), initializeLoadCombinePass(), initializeLoopAccessAnalysisPass(), initializeLoopDeletionPass(), initializeLoopDistributePass(), initializeLoopIdiomRecognizePass(), initializeLoopInstSimplifyPass(), initializeLoopInterchangePass(), initializeLoopRerollPass(), initializeLoopRotatePass(), initializeLoopStrengthReducePass(), initializeLoopUnrollPass(), initializeLoopUnswitchPass(), initializeLowerAtomicPass(), initializeLowerExpectIntrinsicPass(), initializeMemCpyOptPass(), initializeMergedLoadStoreMotionPass(), initializeNaryReassociatePass(), initializePartiallyInlineLibCallsPass(), initializePlaceBackedgeSafepointsImplPass(), initializePlaceSafepointsPass(), initializeReassociatePass(), initializeRegToMemPass(), initializeRewriteStatepointsForGCPass(), initializeSampleProfileLoaderPass(), initializeScalarizerPass(), initializeSCCPPass(), initializeSeparateConstOffsetFromGEPPass(), initializeSinkingPass(), initializeSpeculativeExecutionPass(), initializeSROA_DTPass(), initializeSROA_SSAUpPass(), initializeSROAPass(), initializeStraightLineStrengthReducePass(), initializeStructurizeCFGPass(), and initializeTailCallElimPass().
Referenced by LLVMInitializeScalarOpts().
| void llvm::initializeSCCPPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeScopedNoAliasAAPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeSeparateConstOffsetFromGEPPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeShadowStackGCLoweringPass | ( | PassRegistry & | ) |
| void llvm::initializeShrinkWrapPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeSIFixControlFlowLiveIntervalsPass | ( | PassRegistry & | ) |
| void llvm::initializeSIFixSGPRLiveRangesPass | ( | PassRegistry & | ) |
| void llvm::initializeSIFoldOperandsPass | ( | PassRegistry & | ) |
| void llvm::initializeSILoadStoreOptimizerPass | ( | PassRegistry & | ) |
| void llvm::initializeSILowerI1CopiesPass | ( | PassRegistry & | ) |
| void llvm::initializeSimpleInlinerPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeSingleLoopExtractorPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
| void llvm::initializeSinkingPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeSIShrinkInstructionsPass | ( | PassRegistry & | ) |
| void llvm::initializeSjLjEHPreparePass | ( | PassRegistry & | ) |
| void llvm::initializeSlotIndexesPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::SlotIndexes::SlotIndexes().
| void llvm::initializeSLPVectorizerPass | ( | PassRegistry & | ) |
Referenced by initializeVectorization().
| void llvm::initializeSpeculativeExecutionPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeSpillPlacementPass | ( | PassRegistry & | ) |
| void llvm::initializeSROA_DTPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeSROA_SSAUpPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeSROAPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| void llvm::initializeStackColoringPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeStackMapLivenessPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeCodeGen().
| void llvm::initializeStackProtectorPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::StackProtector::StackProtector().
| void llvm::initializeStackSlotColoringPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeStraightLineStrengthReducePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| 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::initializeStructurizeCFGPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
| 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 36 of file Target.cpp.
References initializeTargetLibraryInfoWrapperPassPass(), and initializeTargetTransformInfoWrapperPassPass().
Referenced by LLVMInitializeTarget().
| void llvm::initializeTargetLibraryInfoWrapperPassPass | ( | PassRegistry & | ) |
| void llvm::initializeTargetPassConfigPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeTargetTransformInfoWrapperPassPass | ( | PassRegistry & | ) |
| void llvm::initializeThreadSanitizerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
| 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 23 of file Utils.cpp.
References initializeAddDiscriminatorsPass(), initializeBreakCriticalEdgesPass(), initializeInstNamerPass(), initializeInstSimplifierPass(), initializeLCSSAPass(), initializeLoopSimplifyPass(), initializeLowerInvokePass(), initializeLowerSwitchPass(), initializeMetaRenamerPass(), initializePromotePassPass(), and initializeUnifyFunctionExitNodesPass().
Referenced by LLVMInitializeTransformUtils().
| void llvm::initializeTwoAddressInstructionPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeTypeBasedAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
| void llvm::initializeUnifyFunctionExitNodesPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils(), and llvm::UnifyFunctionExitNodes::UnifyFunctionExitNodes().
| 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(), initializeLoopVectorizePass(), and initializeSLPVectorizerPass().
Referenced by LLVMInitializeVectorization().
| void llvm::initializeVerifierLegacyPassPass | ( | PassRegistry & | ) |
Referenced by initializeCore().
| void llvm::initializeVirtRegMapPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeVirtRegRewriterPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeWinEHPreparePass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
| void llvm::initializeXCoreLowerThreadLocalPass | ( | PassRegistry & | p | ) |
| 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 56 of file InlineFunction.cpp.
Referenced by InlineCallIfPossible(), InlineFunction(), and InsertSafepointPoll().
| bool llvm::InlineFunction | ( | InvokeInst * | II, |
| InlineFunctionInfo & | IFI, | ||
| bool | InsertLifetime = true |
||
| ) |
Definition at line 60 of file InlineFunction.cpp.
References InlineFunction().
| bool llvm::InlineFunction | ( | CallSite | CS, |
| InlineFunctionInfo & | IFI, | ||
| bool | InsertLifetime = true |
||
| ) |
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 919 of file InlineFunction.cpp.
References llvm::InlineFunctionInfo::AA, llvm::InlineFunctionInfo::ACT, AddAliasScopeMetadata(), AddAlignmentAssumptions(), llvm::PHINode::addIncoming(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_size(), llvm::Function::arg_size(), llvm::Function::back(), llvm::BasicBlock::begin(), llvm::Function::begin(), llvm::InlineFunctionInfo::CG, llvm::AssumptionCache::clear(), CloneAliasScopeMetadata(), CloneAndPruneFunctionInto(), llvm::ClonedCodeInfo::ContainsCalls, llvm::ClonedCodeInfo::ContainsDynamicAllocas, llvm::PHINode::Create(), llvm::BranchInst::Create(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateBitCast(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateRet(), DL, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotThrow(), dyn_cast(), llvm::SmallVectorBase::empty(), llvm::Function::end(), llvm::iplist< NodeTy, Traits >::erase(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), fixupLineNumbers(), llvm::ConstantInt::get(), llvm::UndefValue::get(), llvm::AllocaInst::getAllocatedType(), llvm::AllocaInst::getArraySize(), llvm::AssumptionCacheTracker::getAssumptionCache(), llvm::Function::getBasicBlockList(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction(), llvm::Value::getContext(), llvm::Module::getDataLayout(), llvm::Instruction::getDebugLoc(), llvm::Intrinsic::getDeclaration(), llvm::Function::getEntryBlock(), llvm::Function::getFunctionType(), llvm::Function::getGC(), llvm::BasicBlock::getInstList(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::Type::getInt64Ty(), llvm::Value::getName(), llvm::InvokeInst::getNormalDest(), llvm::Instruction::getOpcode(), llvm::Function::getParamAlignment(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Function::getPersonalityFn(), llvm::Function::getReturnType(), llvm::ReturnInst::getReturnValue(), llvm::CallInst::getTailCallKind(), llvm::BasicBlock::getTerminatingMustTailCall(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), HandleByValArgument(), HandleByValArgumentInit(), HandleInlinedInvoke(), llvm::Function::hasGC(), hasLifetimeMarkers(), llvm::Function::hasPersonalityFn(), I, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isByValArgument(), llvm::GlobalValue::isDeclaration(), llvm::CallInst::isMustTailCall(), llvm::FunctionType::isVarArg(), fuzzer::min(), llvm::TargetOpcode::PHI, llvm::iplist< NodeTy, Traits >::pop_back(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::Value::replaceAllUsesWith(), replaceDbgDeclareForAlloca(), llvm::InlineFunctionInfo::reset(), llvm::Instruction::setDebugLoc(), llvm::CallInst::setDoesNotThrow(), llvm::Function::setGC(), llvm::User::setOperand(), llvm::Function::setPersonalityFn(), llvm::CallInst::setTailCallKind(), SimplifyInstruction(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::iplist< NodeTy, Traits >::splice(), llvm::BasicBlock::splitBasicBlock(), llvm::InlineFunctionInfo::StaticAllocas, std::swap(), llvm::CallInst::TCK_None, UpdateCallGraphAfterInlining(), and llvm::Value::use_empty().
| BasicBlock * llvm::InsertPreheaderForLoop | ( | Loop * | L, |
| Pass * | PP | ||
| ) |
InsertPreheaderForLoop - Once we discover that a loop doesn't have a preheader, this method is called to insert one.
This method has two phases: preheader insertion and analysis updating.
Definition at line 115 of file LoopSimplify.cpp.
References llvm::LoopBase< N, M >::contains(), dbgs(), DEBUG, llvm::Pass::getAnalysisIfAvailable(), llvm::LoopBase< N, M >::getHeader(), llvm::LoopInfoWrapperPass::getLoopInfo(), llvm::Value::getName(), llvm::BasicBlock::getTerminator(), LCSSAID, llvm::Pass::mustPreserveAnalysisID(), P, placeSplitBlockCarefully(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and SplitBlockPredecessors().
Referenced by simplifyOneLoop().
|
inline |
Definition at line 127 of file InstIterator.h.
Referenced by llvm::Function::callsFunctionThatReturnsTwice(), dumpExampleDependence(), getInst(), inst_range(), and llvm::ScalarEvolution::print().
|
inline |
Definition at line 132 of file InstIterator.h.
|
inline |
Definition at line 141 of file InstIterator.h.
|
inline |
Definition at line 146 of file InstIterator.h.
|
inline |
Definition at line 128 of file InstIterator.h.
Referenced by llvm::Function::callsFunctionThatReturnsTwice(), dumpExampleDependence(), getInst(), inst_range(), and llvm::ScalarEvolution::print().
|
inline |
Definition at line 135 of file InstIterator.h.
|
inline |
Definition at line 142 of file InstIterator.h.
|
inline |
Definition at line 149 of file InstIterator.h.
|
inline |
Definition at line 129 of file InstIterator.h.
References inst_begin(), and inst_end().
Referenced by findCallSafepoints(), and true::DivergencePropagator::populateWithSourcesOfDivergence().
|
inline |
Definition at line 138 of file InstIterator.h.
References inst_begin(), and inst_end().
|
inline |
Definition at line 143 of file InstIterator.h.
References inst_begin(), and inst_end().
|
inline |
Definition at line 152 of file InstIterator.h.
References inst_begin(), and inst_end().
| void llvm::install_fatal_error_handler | ( | fatal_error_handler_t | handler, |
| void * | user_data = nullptr |
||
| ) |
install_fatal_error_handler - Installs a new error handler to be used whenever a serious (non-recoverable) error is encountered by LLVM.
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.
| user_data | - An argument which will be passed to the install error handler. |
Definition at line 47 of file ErrorHandling.cpp.
References ErrorHandler, ErrorHandlerMutex, ErrorHandlerUserData, and Lock.
Referenced by LLVMInstallFatalErrorHandler(), and llvm::ScopedFatalErrorHandler::ScopedFatalErrorHandler().
| const std::error_category & llvm::instrprof_category | ( | ) |
Definition at line 61 of file InstrProf.cpp.
References ErrorCategory.
Referenced by make_error_code().
|
inline |
Definition at line 249 of file IntervalIterator.h.
Referenced by llvm::IntervalPartition::IntervalPartition(), and llvm::IntervalPartition::runOnFunction().
|
inline |
Definition at line 258 of file IntervalIterator.h.
|
inline |
Definition at line 253 of file IntervalIterator.h.
Referenced by llvm::IntervalPartition::IntervalPartition(), and llvm::IntervalPartition::runOnFunction().
|
inline |
Definition at line 262 of file IntervalIterator.h.
|
inlinestatic |
Returns the OverflowCheckFlavor corresponding to a overflow_with_op intrinsic.
Definition at line 119 of file InstCombineInternal.h.
References OCF_INVALID, OCF_SIGNED_ADD, OCF_SIGNED_MUL, OCF_SIGNED_SUB, OCF_UNSIGNED_ADD, OCF_UNSIGNED_MUL, and OCF_UNSIGNED_SUB.
Referenced by llvm::InstCombiner::visitCallInst().
| iterator_range<idf_iterator<T> > llvm::inverse_depth_first | ( | const T & | G | ) |
Definition at line 262 of file DepthFirstIterator.h.
References idf_begin(), idf_end(), and make_range().
| iterator_range<idf_ext_iterator<T, SetTy> > llvm::inverse_depth_first_ext | ( | const T & | G, |
| SetTy & | S | ||
| ) |
Definition at line 286 of file DepthFirstIterator.h.
References idf_ext_begin(), idf_ext_end(), and make_range().
| iterator_range<ipo_iterator<T> > llvm::inverse_post_order | ( | const T & | G, |
| bool | Reverse = false |
||
| ) |
Definition at line 228 of file PostOrderIterator.h.
References ipo_begin(), ipo_end(), and make_range().
| iterator_range<ipo_ext_iterator<T, SetType> > llvm::inverse_post_order_ext | ( | const T & | G, |
| SetType & | S | ||
| ) |
Definition at line 254 of file PostOrderIterator.h.
References ipo_ext_begin(), ipo_ext_end(), and make_range().
Definition at line 218 of file PostOrderIterator.h.
References llvm::po_iterator< Inverse< T >, SetType, External >::begin().
Referenced by inverse_post_order().
| ipo_iterator<T> llvm::ipo_end | ( | const T & | G | ) |
Definition at line 223 of file PostOrderIterator.h.
References llvm::po_iterator< Inverse< T >, SetType, External >::end().
Referenced by inverse_post_order().
| ipo_ext_iterator<T, SetType> llvm::ipo_ext_begin | ( | const T & | G, |
| SetType & | S | ||
| ) |
Definition at line 243 of file PostOrderIterator.h.
References llvm::po_iterator< Inverse< T >, SetType, External >::begin().
Referenced by inverse_post_order_ext().
| ipo_ext_iterator<T, SetType> llvm::ipo_ext_end | ( | const T & | G, |
| SetType & | S | ||
| ) |
Definition at line 248 of file PostOrderIterator.h.
References llvm::po_iterator< Inverse< T >, SetType, External >::end().
Referenced by inverse_post_order_ext().
|
inline |
Definition at line 132 of file Casting.h.
Referenced by llvm::DwarfUnit::applySubprogramAttributes(), and llvm::MCDwarfLoc::setIsa().
| int llvm::isAArch64FrameOffsetLegal | ( | const MachineInstr & | MI, |
| int & | Offset, | ||
| bool * | OutUseUnscaledOp = nullptr, |
||
| unsigned * | OutUnscaledOp = nullptr, |
||
| int * | EmittableOffset = nullptr |
||
| ) |
Check if the Offset is a valid frame offset for MI.
The returned value reports the validity of the frame offset for MI. It uses the values defined by AArch64FrameOffsetStatus for that. If result == AArch64FrameOffsetCannotUpdate, MI cannot be updated to use an offset.eq If result & AArch64FrameOffsetIsLegal, Offset can completely be rewriten in MI. If result & AArch64FrameOffsetCanUpdate, Offset contains the amount that is off the limit of the legal offset. If set, OutUseUnscaledOp will contain the whether MI should be turned into an unscaled operator, which opcode is in OutUnscaledOp. If set, EmittableOffset contains the amount that can be set in MI (possibly with OutUnscaledOp if OutUseUnscaledOp is true) and that is a legal offset.
Definition at line 2094 of file AArch64InstrInfo.cpp.
References AArch64FrameOffsetCannotUpdate, AArch64FrameOffsetCanUpdate, AArch64FrameOffsetIsLegal, llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), and llvm_unreachable.
Referenced by llvm::AArch64RegisterInfo::isFrameOffsetLegal(), and rewriteAArch64FrameIndex().
| bool llvm::isAllocaPromotable | ( | const AllocaInst * | AI | ) |
Return true if this alloca is legal for promotion.
This is true if there are only loads, stores, and lifetime markers (transitively) using this alloca. This also enforces that there is only ever one layer of bitcasts or GEPs between the alloca and the lifetime markers.
Definition at line 51 of file PromoteMemoryToRegister.cpp.
References llvm::PointerType::getAddressSpace(), llvm::Type::getInt8PtrTy(), llvm::AllocaInst::getType(), onlyUsedByLifetimeMarkers(), SI, and llvm::Value::users().
| bool llvm::isAllocationFn | ( | const Value * | V, |
| const TargetLibraryInfo * | TLI, | ||
| bool | LookThroughBitCast = false |
||
| ) |
Tests if a value is a call or invoke to a library function that allocates or reallocates memory (either malloc, calloc, realloc, or strdup like).
Definition at line 151 of file MemoryBuiltins.cpp.
References AnyAlloc, and getAllocationData().
Referenced by CleanupPointerRootUsers(), isNoAliasFn(), IsSafeComputationToRemove(), and llvm::InstCombiner::visitGetElementPtrInst().
| bool llvm::isAllocLikeFn | ( | const Value * | V, |
| const TargetLibraryInfo * | TLI, | ||
| bool | LookThroughBitCast = false |
||
| ) |
Tests if a value is a call or invoke to a library function that allocates memory (either malloc, calloc, or strdup like).
Definition at line 182 of file MemoryBuiltins.cpp.
References AllocLike, and getAllocationData().
Referenced by isInstructionTriviallyDead().
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 34 of file ARMBaseRegisterInfo.h.
References R10, R11, R12, R2, R4, R6, R8, R9, and SP.
Referenced by llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
Definition at line 49 of file ARMBaseRegisterInfo.h.
References R10, R11, R12, R8, and R9.
Referenced by llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
Definition at line 60 of file ARMBaseRegisterInfo.h.
Referenced by llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
isARMLowRegister - Returns true if the register is a low register (r0-r7).
Definition at line 210 of file ARMBaseInfo.h.
Referenced by checkLowRegisterList(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ThumbRegisterInfo::emitLoadConstPool(), emitThumbRegPlusImmInReg(), llvm::ARMBaseInstrInfo::isProfitableToIfCvt(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), and VerifyLowRegs().
|
inline |
Returns true if this personality function catches asynchronous exceptions.
Definition at line 183 of file LibCallSemantics.h.
References llvm_unreachable, MSVC_Win64SEH, and MSVC_X86SEH.
Referenced by canSimplifyInvokeNoUnwind().
|
inline |
Returns true if the ordering is at least as strong as acquire (i.e.
acquire, acq_rel or seq_cst)
Definition at line 56 of file Instructions.h.
References Acquire, AcquireRelease, and SequentiallyConsistent.
Referenced by llvm::AArch64TargetLowering::emitLoadLinked(), llvm::ARMTargetLowering::emitLoadLinked(), llvm::PPCTargetLowering::emitTrailingFence(), and llvm::TargetLoweringBase::emitTrailingFence().
|
inline |
Returns true if the ordering is at least as strong as release (i.e.
release, acq_rel or seq_cst)
Definition at line 64 of file Instructions.h.
References AcquireRelease, Release, and SequentiallyConsistent.
Referenced by llvm::PPCTargetLowering::emitLeadingFence(), llvm::TargetLoweringBase::emitLeadingFence(), llvm::AArch64TargetLowering::emitStoreConditional(), and llvm::ARMTargetLowering::emitStoreConditional().
| bool llvm::isBarrierIntrinsic | ( | llvm::Intrinsic::ID | id | ) |
Definition at line 338 of file NVPTXUtilities.cpp.
| bool llvm::isBasePlusOffsetMemoryAccess | ( | unsigned | Opcode, |
| unsigned * | AddrIdx, | ||
| bool * | IsStore = nullptr |
||
| ) |
Definition at line 202 of file MipsNaClELFStreamer.cpp.
References llvm::MipsISD::LWL, llvm::MipsISD::LWR, llvm::PPCISD::SC, llvm::MipsISD::SWL, and llvm::MipsISD::SWR.
Returns true if the opcode is a binary operation with flags.
Definition at line 1027 of file SelectionDAGNodes.h.
References llvm::ISD::ADD, llvm::ISD::FADD, llvm::ISD::FDIV, llvm::ISD::FMUL, llvm::ISD::FREM, llvm::ISD::FSUB, llvm::ISD::MUL, llvm::ISD::SDIV, llvm::ISD::SHL, llvm::ISD::SRA, llvm::ISD::SRL, llvm::ISD::SUB, and llvm::ISD::UDIV.
Referenced by AddNodeIDFlags(), and llvm::BinaryWithFlagsSDNode::classof().
isBitcode - Return true if the given bytes are the magic bytes for LLVM IR bitcode, either with or without a wrapper.
Definition at line 103 of file ReaderWriter.h.
References isBitcodeWrapper(), and isRawBitcode().
Referenced by getLazyIRModule(), and parseIR().
isBitcodeWrapper - Return true if the given bytes are the magic bytes for an LLVM IR bitcode wrapper.
Definition at line 75 of file ReaderWriter.h.
Referenced by isBitcode().
isBytewiseValue - If the specified value can be set by repeating the same byte in memory, return the i8 value that it is represented with.
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 2366 of file ValueTracking.cpp.
References llvm::ConstantInt::get(), llvm::ConstantExpr::getBitCast(), llvm::Value::getContext(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::Type::getInt8Ty(), llvm::Constant::getNullValue(), llvm::Value::getType(), I, and llvm::Type::isIntegerTy().
Definition at line 71 of file ARMBaseRegisterInfo.h.
Referenced by isCSRestore(), and tryFoldSPUpdateIntoPushPop().
| bool llvm::isCallocLikeFn | ( | const Value * | V, |
| const TargetLibraryInfo * | TLI, | ||
| bool | LookThroughBitCast = false |
||
| ) |
Tests if a value is a call or invoke to a library function that allocates zero-filled memory (such as calloc).
Definition at line 175 of file MemoryBuiltins.cpp.
References CallocLike, and getAllocationData().
Referenced by extractCallocCall(), and llvm::MemoryDependenceAnalysis::getPointerDependencyFrom().
Definition at line 235 of file AArch64InstrInfo.h.
Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch(), llvm::AArch64InstrInfo::AnalyzeBranch(), llvm::ARMBaseInstrInfo::RemoveBranch(), and llvm::AArch64InstrInfo::RemoveBranch().
Definition at line 410 of file ARMBaseInstrInfo.h.
| bool llvm::IsCPSRDead | ( | InstrType * | Instr | ) |
Referenced by isV8EligibleForIT().
| bool llvm::IsCPSRDead< MachineInstr > | ( | MachineInstr * | MI | ) |
Definition at line 580 of file ARMBaseInstrInfo.cpp.
References llvm::MachineOperand::getReg(), llvm::MachineOperand::isDead(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isUndef(), llvm::MachineOperand::isUse(), and llvm::AArch64CC::MI.
|
inline |
Definition at line 8628 of file ARMAsmParser.cpp.
| bool llvm::isCriticalEdge | ( | const TerminatorInst * | TI, |
| unsigned | SuccNum, | ||
| bool | AllowIdenticalEdges = false |
||
| ) |
Return true if the specified edge is a critical edge.
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 87 of file CFG.cpp.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), I, pred_begin(), and pred_end().
Referenced by DemoteRegToStack(), and SplitCriticalEdge().
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.
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 49 of file Debug.cpp.
References CurrentDebugType.
| bool llvm::isDereferenceablePointer | ( | const Value * | V, |
| const DataLayout & | DL, | ||
| const Instruction * | CtxI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
isDereferenceablePointer - Return true if this is always a dereferenceable pointer.
If the context instruction is specified perform context-sensitive analysis and return true if the pointer is dereferenceable at the specified instruction.
Definition at line 3021 of file ValueTracking.cpp.
References llvm::Type::getPointerElementType(), llvm::Value::getType(), llvm::DataLayout::getTypeStoreSizeInBits(), isDereferenceableFromAttribute(), isDereferenceablePointer(), llvm::Type::isSized(), and llvm::Value::stripAndAccumulateInBoundsConstantOffsets().
Referenced by AllCallersPassInValidPointerForArgument(), isDereferenceablePointer(), isSafePHIToSpeculate(), isSafeSelectToSpeculate(), isSafeToSpeculativelyExecute(), and llvm::InstCombiner::visitCallInst().
isFreeCall - Returns non-null if the value is a call to the builtin free()
Definition at line 300 of file MemoryBuiltins.cpp.
References dyn_cast(), llvm::CallInst::getCalledFunction(), llvm::Function::getContext(), llvm::Function::getFunctionType(), llvm::Type::getInt8PtrTy(), llvm::TargetLibraryInfo::getLibFunc(), llvm::Value::getName(), llvm::FunctionType::getNumParams(), llvm::FunctionType::getParamType(), llvm::FunctionType::getReturnType(), llvm::TargetLibraryInfo::has(), I, and llvm::Type::isVoidTy().
Referenced by GetLocation(), isAllocSiteRemovable(), isFreeCall(), isInstructionTriviallyDead(), and llvm::InstCombiner::visitCallInst().
Definition at line 128 of file MemoryBuiltins.h.
References isFreeCall().
Return true if the specified value is free to invert (apply ~ to).
This happens in cases where the ~ can be eliminated. If WillInvertAllUses is true, work under the assumption that the caller intends to remove all uses of V and only keep uses of ~V.
Definition at line 78 of file InstCombineInternal.h.
References llvm::BinaryOperator::isNot().
Referenced by dyn_castNotVal(), and llvm::InstCombiner::visitXor().
Definition at line 50 of file Statepoint.cpp.
References F().
Referenced by findPreviousSpillSlot(), llvm::GCRelocateOperands::GCRelocateOperands(), llvm::StatepointBase< FunTy, InstructionTy, ValueTy, CallSiteTy >::getRelocates(), isGCRelocate(), isSafeToEliminateVarargsCast(), llvm::SelectionDAGBuilder::LowerStatepoint(), and needsStatepoint().
| bool llvm::isGCRelocate | ( | const ImmutableCallSite & | CS | ) |
Definition at line 42 of file Statepoint.cpp.
References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), and isGCRelocate().
Definition at line 67 of file Statepoint.cpp.
References F().
Referenced by llvm::StatepointBase< Function, Instruction, Value, CallSite >::getGCResult(), isGCResult(), isSafeToEliminateVarargsCast(), makeStatepointExplicitImpl(), and needsStatepoint().
| bool llvm::isGCResult | ( | const ImmutableCallSite & | CS | ) |
Definition at line 59 of file Statepoint.cpp.
References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), and isGCResult().
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 115 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().
isGlobalStubReference - Return true if the specified TargetFlag operand is a reference to a stub for a global, not the global itself.
Definition at line 98 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 llvm::X86TargetLowering::isLegalAddressingMode(), and llvm::X86TargetLowering::LowerAsmOperandForConstraint().
isIdentifiedFunctionLocal - Return true if V is umabigously identified at the function-level.
Different IdentifiedFunctionLocals can't alias. Further, an IdentifiedFunctionLocal can not alias with any function arguments other than itself, which is not necessarily true for IdentifiedObjects.
Definition at line 501 of file AliasAnalysis.cpp.
References isNoAliasArgument(), and isNoAliasCall().
Referenced by AddAliasScopeMetadata().
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 ByVal and NoAlias Arguments NoAlias returns (e.g. calls to malloc)
This returns true for: Global Variables and Functions (but not Global Aliases) Allocas and Mallocs ByVal and NoAlias Arguments NoAlias returns
Definition at line 484 of file AliasAnalysis.cpp.
References llvm::ARM_PROC::A, and isNoAliasCall().
Referenced by llvm::AliasAnalysis::callCapturesBefore(), getUnderlyingObjectsForInstr(), isObjectSmallerThan(), and isUnsafeMemoryObject().
| bool llvm::isImage | ( | const llvm::Value & | val | ) |
Definition at line 224 of file NVPTXUtilities.cpp.
References isImageReadOnly(), isImageReadWrite(), and isImageWriteOnly().
Definition at line 2038 of file NVPTXISelLowering.cpp.
References array_lengthof(), dyn_cast(), llvm::SequentialType::getElementType(), llvm::StructType::getName(), llvm::Value::getType(), and llvm::StructType::isLiteral().
Referenced by llvm::NVPTXTargetLowering::LowerFormalArguments().
| bool llvm::isImageReadOnly | ( | const llvm::Value & | val | ) |
Definition at line 179 of file NVPTXUtilities.cpp.
References findAllNVVMAnnotation(), llvm::GlobalValue::getParent(), PROPERTY_ISREADONLY_IMAGE_PARAM, and PropertyAnnotationNames.
Referenced by isImage().
| bool llvm::isImageReadWrite | ( | const llvm::Value & | val | ) |
Definition at line 209 of file NVPTXUtilities.cpp.
References findAllNVVMAnnotation(), llvm::GlobalValue::getParent(), PROPERTY_ISREADWRITE_IMAGE_PARAM, and PropertyAnnotationNames.
Referenced by isImage().
| bool llvm::isImageWriteOnly | ( | const llvm::Value & | val | ) |
Definition at line 194 of file NVPTXUtilities.cpp.
References findAllNVVMAnnotation(), llvm::GlobalValue::getParent(), PROPERTY_ISWRITEONLY_IMAGE_PARAM, and PropertyAnnotationNames.
Referenced by isImage().
|
inline |
Definition at line 15 of file X86AsmParserCommon.h.
Referenced by convert16i16to16ri8(), and llvm::X86Operand::isImmSExti16i8().
|
inline |
Definition at line 21 of file X86AsmParserCommon.h.
Referenced by convert32i32to32ri8(), and llvm::X86Operand::isImmSExti32i8().
|
inline |
Definition at line 32 of file X86AsmParserCommon.h.
Referenced by llvm::X86Operand::isImmSExti64i32().
|
inline |
Definition at line 27 of file X86AsmParserCommon.h.
Referenced by convert64i32to64ri8(), and llvm::X86Operand::isImmSExti64i8().
|
inline |
Definition at line 37 of file X86AsmParserCommon.h.
Referenced by llvm::X86Operand::isImmUnsignedi8().
Definition at line 252 of file AArch64InstrInfo.h.
References llvm::ISD::BR.
Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch(), and llvm::AArch64InstrInfo::AnalyzeBranch().
Definition at line 421 of file ARMBaseInstrInfo.h.
| bool llvm::isInductionPHI | ( | PHINode * | Phi, |
| ScalarEvolution * | SE, | ||
| ConstantInt *& | StepValue | ||
| ) |
Checks if the given PHINode in a loop header is an induction variable.
Returns true if this is an induction PHI along with the step value.
Definition at line 455 of file LoopUtils.cpp.
References dbgs(), DEBUG, DL, dyn_cast(), llvm::Module::getDataLayout(), llvm::Instruction::getModule(), llvm::Type::getPointerElementType(), llvm::ScalarEvolution::getSCEV(), llvm::ConstantInt::getSExtValue(), llvm::ConstantInt::getSigned(), llvm::SCEVAddRecExpr::getStepRecurrence(), llvm::ConstantInt::getType(), llvm::Value::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::SCEVConstant::getValue(), llvm::Type::isIntegerTy(), and llvm::Type::isPointerTy().
| bool llvm::isInstructionTriviallyDead | ( | Instruction * | I, |
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
isInstructionTriviallyDead - Return true if the result produced by the instruction is not used, and the instruction has no side effects.
Definition at line 282 of file Local.cpp.
References llvm::CallingConv::C, I, isAllocLikeFn(), isFreeCall(), llvm::Instruction::mayHaveSideEffects(), and llvm::Value::use_empty().
Referenced by AddReachableCodeToWorklist(), DeleteDeadInstruction(), DeleteTriviallyDeadInstructions(), RecursivelyDeleteTriviallyDeadInstructions(), llvm::InstCombiner::run(), llvm::Inliner::runOnSCC(), sinkRegion(), and UnrollLoop().
|
inline |
isInt - Checks if an integer fits into the given bit width.
Definition at line 263 of file MathExtras.h.
References N.
|
inline |
Definition at line 272 of file MathExtras.h.
Referenced by llvm::PPCFrameLowering::addScavengingSpillSlot(), llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::Mips16InstrInfo::adjustStackPtr(), llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::PPCFrameLowering::emitEpilogue(), emitIncrement(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::SystemZTTIImpl::getIntImmCost(), llvm::PPCTTIImpl::getIntImmCost(), llvm::SystemZTargetLowering::getSingleConstraintMatchWeight(), llvm::MipsSEFrameLowering::hasReservedCallFrame(), llvm::PPCRegisterInfo::isFrameOffsetLegal(), llvm::PPCTargetLowering::isLegalAddImmediate(), llvm::PPCTargetLowering::isLegalICmpImmediate(), isPositiveHalfWord(), llvm::SystemZInstrInfo::loadImmediate(), llvm::SystemZTargetLowering::LowerAsmOperandForConstraint(), llvm::PPCTargetLowering::LowerAsmOperandForConstraint(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::Mips16InstrInfo::makeFrame(), Mips16WhichOp8uOr16simm(), llvm::Mips16InstrInfo::restoreFrame(), SelectInt64CountDirect(), SelectInt64Direct(), shouldSwapCmpOperands(), shouldUseLA(), tryBuildVectorReplicate(), and llvm::Mips16InstrInfo::validImmediate().
|
inline |
Definition at line 276 of file MathExtras.h.
Referenced by llvm::BPFRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::PPCFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::SystemZTTIImpl::getIntImmCost(), llvm::PPCTTIImpl::getIntImmCost(), llvm::X86TTIImpl::getIntImmCost(), llvm::StatepointBase< Function, Instruction, Value, CallSite >::getNumPatchBytes(), llvm::X86TargetLowering::isLegalAddImmediate(), llvm::SystemZTargetLowering::isLegalICmpImmediate(), llvm::X86TargetLowering::isLegalICmpImmediate(), llvm::X86::isOffsetSuitableForCodeModel(), llvm::SystemZInstrInfo::loadImmediate(), SelectInt64CountDirect(), SelectInt64Direct(), and X86ChooseCmpImmediateOpcode().
|
inline |
Definition at line 268 of file MathExtras.h.
Referenced by llvm::SystemZInstrInfo::foldMemoryOperandImpl(), getADDriOpcode(), getANDriOpcode(), llvm::SystemZInstrInfo::getCompareAndBranch(), getSUBriOpcode(), isImmValidForOpcode(), llvm::HexagonInstrInfo::isPredicable(), llvm::X86TargetLowering::LowerAsmOperandForConstraint(), llvm::HexagonTargetLowering::LowerBUILD_VECTOR(), switch(), and X86ChooseCmpImmediateOpcode().
| bool llvm::isInTailCallPosition | ( | ImmutableCallSite | CS, |
| const TargetMachine & | TM | ||
| ) |
Test if the given instruction is in a position to be optimized with a tail-call.
This roughly means that it's in a block with a return and there's nothing that needs to be scheduled between it and the return.
This function only tests target-independent requirements.
Definition at line 489 of file CodeGen/Analysis.cpp.
References dyn_cast(), llvm::BasicBlock::end(), F(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::TargetMachine::getSubtargetImpl(), llvm::TargetSubtargetInfo::getTargetLowering(), llvm::BasicBlock::getTerminator(), llvm::TargetOptions::GuaranteedTailCallOpt, I, isSafeToSpeculativelyExecute(), llvm::Instruction::mayHaveSideEffects(), llvm::Instruction::mayReadFromMemory(), llvm::TargetMachine::Options, llvm::MipsISD::Ret, and returnTypeIsEligibleForTailCall().
Referenced by llvm::FastISel::lowerCall(), and llvm::SelectionDAGBuilder::LowerCallTo().
isIntN - Checks if an signed integer fits into the given (dynamic) bit width.
Definition at line 321 of file MathExtras.h.
Referenced by adjustFixupValue(), llvm::MCStreamer::EmitIntValue(), isExtendedBUILD_VECTOR(), and llvm::TargetLowering::SimplifyDemandedBits().
Definition at line 415 of file ARMBaseInstrInfo.h.
Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch().
| bool llvm::isKernelFunction | ( | const llvm::Function & | F | ) |
Definition at line 292 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), llvm::Function::getCallingConv(), PROPERTY_ISKERNEL_FUNCTION, PropertyAnnotationNames, and llvm::CallingConv::PTX_Kernel.
Referenced by llvm::NVPTXTTIImpl::isSourceOfDivergence(), and llvm::NVPTXTargetLowering::LowerFormalArguments().
| bool llvm::isKnownNonNull | ( | const Value * | V, |
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
isKnownNonNull - Return true if this pointer couldn't possibly be null by its definition.
Return true if we know that the specified value is never null.
This returns true for allocas, non-extern-weak globals and byval arguments.
Definition at line 3159 of file ValueTracking.cpp.
References llvm::ARM_PROC::A, CS, isOperatorNewLikeFn(), and llvm::LLVMContext::MD_nonnull.
Referenced by computePointerICmp(), isKnownNonNullAt(), isKnownNonZero(), and llvm::InstCombiner::visitCallInst().
| bool llvm::isKnownNonNullAt | ( | const Value * | V, |
| const Instruction * | CtxI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
isKnownNonNullAt - Return true if this pointer couldn't possibly be null.
If the context instruction is specified perform context-sensitive analysis and return true if the pointer couldn't possibly be null at the specified instruction.
Definition at line 3232 of file ValueTracking.cpp.
References isKnownNonNull(), and isKnownNonNullFromDominatingCondition().
Referenced by isDereferenceableFromAttribute().
| bool llvm::isKnownNonZero | ( | Value * | V, |
| const DataLayout & | DL, | ||
| unsigned | Depth = 0, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr, |
||
| const DominatorTree * | DT = nullptr |
||
| ) |
isKnownNonZero - Return true if the given value is known to be non-zero when defined.
For vectors return true if every element is known to be non-zero when defined. Supports values with integer or pointer type and vectors of integers.
Definition at line 182 of file ValueTracking.cpp.
References isKnownNonZero(), and safeCxtI().
Referenced by computeKnownBitsMul(), isGEPKnownNonNull(), isKnownNonZero(), and SimplifyICmpInst().
| bool llvm::isKnownToBeAPowerOfTwo | ( | Value * | V, |
| const DataLayout & | DL, | ||
| bool | OrZero = false, |
||
| unsigned | Depth = 0, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr, |
||
| const DominatorTree * | DT = nullptr |
||
| ) |
isKnownToBeAPowerOfTwo - 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.
Definition at line 171 of file ValueTracking.cpp.
References isKnownToBeAPowerOfTwo(), and safeCxtI().
Referenced by computeKnownBitsFromAssume(), computeKnownBitsFromTrueCondition(), llvm::InstCombiner::FoldOrOfICmps(), isKnownNonZero(), isKnownToBeAPowerOfTwo(), SimplifyAndInst(), simplifyValueKnownNonZero(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitSDiv(), and llvm::InstCombiner::visitURem().
Definition at line 135 of file X86InstrInfo.h.
References llvm::X86::AddrBaseReg, llvm::X86::AddrDisp, llvm::X86::AddrIndexReg, llvm::X86::AddrScaleAmt, llvm::X86::AddrSegmentReg, llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isCPI(), llvm::MachineOperand::isFI(), llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isJTI(), llvm::MachineOperand::isReg(), and isScale().
Referenced by isMem().
| bool llvm::isMallocLikeFn | ( | const Value * | V, |
| const TargetLibraryInfo * | TLI, | ||
| bool | LookThroughBitCast = false |
||
| ) |
Tests if a value is a call or invoke to a library function that allocates uninitialized memory (such as malloc).
Definition at line 168 of file MemoryBuiltins.cpp.
References getAllocationData(), and MallocLike.
Referenced by extractMallocCall(), getMallocArraySize(), getMallocType(), and llvm::MemoryDependenceAnalysis::getPointerDependencyFrom().
| bool llvm::isManaged | ( | const llvm::Value & | val | ) |
Definition at line 229 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_MANAGED, and PropertyAnnotationNames.
|
inline |
isMask_32 - This function returns true if the argument is a non-empty sequence of ones starting at the least significant bit with the remainder zero (32 bit version).
Ex. isMask_32(0x0000FFFFU) == true.
Definition at line 328 of file MathExtras.h.
Referenced by isImmMskBitp(), and isShiftedMask_32().
|
inline |
isMask_64 - This function returns true if the argument is a non-empty sequence of ones starting at the least significant bit with the remainder zero (64 bit version).
Definition at line 335 of file MathExtras.h.
Referenced by llvm::AArch64TargetLowering::isDesirableToCommuteWithShift(), isEndChunk(), isSeveralBitsExtractOpFromShr(), isShiftedMask_64(), isStartChunk(), and PerformAndCombine().
Definition at line 147 of file X86InstrInfo.h.
References llvm::X86::AddrNumOperands, llvm::X86::AddrSegmentReg, llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isFI(), isLeaMem(), and llvm::MachineOperand::isReg().
Referenced by printMemReference().
| bool llvm::isMemorySpaceTransferIntrinsic | ( | Intrinsic::ID | id | ) |
Definition at line 349 of file NVPTXUtilities.cpp.
Referenced by skipPointerTransfer().
|
inline |
Returns true if this is an MSVC personality function.
Definition at line 196 of file LibCallSemantics.h.
References llvm_unreachable, MSVC_CXX, MSVC_Win64SEH, and MSVC_X86SEH.
Referenced by llvm::WinException::endFunction(), and llvm::FunctionLoweringInfo::set().
isNoAliasArgument - Return true if this is an argument with the noalias attribute.
Definition at line 470 of file AliasAnalysis.cpp.
References llvm::ARM_PROC::A.
Referenced by isIdentifiedFunctionLocal().
isNoAliasCall - Return true if this pointer is returned by a noalias function.
Definition at line 461 of file AliasAnalysis.cpp.
References llvm::Attribute::NoAlias, and llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::paramHasAttr().
Referenced by computePointerICmp(), isIdentifiedFunctionLocal(), isIdentifiedObject(), isNonEscapingLocalObject(), and PointerMayBeCaptured().
| bool llvm::isNoAliasFn | ( | const Value * | V, |
| const TargetLibraryInfo * | TLI, | ||
| bool | LookThroughBitCast = false |
||
| ) |
Tests if a value is a call or invoke to a function that returns a NoAlias pointer (including malloc/calloc/realloc/strdup-like functions).
Definition at line 158 of file MemoryBuiltins.cpp.
References hasNoAliasAttr(), and isAllocationFn().
Referenced by llvm::MemoryDependenceAnalysis::getPointerDependencyFrom().
|
inline |
Return true if this personality may be safely removed if there are no invoke instructions remaining in the current function.
Definition at line 211 of file LibCallSemantics.h.
References llvm_unreachable, and Unknown.
Referenced by llvm::DwarfCFIException::beginFunction(), llvm::WinException::beginFunction(), and llvm::ARMException::endFunction().
| bool llvm::isOperatorNewLikeFn | ( | const Value * | V, |
| const TargetLibraryInfo * | TLI, | ||
| bool | LookThroughBitCast = false |
||
| ) |
Tests if a value is a call or invoke to a library function that allocates memory and never returns null (such as operator new).
Definition at line 196 of file MemoryBuiltins.cpp.
References getAllocationData(), and OpNewLike.
Referenced by isKnownNonNull().
Definition at line 425 of file ARMBaseInstrInfo.h.
Referenced by isCSRestore(), and tryFoldSPUpdateIntoPushPop().
Definition at line 2457 of file HexagonISelLowering.cpp.
References dyn_cast(), llvm::SDNode::getOpcode(), llvm::ConstantSDNode::getSExtValue(), isInt< 16 >(), N, and llvm::ISD::SIGN_EXTEND_INREG.
| bool llvm::isPotentiallyReachable | ( | const Instruction * | From, |
| const Instruction * | To, | ||
| const DominatorTree * | DT = nullptr, |
||
| const LoopInfo * | LI = nullptr |
||
| ) |
Determine whether instruction 'To' is reachable from 'From', returning true if uncertain.
Determine whether there is a path from From to To within a single function. Returns false only if we can prove that once 'From' has been executed then 'To' can not be executed. Conservatively returns true.
This function is linear with respect to the number of blocks in the CFG, walking down successors from From to reach To, with a fixed threshold. Using DT or LI allows us to answer more quickly. LI reduces the cost of an entire loop of any number of blocsk to be the same as the cost of a single block. DT reduces the cost by allowing the search to terminate when we find a block that dominates the block containing 'To'. DT is most useful on branchy code but not loops, and LI is most useful on code with loops but does not help on branchy code outside loops.
Definition at line 185 of file CFG.cpp.
References llvm::BasicBlock::end(), llvm::Function::getEntryBlock(), llvm::LoopInfoBase< N, M >::getLoopFor(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), I, isPotentiallyReachableFromMany(), succ_begin(), and succ_end().
Referenced by InsertSafepointPoll().
| bool llvm::isPotentiallyReachable | ( | const BasicBlock * | From, |
| const BasicBlock * | To, | ||
| const DominatorTree * | DT = nullptr, |
||
| const LoopInfo * | LI = nullptr |
||
| ) |
Determine whether block 'To' is reachable from 'From', returning true if uncertain.
Determine whether there is a path from From to To within a single function. Returns false only if we can prove that once 'From' has been reached then 'To' can not be executed. Conservatively returns true.
Definition at line 173 of file CFG.cpp.
References llvm::BasicBlock::getParent(), isPotentiallyReachableFromMany(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
| bool llvm::isPotentiallyReachableFromMany | ( | SmallVectorImpl< BasicBlock * > & | Worklist, |
| BasicBlock * | StopBB, | ||
| const DominatorTree * | DT = nullptr, |
||
| const LoopInfo * | LI = nullptr |
||
| ) |
Determine whether there is at least one path from a block in 'Worklist' to 'StopBB', returning true if uncertain.
Determine whether there is a path from at least one block in Worklist to StopBB within a single function. Returns false only if we can prove that once any block in 'Worklist' has been reached then 'StopBB' can not be executed. Conservatively returns true.
Definition at line 129 of file CFG.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::DominatorTree::dominates(), llvm::SmallVectorBase::empty(), getOutermostLoop(), llvm::SmallSet< T, N, C >::insert(), llvm::DominatorTree::isReachableFromEntry(), loopContainsBoth(), llvm::SmallVectorImpl< T >::pop_back_val(), succ_begin(), and succ_end().
Referenced by isPotentiallyReachable().
|
inline |
isPowerOf2_32 - This function returns true if the argument is a power of two > 0.
Ex. isPowerOf2_32(0x00100000U) == true (32 bit edition.)
Definition at line 354 of file MathExtras.h.
Referenced by llvm::AttrBuilder::addAlignmentAttr(), llvm::AttrBuilder::addStackAlignmentAttr(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), canLowerByDroppingEvenElements(), CollectBSwapParts(), decodeLLVMAttributesForBitcode(), llvm::PPCFrameLowering::emitPrologue(), FindMemType(), GetLoadValueForLoad(), llvm::X86TTIImpl::getMaskedMemoryOpCost(), llvm::X86TTIImpl::getMemoryOpCost(), llvm::SystemZTTIImpl::getPopcntSupport(), llvm::AMDGPUTTIImpl::getPopcntSupport(), llvm::X86TTIImpl::getPopcntSupport(), llvm::WebAssemblyTTIImpl::getPopcntSupport(), llvm::PPCTTIImpl::getPopcntSupport(), llvm::AArch64TTIImpl::getPopcntSupport(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), getVectorTypeBreakdownMVT(), llvm::Attribute::getWithAlignment(), llvm::Attribute::getWithStackAlignment(), llvm::ARMTargetLowering::isLegalAddressingMode(), llvm::ARMTargetLowering::isLegalT2ScaledAddressingMode(), llvm::IntegerType::isPowerOf2ByteWidth(), isReInterleaveMask(), isSafeToLoadUnconditionally(), LowerCONCAT_VECTORSvXi1(), LowerExtendedLoad(), matchPairwiseReduction(), matchVectorSplittingReduction(), PerformMLOADCombine(), PerformMSTORECombine(), PerformMULCombine(), PerformSTORECombine(), llvm::MCSymbol::setCommon(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(), UnrollRuntimeLoopProlog(), llvm::InstCombiner::visitLShr(), llvm::MachObjectWriter::writeSection(), and llvm::X86TargetLowering::X86TargetLowering().
|
inline |
isPowerOf2_64 - This function returns true if the argument is a power of two
0 (64 bit edition.)
Definition at line 360 of file MathExtras.h.
Referenced by alignAddr(), llvm::FastISel::fastEmit_ri_(), genConstMult(), getNewAlignmentDiff(), isConstVecPow2(), llvm::AArch64TargetLowering::isLegalAddressingMode(), llvm::APInt::isPowerOf2(), llvm::PPCTargetLowering::LowerAsmOperandForConstraint(), matchRotateSub(), PerformMulCombine(), and llvm::FastISel::selectBinaryOp().
Definition at line 431 of file ARMBaseInstrInfo.h.
Referenced by tryFoldSPUpdateIntoPushPop().
isRawBitcode - Return true if the given bytes are the magic bytes for raw LLVM IR bitcode (without a wrapper).
Definition at line 89 of file ReaderWriter.h.
Referenced by isBitcode().
|
static |
Definition at line 276 of file RuntimeDyld.cpp.
References llvm::object::ELFSectionRef::getFlags(), llvm::object::SectionRef::getObject(), llvm::COFF::IMAGE_SCN_CNT_INITIALIZED_DATA, llvm::COFF::IMAGE_SCN_MEM_READ, llvm::COFF::IMAGE_SCN_MEM_WRITE, llvm::ELF::SHF_EXECINSTR, and llvm::ELF::SHF_WRITE.
Referenced by llvm::RuntimeDyldImpl::computeTotalAllocSize(), and llvm::RuntimeDyldImpl::emitSection().
| bool llvm::isReallocLikeFn | ( | const Value * | V, |
| const TargetLibraryInfo * | TLI, | ||
| bool | LookThroughBitCast = false |
||
| ) |
Tests if a value is a call or invoke to a library function that reallocates memory (such as realloc).
Definition at line 189 of file MemoryBuiltins.cpp.
References getAllocationData(), and ReallocLike.
|
static |
Definition at line 254 of file RuntimeDyld.cpp.
References llvm::object::coff_section::Characteristics, llvm::object::ELFSectionRef::getFlags(), llvm::object::SectionRef::getObject(), llvm::COFF::IMAGE_SCN_LNK_INFO, llvm::COFF::IMAGE_SCN_MEM_DISCARDABLE, llvm::ELF::SHF_ALLOC, llvm::object::coff_section::SizeOfRawData, and llvm::object::coff_section::VirtualSize.
Referenced by llvm::RuntimeDyldImpl::computeTotalAllocSize(), and llvm::RuntimeDyldImpl::emitSection().
Returns true iff Val consists of one contiguous run of 1s with any number of 0s on either side.
The 1s are allowed to wrap from LSB to MSB, so 0x000FFF0, 0x0000FFFF, and 0xFF0000FF are all runs. 0x0F0F0000 is not, since all 1s are not contiguous.
Definition at line 60 of file PPCMCTargetDesc.h.
References countLeadingZeros(), and isShiftedMask_32().
It is safe to destroy a constant iff it is only used by constants itself.
Note that constants cannot be cyclic, so this test is pretty easy to implement recursively.
Definition at line 34 of file GlobalStatus.cpp.
References llvm::Value::users().
Referenced by analyzeGlobalAux(), CleanupConstantGlobalUsers(), CleanupPointerRootUsers(), and isSafeSROAElementUse().
| bool llvm::isSafeToExpand | ( | const SCEV * | S, |
| ScalarEvolution & | SE | ||
| ) |
Return true if the given expression is safe to expand in the sense that all materialized values are safe to speculate.
Definition at line 1946 of file ScalarEvolutionExpander.cpp.
References visitAll().
| bool llvm::isSafeToLoadUnconditionally | ( | Value * | V, |
| Instruction * | ScanFrom, | ||
| unsigned | Align | ||
| ) |
isSafeToLoadUnconditionally - Return true if we know that executing a load from this value cannot trap.
Check if executing a load of this pointer 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.
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.
This uses the pointee type to determine how many bytes need to be safe to load from the pointer.
Definition at line 65 of file Loads.cpp.
References Align(), AreEquivalentAddressValues(), llvm::BasicBlock::begin(), DL, llvm::DataLayout::getABITypeAlignment(), llvm::Module::getDataLayout(), llvm::SequentialType::getElementType(), llvm::Instruction::getModule(), llvm::Instruction::getParent(), GetPointerBaseWithConstantOffset(), llvm::Type::getPointerElementType(), llvm::DataLayout::getPrefTypeAlignment(), llvm::Value::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::DataLayout::getTypeStoreSize(), isPowerOf2_32(), llvm::Type::isSized(), SI, and llvm::Value::stripPointerCasts().
Referenced by isSafePHIToSpeculate(), isSafeSelectToSpeculate(), and llvm::InstCombiner::visitLoadInst().
| bool llvm::isSafeToSpeculativelyExecute | ( | const Value * | V, |
| const Instruction * | CtxI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
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.
If the CtxI is specified this method performs context-sensitive analysis and returns true if it is safe to execute the instruction immediately before the CtxI.
If the CtxI is NOT specified 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.
This method can return true for instructions that read memory; for such instructions, moving them may change the resulting value.
Definition at line 3045 of file ValueTracking.cpp.
References Call, DL, dyn_cast(), llvm::Module::getDataLayout(), llvm::Instruction::getModule(), llvm::User::getNumOperands(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::LoadInst::getPointerOperand(), llvm::Function::hasFnAttribute(), isDereferenceablePointer(), llvm::APInt::isMinSignedValue(), llvm::LoadInst::isUnordered(), llvm::SPII::Load, llvm::PatternMatch::m_APInt(), llvm::PatternMatch::match(), maxnum(), minnum(), llvm::TargetOpcode::PHI, llvm::MipsISD::Ret, llvm::Attribute::SanitizeThread, and llvm::SPII::Store.
Referenced by llvm::IVUsers::AddUsersImpl(), CanPHITrans(), completeEphemeralValues(), ComputeSpeculationCost(), DominatesMergePoint(), FoldBranchToCommonDest(), HoistThenElseCodeToIf(), InstructionWillNotHaveChain(), isEphemeralValueOf(), isInTailCallPosition(), isSafeToExecuteUnconditionally(), isValidAssumeForContext(), llvm::Loop::makeLoopInvariant(), shouldSpeculateInstrs(), and SpeculativelyExecuteBB().
| bool llvm::isSampler | ( | const llvm::Value & | val | ) |
Definition at line 156 of file NVPTXUtilities.cpp.
References findAllNVVMAnnotation(), findOneNVVMAnnotation(), llvm::GlobalValue::getParent(), PROPERTY_ISSAMPLER, and PropertyAnnotationNames.
Referenced by INITIALIZE_PASS().
Definition at line 129 of file X86InstrInfo.h.
References llvm::MachineOperand::getImm(), and llvm::MachineOperand::isImm().
Referenced by isLeaMem().
|
inline |
isShiftedInt<N,S> - Checks if a signed integer is an N bit number shifted left by S.
Definition at line 283 of file MathExtras.h.
|
inline |
isShiftedMask_32 - This function returns true if the argument contains a non-empty sequence of ones with the remainder zero (32 bit version.) Ex.
isShiftedMask_32(0x0000FF00U) == true.
Definition at line 342 of file MathExtras.h.
References isMask_32().
Referenced by llvm::PPCTTIImpl::getIntImmCost(), llvm::ARM::isBitFieldInvertedMask(), and isRunOfOnes().
|
inline |
isShiftedMask_64 - This function returns true if the argument contains a non-empty sequence of ones with the remainder zero (64 bit version.)
Definition at line 348 of file MathExtras.h.
References isMask_64().
Referenced by llvm::PPCTTIImpl::getIntImmCost(), isBitfieldPositioningOp(), isShiftedMask(), and llvm::AArch64_AM::processLogicalImmediate().
|
inline |
isShiftedUInt<N,S> - Checks if a unsigned integer is an N bit number shifted left by S.
Definition at line 309 of file MathExtras.h.
| bool llvm::isStatepoint | ( | const ImmutableCallSite & | CS | ) |
Definition at line 22 of file Statepoint.cpp.
References F(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), and llvm::Function::getIntrinsicID().
Referenced by llvm::GCRelocateOperands::getStatepoint(), insertParsePoints(), isSafeToEliminateVarargsCast(), isStatepoint(), makeStatepointExplicitImpl(), needsStatepoint(), and llvm::StatepointBase< Function, Instruction, Value, CallSite >::StatepointBase().
Definition at line 31 of file Statepoint.cpp.
References CS, and isStatepoint().
Definition at line 38 of file Statepoint.cpp.
References isStatepoint().
| int llvm::isStridedPtr | ( | ScalarEvolution * | SE, |
| Value * | Ptr, | ||
| const Loop * | Lp, | ||
| const ValueToValueMap & | StridesMap | ||
| ) |
Check the stride of the pointer and ensure that it does not wrap in the address space.
Check whether the access through Ptr has a constant stride.
Definition at line 778 of file LoopAccessAnalysis.cpp.
References C, dbgs(), DEBUG, DL, dyn_cast(), llvm::APInt::getBitWidth(), llvm::LoopBase< N, M >::getHeader(), llvm::SCEVAddRecExpr::getLoop(), llvm::APInt::getSExtValue(), llvm::SCEVAddRecExpr::getStepRecurrence(), llvm::Value::getType(), llvm::SCEVConstant::getValue(), llvm::ConstantInt::getValue(), isInBoundsGep(), isNoWrapAddRec(), llvm::Type::isPointerTy(), and replaceSymbolicStrideSCEV().
| bool llvm::isSurface | ( | const llvm::Value & | val | ) |
Definition at line 143 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_ISSURFACE, and PropertyAnnotationNames.
Referenced by INITIALIZE_PASS().
| bool llvm::isTexture | ( | const llvm::Value & | val | ) |
Definition at line 130 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_ISTEXTURE, and PropertyAnnotationNames.
Referenced by INITIALIZE_PASS().
| bool llvm::isTriviallyVectorizable | ( | Intrinsic::ID | ID | ) |
Identify if the intrinsic is trivially vectorizable.
This method returns true if the intrinsic's argument types are all scalars for the scalar form of the intrinsic and all vectors for the vector form of the intrinsic.
Definition at line 26 of file VectorUtils.cpp.
References maxnum(), and minnum().
Referenced by getIntrinsicIDForCall().
|
inline |
isUInt - Checks if an unsigned integer fits into the given bit width.
Definition at line 289 of file MathExtras.h.
References N.
|
inline |
Definition at line 298 of file MathExtras.h.
Referenced by canFoldOffset(), llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc(), llvm::PPCTTIImpl::getIntImmCost(), llvm::PPCTargetLowering::isLegalAddImmediate(), llvm::SITargetLowering::isLegalAddressingMode(), llvm::PPCTargetLowering::isLegalICmpImmediate(), llvm::PPCTargetLowering::LowerAsmOperandForConstraint(), shouldSwapCmpOperands(), and writeComdats().
|
inline |
Definition at line 302 of file MathExtras.h.
Referenced by llvm::SITargetLowering::analyzeImmediate(), llvm::X86FrameLowering::emitPrologue(), llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc(), foldImmediates(), llvm::SystemZTTIImpl::getIntImmCost(), llvm::SystemZTargetLowering::isLegalAddImmediate(), and llvm::SystemZTargetLowering::isLegalICmpImmediate().
|
inline |
Definition at line 294 of file MathExtras.h.
Referenced by canFoldOffset(), llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc(), llvm::SystemZInstrInfo::getCompareAndBranch(), llvm::SystemZTargetLowering::getSingleConstraintMatchWeight(), isImmValidForOpcode(), llvm::SystemZTargetLowering::LowerAsmOperandForConstraint(), Mips16WhichOp8uOr16simm(), and llvm::SIInstrInfo::splitSMRD().
isUIntN - Checks if an unsigned integer fits into the given (dynamic) bit width.
Definition at line 315 of file MathExtras.h.
References N.
Referenced by llvm::MCStreamer::EmitIntValue(), llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc(), isExtendedBUILD_VECTOR(), and llvm::SelectionDAGBuilder::visitBitTestHeader().
Definition at line 233 of file AArch64InstrInfo.h.
Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch(), llvm::AArch64InstrInfo::AnalyzeBranch(), llvm::ARMBaseInstrInfo::PredicateInstruction(), llvm::ARMBaseInstrInfo::RemoveBranch(), and llvm::AArch64InstrInfo::RemoveBranch().
Definition at line 405 of file ARMBaseInstrInfo.h.
|
inline |
Definition at line 25 of file ARMFeatures.h.
References IsCPSRDead().
Referenced by llvm::ARMBaseInstrInfo::isPredicable().
| bool llvm::isValidAssumeForContext | ( | const Instruction * | I, |
| const Instruction * | CxtI, | ||
| const DominatorTree * | DT = nullptr |
||
| ) |
Return true if it is valid to use the assumptions provided by an assume intrinsic, I, at the point in the control-flow identified by the context instruction, CxtI.
Definition at line 483 of file ValueTracking.cpp.
References isValidAssumeForContext().
Referenced by computeKnownBitsFromAssume(), and llvm::InstCombiner::visitCallInst().
Definition at line 48 of file MCLinkerOptimizationHint.h.
References MCLOH_AdrpAdrp, and MCLOH_AdrpLdrGot.
Referenced by llvm::MCLOHDirective::MCLOHDirective(), and llvm::AArch64FunctionInfo::MILOHDirective::MILOHDirective().
|
static |
Definition at line 294 of file RuntimeDyld.cpp.
References llvm::object::SectionRef::getObject(), llvm::object::ELFSectionRef::getType(), llvm::COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA, llvm::MachO::S_GB_ZEROFILL, llvm::MachO::S_ZEROFILL, and llvm::ELF::SHT_NOBITS.
Referenced by llvm::RuntimeDyldImpl::emitSection().
|
inlinestatic |
Definition at line 109 of file StringExtras.h.
References utostr().
Referenced by llvm::IntInit::getAsString(), llvm::DOTGraphTraits< SelectionDAG * >::getEdgeSourceLabel(), and llvm::AArch64InstPrinter::printTypedVectorList().
|
static |
Definition at line 140 of file RTDyldMemoryManager.cpp.
Referenced by llvm::RTDyldMemoryManager::getSymbolAddressInProcess().
|
inline |
Joins the strings in the range [Begin, End), adding Separator between the elements.
Definition at line 205 of file StringExtras.h.
References join_impl().
Referenced by llvm::SubtargetFeatures::getString().
|
inline |
Definition at line 169 of file StringExtras.h.
Referenced by join().
|
inline |
Definition at line 184 of file StringExtras.h.
References I, and llvm::StringRef::size().
|
inline |
| StringRef llvm::lexMIToken | ( | StringRef | Source, |
| MIToken & | Token, | ||
| function_ref< void(StringRef::iterator, const Twine &)> | ErrorCallback | ||
| ) |
Consume a single machine instruction token in the given source and return the remaining source string.
| int llvm::libDriverMain | ( | llvm::ArrayRef< const char * > | ARgs | ) |
Definition at line 102 of file LibDriver.cpp.
References llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), errs(), llvm::cl::ExpandResponseFiles(), llvm::sys::path::filename(), llvm::opt::ArgList::filtered(), llvm::opt::ArgList::filtered_begin(), llvm::opt::ArgList::filtered_end(), findInputFile(), llvm::opt::InputArgList::getArgString(), getOutputPath(), getSearchPaths(), llvm::Optional< T >::hasValue(), llvm::object::Archive::K_GNU, llvm::StringSaver::save(), llvm::ArrayRef< T >::slice(), llvm::cl::TokenizeWindowsCommandLine(), and writeArchive().
| void llvm::linkCoreCLRGC | ( | ) |
FIXME: Collector instances are not useful on their own.
These no longer serve any purpose except to link in the plugins. Creates a CoreCLR-compatible garbage collector.
Definition at line 53 of file CoreCLRGC.cpp.
| void llvm::linkErlangGC | ( | ) |
Creates an erlang-compatible garbage collector.
Definition at line 39 of file ErlangGC.cpp.
| void llvm::linkErlangGCPrinter | ( | ) |
Creates an erlang-compatible metadata printer.
Definition at line 46 of file ErlangGCPrinter.cpp.
| void llvm::linkOcamlGC | ( | ) |
Creates an ocaml-compatible garbage collector.
Definition at line 31 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 50 of file ShadowStackGC.cpp.
| void llvm::linkStatepointExampleGC | ( | ) |
Definition at line 54 of file StatepointExampleGC.cpp.
lintFunction - Check a function for errors, printing messages on stderr.
| F | The function to be checked |
Definition at line 894 of file Lint.cpp.
References llvm::GlobalValue::getParent(), and llvm::GlobalValue::isDeclaration().
Check a module.
lintModule - Check a module for errors, printing messages on stderr.
This should only be used for debugging, because it plays games with PassManagers and stuff.
| M | The module to be checked |
Definition at line 906 of file Lint.cpp.
References llvm::legacy::PassManager::add(), and llvm::legacy::PassManager::run().
| 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 and waits for thread completion.
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.
| 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 44 of file Threading.cpp.
References error(), and ExecuteOnThread_Dispatch().
Referenced by llvm::CrashRecoveryContext::RunSafelyOnThread().
| bool llvm::llvm_is_multithreaded | ( | ) |
Returns true if LLVM is compiled with support for multi-threading, and false otherwise.
Definition at line 23 of file Threading.cpp.
Referenced by LLVMIsMultithreaded(), llvm::sys::SmartMutex< false >::lock(), llvm::sys::SmartRWMutex< true >::lock(), llvm::sys::SmartRWMutex< true >::lock_shared(), llvm::ManagedStatic< C >::operator*(), llvm::ManagedStatic< C >::operator->(), llvm::ManagedStaticBase::RegisterManagedStatic(), llvm::sys::SmartMutex< false >::try_lock(), llvm::sys::SmartMutex< false >::unlock(), llvm::sys::SmartRWMutex< true >::unlock(), and llvm::sys::SmartRWMutex< true >::unlock_shared().
| void llvm::llvm_shutdown | ( | ) |
llvm_shutdown - Deallocate and destroy all ManagedStatic variables.
Definition at line 85 of file ManagedStatic.cpp.
References llvm::ManagedStaticBase::destroy(), getManagedStaticMutex(), Lock, and StaticList.
Referenced by LLVMShutdown(), and llvm::llvm_shutdown_obj::~llvm_shutdown_obj().
| void llvm::llvm_unreachable_internal | ( | const char * | msg = nullptr, |
| const char * | file = nullptr, |
||
| unsigned | line = 0 |
||
| ) |
This function calls abort(), and prints the optional message to stderr.
Use the llvm_unreachable macro (that adds location info), instead of calling this function directly.
Definition at line 106 of file ErrorHandling.cpp.
References dbgs().
|
inlinestatic |
Definition at line 121 of file Sparc.h.
Referenced by LOX10(), and replaceFI().
|
inline |
Lo_32 - This function returns the low 32 bits of a 64 bit value.
Definition at line 251 of file MathExtras.h.
| PDB_ErrorCode llvm::loadDataForEXE | ( | PDB_ReaderType | Type, |
| StringRef | Path, | ||
| std::unique_ptr< IPDBSession > & | Session | ||
| ) |
Definition at line 32 of file PDB.cpp.
References llvm::DIASession::createFromExe(), and NoPdbImpl.
| PDB_ErrorCode llvm::loadDataForPDB | ( | PDB_ReaderType | Type, |
| StringRef | Path, | ||
| std::unique_ptr< IPDBSession > & | Session | ||
| ) |
Definition at line 23 of file PDB.cpp.
References llvm::DIASession::createFromPdb(), and NoPdbImpl.
|
static |
|
inline |
Log2 - This function returns the log base 2 of the specified value.
Definition at line 457 of file MathExtras.h.
Referenced by ConstantFoldScalarCall(), performANDCombine(), llvm::TargetLowering::SimplifyDemandedBits(), and llvm::InstCombiner::visitFMul().
|
inline |
Log2_32 - This function returns the floor log base 2 of the specified value, -1 if the value is zero.
(32 bit edition.) Ex. Log2_32(32) == 5, Log2_32(1) == 0, Log2_32(0) == -1, Log2_32(6) == 2
Definition at line 468 of file MathExtras.h.
References countLeadingZeros().
Referenced by llvm::SelectionDAG::computeKnownBits(), computeKnownBitsFromOperator(), ConstantFoldBinaryInstruction(), llvm::AsmPrinter::EmitConstantPool(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::PPCFrameLowering::emitPrologue(), llvm::HexagonEvaluator::evaluate(), ExpandPowI(), getARMFixupKindMachOInfo(), getCopyFromParts(), getCopyToParts(), llvm::MCSymbolMachO::getEncodedFlags(), getGVAlignmentLog2(), llvm::DataLayout::getPreferredAlignmentLog(), llvm::DataLayout::getPreferredTypeAlignmentShift(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getReductionCost(), isImmMskBitp(), llvm::XCoreInstrInfo::loadImmediate(), matchPairwiseReduction(), PerformBTCombine(), PerformMULCombine(), llvm::AArch64InstPrinter::printMemExtend(), llvm::AttributeSetImpl::Raw(), llvm::GlobalObject::setAlignment(), llvm::AllocaInst::setAlignment(), llvm::LoadInst::setAlignment(), llvm::StoreInst::setAlignment(), llvm::ISD::ArgFlagsTy::setByValAlign(), llvm::MCSymbol::setCommon(), llvm::ISD::ArgFlagsTy::setOrigAlign(), llvm::TargetLowering::SimplifySetCC(), UnrollRuntimeLoopProlog(), llvm::InstCombiner::visitLShr(), WriteInstruction(), WriteModuleInfo(), and llvm::MachObjectWriter::writeSection().
|
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 481 of file MathExtras.h.
References countLeadingZeros().
Referenced by llvm::ValueEnumerator::computeBitsRequiredForTypeIndicies(), llvm::MCWinCOFFStreamer::EmitCommonSymbol(), llvm::SelectionDAG::getNode(), llvm::MVT::getPow2VectorType(), llvm::EVT::getPow2VectorType(), llvm::EVT::getRoundIntegerType(), LowerScalarImmediateShift(), llvm::DenseMap< void *, std::unique_ptr< PassConceptT > >::shrink_and_clear(), llvm::SmallDenseMap< llvm::SDValue, llvm::SDValue, 8 >::shrink_and_clear(), llvm::TargetLowering::SimplifySetCC(), WriteBlockInfo(), WriteConstants(), and WriteModuleInfo().
|
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 474 of file MathExtras.h.
References countLeadingZeros().
Referenced by llvm::FastISel::fastEmit_ri_(), genConstMult(), llvm::HexagonMCELFStreamer::HexagonMCEmitCommonSymbol(), isConstVecPow2(), llvm::AArch64TargetLowering::isLegalAddressingMode(), matchRotateSub(), PerformMulCombine(), PerformVCVTCombine(), PerformVDIVCombine(), and llvm::FastISel::selectBinaryOp().
|
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 487 of file MathExtras.h.
References countLeadingZeros().
Referenced by genConstMult(), and llvm::ArrayRecycler< T, Align >::Capacity::get().
| void llvm::LowerARMMachineInstrToMCInst | ( | const MachineInstr * | MI, |
| MCInst & | OutMI, | ||
| ARMAsmPrinter & | AP | ||
| ) |
Definition at line 118 of file ARMMCInstLower.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::getImm(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::ARM_AM::getSOImmVal(), llvm::MCOperand::isImm(), llvm::ARMAsmPrinter::lowerOperand(), llvm::MCOperand::setImm(), and llvm::MCInst::setOpcode().
Referenced by llvm::ARMAsmPrinter::EmitInstruction().
LowerDbgDeclare - Lowers llvm.dbg.declare intrinsics into appropriate set of llvm.dbg.value intrinsics.
Definition at line 1028 of file Local.cpp.
References ConvertDebugDeclareToDebugValue(), llvm::Instruction::eraseFromParent(), llvm::DbgDeclareInst::getAddress(), llvm::Instruction::getDebugLoc(), llvm::DbgDeclareInst::getExpression(), llvm::GlobalValue::getParent(), llvm::DbgDeclareInst::getVariable(), I, isArray(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), SI, and llvm::Value::users().
Referenced by combineInstructionsOverFunction().
| void llvm::LowerPPCMachineInstrToMCInst | ( | const MachineInstr * | MI, |
| MCInst & | OutMI, | ||
| AsmPrinter & | AP, | ||
| bool | isDarwin | ||
| ) |
Definition at line 173 of file PPCMCInstLower.cpp.
References llvm::MCInst::addOperand(), 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::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::MachineOperand::getMBB(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getSubReg(), llvm::MachineBasicBlock::getSymbol(), GetSymbolFromOperand(), GetSymbolRef(), llvm::MachineOperand::getType(), llvm_unreachable, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, llvm::MachineOperand::MO_RegisterMask, llvm::AsmPrinter::OutContext, and llvm::MCInst::setOpcode().
| void llvm::LowerSparcMachineInstrToMCInst | ( | const MachineInstr * | MI, |
| MCInst & | OutMI, | ||
| AsmPrinter & | AP | ||
| ) |
Definition at line 95 of file SparcMCInstLower.cpp.
References llvm::MCInst::addOperand(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MCOperand::isValid(), LowerOperand(), and llvm::MCInst::setOpcode().
|
inlinestatic |
|
inline |
Make_64 - This functions makes a 64-bit integer from a high / low pair of 32-bit integers.
Definition at line 257 of file MathExtras.h.
|
inline |
Definition at line 38 of file SampleProf.h.
References sampleprof_category().
|
inline |
Definition at line 43 of file InstrProf.h.
References instrprof_category().
|
inline |
Definition at line 150 of file ReaderWriter.h.
References BitcodeErrorCategory().
Referenced by llvm::FileOutputBuffer::create(), error(), llvm::ErrorOr< T >::ErrorOr(), llvm::coverage::CounterMappingContext::evaluate(), llvm::NewArchiveIterator::getFD(), getOpenFileImpl(), llvm::LockFileManager::LockFileManager(), and llvm::yaml::Input::setCurrentDocument().
|
inline |
Definition at line 498 of file CoverageMapping.h.
References coveragemap_category().
| iterator_range<T> llvm::make_range | ( | T | x, |
| T | y | ||
| ) |
Convenience function for iterating over sub-ranges.
This provides a bit of syntactic sugar to make using sub-ranges in for loops a bit easier. Analogous to std::make_pair().
Definition at line 47 of file iterator_range.h.
Referenced by addLiveIns(), llvm::BlockFrequencyInfoImplBase::analyzeIrreducible(), llvm::object::COFFObjectFile::base_relocs(), llvm::GCOVFunction::blocks(), llvm::DIE::children(), llvm::StackMapV1Parser< Endianness >::constants(), llvm::OnDiskIterableChainedHashTable< Info >::data(), llvm::object::COFFObjectFile::delay_import_directories(), depth_first(), depth_first_ext(), llvm::GCOVBlock::dsts(), llvm::object::ELFFile< ELFT >::dynamic_symbols(), llvm::object::ELFFile< ELFT >::dynamic_table(), llvm::object::COFFObjectFile::export_directories(), llvm::opt::ArgList::filtered(), llvm::DwarfDebug::findImportedEntitiesForScope(), findIrreducibleHeaders(), llvm::StackMapV1Parser< Endianness >::functions(), llvm::ScalarEvolution::getBlockDisposition(), llvm::orc::getConstructors(), llvm::coverage::CoverageMapping::getCoveredFunctions(), llvm::orc::getDestructors(), llvm::object::ELFObjectFile< ELFT >::getDynamicSymbolIterators(), llvm::ScalarEvolution::getLoopDisposition(), llvm::object::COFFObjectFile::getRelocations(), llvm::object::COFFObjectFile::import_directories(), llvm::object::ImportDirectoryEntryRef::imported_symbols(), llvm::object::DelayImportDirectoryEntryRef::imported_symbols(), llvm::orc::OrcX86_64::insertResolverBlock(), inverse_depth_first(), inverse_depth_first_ext(), inverse_post_order(), inverse_post_order_ext(), llvm::MachineRegisterInfo::isPhysRegModified(), llvm::OnDiskIterableChainedHashTable< Info >::keys(), llvm::StackMapV1Parser< Endianness >::RecordAccessor::liveouts(), llvm::StackMapV1Parser< Endianness >::RecordAccessor::locations(), llvm::BlockFrequencyInfoImplBase::LoopData::members(), llvm::object::MachOUniversalBinary::objects(), llvm::SCEVNAryExpr::operands(), post_order(), post_order_ext(), llvm::LiveRangeUpdater::print(), llvm::StackMapV1Parser< Endianness >::records(), llvm::object::ELFFile< ELFT >::sections(), llvm::LiveIntervals::shrinkToUses(), llvm::GCOVBlock::srcs(), llvm::LiveInterval::subranges(), llvm::object::ELFFile< ELFT >::symbols(), llvm::MCAssembler::symbols(), llvm::TargetRegistry::targets(), llvm::DIE::values(), and llvm::MachObjectWriter::writeObject().
| iterator_range<T> llvm::make_range | ( | std::pair< T, T > | p | ) |
Definition at line 51 of file iterator_range.h.
| std::enable_if<!std::is_array<T>::value, std::unique_ptr<T> >::type llvm::make_unique | ( | Args &&... | args | ) |
Constructs a new T() with the given args and returns a unique_ptr<T> which owns the object.
Example:
auto p = make_unique<int>(); auto p = make_unique<std::tuple<int, int>>(0, 1);
Definition at line 354 of file STLExtras.h.
References T.
Referenced by llvm::DominatorTreeBase< BasicBlock >::addNewBlock(), Calculate(), and llvm::DominatorTreeBase< BasicBlock >::getNodeForBlock().
| std::enable_if<std::is_array<T>::value && std::extent<T>::value == 0, std::unique_ptr<T> >::type llvm::make_unique | ( | size_t | n | ) |
Constructs a new T[n] with the given args and returns a unique_ptr<T[]> which owns the object.
| n | size of the new array. |
Example:
auto p = make_unique<int[]>(2); // value-initializes the array with 0's.
Definition at line 369 of file STLExtras.h.
|
delete |
This function isn't used and is only here to provide better compile errors.
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 70 of file NVPTXUtilities.h.
Construct an ArrayRef from a single element.
Definition at line 308 of file ArrayRef.h.
Referenced by llvm::APInt::APInt(), appendToGlobalArray(), BuildSubAggregate(), CombineBaseUpdate(), CombineVLDDUP(), llvm::APFloat::convertFromZeroExtendedInteger(), createCast(), DecodeFixedType(), llvm::Instruction::dropUnknownMetadata(), llvm::StringRef::edit_distance(), llvm::StructType::elements(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::ARM::WinEH::ExceptionDataRecord::EpilogueScopes(), ExtractSubVector(), llvm::MD5::final(), FindInsertedValue(), GenerateTBL(), llvm::PredIteratorCache::get(), get64BitArgumentGPRs(), get64BitArgumentXMMs(), getBuildVectorSplat(), llvm::DebugLocStream::getBytes(), llvm::MipsABIInfo::GetByValArgRegs(), llvm::DebugLocStream::getComments(), llvm::DebugLocStream::getEntries(), llvm::ConstantExpr::getGetElementPtr(), llvm::ShuffleVectorSDNode::getMask(), llvm::MachineTraceMetrics::getProcResourceCycles(), llvm::MachineTraceMetrics::Ensemble::getProcResourceDepths(), llvm::MachineTraceMetrics::Ensemble::getProcResourceHeights(), llvm::TargetRegisterClass::getRawAllocationOrder(), llvm::object::ELFFile< ELFT >::getSectionContents(), llvm::object::MachOObjectFile::getSectionRawFinalSegmentName(), llvm::object::MachOObjectFile::getSectionRawName(), llvm::ConstantDataArray::getString(), llvm::object::COFFObjectFile::getSymbolAuxData(), getTypePartition(), llvm::MipsABIInfo::GetVarArgRegs(), LLVMBuildCall(), LLVMBuildInvoke(), LLVMConstExtractValue(), LLVMConstInsertValue(), LLVMConstIntOfArbitraryPrecision(), LLVMConstNamedStruct(), LLVMConstStructInContext(), LLVMConstVector(), LLVMMDNodeInContext(), llvm::SystemZTargetLowering::LowerFormalArguments(), lowerMSASplatZExt(), LowerShift(), lowerUINT_TO_FP_vXi32(), llvm::SDNode::ops(), llvm::FunctionType::params(), performANDCombine(), performNEONPostLDSTCombine(), performSRACombine(), PerformTargetShuffleCombine(), PrepareCall(), llvm::SMDiagnostic::print(), llvm::AttributeSetNode::Profile(), llvm::AttributeSetImpl::Profile(), llvm::RawInstrProfReader< IntPtrT >::readNextRecord(), llvm::coverage::BinaryCoverageReader::readNextRecord(), llvm::LiveRangeEdit::regs(), RemoveUnusedGlue(), ReplaceWithStatepoint(), simplifyRelocatesOffABase(), llvm::Type::subtypes(), SymbolicallyEvaluateGEP(), llvm::APFloat::toString(), llvm::ARM::WinEH::ExceptionDataRecord::UnwindByteCode(), llvm::MD5::update(), llvm::InstCombiner::visitCallInst(), and llvm::InstCombiner::visitExtractValueInst().
Construct an ArrayRef from a pointer and length.
Definition at line 314 of file ArrayRef.h.
Construct an ArrayRef from a range.
Definition at line 320 of file ArrayRef.h.
References llvm::sys::path::begin(), and llvm::sys::path::end().
Construct an ArrayRef from a SmallVector.
Definition at line 326 of file ArrayRef.h.
Construct an ArrayRef from a SmallVector.
Definition at line 332 of file ArrayRef.h.
Construct an ArrayRef from a std::vector.
Definition at line 338 of file ArrayRef.h.
Construct an ArrayRef from a C array.
Definition at line 344 of file ArrayRef.h.
| DenseMap< const llvm::Function *, DISubprogram * > llvm::makeSubprogramMap | ( | const Module & | M | ) |
Definition at line 377 of file DebugInfo.cpp.
References F(), llvm::Module::getNamedMetadata(), llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::insert(), N, and llvm::NamedMDNode::operands().
Referenced by llvm::DwarfDebug::beginModule().
|
inline |
Definition at line 195 of file STLExtras.h.
Referenced by llvm::GraphTraits< CallGraphNode * >::child_begin(), llvm::GraphTraits< const CallGraphNode * >::child_begin(), llvm::GraphTraits< CallGraphNode * >::child_end(), llvm::GraphTraits< const CallGraphNode * >::child_end(), llvm::GraphTraits< CallGraph * >::nodes_begin(), llvm::GraphTraits< const CallGraph * >::nodes_begin(), llvm::GraphTraits< CallGraph * >::nodes_end(), and llvm::GraphTraits< const CallGraph * >::nodes_end().
| Metadata * llvm::MapMetadata | ( | const Metadata * | MD, |
| ValueToValueMapTy & | VM, | ||
| RemapFlags | Flags = RF_None, |
||
| ValueMapTypeRemapper * | TypeMapper = nullptr, |
||
| ValueMaterializer * | Materializer = nullptr |
||
| ) |
Definition at line 313 of file ValueMapper.cpp.
References llvm::SmallVectorBase::empty(), MapMetadataImpl(), and N.
Referenced by CloneDebugInfoMetadata(), CloneModule(), MapMetadata(), MapValue(), and RemapInstruction().
| MDNode * llvm::MapMetadata | ( | const MDNode * | MD, |
| ValueToValueMapTy & | VM, | ||
| RemapFlags | Flags = RF_None, |
||
| ValueMapTypeRemapper * | TypeMapper = nullptr, |
||
| ValueMaterializer * | Materializer = nullptr |
||
| ) |
MapMetadata - provide versions that preserve type safety for MDNodes.
Definition at line 337 of file ValueMapper.cpp.
References MapMetadata().
| Value * llvm::MapValue | ( | const Value * | V, |
| ValueToValueMapTy & | VM, | ||
| RemapFlags | Flags = RF_None, |
||
| ValueMapTypeRemapper * | TypeMapper = nullptr, |
||
| ValueMaterializer * | Materializer = nullptr |
||
| ) |
Definition at line 28 of file ValueMapper.cpp.
References dyn_cast(), llvm::ValueMap< KeyT, ValueT, Config >::end(), F(), llvm::ValueMap< KeyT, ValueT, Config >::find(), llvm::InlineAsm::get(), llvm::MetadataAsValue::get(), llvm::ConstantAggregateZero::get(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::ConstantPointerNull::get(), llvm::BlockAddress::get(), llvm::UndefValue::get(), llvm::Value::getContext(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::Value::getType(), I, if(), MapMetadata(), llvm::ValueMaterializer::materializeValueFor(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::ValueMapTypeRemapper::remapType(), llvm::SmallVectorImpl< T >::reserve(), RF_IgnoreMissingEntries, RF_NoModuleLevelChanges, and llvm::ValueMapIterator< DenseMapT, KeyT >::ValueTypeProxy::second.
Referenced by CloneAndPruneIntoFromInst(), CloneModule(), MapMetadataImpl(), MapValue(), llvm::orc::moveGlobalVariableInitializer(), and RemapInstruction().
|
inline |
MapValue - provide versions that preserve type safety for Constants.
Definition at line 91 of file ValueMapper.h.
References MapValue().
| std::error_code llvm::mapWindowsError | ( | unsigned | EV | ) |
| bool llvm::MaskedValueIsZero | ( | Value * | V, |
| const APInt & | Mask, | ||
| const DataLayout & | DL, | ||
| unsigned | Depth = 0, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr, |
||
| const DominatorTree * | DT = nullptr |
||
| ) |
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, 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 191 of file ValueTracking.cpp.
References MaskedValueIsZero(), and safeCxtI().
Referenced by CanEvaluateShifted(), GetLinearExpression(), llvm::InstCombiner::MaskedValueIsZero(), SimplifyOrInst(), 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().
| SelectPatternFlavor llvm::matchSelectPattern | ( | Value * | V, |
| Value *& | LHS, | ||
| Value *& | RHS, | ||
| Instruction::CastOps * | CastOp = nullptr |
||
| ) |
Pattern match integer [SU]MIN, [SU]MAX and ABS idioms, returning the kind and providing the out parameter results if we successfully match.
If CastOp is not nullptr, also match MIN/MAX idioms where the type does not match that of the original select. If this is the case, the cast operation (one of Trunc,SExt,Zext) that must be done to transform the type of LHS and RHS into the type of V is returned in CastOp.
For example: %1 = icmp slt i32 a, i32 4 %2 = sext i32 a to i64 %3 = select i1 %1, i64 %2, i64 4
-> LHS = a, RHS = i32 4, *CastOp = Instruction::SExt
Definition at line 3415 of file ValueTracking.cpp.
References dyn_cast(), llvm::SelectInst::getCondition(), llvm::SelectInst::getFalseValue(), llvm::User::getOperand(), llvm::CmpInst::getPredicate(), llvm::SelectInst::getTrueValue(), llvm::Value::getType(), llvm::ICmpInst::isEquality(), lookThroughCast(), matchSelectPattern(), SI, and SPF_UNKNOWN.
Referenced by llvm::InstCombiner::visitTrunc().
|
inline |
Implements IEEE maxNum semantics.
Returns the larger of the 2 arguments if both are not NaN. If either argument is a NaN, returns the other argument.
Definition at line 670 of file APFloat.h.
References llvm::APFloat::cmpLessThan, llvm::APFloat::compare(), and llvm::APFloat::isNaN().
Referenced by canConstantFoldCallTo(), ConstantFoldScalarCall(), getIntrinsicIDForCall(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getIntrinsicInstrCost(), isSafeToSpeculativelyExecute(), isTriviallyVectorizable(), and llvm::InstCombiner::visitCallInst().
|
inlinestatic |
Definition at line 44 of file MCLinkerOptimizationHint.h.
|
inlinestatic |
Definition at line 66 of file MCLinkerOptimizationHint.h.
References MCLOHCaseIdToName.
|
inlinestatic |
Definition at line 81 of file MCLinkerOptimizationHint.h.
References MCLOH_AdrpAdd, MCLOH_AdrpAddLdr, MCLOH_AdrpAddStr, MCLOH_AdrpAdrp, MCLOH_AdrpLdr, MCLOH_AdrpLdrGot, MCLOH_AdrpLdrGotLdr, and MCLOH_AdrpLdrGotStr.
|
inlinestatic |
Definition at line 52 of file MCLinkerOptimizationHint.h.
References MCLOHCaseNameToId.
| void llvm::MergeBasicBlockIntoOnlyPred | ( | BasicBlock * | DestBB, |
| DominatorTree * | DT = nullptr |
||
| ) |
MergeBasicBlockIntoOnlyPred - BB is a block with one predecessor and its predecessor is known to have one successor (BB!).
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 BB. This deletes the predecessor block.
Eliminate the edge between them, moving the instructions in the predecessor into DestBB and deleting the predecessor block.
Definition at line 500 of file Local.cpp.
References llvm::BasicBlock::begin(), llvm::DominatorTreeBase< N >::changeImmediateDominator(), llvm::Constant::destroyConstant(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), llvm::DominatorTreeBase< N >::eraseNode(), llvm::ConstantInt::get(), llvm::BlockAddress::get(), llvm::UndefValue::get(), llvm::DomTreeNodeBase< T >::getBlock(), llvm::Value::getContext(), llvm::Function::getEntryBlock(), llvm::DomTreeNodeBase< T >::getIDom(), llvm::BasicBlock::getInstList(), llvm::Type::getInt32Ty(), llvm::ConstantExpr::getIntToPtr(), llvm::DominatorTreeBase< N >::getNode(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getSinglePredecessor(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::BasicBlock::hasAddressTaken(), llvm::BasicBlock::moveAfter(), llvm::Value::replaceAllUsesWith(), and llvm::iplist< NodeTy, Traits >::splice().
| bool llvm::MergeBlockIntoPredecessor | ( | BasicBlock * | BB, |
| DominatorTree * | DT = nullptr, |
||
| LoopInfo * | LI = nullptr, |
||
| AliasAnalysis * | AA = nullptr, |
||
| MemoryDependenceAnalysis * | MemDep = nullptr |
||
| ) |
MergeBlockIntoPredecessor - Attempts to merge a block into its predecessor, if possible.
The return value indicates success or failure.
Definition at line 110 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), llvm::DominatorTreeBase< N >::changeImmediateDominator(), DI, llvm::BasicBlock::end(), llvm::BasicBlock::eraseFromParent(), llvm::DominatorTreeBase< N >::eraseNode(), FoldSingleEntryPHINodes(), llvm::BasicBlock::front(), llvm::BasicBlock::getInstList(), llvm::DominatorTreeBase< N >::getNode(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::getUniquePredecessor(), llvm::BasicBlock::hasAddressTaken(), llvm::Value::hasName(), llvm::MemoryDependenceAnalysis::invalidateCachedPredecessors(), llvm::iplist< NodeTy, Traits >::pop_back(), llvm::LoopInfoBase< N, M >::removeBlock(), llvm::Value::replaceAllUsesWith(), SI, llvm::iplist< NodeTy, Traits >::splice(), succ_begin(), succ_end(), and llvm::Value::takeName().
|
inline |
MinAlign - A and B are either alignments or offsets.
Return the minimum alignment that may be assumed after adding the two together.
Definition at line 552 of file MathExtras.h.
Referenced by llvm::MachineFrameInfo::CreateFixedObject(), llvm::MachineFrameInfo::CreateFixedSpillStackObject(), expandf64Toi32(), ExpandUnalignedLoad(), ExpandUnalignedStore(), llvm::X86InstrInfo::foldMemoryOperandImpl(), getAdjustedAlignment(), getMemcpyLoadsAndStores(), llvm::CCState::HandleByVal(), llvm::SelectionDAG::InferPtrAlignment(), PerformSTORECombine(), ShrinkLoadReplaceStoreWithStore(), llvm::TargetLowering::SimplifySetCC(), and SRAGlobal().
|
inline |
Implements IEEE minNum semantics.
Returns the smaller of the 2 arguments if both are not NaN. If either argument is a NaN, returns the other argument.
Definition at line 659 of file APFloat.h.
References llvm::APFloat::cmpLessThan, llvm::APFloat::compare(), and llvm::APFloat::isNaN().
Referenced by canConstantFoldCallTo(), ConstantFoldScalarCall(), getIntrinsicIDForCall(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getIntrinsicInstrCost(), isSafeToSpeculativelyExecute(), isTriviallyVectorizable(), and llvm::InstCombiner::visitCallInst().
| std::enable_if< std::is_constructible<T, V>::value , typename std::remove_reference<V>::type>::type&& llvm::moveIfMoveConstructible | ( | V & | Val | ) |
| std::enable_if< !std::is_constructible<T, V>::value , typename std::remove_reference<V>::type>::type& llvm::moveIfMoveConstructible | ( | V & | Val | ) |
|
inline |
NextPowerOf2 - Returns the next power of two (in 64-bits) that is strictly greater than A.
Returns zero on overflow.
Definition at line 582 of file MathExtras.h.
Referenced by combineWeightsByHashing(), llvm::DenseMap< void *, std::unique_ptr< PassConceptT > >::DenseMap(), llvm::MemoryDependenceAnalysis::getLoadLoadClobberFullWidthSize(), GetLoadValueForLoad(), getShiftAmount(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), getVectorTypeBreakdownMVT(), llvm::SmallVectorTemplateBase< T, isPodLike >::grow(), llvm::DenseMap< void *, std::unique_ptr< PassConceptT > >::grow(), llvm::SmallDenseMap< llvm::SDValue, llvm::SDValue, 8 >::grow(), operator new(), llvm::APFloat::roundToIntegral(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(), llvm::SmallDenseMap< llvm::SDValue, llvm::SDValue, 8 >::SmallDenseMap(), and SwitchToLookupTable().
|
inlinestatic |
Normalize the spill weight of a live interval.
The spill weight of a live interval is computed as:
(sum(use freq) + sum(def freq)) / (K + size)
| UseDefFreq | Expected number of executed use and def instructions per function call. Derived from block frequencies. |
| Size | Size of live interval as returnexd by getSize() |
| NumInstr | Number of instructions using this live interval |
Definition at line 35 of file CalcSpillWeights.h.
References llvm::SlotIndex::InstrDist.
Referenced by normalizePBQPSpillWeight().
| raw_ostream & llvm::nulls | ( | ) |
This returns a reference to a raw_ostream which simply discards output.
nulls() - This returns a reference to a raw_ostream which discards output.
Definition at line 736 of file raw_ostream.cpp.
Referenced by llvm::MCStreamer::GetCommentOS(), llvm::X86Disassembler::X86GenericDisassembler::getInstruction(), LLVMDisasmInstruction(), llvm::MCDisassembler::tryAddingPcLoadReferenceComment(), and llvm::MCDisassembler::tryAddingSymbolicOperand().
|
inlinestatic |
Definition at line 44 of file NVPTX.h.
References llvm::NVPTXCC::EQ, llvm::NVPTXCC::GE, llvm::NVPTXCC::GT, llvm::NVPTXCC::LE, llvm_unreachable, llvm::NVPTXCC::LT, and llvm::NVPTXCC::NE.
| void* llvm::object_creator | ( | ) |
object_creator - Helper method for ManagedStatic.
Definition at line 25 of file ManagedStatic.h.
|
inline |
Returns 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 616 of file MathExtras.h.
References RoundUpToAlignment().
Referenced by llvm::MCAssembler::computeFragmentSize(), llvm::OnDiskChainedHashTableGenerator< Info >::Emit(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::MachObjectWriter::getPaddingSize(), printBSDMemberHeader(), llvm::MachObjectWriter::writeLinkerOptionsLoadCommand(), llvm::MachObjectWriter::writeObject(), and writeSymbolTable().
onlyUsedByLifetimeMarkers - Return true if the only users of this pointer are lifetime markers.
Return true if the only users of this pointer are lifetime markers.
Definition at line 2868 of file ValueTracking.cpp.
References dyn_cast(), llvm::IntrinsicInst::getIntrinsicID(), and llvm::Value::users().
Referenced by isAllocaPromotable(), and tryToMakeAllocaBePromotable().
Definition at line 62 of file MCTargetOptions.h.
Definition at line 77 of file MachineLocation.h.
|
static |
Definition at line 193 of file PointerUnion.h.
References llvm::PointerUnion< PT1, PT2 >::getOpaqueValue().
|
inline |
Definition at line 212 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 226 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 240 of file IntrusiveRefCntPtr.h.
Definition at line 243 of file TargetOptions.h.
| bool llvm::operator!= | ( | const T * | LHS, |
| const ilist_iterator< const T > & | RHS | ||
| ) |
Definition at line 252 of file ilist.h.
References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().
Definition at line 257 of file IntrusiveRefCntPtr.h.
Definition at line 260 of file ilist.h.
References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().
Definition at line 262 of file IntrusiveRefCntPtr.h.
Definition at line 358 of file ArrayRef.h.
|
inline |
Definition at line 537 of file StringRef.h.
|
inline |
Definition at line 39 of file JITSymbolFlags.h.
|
inline |
Definition at line 571 of file SmallBitVector.h.
|
inline |
Definition at line 842 of file SparseBitVector.h.
|
inline |
Definition at line 45 of file JITSymbolFlags.h.
|
inline |
Definition at line 818 of file SparseBitVector.h.
|
inline |
Definition at line 824 of file SparseBitVector.h.
|
inline |
Definition at line 185 of file STLExtras.h.
References llvm::mapped_iterator< RootIt, UnaryFunc >::getCurrent(), llvm::mapped_iterator< RootIt, UnaryFunc >::getFunc(), and N.
Definition at line 516 of file Twine.h.
References llvm::Twine::concat().
|
inline |
Definition at line 557 of file StringRef.h.
References size.
|
inline |
Definition at line 851 of file SparseBitVector.h.
References llvm::SparseBitVector< ElementSize >::intersectWithComplement().
Compare two pieces based on their offset.
Definition at line 172 of file DebugLocEntry.h.
References llvm::DIExpression::getBitPieceOffset(), and llvm::DebugLocEntry::Value::getExpression().
|
static |
Definition at line 199 of file PointerUnion.h.
References llvm::PointerUnion< PT1, PT2 >::getOpaqueValue().
Definition at line 317 of file SlotIndexes.h.
Definition at line 321 of file SlotIndexes.h.
|
inline |
Definition at line 541 of file StringRef.h.
References llvm::StringRef::compare().
Definition at line 761 of file LiveInterval.h.
References llvm::LiveRange::Segment::start.
Definition at line 765 of file LiveInterval.h.
References llvm::LiveRange::Segment::start.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_VariantType & | Value | ||
| ) |
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_CallingConv & | Conv | ||
| ) |
Definition at line 43 of file PDBExtras.cpp.
References Alphacall, AM33call, Armcall, CASE_OUTPUT_ENUM_CLASS_STR, Clrcall, FarCdecl, FarFastcall, FarPascal, FarStdcall, FarSyscall, Generic, Inline, M32R, MipsCall, NearCdecl, NearFastcall, NearPascal, NearStdcall, NearSyscall, NearVectorcall, Ppccall, Sh5call, Skipped, SuperHCall, Thiscall, and Tricall.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_DataKind & | Data | ||
| ) |
Definition at line 78 of file PDBExtras.cpp.
References CASE_OUTPUT_ENUM_CLASS_STR, FileStatic, Global, Local, Member, ObjectPtr, Param, StaticLocal, StaticMember, and Unknown.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_RegisterId & | Reg | ||
| ) |
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_LocType & | Loc | ||
| ) |
Definition at line 149 of file PDBExtras.cpp.
References BitField, CASE_OUTPUT_ENUM_CLASS_STR, Enregistered, IlRel, MetaData, RegRel, Slot, ThisRel, and TLS.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_ThunkOrdinal & | Thunk | ||
| ) |
Definition at line 167 of file PDBExtras.cpp.
References BranchIsland, CASE_OUTPUT_ENUM_CLASS_NAME, Pcode, ThisAdjustor, TrampIncremental, UnknownLoad, and Vcall.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_Checksum & | Checksum | ||
| ) |
Definition at line 180 of file PDBExtras.cpp.
References CASE_OUTPUT_ENUM_CLASS_NAME, None, and SHA1.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_Lang & | Lang | ||
| ) |
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_SymType & | Tag | ||
| ) |
Definition at line 212 of file PDBExtras.cpp.
References Annotation, BaseClass, Block, BuiltinType, CASE_OUTPUT_ENUM_CLASS_NAME, Compiland, CompilandDetails, CompilandEnv, Custom, CustomType, Data, Dimension, Enum, Exe, Friend, FuncDebugEnd, FuncDebugStart, FunctionArg, FunctionSig, Label, ManagedType, PublicSymbol, Thunk, Typedef, UDT, UsingNamespace, VTable, and VTableShape.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_MemberAccess & | Access | ||
| ) |
Definition at line 250 of file PDBExtras.cpp.
References CASE_OUTPUT_ENUM_CLASS_STR, Private, Protected, and Public.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_UdtType & | Type | ||
| ) |
Definition at line 259 of file PDBExtras.cpp.
References CASE_OUTPUT_ENUM_CLASS_STR, Interface, Struct, and Union.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const PDB_UniqueId & | Id | ||
| ) |
Definition at line 269 of file PDBExtras.cpp.
References Lookup().
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const Variant & | Value | ||
| ) |
Definition at line 288 of file PDBExtras.cpp.
References Bool, llvm::Variant::Bool, Double, llvm::Variant::Double, Int16, llvm::Variant::Int16, Int32, llvm::Variant::Int32, Int64, llvm::Variant::Int64, Int8, llvm::Variant::Int8, Single, llvm::Variant::Single, llvm::Variant::Type, UInt16, UInt32, llvm::Variant::UInt32, UInt64, llvm::Variant::UInt64, UInt8, and llvm::Variant::UInt8.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const VersionInfo & | Version | ||
| ) |
Definition at line 329 of file PDBExtras.cpp.
References llvm::VersionInfo::Build, llvm::VersionInfo::Major, and llvm::VersionInfo::Minor.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const TagStats & | Stats | ||
| ) |
Definition at line 334 of file PDBExtras.cpp.
|
inline |
Definition at line 51 of file MCLabel.h.
References llvm::MCLabel::print().
| MCStreamer & llvm::operator<< | ( | MCStreamer & | OS, |
| MipsABIFlagsSection & | ABIFlagsSection | ||
| ) |
Definition at line 54 of file MipsABIFlagsSection.cpp.
References llvm::MCStreamer::EmitIntValue(), llvm::MipsABIFlagsSection::getASESetValue(), llvm::MipsABIFlagsSection::getCPR1SizeValue(), llvm::MipsABIFlagsSection::getCPR2SizeValue(), llvm::MipsABIFlagsSection::getFlags1Value(), llvm::MipsABIFlagsSection::getFlags2Value(), llvm::MipsABIFlagsSection::getFpABIValue(), llvm::MipsABIFlagsSection::getGPRSizeValue(), llvm::MipsABIFlagsSection::getISAExtensionSetValue(), llvm::MipsABIFlagsSection::getISALevelValue(), llvm::MipsABIFlagsSection::getISARevisionValue(), and llvm::MipsABIFlagsSection::getVersionValue().
|
inline |
Definition at line 59 of file Comdat.h.
References llvm::Comdat::print().
|
inline |
Definition at line 65 of file MachineConstantPool.h.
References llvm::MachineConstantPoolValue::print().
|
inline |
Definition at line 75 of file Record.h.
References llvm::RecTy::print().
|
inline |
Definition at line 83 of file BranchProbability.h.
References llvm::BranchProbability::print().
|
inline |
Definition at line 83 of file MCParsedAsmOperand.h.
References llvm::MCParsedAsmOperand::print().
|
inline |
Definition at line 123 of file MCExpr.h.
References llvm::MCExpr::print().
|
inline |
Definition at line 128 of file ARMConstantPoolValue.h.
References llvm::ARMConstantPoolValue::print().
|
inline |
Definition at line 140 of file LivePhysRegs.h.
References llvm::LivePhysRegs::print().
|
inline |
Definition at line 155 of file ScalarEvolution.h.
References llvm::SCEV::print().
| raw_ostream& llvm::operator<< | ( | raw_ostream & | o, |
| const DomTreeNodeBase< NodeT > * | Node | ||
| ) |
Definition at line 156 of file GenericDomTree.h.
|
inline |
Definition at line 160 of file Metadata.h.
References llvm::Metadata::print().
| raw_ostream& llvm::operator<< | ( | raw_ostream & | OS, |
| const GUID & | Guid | ||
| ) |
Definition at line 168 of file DIARawSymbol.cpp.
References llvm::tgtok::Id.
|
inline |
Definition at line 184 of file VirtRegMap.h.
References llvm::VirtRegMap::print().
| LLVM_DUMP_METHOD raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const ILPValue & | Val | ||
| ) |
Definition at line 1600 of file ScheduleDAGInstrs.cpp.
References llvm::ILPValue::print().
|
inline |
Definition at line 193 of file MCInst.h.
References llvm::MCOperand::print().
|
inline |
Definition at line 198 of file MCInst.h.
References llvm::MCInst::print().
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const FaultMapParser::FunctionFaultInfoAccessor & | FFI | ||
| ) |
Definition at line 117 of file FaultMaps.cpp.
References llvm::FaultMaps::faultTypeToString(), llvm::FaultMapParser::FunctionFaultInfoAccessor::getFaultingPCOffset(), llvm::FaultMapParser::FunctionFaultInfoAccessor::getFaultKind(), and llvm::FaultMapParser::FunctionFaultInfoAccessor::getHandlerPCOffset().
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const FaultMapParser::FunctionInfoAccessor & | FI | ||
| ) |
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const FaultMapParser & | FMP | ||
| ) |
|
inline |
Definition at line 229 of file MachineMemOperand.h.
References llvm::MachineMemOperand::print().
|
inline |
Definition at line 271 of file ConstantRange.h.
References llvm::ConstantRange::print().
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const LVILatticeVal & | Val | ||
| ) |
Definition at line 276 of file LazyValueInfo.cpp.
|
inline |
Definition at line 280 of file AliasSetTracker.h.
References llvm::AliasSet::print().
|
inline |
Definition at line 310 of file SlotIndexes.h.
References llvm::SlotIndex::print().
|
inline |
Definition at line 335 of file APSInt.h.
References llvm::APSInt::isSigned(), and llvm::APInt::print().
| raw_ostream& llvm::operator<< | ( | raw_ostream & | OS, |
| const LoopBase< BlockT, LoopT > & | Loop | ||
| ) |
Definition at line 344 of file LoopInfo.h.
References llvm::LoopBase< N, M >::print().
|
inline |
Definition at line 354 of file Record.h.
References llvm::Init::print().
|
inline |
Definition at line 385 of file MachineTraceMetrics.h.
References llvm::MachineTraceMetrics::Trace::print().
|
inline |
Definition at line 391 of file MachineTraceMetrics.h.
References llvm::MachineTraceMetrics::Ensemble::print().
| ScaledNumber<DigitsT> llvm::operator<< | ( | const ScaledNumber< DigitsT > & | L, |
| int16_t | Shift | ||
| ) |
Definition at line 731 of file ScaledNumber.h.
|
inline |
Definition at line 418 of file MCSymbol.h.
References llvm::MCSymbol::print().
|
inlinestatic |
Definition at line 430 of file Type.h.
References llvm::Type::print().
|
inline |
Definition at line 441 of file AliasSetTracker.h.
References llvm::AliasSetTracker::print().
|
inline |
Definition at line 511 of file Value.h.
References llvm::Value::print().
|
inline |
Definition at line 534 of file Twine.h.
References llvm::Twine::print().
|
inline |
Definition at line 581 of file LiveInterval.h.
References llvm::LiveRange::print().
|
inline |
Print a RegionNode.
Definition at line 894 of file RegionInfo.h.
References getName(), and llvm::RegionNodeBase< Tr >::isSubRegion().
|
inline |
An raw_ostream inserter for modules.
Definition at line 682 of file Module.h.
References llvm::Module::print().
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const MachineBasicBlock & | MBB | ||
| ) |
Definition at line 66 of file MachineBasicBlock.cpp.
References llvm::MachineBasicBlock::print().
| raw_ostream& llvm::operator<< | ( | raw_ostream & | OS, |
| const ScaledNumber< DigitsT > & | X | ||
| ) |
Definition at line 743 of file ScaledNumber.h.
References X.
|
inline |
Definition at line 744 of file MachineOperand.h.
References llvm::MachineOperand::print().
|
inline |
Definition at line 754 of file LiveInterval.h.
References llvm::LiveInterval::print().
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const LiveRange::Segment & | S | ||
| ) |
Definition at line 1024 of file LiveInterval.cpp.
References llvm::LiveRange::Segment::end, llvm::VNInfo::id, llvm::LiveRange::Segment::start, and llvm::LiveRange::Segment::valno.
|
inline |
Definition at line 823 of file LiveInterval.h.
References llvm::LiveRangeUpdater::print().
|
inlinestatic |
Definition at line 961 of file TargetRegisterInfo.h.
References llvm::PrintReg::print().
|
inlinestatic |
Definition at line 985 of file TargetRegisterInfo.h.
References llvm::PrintRegUnit::print().
|
inlinestatic |
Definition at line 999 of file TargetRegisterInfo.h.
References llvm::PrintVRegOrUnit::print().
| raw_ostream& llvm::operator<< | ( | raw_ostream & | OS, |
| const MCFixup & | AF | ||
| ) |
Definition at line 1121 of file MCAssembler.cpp.
References llvm::MCFixup::getKind(), llvm::MCFixup::getOffset(), and llvm::MCFixup::getValue().
|
inline |
Definition at line 1142 of file Record.h.
References llvm::RecordVal::print().
|
inline |
Definition at line 1235 of file MachineInstr.h.
References llvm::MachineInstr::print().
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const Record & | R | ||
| ) |
Definition at line 1633 of file Record.cpp.
References llvm::ArrayRef< T >::empty(), llvm::Record::getNameInitAsString(), llvm::Record::getSuperClasses(), llvm::Record::getTemplateArgs(), llvm::Record::getValue(), llvm::Record::getValues(), llvm::Record::isTemplateArg(), llvm::RecordVal::print(), llvm::PPCISD::SC, and llvm::X86II::TA.
| raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
| const RecordKeeper & | RK | ||
| ) |
Definition at line 1877 of file Record.cpp.
References for(), llvm::RecordKeeper::getClasses(), and llvm::RecordKeeper::getDefs().
|
inline |
Definition at line 1738 of file APInt.h.
References llvm::APInt::print().
|
inline |
Definition at line 545 of file StringRef.h.
References llvm::StringRef::compare().
Definition at line 46 of file MCTargetOptions.h.
References ABIName(), ARE_EQUAL, DwarfVersion(), and ShowMCInst().
Compare two Values for equality.
Definition at line 150 of file DebugLocEntry.h.
References llvm::DebugLocEntry::Value::CFP, llvm::DebugLocEntry::Value::CIP, llvm::DebugLocEntry::Value::Constant, llvm::DebugLocEntry::Value::E_ConstantFP, llvm::DebugLocEntry::Value::E_ConstantInt, llvm::DebugLocEntry::Value::E_Integer, llvm::DebugLocEntry::Value::E_Location, llvm::DebugLocEntry::Value::EntryKind, llvm::DebugLocEntry::Value::Expression, llvm::DebugLocEntry::Value::Int, llvm_unreachable, and llvm::DebugLocEntry::Value::Loc.
|
static |
Definition at line 187 of file PointerUnion.h.
References llvm::PointerUnion< PT1, PT2 >::getOpaqueValue().
|
inline |
Definition at line 205 of file IntrusiveRefCntPtr.h.
Definition at line 219 of file TargetOptions.h.
References ARE_EQUAL.
|
inline |
Definition at line 219 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 233 of file IntrusiveRefCntPtr.h.
Definition at line 247 of file IntrusiveRefCntPtr.h.
Definition at line 252 of file IntrusiveRefCntPtr.h.
References llvm::ARM_PROC::A.
| bool llvm::operator== | ( | const T * | LHS, |
| const ilist_iterator< const T > & | RHS | ||
| ) |
Definition at line 256 of file ilist.h.
References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().
Definition at line 264 of file ilist.h.
References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().
Definition at line 353 of file ArrayRef.h.
References llvm::ArrayRef< T >::equals().
|
inline |
Definition at line 533 of file StringRef.h.
References llvm::StringRef::equals().
Definition at line 1734 of file APInt.h.
Referenced by llvm::Linker::StructTypeKeyInfo::KeyTy::operator!=(), llvm::SSAUpdaterTraits< SSAUpdater >::PHI_iterator::operator!=(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_iterator::operator!=(), llvm::BitTracker::RegisterCell::operator!=(), llvm::IntervalMapImpl::NodeRef::operator!=(), llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::operator!=(), and llvm::AArch64TargetLowering::ReconstructShuffle().
|
inline |
Definition at line 549 of file StringRef.h.
References llvm::StringRef::compare().
|
inline |
Definition at line 553 of file StringRef.h.
References llvm::StringRef::compare().
| ScaledNumber<DigitsT> llvm::operator>> | ( | const ScaledNumber< DigitsT > & | L, |
| int16_t | Shift | ||
| ) |
Definition at line 737 of file ScaledNumber.h.
|
inline |
Definition at line 585 of file SmallBitVector.h.
|
inline |
Definition at line 28 of file JITSymbolFlags.h.
|
inlinestatic |
Definition at line 65 of file ValueMapper.h.
|
inline |
Definition at line 578 of file SmallBitVector.h.
|
inline |
Definition at line 833 of file SparseBitVector.h.
|
inline |
Definition at line 34 of file JITSymbolFlags.h.
|
inline |
Definition at line 806 of file SparseBitVector.h.
|
inline |
Definition at line 812 of file SparseBitVector.h.
Call "ShouldRemove" for every entry in M's global_ctor list and remove the entries for which it returns true.
Return true if anything changed.
Definition at line 120 of file CtorUtils.cpp.
References dbgs(), DEBUG, llvm::Function::empty(), F(), and llvm::BitVector::set().
| raw_ostream & llvm::outs | ( | ) |
This returns a reference to a raw_ostream for standard output.
outs() - This returns a reference to a raw_ostream for standard output.
Use it like: outs() << "foo" << "bar";
Definition at line 717 of file raw_ostream.cpp.
References llvm::sys::fs::F_None.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), fouts(), lle_X_printf(), llvm::cl::generic_parser_base::printGenericOptionDiff(), printHelpStr(), llvm::cl::generic_parser_base::printOptionInfo(), llvm::cl::basic_parser_impl::printOptionInfo(), llvm::cl::basic_parser_impl::printOptionName(), llvm::cl::basic_parser_impl::printOptionNoValue(), and llvm::TargetRegistry::printRegisteredTargetsForVersion().
|
inline |
Compare a live virtual register segment to a LiveIntervalUnion segment.
Definition at line 35 of file LiveIntervalUnion.h.
References llvm::LiveRange::Segment::end, llvm::LiveRange::Segment::start, llvm::IntervalMap< KeyT, ValT, N, Traits >::start(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::stop().
| std::unique_ptr< Module > llvm::parseAssembly | ( | MemoryBufferRef | F, |
| SMDiagnostic & | Err, | ||
| LLVMContext & | Context, | ||
| SlotMapping * | Slots = nullptr |
||
| ) |
parseAssemblyFile and parseAssemblyString are wrappers around this function.
Parse LLVM Assembly from a MemoryBuffer.
| F | The MemoryBuffer containing assembly |
| Err | Error result info. |
| Slots | The optional slot mapping that will be initialized during parsing. |
Definition at line 34 of file Parser.cpp.
References llvm::MemoryBufferRef::getBufferIdentifier(), and parseAssemblyInto().
Referenced by getLazyIRModule(), llvm::MIRParserImpl::parse(), parseAssemblyFile(), parseAssemblyString(), and parseIR().
| std::unique_ptr< Module > llvm::parseAssemblyFile | ( | StringRef | Filename, |
| SMDiagnostic & | Error, | ||
| LLVMContext & | Context, | ||
| SlotMapping * | Slots = nullptr |
||
| ) |
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. Parse LLVM Assembly from a file
| Filename | The name of the file to parse |
| Error | Error result info. |
| Context | Context in which to allocate globals info. |
| Slots | The optional slot mapping that will be initialized during parsing. |
Definition at line 47 of file Parser.cpp.
References llvm::SourceMgr::DK_Error, llvm::ErrorOr< T >::get(), llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFileOrSTDIN(), and parseAssembly().
| bool llvm::parseAssemblyInto | ( | MemoryBufferRef | F, |
| Module & | M, | ||
| SMDiagnostic & | Err, | ||
| SlotMapping * | Slots = nullptr |
||
| ) |
This function is the low-level interface to the LLVM Assembly Parser.
This is kept as an independent function instead of being inlined into parseAssembly for the convenience of interactive users that want to add recently parsed bits to an existing module.
| F | The MemoryBuffer containing assembly |
| M | The module to add data to. |
| Err | Error result info. |
| Slots | The optional slot mapping that will be initialized during parsing. |
Definition at line 25 of file Parser.cpp.
References llvm::SourceMgr::AddNewSourceBuffer(), llvm::MemoryBufferRef::getBuffer(), and llvm::MemoryBuffer::getMemBuffer().
Referenced by parseAssembly().
| std::unique_ptr< Module > llvm::parseAssemblyString | ( | StringRef | AsmString, |
| SMDiagnostic & | Error, | ||
| LLVMContext & | Context, | ||
| SlotMapping * | Slots = nullptr |
||
| ) |
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. Parse LLVM Assembly from a string
| AsmString | The string containing assembly |
| Error | Error result info. |
| Context | Context in which to allocate globals info. |
| Slots | The optional slot mapping that will be initialized during parsing. |
Definition at line 62 of file Parser.cpp.
References F(), and parseAssembly().
| ErrorOr< std::unique_ptr< Module > > llvm::parseBitcodeFile | ( | MemoryBufferRef | Buffer, |
| LLVMContext & | Context, | ||
| DiagnosticHandlerFunction | DiagnosticHandler = nullptr |
||
| ) |
Read the specified bitcode file, returning the module.
Definition at line 4726 of file BitcodeReader.cpp.
References getLazyBitcodeModuleImpl().
Referenced by LLVMParseBitcodeInContext(), parseBitcodeFileImpl(), and parseIR().
| void llvm::parseEHActions | ( | const IntrinsicInst * | II, |
| SmallVectorImpl< std::unique_ptr< ActionHandler >> & | Actions | ||
| ) |
Definition at line 2493 of file WinEHPrepare.cpp.
References CH, llvm::CallInst::getArgOperand(), llvm::IntrinsicInst::getIntrinsicID(), llvm::CallInst::getNumArgOperands(), llvm::ConstantInt::getSExtValue(), I, and llvm_unreachable.
| std::unique_ptr< Module > llvm::parseIR | ( | MemoryBufferRef | Buffer, |
| SMDiagnostic & | Err, | ||
| LLVMContext & | Context | ||
| ) |
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.
Definition at line 64 of file IRReader.cpp.
References llvm::SourceMgr::DK_Error, llvm::ErrorOr< T >::get(), llvm::MemoryBufferRef::getBufferEnd(), llvm::MemoryBufferRef::getBufferIdentifier(), llvm::MemoryBufferRef::getBufferStart(), llvm::ErrorOr< T >::getError(), isBitcode(), parseAssembly(), parseBitcodeFile(), T, TimeIRParsingGroupName, TimeIRParsingName, and TimePassesIsEnabled.
Referenced by LLVMParseIRInContext(), and parseIRFile().
| std::unique_ptr< Module > llvm::parseIRFile | ( | StringRef | Filename, |
| SMDiagnostic & | Err, | ||
| LLVMContext & | Context | ||
| ) |
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 83 of file IRReader.cpp.
References llvm::SourceMgr::DK_Error, llvm::ErrorOr< T >::get(), llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFileOrSTDIN(), and parseIR().
| bool llvm::parseMachineInstr | ( | MachineInstr *& | MI, |
| SourceMgr & | SM, | ||
| MachineFunction & | MF, | ||
| StringRef | Src, | ||
| const PerFunctionMIParsingState & | PFS, | ||
| const SlotMapping & | IRSlots, | ||
| SMDiagnostic & | Error | ||
| ) |
Definition at line 586 of file MIParser.cpp.
Referenced by llvm::MIRParserImpl::initializeMachineBasicBlock().
| bool llvm::parseMBBReference | ( | MachineBasicBlock *& | MBB, |
| SourceMgr & | SM, | ||
| MachineFunction & | MF, | ||
| StringRef | Src, | ||
| const PerFunctionMIParsingState & | PFS, | ||
| const SlotMapping & | IRSlots, | ||
| SMDiagnostic & | Error | ||
| ) |
Definition at line 593 of file MIParser.cpp.
Referenced by llvm::MIRParserImpl::initializeMachineBasicBlock().
| bool llvm::parseNamedRegisterReference | ( | unsigned & | Reg, |
| SourceMgr & | SM, | ||
| MachineFunction & | MF, | ||
| StringRef | Src, | ||
| const PerFunctionMIParsingState & | PFS, | ||
| const SlotMapping & | IRSlots, | ||
| SMDiagnostic & | Error | ||
| ) |
Definition at line 600 of file MIParser.cpp.
Referenced by llvm::MIRParserImpl::initializeMachineBasicBlock().
| po_iterator<T> llvm::po_begin | ( | const T & | G | ) |
Definition at line 178 of file PostOrderIterator.h.
References llvm::po_iterator< GraphT, SetType, ExtStorage, GT >::begin().
Referenced by post_order().
| po_iterator<T> llvm::po_end | ( | const T & | G | ) |
Definition at line 180 of file PostOrderIterator.h.
References llvm::po_iterator< GraphT, SetType, ExtStorage, GT >::end().
Referenced by post_order().
| po_ext_iterator<T, SetType> llvm::po_ext_begin | ( | T | G, |
| SetType & | S | ||
| ) |
Definition at line 194 of file PostOrderIterator.h.
References llvm::po_iterator< T, SetType, true >::begin().
Referenced by llvm::LoopBlocksTraversal::begin(), and post_order_ext().
| po_ext_iterator<T, SetType> llvm::po_ext_end | ( | T | G, |
| SetType & | S | ||
| ) |
Definition at line 199 of file PostOrderIterator.h.
References llvm::po_iterator< T, SetType, true >::end().
Referenced by llvm::LoopBlocksTraversal::end(), and post_order_ext().
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 217 of file CaptureTracking.cpp.
Referenced by isNonEscapingLocalObject(), and PointerMayBeCapturedBefore().
| void llvm::PointerMayBeCaptured | ( | const Value * | V, |
| CaptureTracker * | Tracker | ||
| ) |
PointerMayBeCaptured - Visit the value and the values derived from it and find values which appear to be capturing the pointer value.
This feeds results into and is controlled by the CaptureTracker object.
Definition at line 264 of file CaptureTracking.cpp.
References llvm::ARM_PROC::A, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_end(), Call, llvm::CaptureTracker::captured(), CS, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotCapture(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotThrow(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::SmallSet< T, N, C >::insert(), isNoAliasCall(), llvm::Type::isPointerTy(), llvm::Type::isVoidTy(), llvm::SPII::Load, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::onlyReadsMemory(), llvm::TargetOpcode::PHI, llvm::MCID::Select, llvm::CaptureTracker::shouldExplore(), llvm::SPII::Store, Threshold, llvm::CaptureTracker::tooManyUses(), and llvm::Value::uses().
| bool llvm::PointerMayBeCapturedBefore | ( | const Value * | V, |
| bool | ReturnCaptures, | ||
| bool | StoreCaptures, | ||
| const Instruction * | I, | ||
| DominatorTree * | DT, | ||
| bool | IncludeI = false |
||
| ) |
PointerMayBeCapturedBefore - Return true if this pointer value may be captured by the enclosing function (which is required to exist).
If a DominatorTree is provided, only captures which happen before the given instruction are considered. 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. Captures by the provided instruction are considered if the final parameter is true.
If a DominatorTree is provided, only captures which happen before the given instruction are considered. 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 242 of file CaptureTracking.cpp.
References PointerMayBeCaptured().
Referenced by AddAliasScopeMetadata(), and llvm::AliasAnalysis::callCapturesBefore().
| iterator_range<po_iterator<T> > llvm::post_order | ( | const T & | G | ) |
Definition at line 182 of file PostOrderIterator.h.
References make_range(), po_begin(), and po_end().
Referenced by llvm::LoopInfoBase< N, M >::Analyze(), ComputeUsesVAFloatArgument(), llvm::BranchProbabilityInfo::runOnFunction(), and llvm::PopulateLoopsDFS< BlockT, LoopT >::traverse().
| iterator_range<po_ext_iterator<T, SetType> > llvm::post_order_ext | ( | const T & | G, |
| SetType & | S | ||
| ) |
Definition at line 204 of file PostOrderIterator.h.
References make_range(), po_ext_begin(), and po_ext_end().
|
inline |
Returns the power of two which is less than or equal to the given value.
Essentially, it is a floor operation across the domain of powers of two.
Definition at line 594 of file MathExtras.h.
References countLeadingZeros(), and ZB_Undefined.
|
inline |
|
inline |
|
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 114 of file Interval.h.
References llvm::Interval::Predecessors.
Referenced by addBlockAndPredsToSet(), buildExtractionBlockSet(), CanPropagatePredecessorsForPHIs(), llvm::GraphTraits< Inverse< Interval * > >::child_begin(), llvm::GraphTraits< Inverse< BasicBlock * > >::child_begin(), llvm::GraphTraits< Inverse< const BasicBlock * > >::child_begin(), CloneAndPruneIntoFromInst(), computeLiveInValues(), ComputePostOrders(), ConnectProlog(), DeleteDeadBlock(), llvm::DominatorTree::dominates(), findBasePointer(), llvm::SSAUpdaterTraits< SSAUpdater >::FindPredecessorBlocks(), FindUnconditionalPreds(), FoldBranchToCommonDest(), FoldTwoEntryPHINode(), GetBestDestForJumpOnUndef(), llvm::Loop::getCanonicalInductionVariable(), GetIfCondition(), llvm::LazyValueInfo::getPredicateAt(), llvm::BasicBlock::getSinglePredecessor(), llvm::Loop::getUniqueExitBlocks(), llvm::BasicBlock::getUniquePredecessor(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::Loop::hasDedicatedExits(), InlineFunction(), InsertPreheaderForLoop(), insertUniqueBackedgeBlock(), isCriticalEdge(), llvm::Interval::isLoop(), IsValueFullyAvailableInBlock(), MarkBlocksLiveIn(), mergeEmptyReturnBlocks(), pred_empty(), predecessors(), llvm::BasicBlock::removePredecessor(), reuseTableCompare(), rewriteLoopExitBlock(), separateNestedLoop(), SimplifyCondBranchToCondBranch(), simplifyOneLoop(), SinkThenElseCodeToEnd(), SplitCriticalEdge(), SplitLandingPadPredecessors(), TryToMergeLandingPad(), and TryToSimplifyUncondBranchFromEmptyBlock().
Definition at line 99 of file IR/CFG.h.
References pred_begin(), and pred_end().
Referenced by allPredCameFromBeginCatch(), and allPredsCameFromLandingPad().
|
inline |
|
inline |
|
inline |
Definition at line 117 of file Interval.h.
References llvm::Interval::Predecessors.
Referenced by addBlockAndPredsToSet(), buildExtractionBlockSet(), CanPropagatePredecessorsForPHIs(), llvm::GraphTraits< Inverse< Interval * > >::child_end(), llvm::GraphTraits< Inverse< BasicBlock * > >::child_end(), llvm::GraphTraits< Inverse< const BasicBlock * > >::child_end(), CloneAndPruneIntoFromInst(), computeLiveInValues(), ConnectProlog(), DeleteDeadBlock(), llvm::DominatorTree::dominates(), findBasePointer(), llvm::SSAUpdaterTraits< SSAUpdater >::FindPredecessorBlocks(), FindUnconditionalPreds(), FoldBranchToCommonDest(), GetBestDestForJumpOnUndef(), llvm::Loop::getCanonicalInductionVariable(), GetIfCondition(), llvm::LazyValueInfo::getPredicateAt(), llvm::BasicBlock::getSinglePredecessor(), llvm::BasicBlock::getUniquePredecessor(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::Loop::hasDedicatedExits(), InlineFunction(), InsertPreheaderForLoop(), insertUniqueBackedgeBlock(), isCriticalEdge(), llvm::Interval::isLoop(), IsValueFullyAvailableInBlock(), MarkBlocksLiveIn(), mergeEmptyReturnBlocks(), pred_empty(), predecessors(), llvm::BasicBlock::removePredecessor(), reuseTableCompare(), rewriteLoopExitBlock(), separateNestedLoop(), SimplifyCondBranchToCondBranch(), simplifyOneLoop(), SinkThenElseCodeToEnd(), SplitCriticalEdge(), SplitLandingPadPredecessors(), TryToMergeLandingPad(), and TryToSimplifyUncondBranchFromEmptyBlock().
|
inline |
Definition at line 102 of file IR/CFG.h.
References pred_begin(), and pred_end().
Referenced by allPredCameFromBeginCatch(), allPredsCameFromLandingPad(), and TryToMergeLandingPad().
|
inline |
Definition at line 105 of file IR/CFG.h.
References pred_begin(), and pred_end().
| 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().
| void llvm::PrintDomTree | ( | const DomTreeNodeBase< NodeT > * | N, |
| raw_ostream & | o, | ||
| unsigned | Lev | ||
| ) |
Definition at line 168 of file GenericDomTree.h.
References I, llvm::raw_ostream::indent(), and N.
| void llvm::PrintError | ( | ArrayRef< SMLoc > | ErrorLoc, |
| const Twine & | Msg | ||
| ) |
Definition at line 54 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Error, and PrintMessage().
Referenced by llvm::TGParser::Error(), and PrintFatalError().
Definition at line 58 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Error, llvm::SMLoc::getFromPointer(), llvm::SourceMgr::PrintMessage(), and SrcMgr.
| void llvm::PrintError | ( | const Twine & | Msg | ) |
Definition at line 62 of file TableGen/Error.cpp.
References errs().
| void llvm::PrintFatalError | ( | const Twine & | Msg | ) |
Definition at line 66 of file TableGen/Error.cpp.
References PrintError(), and llvm::sys::RunInterruptHandlers().
Referenced by llvm::SetTheory::evaluate(), llvm::UnOpInit::Fold(), llvm::BinOpInit::Fold(), ForeachHelper(), llvm::RecordKeeper::getAllDerivedDefinitions(), llvm::ListInit::getElementAsRecord(), llvm::Record::getValueAsBit(), llvm::Record::getValueAsBitOrUnset(), llvm::Record::getValueAsBitsInit(), llvm::Record::getValueAsDag(), llvm::Record::getValueAsDef(), llvm::Record::getValueAsInt(), llvm::Record::getValueAsListInit(), llvm::Record::getValueAsListOfDefs(), llvm::Record::getValueAsListOfInts(), llvm::Record::getValueAsListOfStrings(), llvm::Record::getValueAsString(), llvm::Record::getValueInit(), and llvm::Record::resolveReferencesTo().
| void llvm::PrintFatalError | ( | ArrayRef< SMLoc > | ErrorLoc, |
| const Twine & | Msg | ||
| ) |
Definition at line 73 of file TableGen/Error.cpp.
References PrintError(), and llvm::sys::RunInterruptHandlers().
|
static |
Definition at line 26 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Error, llvm::SourceMgr::DK_Note, llvm::ArrayRef< T >::empty(), ErrorsPrinted, llvm::ArrayRef< T >::front(), Kind, llvm::SourceMgr::PrintMessage(), llvm::ArrayRef< T >::size(), and SrcMgr.
Referenced by PrintError(), and PrintWarning().
| void llvm::printMIR | ( | raw_ostream & | OS, |
| const Module & | M | ||
| ) |
Print LLVM IR using the MIR serialization format to the given output stream.
Definition at line 344 of file MIRPrinter.cpp.
| void llvm::printMIR | ( | raw_ostream & | OS, |
| const MachineFunction & | MF | ||
| ) |
Print a machine function using the MIR serialization format to the given output stream.
Definition at line 349 of file MIRPrinter.cpp.
References Printer.
| void llvm::PrintRecyclerStats | ( | size_t | Size, |
| size_t | Align, | ||
| size_t | FreeListSize | ||
| ) |
PrintRecyclingAllocatorStats - Helper for RecyclingAllocator for printing statistics.
Definition at line 32 of file Allocator.cpp.
References errs().
Referenced by llvm::Recycler< llvm::MachineInstr >::PrintStats().
| void llvm::PrintStatistics | ( | ) |
Print statistics to the file returned by CreateInfoOutputFile().
Definition at line 139 of file Statistic.cpp.
References CreateInfoOutputFile(), Enabled, llvm::raw_ostream::flush(), StatInfo, and Stats.
| void llvm::PrintStatistics | ( | raw_ostream & | OS | ) |
Print statistics to the given output stream.
Definition at line 100 of file Statistic.cpp.
References llvm::raw_ostream::flush(), format(), llvm::Statistic::getDesc(), llvm::Statistic::getName(), size, StatInfo, Stats, and utostr().
| void llvm::PrintWarning | ( | ArrayRef< SMLoc > | WarningLoc, |
| const Twine & | Msg | ||
| ) |
Definition at line 42 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Warning, and PrintMessage().
Definition at line 46 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Warning, llvm::SMLoc::getFromPointer(), llvm::SourceMgr::PrintMessage(), and SrcMgr.
| void llvm::PrintWarning | ( | const Twine & | Msg | ) |
Definition at line 50 of file TableGen/Error.cpp.
References errs().
| bool llvm::promoteLoopAccessesToScalars | ( | AliasSet & | AS, |
| SmallVectorImpl< BasicBlock * > & | ExitBlocks, | ||
| SmallVectorImpl< Instruction * > & | InsertPts, | ||
| PredIteratorCache & | PIC, | ||
| LoopInfo * | LI, | ||
| DominatorTree * | DT, | ||
| Loop * | CurLoop, | ||
| AliasSetTracker * | CurAST, | ||
| LICMSafetyInfo * | SafetyInfo | ||
| ) |
Try to promote memory values to scalars by sinking stores out of the loop and moving loads to before the loop.
We do this by looping over the stores in the loop, looking for stores to Must pointers which are loop invariant. It takes AliasSet, Loop exit blocks vector, loop exit blocks insertion point vector, PredIteratorCache, LoopInfo, DominatorTree, Loop, AliasSet information for all instructions of the loop and loop safety information as arguments. It returns changed status.
We do this by looping over the stores in the loop, looking for stores to Must pointers which are loop invariant.
Definition at line 798 of file LICM.cpp.
References llvm::SSAUpdater::AddAvailableValue(), llvm::AliasSet::begin(), llvm::LoopBase< N, M >::contains(), dbgs(), DEBUG, DL, dyn_cast(), llvm::SmallVectorBase::empty(), llvm::AliasSet::empty(), llvm::AliasSet::end(), llvm::Instruction::eraseFromParent(), llvm::Instruction::getAAMetadata(), llvm::LoopBase< N, M >::getLoopPreheader(), llvm::User::getOperand(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::Loop::getUniqueExitBlocks(), llvm::Loop::hasDedicatedExits(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::AliasSet::isForwardingAliasSet(), isGuaranteedToExecute(), llvm::Loop::isLoopInvariant(), llvm::AliasSet::isMod(), llvm::AliasSet::isMustAlias(), llvm::AliasSet::isVolatile(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorImpl< T >::resize(), llvm::Instruction::setAAMetadata(), llvm::LoadInst::setAlignment(), llvm::Instruction::setDebugLoc(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::Value::use_empty(), and llvm::Value::users().
| void llvm::PromoteMemToReg | ( | ArrayRef< AllocaInst * > | Allocas, |
| DominatorTree & | DT, | ||
| AliasSetTracker * | AST = nullptr, |
||
| AssumptionCache * | AC = nullptr |
||
| ) |
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.
Definition at line 981 of file PromoteMemoryToRegister.cpp.
References llvm::ArrayRef< T >::empty().
Referenced by relocationViaAlloca(), and splitVectorValues().
|
inline |
Definition at line 49 of file GenericValue.h.
Referenced by llvm::ExecutionEngine::getConstantValue(), lle_X_fprintf(), lle_X_printf(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), and llvm::Interpreter::visitAllocaInst().
| 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 1908 of file Record.cpp.
References llvm::BinOpInit::Fold(), llvm::StringInit::get(), llvm::BinOpInit::get(), llvm::Record::getNameInit(), llvm::Intrinsic::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 1937 of file Record.cpp.
References llvm::StringInit::get(), and QualifyName().
| bool llvm::RecursivelyDeleteDeadPHINode | ( | PHINode * | PN, |
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
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 397 of file Local.cpp.
References areAllUsesEqual(), llvm::UndefValue::get(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), and RecursivelyDeleteTriviallyDeadInstructions().
Referenced by DeleteDeadPHIs().
| bool llvm::RecursivelyDeleteTriviallyDeadInstructions | ( | Value * | V, |
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
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 340 of file Local.cpp.
References dyn_cast(), llvm::SmallVectorBase::empty(), llvm::Instruction::eraseFromParent(), llvm::User::getNumOperands(), llvm::User::getOperand(), 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(), deleteDeadInstruction(), llvm::objcarc::EraseInstruction(), EraseTerminatorInstAndDCECond(), RecursivelyDeleteDeadPHINode(), SimplifyInstructionsInBlock(), and UnrollLoop().
| bool llvm::recursivelySimplifyInstruction | ( | Instruction * | I, |
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr |
||
| ) |
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 4098 of file InstructionSimplify.cpp.
References replaceAndRecursivelySimplifyImpl().
Referenced by CloneAndPruneIntoFromInst(), RemovePredecessorAndSimplify(), and SimplifyInstructionsInBlock().
| llvm::RegionGraphTraits | ( | MachineRegion | , |
| MachineRegionNode | |||
| ) |
| llvm::RegionGraphTraits | ( | Region | , |
| RegionNode | |||
| ) |
| llvm::RegionNodeGraphTraits | ( | MachineRegionNode | , |
| MachineBasicBlock | , | ||
| MachineRegion | |||
| ) |
| llvm::RegionNodeGraphTraits | ( | RegionNode | , |
| BasicBlock | , | ||
| Region | |||
| ) |
| void llvm::RemapInstruction | ( | Instruction * | I, |
| ValueToValueMapTy & | VM, | ||
| RemapFlags | Flags = RF_None, |
||
| ValueMapTypeRemapper * | TypeMapper = nullptr, |
||
| ValueMaterializer * | Materializer = nullptr |
||
| ) |
RemapInstruction - Convert the instruction operands from referencing the current values into those specified by VMap.
Definition at line 347 of file ValueMapper.cpp.
References llvm::SmallVectorTemplateCommon< T >::begin(), CS, llvm::SmallVectorTemplateCommon< T >::end(), GEP, llvm::FunctionType::get(), llvm::Instruction::getAllMetadata(), llvm::FunctionType::getNumParams(), llvm::Value::getType(), llvm::FunctionType::isVarArg(), MapMetadata(), MapValue(), llvm::AArch64CC::MI, llvm::Value::mutateType(), op, llvm::User::op_begin(), llvm::User::op_end(), llvm::FunctionType::params(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::ValueMapTypeRemapper::remapType(), llvm::SmallVectorImpl< T >::reserve(), RF_IgnoreMissingEntries, and llvm::Instruction::setMetadata().
Referenced by CloneAndPruneIntoFromInst(), CloneFunctionInto(), FoldBranchToCommonDest(), remapInstructionsInBlocks(), UnrollLoop(), and UnrollRuntimeLoopProlog().
| void llvm::remapInstructionsInBlocks | ( | const SmallVectorImpl< BasicBlock * > & | Blocks, |
| ValueToValueMapTy & | VMap | ||
| ) |
Remaps instructions in Blocks using the mapping in VMap.
Definition at line 726 of file CloneFunction.cpp.
References RemapInstruction(), RF_IgnoreMissingEntries, and RF_NoModuleLevelChanges.
Referenced by llvm::LoopVersioning::versionLoop().
| void llvm::remove_fatal_error_handler | ( | ) |
Restores default error handling behaviour.
Definition at line 55 of file ErrorHandling.cpp.
References ErrorHandler, ErrorHandlerMutex, ErrorHandlerUserData, and Lock.
Referenced by LLVMResetFatalErrorHandler(), and llvm::ScopedFatalErrorHandler::~ScopedFatalErrorHandler().
| void llvm::RemovePredecessorAndSimplify | ( | BasicBlock * | BB, |
| BasicBlock * | Pred | ||
| ) |
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.
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 469 of file Local.cpp.
References llvm::BasicBlock::begin(), llvm::BasicBlock::front(), recursivelySimplifyInstruction(), and llvm::BasicBlock::removePredecessor().
Remove all blocks that can not be reached from the function's entry.
removeUnreachableBlocksFromFn - Remove blocks that are not reachable, even if they are in a dead cycle.
Returns true if any basic block was removed.
Return true if a change was made, false otherwise.
Definition at line 1254 of file Local.cpp.
References llvm::Function::begin(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::Function::end(), llvm::iplist< NodeTy, Traits >::erase(), llvm::Function::getBasicBlockList(), I, markAliveBlocks(), SI, llvm::SmallPtrSetImplBase::size(), llvm::Function::size(), succ_begin(), and succ_end().
Referenced by simplifyFunctionCFG().
| bool llvm::replaceAndRecursivelySimplify | ( | Instruction * | I, |
| Value * | SimpleV, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr |
||
| ) |
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 4105 of file InstructionSimplify.cpp.
References replaceAndRecursivelySimplifyImpl().
| bool llvm::replaceDbgDeclareForAlloca | ( | AllocaInst * | AI, |
| Value * | NewAllocaAddress, | ||
| DIBuilder & | Builder, | ||
| bool | Deref | ||
| ) |
Replaces llvm.dbg.declare instruction when an alloca is replaced with a new value.
If Deref is true, tan additional DW_OP_deref is prepended to the expression.
Definition at line 1080 of file Local.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::DIBuilder::createExpression(), llvm::Instruction::eraseFromParent(), FindAllocaDbgDeclare(), llvm::Instruction::getDebugLoc(), llvm::DbgDeclareInst::getExpression(), llvm::Instruction::getParent(), llvm::DbgDeclareInst::getVariable(), llvm::DIBuilder::insertDeclare(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by InlineFunction().
| unsigned llvm::replaceDominatedUsesWith | ( | Value * | From, |
| Value * | To, | ||
| DominatorTree & | DT, | ||
| const BasicBlockEdge & | Edge | ||
| ) |
Replace each use of 'From' with 'To' if that use is dominated by the given edge.
Returns the number of replacements made.
Definition at line 1328 of file Local.cpp.
References dbgs(), DEBUG, llvm::DominatorTree::dominates(), llvm::Value::getName(), llvm::Value::getType(), llvm::Use::set(), llvm::Value::use_begin(), and llvm::Value::use_end().
| 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 209 of file BasicBlockUtils.cpp.
References llvm::Instruction::getDebugLoc(), llvm::Instruction::getParent(), llvm::iplist< NodeTy, Traits >::insert(), ReplaceInstWithValue(), and llvm::Instruction::setDebugLoc().
Referenced by ReplaceInstWithInst(), SplitBlockAndInsertIfThen(), and SplitBlockAndInsertIfThenElse().
| void llvm::ReplaceInstWithInst | ( | Instruction * | From, |
| Instruction * | To | ||
| ) |
ReplaceInstWithInst - Replace the instruction specified by From with the instruction specified by To.
Definition at line 232 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 190 of file BasicBlockUtils.cpp.
References llvm::iplist< NodeTy, Traits >::erase(), llvm::Value::hasName(), I, llvm::Value::replaceAllUsesWith(), and llvm::Value::takeName().
Referenced by ReplaceInstWithInst().
| const SCEV * llvm::replaceSymbolicStrideSCEV | ( | ScalarEvolution * | SE, |
| const ValueToValueMap & | PtrToStride, | ||
| Value * | Ptr, | ||
| Value * | OrigPtr = nullptr |
||
| ) |
Return the SCEV corresponding to a pointer with the symbolic stride replaced with constant one.
If OrigPtr is not null, use it to look up the stride value instead of Ptr. PtrToStride provides the mapping between the pointer value and its stride as collected by LoopVectorizationLegality::collectStridedAccess.
Definition at line 90 of file LoopAccessAnalysis.cpp.
References dbgs(), DEBUG, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::ConstantInt::get(), llvm::ScalarEvolution::getSCEV(), llvm::Value::getType(), One, llvm::SCEVParameterRewriter::rewrite(), SI, and stripIntegerCast().
Referenced by hasComputableBounds(), llvm::RuntimePointerChecking::insert(), and isStridedPtr().
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 61 of file ErrorHandling.cpp.
Referenced by llvm::MCJIT::addObjectFile(), llvm::TargetPassConfig::addPass(), adjustFixupValue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::RegAllocBase::allocatePhysRegs(), llvm::ARMTargetMachine::ARMTargetMachine(), llvm::yaml::Stream::begin(), llvm::MachObjectWriter::bindIndirectSymbols(), llvm::Interpreter::callExternalFunction(), llvm::MCELFStreamer::ChangeSection(), llvm::MCObjectStreamer::changeSectionImpl(), check(), Check(), checkMachOComdat(), checkSanitizerInterfaceFunction(), llvm::MCAssembler::computeFragmentSize(), llvm::TargetSchedModel::computeOperandLatency(), llvm::NVPTXInstrInfo::copyPhysReg(), createAArch64MCCodeGenInfo(), llvm::SpecialCaseList::createOrDie(), createXCoreMCCodeGenInfo(), llvm::object::ELFFile< ELFT >::dynamic_symbol_begin(), llvm::MCELFStreamer::EmitBundleAlignMode(), llvm::MCELFStreamer::EmitBundleLock(), llvm::MCELFStreamer::EmitBundleUnlock(), llvm::MCStreamer::EmitCFIStartProc(), llvm::MCELFStreamer::EmitCommonSymbol(), llvm::MCWinCOFFStreamer::EmitCommonSymbol(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::MipsTargetStreamer::emitDirectiveModuleOddSPReg(), llvm::MachineInstr::emitError(), llvm::AsmPrinter::EmitFunctionEntryLabel(), EmitGCCInlineAsmStr(), llvm::ExecutionEngine::emitGlobals(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::MCStreamer::EmitGPRel32Value(), llvm::MCStreamer::EmitGPRel64Value(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), EmitMSInlineAsmStr(), llvm::MCJIT::emitObject(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::RuntimeDyldImpl::emitSection(), llvm::MCELFStreamer::EmitValueImpl(), llvm::MCELFStreamer::EmitValueToAlignment(), llvm::MCObjectStreamer::EmitWeakReference(), llvm::MCStreamer::EmitWinCFIAllocStack(), llvm::MCStreamer::EmitWinCFIEndChained(), llvm::MCStreamer::EmitWinCFIEndProc(), llvm::MCStreamer::EmitWinCFIPushFrame(), llvm::MCStreamer::EmitWinCFISaveReg(), llvm::MCStreamer::EmitWinCFISaveXMM(), llvm::MCStreamer::EmitWinCFISetFrame(), llvm::MCStreamer::EmitWinCFIStartProc(), llvm::MCStreamer::EmitWinEHHandler(), llvm::MCStreamer::EmitWinEHHandlerData(), llvm::CodeExtractor::extractCodeRegion(), llvm::BitstreamCursor::fillCurWord(), llvm::RuntimeDyldELF::finalizeLoad(), llvm::MCStreamer::Finish(), foldPatchpoint(), llvm::MCJIT::generateCodeForModule(), llvm::BitstreamCursor::getAbbrev(), llvm::object::ELFObjectFile< ELFT >::getArch(), llvm::TargetLoweringObjectFileELF::getCFIPersonalitySymbol(), getComdatGVForCOFF(), llvm::ExecutionEngine::getConstantValue(), llvm::GCOVOptions::getDefault(), getELFComdat(), llvm::MCSymbolMachO::getEncodedFlags(), llvm::object::ELFFile< ELFT >::getEntry(), llvm::XCoreTargetObjectFile::getExplicitSectionGlobal(), llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), llvm::object::ELFObjectFile< ELFT >::getFileFormatName(), getFixupKindLog2Size(), llvm::GCModuleInfo::getGCStrategy(), getInt(), getLabelOffset(), llvm::MDNode::getMostGenericTBAA(), llvm::StreamingMemoryObject::getPointer(), llvm::RTDyldMemoryManager::getPointerToNamedFunction(), llvm::MCJIT::getPointerToNamedFunction(), GetPromotionOpcode(), llvm::MipsTargetLowering::getRegisterByName(), llvm::PPCTargetLowering::getRegisterByName(), llvm::X86TargetLowering::getRegisterByName(), llvm::TargetLowering::getRegisterByName(), llvm::object::ELFObjectFile< ELFT >::getRelocatedSection(), llvm::object::ELFFile< ELFT >::getRelocationSymbol(), llvm::RuntimeDyldMachO::getRelocationValueRef(), getRelocType(), llvm::X86RegisterInfo::getReservedRegs(), GetScratchRegister(), getSEHRegistrationNodeSize(), getStruct(), llvm::MachObjectWriter::getSymbolAddress(), llvm::object::COFFObjectFile::getSymbolAuxData(), llvm::object::MachOObjectFile::getSymbolByIndex(), llvm::object::MachOObjectFile::getSymbolName(), getSymbolOffsetImpl(), llvm::object::ELFObjectFile< ELFT >::getSymbolSection(), llvm::object::MachOObjectFile::getSymbolSection(), llvm::TargetLoweringObjectFile::getTTypeReference(), llvm::BitCodeAbbrevOp::hasEncodingData(), llvm::HexagonMCELFStreamer::HexagonMCEmitCommonSymbol(), inBytes(), llvm::MCAsmLayout::layoutFragment(), LLVMGetSectionContents(), LLVMGetSectionName(), LLVMGetSymbolAddress(), LLVMGetSymbolName(), LLVMMoveToContainingSection(), LLVMVerifyFunction(), LLVMVerifyModule(), llvm::RuntimeDyld::loadObject(), llvm::ExecutionEngine::LoadValueFromMemory(), llvm::AsmPrinter::lowerConstant(), llvm::SparcTargetLowering::LowerFormalArguments_32(), LowerInterruptReturn(), LowerINTRINSIC_WO_CHAIN(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::TargetLowering::makeLibCall(), llvm::MipsSubtarget::MipsSubtarget(), llvm::DWARFDebugFrame::parse(), llvm::SymbolRewriter::RewriteMapParser::parse(), llvm::TargetLowering::ParseConstraints(), llvm::FrameEntry::parseInstructions(), parseRefinementStep(), llvm::sys::fs::recursive_directory_iterator::pop(), llvm::RuntimeDyldMachO::populateIndirectSymbolPointersSection(), llvm::MCSymbol::print(), llvm::NVPTXInstPrinter::printRegName(), llvm::AsmPrinter::PrintSpecial(), llvm::RuntimeDyldCOFFX86_64::processRelocationRef(), llvm::RuntimeDyldELF::processRelocationRef(), llvm::BitstreamCursor::ReadAbbrevRecord(), llvm::BitstreamCursor::readRecord(), report_fatal_error(), llvm::MCContext::reportFatalError(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::VerifierPass::run(), llvm::legacy::FunctionPassManager::run(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::LiveVariables::runOnMachineFunction(), llvm::object::ELFFile< ELFT >::section_begin(), llvm::object::ELFObjectFile< ELFT >::section_rel_begin(), llvm::object::COFFObjectFile::section_rel_begin(), llvm::SelectionDAGISel::SelectInlineAsmMemoryOperands(), llvm::XCoreTargetObjectFile::SelectSectionForGlobal(), llvm::MCSection::setBundleLockState(), split(), llvm::object::ELFFile< ELFT >::symbol_begin(), VerifyVectorType(), llvm::Interpreter::visitUnreachableInst(), writeFragment(), llvm::MCAssembler::writeFragmentPadding(), llvm::MCAssembler::writeSectionData(), and llvm::raw_fd_ostream::~raw_fd_ostream().
Definition at line 65 of file ErrorHandling.cpp.
References report_fatal_error().
Definition at line 69 of file ErrorHandling.cpp.
References report_fatal_error().
Definition at line 73 of file ErrorHandling.cpp.
References llvm::StringRef::data(), ErrorHandler, ErrorHandlerMutex, ErrorHandlerUserData, Lock, llvm::sys::RunInterruptHandlers(), llvm::StringRef::size(), llvm::Twine::str(), llvm::raw_svector_ostream::str(), and llvm::support::endian::write().
resolveTypes - Find a common type that T1 and T2 convert to.
Return 0 if no such type exists.
Return null if no such type exists.
Definition at line 180 of file Record.cpp.
References llvm::RecordRecTy::get(), llvm::Record::getSuperClasses(), and llvm::RecTy::typeIsConvertibleTo().
|
static |
Definition at line 155 of file ARMCallingConv.h.
References RetCC_ARM_APCS_Custom_f64().
|
static |
Definition at line 144 of file ARMCallingConv.h.
References f64RetAssign(), and llvm::MVT::v2f64.
Referenced by RetCC_ARM_AAPCS_Custom_f64().
| bool llvm::returnTypeIsEligibleForTailCall | ( | const Function * | F, |
| const Instruction * | I, | ||
| const ReturnInst * | Ret, | ||
| const TargetLoweringBase & | TLI | ||
| ) |
Test if given that the input instruction is in the tail call position if the return type or any attributes of the function will inhibit tail call optimization.
Definition at line 527 of file CodeGen/Analysis.cpp.
References llvm::SmallVectorTemplateCommon< T >::back(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::NVPTXISD::CallVal, firstRealType(), llvm::UndefValue::get(), llvm::Intrinsic::getAttributes(), llvm::Function::getAttributes(), llvm::Module::getDataLayout(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::CompositeType::getTypeAtIndex(), I, nextRealType(), llvm::Attribute::NoAlias, llvm::SmallVectorTemplateCommon< T, typename >::rbegin(), llvm::SmallVectorTemplateCommon< T, typename >::rend(), llvm::AttributeSet::ReturnIndex, llvm::Attribute::SExt, slotOnlyDiscardsData(), and llvm::Attribute::ZExt.
Referenced by FindPotentialTailCall(), and isInTailCallPosition().
Reverse the bits in Val.
Definition at line 231 of file MathExtras.h.
References BitReverseTable256.
| bool llvm::rewriteAArch64FrameIndex | ( | MachineInstr & | MI, |
| unsigned | FrameRegIdx, | ||
| unsigned | FrameReg, | ||
| int & | Offset, | ||
| const AArch64InstrInfo * | TII | ||
| ) |
rewriteAArch64FrameIndex - Rewrite MI to access 'Offset' bytes from the FP.
Return false if the offset could not be handled directly in MI, and return the left-over portion by reference.
Definition at line 2319 of file AArch64InstrInfo.cpp.
References AArch64FrameOffsetCanUpdate, AArch64FrameOffsetIsLegal, llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), emitFrameOffset(), llvm::MachineInstr::eraseFromParent(), llvm::MachineInstr::getDebugLoc(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), isAArch64FrameOffsetLegal(), llvm::AArch64CC::MI, llvm::MachineInstr::NoFlags, llvm::MachineInstr::setDesc(), and TII.
Referenced by llvm::AArch64RegisterInfo::eliminateFrameIndex(), and llvm::AArch64RegisterInfo::resolveFrameIndex().
| bool llvm::rewriteARMFrameIndex | ( | MachineInstr & | MI, |
| unsigned | FrameRegIdx, | ||
| unsigned | FrameReg, | ||
| int & | Offset, | ||
| const ARMBaseInstrInfo & | TII | ||
| ) |
rewriteARMFrameIndex / rewriteT2FrameIndex - Rewrite MI to access 'Offset' bytes from the FP.
Return false if the offset could not be handled directly in MI, and return the left-over portion by reference.
Definition at line 2097 of file ARMBaseInstrInfo.cpp.
References llvm::ARMII::AddrMode2, llvm::ARMII::AddrMode3, llvm::ARMII::AddrMode4, llvm::ARMII::AddrMode5, llvm::ARMII::AddrMode6, llvm::ARMII::AddrMode_i12, llvm::ARMII::AddrModeMask, llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), llvm::ARM_AM::getAM2Offset(), llvm::ARM_AM::getAM2Op(), llvm::ARM_AM::getAM3Offset(), llvm::ARM_AM::getAM3Op(), llvm::ARM_AM::getAM5Offset(), llvm::ARM_AM::getAM5Op(), llvm::MachineInstr::getDesc(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::ARM_AM::getSOImmVal(), llvm::ARM_AM::getSOImmValRotate(), llvm::ISD::INLINEASM, llvm_unreachable, llvm::MachineInstr::RemoveOperand(), llvm::ARM_AM::rotr32(), llvm::MachineInstr::setDesc(), llvm::ARM_AM::sub, and llvm::MCInstrDesc::TSFlags.
Referenced by llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), and llvm::ARMBaseRegisterInfo::resolveFrameIndex().
| bool llvm::rewriteT2FrameIndex | ( | MachineInstr & | MI, |
| unsigned | FrameRegIdx, | ||
| unsigned | FrameReg, | ||
| int & | Offset, | ||
| const ARMBaseInstrInfo & | TII | ||
| ) |
Definition at line 450 of file Thumb2InstrInfo.cpp.
References AddDefaultPred(), llvm::MachineInstr::addOperand(), llvm::ARMII::AddrMode4, llvm::ARMII::AddrMode5, llvm::ARMII::AddrMode6, llvm::ARMII::AddrModeMask, llvm::ARMII::AddrModeT2_i12, llvm::ARMII::AddrModeT2_i8, llvm::ARMII::AddrModeT2_i8s4, llvm::ARMII::AddrModeT2_so, llvm::ARMCC::AL, llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), llvm::MachineOperand::CreateReg(), llvm::ARM_AM::getAM5Offset(), llvm::ARM_AM::getAM5Op(), llvm::MachineInstr::getDesc(), llvm::MachineOperand::getImm(), getInstrPredicate(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), getReg(), llvm::ARM_AM::getT2SOImmVal(), immediateOffsetOpcode(), llvm::ISD::INLINEASM, llvm_unreachable, llvm::AArch64CC::MI, negativeOffsetOpcode(), positiveOffsetOpcode(), llvm::MachineInstr::RemoveOperand(), llvm::ARM_AM::rotr32(), llvm::MachineInstr::setDesc(), llvm::ARM_AM::sub, and llvm::MCInstrDesc::TSFlags.
Referenced by llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), and llvm::ARMBaseRegisterInfo::resolveFrameIndex().
|
inline |
|
inline |
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:
Definition at line 609 of file MathExtras.h.
References Align().
Referenced by addByteCountSuffix(), CC_ARM_AAPCS_Custom_Aggregate(), ComputeLinkerOptionsLoadCommandSize(), llvm::MachObjectWriter::computeSectionAddresses(), llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), llvm::MipsFrameLowering::estimateStackSize(), llvm::SparcSubtarget::getAdjustedFrameSize(), llvm::AMDGPUFrameLowering::getFrameIndexOffset(), llvm::MemoryBuffer::getNewUninitMemBuffer(), llvm::DataLayout::getTypeAllocSize(), llvm::MipsTargetLowering::HandleByVal(), llvm::CCState::HandleByVal(), llvm::SparcTargetLowering::LowerCall_64(), OffsetToAlignment(), llvm::MDNode::operator delete(), llvm::MDNode::operator new(), llvm::BitVector::reset(), llvm::BitVector::set(), VarAndRedzoneSize(), and llvm::MachObjectWriter::writeObject().
| const std::error_category & llvm::sampleprof_category | ( | ) |
Definition at line 49 of file SampleProf.cpp.
References ErrorCategory.
Referenced by make_error_code().
Definition at line 3928 of file APFloat.cpp.
References llvm::APFloat::getInf(), llvm::APFloat::getSemantics(), llvm::APFloat::getZero(), llvm::APFloat::isInfinity(), llvm::APFloat::isNaN(), llvm::APFloat::isNegative(), llvm::APFloat::isZero(), llvm::fltSemantics::maxExponent, llvm::fltSemantics::minExponent, and X.
| scc_iterator<T> llvm::scc_begin | ( | const T & | G | ) |
Construct the begin iterator for a deduced graph type T.
Definition at line 224 of file SCCIterator.h.
References llvm::scc_iterator< GraphT, GT >::begin().
Referenced by llvm::BlockFrequencyInfoImplBase::analyzeIrreducible().
| scc_iterator<Inverse<T> > llvm::scc_begin | ( | const Inverse< T > & | G | ) |
Construct the begin iterator for a deduced graph type T's Inverse<T>.
Definition at line 234 of file SCCIterator.h.
References llvm::sys::path::begin().
| scc_iterator<T> llvm::scc_end | ( | const T & | G | ) |
Construct the end iterator for a deduced graph type T.
Definition at line 229 of file SCCIterator.h.
References llvm::scc_iterator< GraphT, GT >::end().
| scc_iterator<Inverse<T> > llvm::scc_end | ( | const Inverse< T > & | G | ) |
Construct the end iterator for a deduced graph type T's Inverse<T>.
Definition at line 239 of file SCCIterator.h.
References llvm::sys::path::end().
| void * llvm::SearchForAddressOfSpecialSymbol | ( | const char * | symbolName | ) |
Definition at line 55 of file SearchForAddressOfSpecialSymbol.cpp.
References DoSearch().
Referenced by llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
| 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.
| 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 I.
| 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.
References SI.
Referenced by computeLiveInValues().
set_union(A, B) - Compute A := A u B, return whether A changed.
Definition at line 23 of file SetOperations.h.
References SI.
Referenced by computeLiveInValues().
| void llvm::setCurrentDebugType | ( | const char * | Type | ) |
setCurrentDebugType - Set the current debug type, as if the -debug-only=X option were specified.
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 65 of file Debug.cpp.
References CurrentDebugType.
|
inline |
SignExtend32 - Sign extend B-bit number x to 32-bit int.
Usage int32_t r = SignExtend32<5>(x);
Definition at line 622 of file MathExtras.h.
Referenced by llvm::PPC::get_VSPLTI_elt().
|
inline |
Sign extend number in the bottom B bits of X to a 32-bit int.
Requires 0 < B <= 32.
Definition at line 628 of file MathExtras.h.
|
inline |
SignExtend64 - Sign extend B-bit number x to 64-bit int.
Usage int64_t r = SignExtend64<5>(x);
Definition at line 634 of file MathExtras.h.
Referenced by llvm::RuntimeDyldMachOAArch64::decodeAddend(), DecodeAddiGroupBranch(), DecodeBgtzGroupBranch(), DecodeBgtzlGroupBranch(), DecodeBlezGroupBranch(), DecodeBlezlGroupBranch(), DecodeDaddiGroupBranch(), llvm::SelectionDAG::getGlobalAddress(), llvm::RuntimeDyldMachOAArch64::processRelocationRef(), and tryBuildVectorReplicate().
|
inline |
Sign extend number in the bottom B bits of X to a 64-bit int.
Requires 0 < B <= 64.
Definition at line 640 of file MathExtras.h.
| Value * llvm::SimplifyAddInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| bool | isNSW, | ||
| bool | isNUW, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyAddInst - Given operands for an Add, see if we can fold the result.
If not, this returns null.
Definition at line 585 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyAddInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitAdd().
| Value * llvm::SimplifyAndInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyAndInst - Given operands for an And, see if we can fold the result.
If not, this returns null.
Definition at line 1656 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyAndInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), SimplifyMulInst(), ThreadCmpOverSelect(), and llvm::InstCombiner::visitAnd().
| Value * llvm::SimplifyAShrInst | ( | Value * | Op0, |
| Value * | Op1, | ||
| bool | isExact, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyAShrInst - Given operands for a AShr, see if we can fold the result.
If not, this returns null.
Definition at line 1455 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyAShrInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitAShr().
| Value * llvm::SimplifyBinOp | ( | unsigned | Opcode, |
| Value * | LHS, | ||
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyBinOp - Given operands for a BinaryOperator, see if we can fold the result.
If not, this returns null.
Definition at line 3727 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyBinOp().
Referenced by ExpandBinOp(), SimplifyAssociativeBinOp(), SimplifyFPBinOp(), SimplifySubInst(), SimplifyWithOpReplaced(), ThreadBinOpOverPHI(), ThreadBinOpOverSelect(), and tryFactorization().
| Value * llvm::SimplifyCall | ( | Value * | V, |
| User::op_iterator | ArgBegin, | ||
| User::op_iterator | ArgEnd, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
Given a function and iterators over arguments, see if we can fold the result.
If this call could not be simplified returns null.
Definition at line 3867 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyCall().
Referenced by SimplifyInstruction(), and llvm::InstCombiner::visitCallInst().
| Value * llvm::SimplifyCall | ( | Value * | V, |
| ArrayRef< Value * > | Args, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
Given a function and set of arguments, see if we can fold the result.
If this call could not be simplified returns null.
Definition at line 3875 of file InstructionSimplify.cpp.
References llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), RecursionLimit, and SimplifyCall().
| bool llvm::SimplifyCFG | ( | BasicBlock * | BB, |
| const TargetTransformInfo & | TTI, | ||
| unsigned | BonusInstThreshold, | ||
| AssumptionCache * | AC = nullptr |
||
| ) |
SimplifyCFG - This function is used to do simplification of a CFG.
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.
For example, it adjusts branches to branches to eliminate the extra hop, eliminates unreachable basic blocks, and does other "peephole" optimization of the CFG. It returns true if a modification was made.
Definition at line 4684 of file SimplifyCFG.cpp.
References llvm::Module::getDataLayout(), and llvm::BasicBlock::getModule().
Referenced by iterativelySimplifyCFG(), and TryToSimplifyUncondBranchWithICmpInIt().
| Value * llvm::SimplifyCmpInst | ( | unsigned | Predicate, |
| Value * | LHS, | ||
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyCmpInst - Given operands for a CmpInst, see if we can fold the result.
If not, this returns null.
Definition at line 3753 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyCmpInst().
Referenced by SimplifyWithOpReplaced(), ThreadCmpOverPHI(), and ThreadCmpOverSelect().
| Value * llvm::SimplifyExtractElementInst | ( | Value * | Vec, |
| Value * | Idx, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
Given operands for an ExtractElementInst, see if we can fold the result.
If not, this returns null.
Definition at line 3584 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyExtractElementInst().
Referenced by SimplifyInstruction(), and llvm::InstCombiner::visitExtractElementInst().
| Value * llvm::SimplifyExtractValueInst | ( | Value * | Agg, |
| ArrayRef< unsigned > | Idxs, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
Given operands for an ExtractValueInst, see if we can fold the result.
If not, this returns null.
Definition at line 3549 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyExtractValueInst().
Referenced by SimplifyInstruction(), and llvm::InstCombiner::visitExtractValueInst().
| Value * llvm::SimplifyFAddInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| FastMathFlags | FMF, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
Given operands for an FAdd, see if we can fold the result.
If not, this returns null.
Definition at line 957 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFAddInst().
Referenced by SimplifyBinOp(), SimplifyFPBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFAdd().
| Value * llvm::SimplifyFCmpInst | ( | unsigned | Predicate, |
| Value * | LHS, | ||
| Value * | RHS, | ||
| FastMathFlags | FMF, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyFCmpInst - Given operands for an FCmpInst, see if we can fold the result.
If not, this returns null.
Definition at line 3163 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFCmpInst().
Referenced by SimplifyCmpInst(), SimplifyInstruction(), and llvm::InstCombiner::visitFCmpInst().
| Value * llvm::SimplifyFDivInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| FastMathFlags | FMF, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyFDivInst - Given operands for an FDiv, see if we can fold the result.
If not, this returns null.
Definition at line 1148 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFDivInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFDiv().
| Value * llvm::SimplifyFMulInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| FastMathFlags | FMF, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
Given operands for an FMul, see if we can fold the result.
If not, this returns null.
Definition at line 975 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFMulInst().
Referenced by SimplifyBinOp(), SimplifyFPBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFMul().
| Value * llvm::SimplifyFPBinOp | ( | unsigned | Opcode, |
| Value * | LHS, | ||
| Value * | RHS, | ||
| const FastMathFlags & | FMF, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyFPBinOp - Given operands for a BinaryOperator, see if we can fold the result.
If not, this returns null. In contrast to SimplifyBinOp, try to use FastMathFlag when folding the result. In case we don't need FastMathFlags, simply fall to SimplifyBinOp.
Definition at line 3735 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFPBinOp().
| Value * llvm::SimplifyFRemInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| FastMathFlags | FMF, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyFRemInst - Given operands for an FRem, see if we can fold the result.
If not, this returns null.
Definition at line 1273 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFRemInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFRem().
| Value * llvm::SimplifyFSubInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| FastMathFlags | FMF, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
Given operands for an FSub, see if we can fold the result.
If not, this returns null.
Definition at line 966 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFSubInst().
Referenced by SimplifyBinOp(), SimplifyFPBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFSub().
| Value * llvm::SimplifyGEPInst | ( | ArrayRef< Value * > | Ops, |
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyGEPInst - Given operands for an GetElementPtrInst, see if we can fold the result.
If not, this returns null.
Definition at line 3478 of file InstructionSimplify.cpp.
References llvm::Intrinsic::getType(), RecursionLimit, and SimplifyGEPInst().
Referenced by SimplifyInstruction(), and llvm::InstCombiner::visitGetElementPtrInst().
| Value * llvm::SimplifyICmpInst | ( | unsigned | Predicate, |
| Value * | LHS, | ||
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| Instruction * | CxtI = nullptr |
||
| ) |
SimplifyICmpInst - Given operands for an ICmpInst, see if we can fold the result.
If not, this returns null.
Definition at line 3038 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyICmpInst().
Referenced by SimplifyCmpInst(), SimplifyICmpInst(), SimplifyInstruction(), and llvm::InstCombiner::visitICmpInst().
| Value * llvm::SimplifyInsertValueInst | ( | Value * | Agg, |
| Value * | Val, | ||
| ArrayRef< unsigned > | Idxs, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyInsertValueInst - Given operands for an InsertValueInst, see if we can fold the result.
If not, this returns null.
Definition at line 3516 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyInsertValueInst().
Referenced by SimplifyInstruction().
| Value * llvm::SimplifyInstruction | ( | Instruction * | I, |
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr |
||
| ) |
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 3885 of file InstructionSimplify.cpp.
References llvm::APIntOps::And(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_end(), Call, ConstantFoldInstruction(), CS, ExtractElement(), llvm::UndefValue::get(), llvm::InsertValueInst::getAggregateOperand(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledValue(), llvm::Instruction::getFastMathFlags(), llvm::InsertValueInst::getIndices(), llvm::InsertValueInst::getInsertedValueOperand(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), I, llvm::User::op_begin(), llvm::User::op_end(), llvm::APIntOps::Or(), llvm::TargetOpcode::PHI, llvm::MCID::Select, SimplifyAddInst(), SimplifyAndInst(), SimplifyAShrInst(), SimplifyCall(), SimplifyExtractElementInst(), SimplifyExtractValueInst(), SimplifyFAddInst(), SimplifyFCmpInst(), SimplifyFDivInst(), SimplifyFMulInst(), SimplifyFRemInst(), SimplifyFSubInst(), SimplifyGEPInst(), SimplifyICmpInst(), SimplifyInsertValueInst(), SimplifyLShrInst(), SimplifyMulInst(), SimplifyOrInst(), SimplifyPHINode(), SimplifySDivInst(), SimplifySelectInst(), SimplifyShlInst(), SimplifySRemInst(), SimplifySubInst(), SimplifyTruncInst(), SimplifyUDivInst(), SimplifyURemInst(), SimplifyXorInst(), and llvm::APIntOps::Xor().
Referenced by DecomposeGEPExpression(), findPHIToPartitionLoops(), FoldCondBranchOnPHI(), FoldTwoEntryPHINode(), GetUnderlyingObject(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), InlineFunction(), replaceAndRecursivelySimplifyImpl(), llvm::SCEVExpander::replaceCongruentIVs(), simplifyOneLoop(), TryToSimplifyUncondBranchWithICmpInIt(), UnrollLoop(), and llvm::InstCombiner::visitPHINode().
| bool llvm::SimplifyInstructionsInBlock | ( | BasicBlock * | BB, |
| const TargetLibraryInfo * | TLI = nullptr |
||
| ) |
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 422 of file Local.cpp.
References llvm::BasicBlock::begin(), llvm::BasicBlock::end(), RecursivelyDeleteTriviallyDeadInstructions(), and recursivelySimplifyInstruction().
| bool llvm::simplifyLoop | ( | Loop * | L, |
| DominatorTree * | DT, | ||
| LoopInfo * | LI, | ||
| Pass * | PP, | ||
| AliasAnalysis * | AA = nullptr, |
||
| ScalarEvolution * | SE = nullptr, |
||
| AssumptionCache * | AC = nullptr |
||
| ) |
Simplify each loop in a loop nest recursively.
This takes a potentially un-simplified loop L (and its children) and turns it into a simplified loop nest with preheaders and single backedges. It will optionally update AliasAnalysis and ScalarEvolution analyses if passed into it.
Definition at line 719 of file LoopSimplify.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::LoopBase< N, M >::begin(), llvm::SmallVectorBase::empty(), llvm::LoopBase< N, M >::end(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), simplifyOneLoop(), and llvm::SmallVectorTemplateCommon< T >::size().
Referenced by UnrollLoop().
| bool llvm::simplifyLoopIVs | ( | Loop * | L, |
| ScalarEvolution * | SE, | ||
| LPPassManager * | LPM, | ||
| SmallVectorImpl< WeakVH > & | Dead | ||
| ) |
SimplifyLoopIVs - Simplify users of induction variables within this loop.
Simplify users of induction variables within this loop.
This does not actually change or add IVs.
Definition at line 527 of file SimplifyIndVar.cpp.
References llvm::LoopBase< N, M >::getHeader(), I, and simplifyUsersOfIV().
Referenced by UnrollLoop().
| Value * llvm::SimplifyLShrInst | ( | Value * | Op0, |
| Value * | Op1, | ||
| bool | isExact, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyLShrInst - Given operands for a LShr, see if we can fold the result.
If not, this returns null.
Definition at line 1421 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyLShrInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitLShr().
| Value * llvm::SimplifyMulInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyMulInst - Given operands for a Mul, see if we can fold the result.
If not, this returns null.
Definition at line 984 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyMulInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitMul().
| Value * llvm::SimplifyOrInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyOrInst - Given operands for an Or, see if we can fold the result.
If not, this returns null.
Definition at line 1844 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyOrInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), ThreadCmpOverSelect(), and llvm::InstCombiner::visitOr().
| Value * llvm::SimplifySDivInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifySDivInst - Given operands for an SDiv, see if we can fold the result.
If not, this returns null.
Definition at line 1088 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifySDivInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitSDiv().
| Value * llvm::SimplifySelectInst | ( | Value * | Cond, |
| Value * | TrueVal, | ||
| Value * | FalseVal, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifySelectInst - Given operands for a SelectInst, see if we can fold the result.
If not, this returns null.
Definition at line 3385 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifySelectInst().
Referenced by SimplifyInstruction().
| Value * llvm::SimplifyShlInst | ( | Value * | Op0, |
| Value * | Op1, | ||
| bool | isNSW, | ||
| bool | isNUW, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyShlInst - Given operands for a Shl, see if we can fold the result.
If not, this returns null.
Definition at line 1397 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyShlInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitShl().
| Value * llvm::SimplifySRemInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifySRemInst - Given operands for an SRem, see if we can fold the result.
If not, this returns null.
Definition at line 1228 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifySRemInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitSRem().
| Value * llvm::SimplifySubInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| bool | isNSW, | ||
| bool | isNUW, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifySubInst - Given operands for a Sub, see if we can fold the result.
If not, this returns null.
Definition at line 778 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifySubInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitSub().
| Value * llvm::SimplifyTruncInst | ( | Value * | Op, |
| Type * | Ty, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyTruncInst - Given operands for an TruncInst, see if we can fold the result.
If not, this returns null.
Definition at line 3631 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyTruncInst().
Referenced by SimplifyInstruction(), and SimplifySubInst().
| Value * llvm::SimplifyUDivInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyUDivInst - Given operands for a UDiv, see if we can fold the result.
If not, this returns null.
Definition at line 1106 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyUDivInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitUDiv().
| Value * llvm::SimplifyURemInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyURemInst - Given operands for a URem, see if we can fold the result.
If not, this returns null.
Definition at line 1246 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyURemInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitURem().
| bool llvm::simplifyUsersOfIV | ( | PHINode * | CurrIV, |
| ScalarEvolution * | SE, | ||
| LPPassManager * | LPM, | ||
| SmallVectorImpl< WeakVH > & | Dead, | ||
| IVVisitor * | V = nullptr |
||
| ) |
simplifyUsersOfIV - Simplify instructions that use this induction variable by using ScalarEvolution to analyze the IV's recurrence.
Simplify instructions that use this induction variable by using ScalarEvolution to analyze the IV's recurrence.
Definition at line 516 of file SimplifyIndVar.cpp.
References llvm::Pass::getAnalysis(), llvm::LoopInfoBase< N, M >::getLoopFor(), and llvm::Instruction::getParent().
Referenced by simplifyLoopIVs().
| Value * llvm::SimplifyXorInst | ( | Value * | LHS, |
| Value * | RHS, | ||
| const DataLayout & | DL, | ||
| const TargetLibraryInfo * | TLI = nullptr, |
||
| const DominatorTree * | DT = nullptr, |
||
| AssumptionCache * | AC = nullptr, |
||
| const Instruction * | CxtI = nullptr |
||
| ) |
SimplifyXorInst - Given operands for a Xor, see if we can fold the result.
If not, this returns null.
Definition at line 1901 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyXorInst().
Referenced by SimplifyAddInst(), SimplifyBinOp(), SimplifyInstruction(), SimplifySubInst(), ThreadCmpOverSelect(), and llvm::InstCombiner::visitXor().
| bool llvm::sinkRegion | ( | DomTreeNode * | N, |
| AliasAnalysis * | AA, | ||
| LoopInfo * | LI, | ||
| DominatorTree * | DT, | ||
| TargetLibraryInfo * | TLI, | ||
| Loop * | CurLoop, | ||
| AliasSetTracker * | CurAST, | ||
| LICMSafetyInfo * | SafetyInfo | ||
| ) |
Walk the specified region of the CFG (defined by all blocks dominated by the specified block, and that are in the current loop) in reverse depth first order w.r.t the DominatorTree.
This allows us to visit uses before definitions, allowing us to sink a loop body in one pass without iteration. Takes DomTreeNode, AliasAnalysis, LoopInfo, DominatorTree, DataLayout, TargetLibraryInfo, Loop, AliasSet information for all instructions of the loop and loop safety information as arguments. It returns changed status.
This allows us to visit uses before definitions, allowing us to sink a loop body in one pass without iteration.
Definition at line 297 of file LICM.cpp.
References llvm::BasicBlock::begin(), canSinkOrHoistInst(), llvm::LoopBase< N, M >::contains(), dbgs(), DEBUG, llvm::AliasSetTracker::deleteValue(), llvm::BasicBlock::end(), llvm::Instruction::eraseFromParent(), llvm::DomTreeNodeBase< T >::getBlock(), llvm::DomTreeNodeBase< T >::getChildren(), I, inSubLoop(), isInstructionTriviallyDead(), isNotUsedInLoop(), and sink().
|
inline |
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 125 of file ReaderWriter.h.
References llvm::support::endian::read32le().
Definition at line 369 of file NVPTXUtilities.cpp.
References GEP, isMemorySpaceTransferIntrinsic(), and llvm::Value::stripPointerCasts().
Referenced by skipPointerTransfer().
Definition at line 392 of file NVPTXUtilities.cpp.
References GEP, isMemorySpaceTransferIntrinsic(), skipPointerTransfer(), llvm::Value::stripPointerCasts(), and llvm::NVPTX::PTXLdStInstCode::V2.
|
inlinestatic |
Definition at line 79 of file Sparc.h.
References llvm::SPCC::FCC_A, llvm::SPCC::FCC_E, llvm::SPCC::FCC_G, llvm::SPCC::FCC_GE, llvm::SPCC::FCC_L, llvm::SPCC::FCC_LE, llvm::SPCC::FCC_LG, llvm::SPCC::FCC_N, llvm::SPCC::FCC_NE, llvm::SPCC::FCC_O, llvm::SPCC::FCC_U, llvm::SPCC::FCC_UE, llvm::SPCC::FCC_UG, llvm::SPCC::FCC_UGE, llvm::SPCC::FCC_UL, llvm::SPCC::FCC_ULE, llvm::SPCC::ICC_A, llvm::SPCC::ICC_CC, llvm::SPCC::ICC_CS, llvm::SPCC::ICC_E, llvm::SPCC::ICC_G, llvm::SPCC::ICC_GE, llvm::SPCC::ICC_GU, llvm::SPCC::ICC_L, llvm::SPCC::ICC_LE, llvm::SPCC::ICC_LEU, llvm::SPCC::ICC_N, llvm::SPCC::ICC_NE, llvm::SPCC::ICC_NEG, llvm::SPCC::ICC_POS, llvm::SPCC::ICC_VC, llvm::SPCC::ICC_VS, and llvm_unreachable.
Referenced by llvm::SparcInstPrinter::printCCOperand().
| unsigned llvm::SplitAllCriticalEdges | ( | Function & | F, |
| const CriticalEdgeSplittingOptions & | Options = CriticalEdgeSplittingOptions() |
||
| ) |
Definition at line 267 of file BasicBlockUtils.cpp.
References llvm::Function::begin(), llvm::Function::end(), llvm::TerminatorInst::getNumSuccessors(), I, and SplitCriticalEdge().
| BasicBlock * llvm::SplitBlock | ( | BasicBlock * | Old, |
| Instruction * | SplitPt, | ||
| DominatorTree * | DT = nullptr, |
||
| LoopInfo * | LI = nullptr |
||
| ) |
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 285 of file BasicBlockUtils.cpp.
References llvm::DominatorTreeBase< N >::addNewBlock(), llvm::DominatorTreeBase< N >::changeImmediateDominator(), llvm::LoopInfoBase< N, M >::getLoopFor(), llvm::Value::getName(), llvm::DominatorTreeBase< N >::getNode(), I, and llvm::BasicBlock::splitBasicBlock().
Referenced by SplitEdge(), UnrollRuntimeLoopProlog(), and llvm::LoopVersioning::versionLoop().
| TerminatorInst * llvm::SplitBlockAndInsertIfThen | ( | Value * | Cond, |
| Instruction * | SplitBefore, | ||
| bool | Unreachable, | ||
| MDNode * | BranchWeights = nullptr, |
||
| DominatorTree * | DT = nullptr |
||
| ) |
SplitBlockAndInsertIfThen - Split the containing block at the specified instruction - everything before and including SplitBefore stays in the old basic block, and everything after SplitBefore is moved to a new block.
The two blocks are connected by a conditional branch (with value of Cmp being the condition). Before: Head SplitBefore Tail After: Head if (Cond) ThenBlock SplitBefore Tail
If Unreachable is true, then ThenBlock ends with UnreachableInst, otherwise it branches to Tail. Returns the NewBasicBlock's terminator.
Updates DT if given.
The two blocks are connected by a conditional branch (with value of Cmp being the condition). Before: Head SplitBefore Tail After: Head if (Cond) ThenBlock SplitBefore Tail
If Unreachable is true, then ThenBlock ends with UnreachableInst, otherwise it branches to Tail. Returns the NewBasicBlock's terminator.
Definition at line 704 of file BasicBlockUtils.cpp.
References llvm::DominatorTreeBase< N >::addNewBlock(), llvm::CallingConv::C, llvm::DominatorTreeBase< N >::changeImmediateDominator(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), llvm::BasicBlock::getContext(), llvm::Instruction::getDebugLoc(), llvm::DominatorTreeBase< N >::getNode(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::LLVMContext::MD_prof, ReplaceInstWithInst(), llvm::Instruction::setMetadata(), and llvm::BasicBlock::splitBasicBlock().
| void llvm::SplitBlockAndInsertIfThenElse | ( | Value * | Cond, |
| Instruction * | SplitBefore, | ||
| TerminatorInst ** | ThenTerm, | ||
| TerminatorInst ** | ElseTerm, | ||
| MDNode * | BranchWeights = nullptr |
||
| ) |
SplitBlockAndInsertIfThenElse is similar to SplitBlockAndInsertIfThen, but also creates the ElseBlock.
Before: Head SplitBefore Tail After: Head if (Cond) ThenBlock else ElseBlock SplitBefore Tail
Definition at line 755 of file BasicBlockUtils.cpp.
References llvm::CallingConv::C, llvm::BasicBlock::Create(), llvm::BranchInst::Create(), llvm::BasicBlock::getContext(), llvm::Instruction::getDebugLoc(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::LLVMContext::MD_prof, ReplaceInstWithInst(), llvm::Instruction::setMetadata(), and llvm::BasicBlock::splitBasicBlock().
| BasicBlock * llvm::SplitBlockPredecessors | ( | BasicBlock * | BB, |
| ArrayRef< BasicBlock * > | Preds, | ||
| const char * | Suffix, | ||
| AliasAnalysis * | AA = nullptr, |
||
| DominatorTree * | DT = nullptr, |
||
| LoopInfo * | LI = nullptr, |
||
| bool | PreserveLCSSA = false |
||
| ) |
SplitBlockPredecessors - This method introduces at least one new basic block into the function and moves some of the predecessors of BB to be predecessors of the new block.
The new predecessors are indicated by the Preds array. The new block is given a suffix of 'Suffix'. Returns new basic block to which predecessors from Preds are now pointing.
If BB is a landingpad block then additional basicblock might be introduced. It will have Suffix+".split_lp". See SplitLandingPadPredecessors for more details on this case.
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).
The new predecessors are indicated by the Preds array. The new block is given a suffix of 'Suffix'. Returns new basic block to which predecessors from Preds are now pointing.
If BB is a landingpad block then additional basicblock might be introduced. It will have suffix of 'Suffix'+".split_lp". See SplitLandingPadPredecessors for more details on this case.
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 475 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), llvm::UndefValue::get(), llvm::BasicBlock::getContext(), llvm::Instruction::getDebugLoc(), llvm::BasicBlock::getFirstNonPHI(), llvm::Value::getName(), llvm::BasicBlock::getParent(), I, llvm::BasicBlock::isLandingPad(), llvm::ArrayRef< T >::size(), SplitLandingPadPredecessors(), UpdateAnalysisInformation(), and UpdatePHINodes().
Referenced by ConnectProlog(), InsertPreheaderForLoop(), normalizeForInvokeSafepoint(), rewriteLoopExitBlock(), separateNestedLoop(), and SplitCriticalEdge().
| BasicBlock * llvm::SplitCriticalEdge | ( | TerminatorInst * | TI, |
| unsigned | SuccNum, | ||
| const CriticalEdgeSplittingOptions & | Options = CriticalEdgeSplittingOptions() |
||
| ) |
SplitCriticalEdge - If this edge is a critical edge, insert a new node to split the critical edge.
This will update the analyses passed in through the option struct. This returns the new block if the edge was split, null otherwise.
If MergeIdenticalEdges in the options struct 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.
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 133 of file BreakCriticalEdges.cpp.
References llvm::CriticalEdgeSplittingOptions::AA, llvm::SmallVectorTemplateCommon< T >::back(), llvm::BasicBlock::begin(), llvm::SmallVectorImpl< T >::clear(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), createPHIsForSplitLoopExit(), llvm::CriticalEdgeSplittingOptions::DontDeleteUselessPHIs, llvm::CriticalEdgeSplittingOptions::DT, llvm::SmallVectorBase::empty(), llvm::PHINode::getBasicBlockIndex(), llvm::Function::getBasicBlockList(), llvm::Value::getContext(), llvm::Instruction::getDebugLoc(), llvm::PHINode::getIncomingBlock(), llvm::Value::getName(), llvm::TerminatorInst::getNumSuccessors(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::TerminatorInst::getSuccessor(), I, llvm::iplist< NodeTy, Traits >::insert(), isCriticalEdge(), llvm::BasicBlock::isLandingPad(), llvm::CriticalEdgeSplittingOptions::LI, llvm::CriticalEdgeSplittingOptions::MergeIdenticalEdges, P, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), pred_begin(), pred_end(), llvm::CriticalEdgeSplittingOptions::PreserveLCSSA, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::BasicBlock::removePredecessor(), llvm::PHINode::setIncomingBlock(), llvm::TerminatorInst::setSuccessor(), and SplitBlockPredecessors().
Referenced by DemoteRegToStack(), SplitAllCriticalEdges(), SplitCriticalEdge(), SplitCriticalSideEffectEdges(), and SplitEdge().
|
inline |
Definition at line 147 of file BasicBlockUtils.h.
References llvm::SuccIterator< Term_, BB_ >::getSuccessorIndex(), llvm::BasicBlock::getTerminator(), and SplitCriticalEdge().
|
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 159 of file BasicBlockUtils.h.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), and SplitCriticalEdge().
|
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. It updates the analyses passed in the options struct
Definition at line 175 of file BasicBlockUtils.h.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), llvm::BasicBlock::getTerminator(), and SplitCriticalEdge().
| BasicBlock * llvm::SplitEdge | ( | BasicBlock * | BB, |
| BasicBlock * | Succ, | ||
| DominatorTree * | DT = nullptr, |
||
| LoopInfo * | LI = nullptr |
||
| ) |
SplitEdge - Split the edge connecting specified block.
Pass P must not be NULL.
Definition at line 239 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), llvm::TerminatorInst::getNumSuccessors(), llvm::BasicBlock::getSinglePredecessor(), llvm::TerminatorInst::getSuccessor(), GetSuccessorNumber(), llvm::BasicBlock::getTerminator(), SP, SplitBlock(), and SplitCriticalEdge().
Referenced by replaceConstantExprOp(), and UnrollRuntimeLoopProlog().
| void llvm::SplitLandingPadPredecessors | ( | BasicBlock * | OrigBB, |
| ArrayRef< BasicBlock * > | Preds, | ||
| const char * | Suffix1, | ||
| const char * | Suffix2, | ||
| SmallVectorImpl< BasicBlock * > & | NewBBs, | ||
| AliasAnalysis * | AA = nullptr, |
||
| DominatorTree * | DT = nullptr, |
||
| LoopInfo * | LI = nullptr, |
||
| bool | PreserveLCSSA = false |
||
| ) |
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 543 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::Instruction::getDebugLoc(), llvm::BasicBlock::getFirstInsertionPt(), llvm::BasicBlock::getFirstNonPHI(), llvm::BasicBlock::getInstList(), llvm::BasicBlock::getLandingPadInst(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::iplist< NodeTy, Traits >::insert(), llvm::BasicBlock::isLandingPad(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::Instruction::setDebugLoc(), llvm::Value::setName(), llvm::ArrayRef< T >::size(), UpdateAnalysisInformation(), and UpdatePHINodes().
Referenced by SplitBlockPredecessors().
| 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 50 of file StringExtras.cpp.
References getToken(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by llvm::ARMTargetLowering::ExpandInlineAsm(), llvm::X86TargetLowering::ExpandInlineAsm(), and llvm::sys::Process::FindInEnvPath().
| llvm::STATISTIC | ( | NumFunctions | , |
| "Total number of functions" | |||
| ) |
| llvm::STATISTIC | ( | NumUnsafeStackRestorePointsFunctions | , |
| "Number of functions that use setjmp or exceptions" | |||
| ) |
| llvm::STATISTIC | ( | NumAllocas | , |
| "Total number of allocas" | |||
| ) |
| llvm::STATISTIC | ( | NumUnsafeStaticAllocas | , |
| "Number of unsafe static allocas" | |||
| ) |
| llvm::STATISTIC | ( | NumUnsafeDynamicAllocas | , |
| "Number of unsafe dynamic allocas" | |||
| ) |
| llvm::STATISTIC | ( | NumUnsafeStackRestorePoints | , |
| "Number of setjmps and landingpads" | |||
| ) |
| 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 21 of file StringExtras.cpp.
References llvm::StringRef::equals_lower(), N, llvm::StringRef::npos, llvm::StringRef::size(), and llvm::StringRef::substr().
Strip debug info in the module if it exists.
To do this, we remove all calls to the debugger intrinsics and any named metadata for debugging. We also remove debug locations for instructions. Return true if module is modified.
Definition at line 327 of file DebugInfo.cpp.
References llvm::Instruction::eraseFromParent(), llvm::NamedMDNode::eraseFromParent(), F(), llvm::Module::getFunction(), llvm::NamedMDNode::getName(), llvm::Module::named_metadata_begin(), llvm::Module::named_metadata_end(), llvm::StringRef::startswith(), and stripDebugInfo().
Referenced by UpgradeDebugInfo().
| llvm::Value * llvm::stripGetElementPtr | ( | llvm::Value * | Ptr, |
| ScalarEvolution * | SE, | ||
| Loop * | Lp | ||
| ) |
If the argument is a GEP, then returns the operand identified by getGEPInductionOperand.
However, if there is some other non-loop-invariant operand, it returns that instead.
Definition at line 250 of file VectorUtils.cpp.
References dyn_cast(), GEP, getGEPInductionOperand(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::ScalarEvolution::getSCEV(), and llvm::ScalarEvolution::isLoopInvariant().
Referenced by getStrideFromPointer().
Definition at line 83 of file LoopAccessAnalysis.cpp.
Referenced by replaceSymbolicStrideSCEV().
|
inlinestatic |
Subtract one from a Constant.
Definition at line 69 of file InstCombineInternal.h.
References llvm::ConstantInt::get(), llvm::ConstantExpr::getSub(), and llvm::Value::getType().
Referenced by llvm::InstCombiner::FoldAndOfICmps(), llvm::InstCombiner::FoldICmpDivCst(), llvm::InstCombiner::FoldOrOfICmps(), llvm::InstCombiner::visitAdd(), and llvm::InstCombiner::visitICmpInstWithInstAndIntCst().
|
inline |
succ_begin/succ_end - define methods so that Intervals may be used just like BasicBlocks can with the succ_* functions, and *succ_iterator.
Definition at line 104 of file Interval.h.
References llvm::Interval::Successors.
Referenced by llvm::SSAUpdaterTraits< SSAUpdater >::BlkSucc_begin(), CanPropagatePredecessorsForPHIs(), changeToUnreachable(), llvm::GraphTraits< BlockFrequencyInfo * >::child_begin(), llvm::GraphTraits< Interval * >::child_begin(), llvm::GraphTraits< BasicBlock * >::child_begin(), llvm::GraphTraits< const BasicBlock * >::child_begin(), ConnectProlog(), DFSPass(), llvm::CodeExtractor::extractCodeRegion(), FindFunctionBackedges(), findReachableBlocks(), llvm::DOTGraphTraits< const Function * >::getEdgeSourceLabel(), llvm::BranchProbabilityInfo::getEdgeWeight(), llvm::BranchProbabilityInfo::getHotSucc(), llvm::BasicBlock::getSingleSuccessor(), llvm::Loop::getUniqueExitBlocks(), llvm::BasicBlock::getUniqueSuccessor(), HoistThenElseCodeToIf(), isPotentiallyReachable(), isPotentiallyReachableFromMany(), isProfitableToFoldUnconditional(), isSafeToHoistInvoke(), isTrivialLoopExitBlockHelper(), IsValueFullyAvailableInBlock(), markAliveBlocks(), MergeBlockIntoPredecessor(), llvm::BranchProbabilityInfo::print(), removeUnreachableBlocks(), llvm::InstCombiner::run(), SafeToMergeTerminators(), simplifyOneLoop(), llvm::BasicBlock::splitBasicBlock(), succ_empty(), successors(), TryToMergeLandingPad(), and UnrollLoop().
|
inline |
Definition at line 236 of file RegionIterator.h.
|
inline |
Definition at line 256 of file IR/CFG.h.
References llvm::BasicBlock::getTerminator().
|
inline |
Definition at line 259 of file IR/CFG.h.
References llvm::BasicBlock::getTerminator().
Definition at line 268 of file IR/CFG.h.
References succ_begin(), and succ_end().
Referenced by allSuccessorsReachEndCatch(), and FindFunctionBackedges().
|
inline |
Definition at line 107 of file Interval.h.
References llvm::Interval::Successors.
Referenced by llvm::SSAUpdaterTraits< SSAUpdater >::BlkSucc_end(), changeToUnreachable(), llvm::GraphTraits< BlockFrequencyInfo * >::child_end(), llvm::GraphTraits< Interval * >::child_end(), llvm::GraphTraits< BasicBlock * >::child_end(), llvm::GraphTraits< const BasicBlock * >::child_end(), ConnectProlog(), DFSPass(), llvm::CodeExtractor::extractCodeRegion(), FindFunctionBackedges(), findReachableBlocks(), llvm::BranchProbabilityInfo::getEdgeWeight(), llvm::BranchProbabilityInfo::getHotSucc(), llvm::BasicBlock::getSingleSuccessor(), llvm::Loop::getUniqueExitBlocks(), llvm::BasicBlock::getUniqueSuccessor(), HoistThenElseCodeToIf(), isPotentiallyReachable(), isPotentiallyReachableFromMany(), isProfitableToFoldUnconditional(), isSafeToHoistInvoke(), isTrivialLoopExitBlockHelper(), IsValueFullyAvailableInBlock(), markAliveBlocks(), MergeBlockIntoPredecessor(), llvm::IntervalIterator< NodeTy, OrigContainer_t, GT, IGT >::operator++(), llvm::RNSuccIterator< FlatIt< NodeType >, BlockT, RegionT >::operator++(), llvm::BranchProbabilityInfo::print(), removeUnreachableBlocks(), llvm::InstCombiner::run(), SafeToMergeTerminators(), simplifyOneLoop(), llvm::BasicBlock::splitBasicBlock(), succ_empty(), successors(), TryToMergeLandingPad(), and UnrollLoop().
|
inline |
Definition at line 241 of file RegionIterator.h.
|
inline |
Definition at line 262 of file IR/CFG.h.
References llvm::BasicBlock::getTerminator().
|
inline |
Definition at line 265 of file IR/CFG.h.
References llvm::BasicBlock::getTerminator().
|
inline |
Definition at line 271 of file IR/CFG.h.
References succ_begin(), and succ_end().
Referenced by allSuccessorsReachEndCatch(), analyzeLoopUnrollCost(), llvm::IDFCalculator::calculate(), computeLiveInValues(), computeLiveOutSeed(), and scanOneBB().
|
inline |
Definition at line 274 of file IR/CFG.h.
References succ_begin(), and succ_end().
| int llvm::TableGenMain | ( | char * | argv0, |
| TableGenMainFn * | MainFn | ||
| ) |
Definition at line 73 of file Main.cpp.
References llvm::SourceMgr::AddNewSourceBuffer(), createDependencyFile(), DependFilename, ErrorsPrinted, errs(), llvm::sys::fs::F_Text, llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFileOrSTDIN(), IncludeDirs, InputFilename(), llvm::tool_output_file::keep(), llvm::tool_output_file::os(), OutputFilename, llvm::TGParser::ParseFile(), llvm::MipsISD::Ret, llvm::SourceMgr::setIncludeDirs(), and SrcMgr.
Construct a string ref from a boolean.
Definition at line 32 of file StringExtras.h.
Referenced by llvm::MCDwarfLineTableHeader::getFile(), and setFunctionAttributes().
| 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 245 of file ScalarEvolutionNormalization.cpp.
Referenced by llvm::IVUsers::AddUsersImpl(), and llvm::IVUsers::getExpr().
| bool llvm::tryFoldSPUpdateIntoPushPop | ( | const ARMSubtarget & | Subtarget, |
| MachineFunction & | MF, | ||
| MachineInstr * | MI, | ||
| unsigned | NumBytes | ||
| ) |
Tries to add registers to the reglist of a given base-updating push/pop instruction to adjust the stack by an additional NumBytes.
This can save a few bytes per function in code-size, but obviously generates more memory traffic. As such, it only takes effect in functions being optimised for size.
Definition at line 1987 of file ARMBaseInstrInfo.cpp.
References llvm::MachineInstrBuilder::addOperand(), llvm::MachineOperand::CreateReg(), llvm::TargetRegisterInfo::getCalleeSavedRegs(), llvm::MachineFunction::getFunction(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::MachineRegisterInfo::getTargetRegisterInfo(), llvm::Function::hasFnAttribute(), isAnySubRegLive(), isCalleeSavedRegister(), isPopOpcode(), isPushOpcode(), llvm::Attribute::MinSize, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::MachineInstr::RemoveOperand(), and llvm::SmallVectorTemplateCommon< T >::size().
Referenced by llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitPrologue(), and llvm::ARMFrameLowering::emitPrologue().
| 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.
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 750 of file Local.cpp.
References llvm::BasicBlock::begin(), CanPropagatePredecessorsForPHIs(), dbgs(), DEBUG, llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), llvm::BasicBlock::front(), llvm::Function::getEntryBlock(), llvm::BasicBlock::getInstList(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), I, pred_begin(), pred_end(), redirectValuesFromPredecessorsToPhi(), llvm::Value::replaceAllUsesWith(), and llvm::iplist< NodeTy, Traits >::splice().
| bool llvm::UnrollLoop | ( | Loop * | L, |
| unsigned | Count, | ||
| unsigned | TripCount, | ||
| bool | AllowRuntime, | ||
| bool | AllowExpensiveTripCount, | ||
| unsigned | TripMultiple, | ||
| LoopInfo * | LI, | ||
| Pass * | PP, | ||
| LPPassManager * | LPM, | ||
| AssumptionCache * | AC | ||
| ) |
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.
If AllowRuntime is true then UnrollLoop will consider unrolling loops that have a runtime (i.e. not compile time constant) trip count. Unrolling these loops require a unroll "prologue" that runs "RuntimeTripCount % Count" iterations before branching into the unrolled loop. UnrollLoop will not runtime-unroll the loop if computing RuntimeTripCount will be expensive and AllowExpensiveTripCount is false.
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 from the Pass it must also preserve those analyses.
Definition at line 163 of file LoopUnroll.cpp.
References llvm::LoopBase< N, M >::addBasicBlockToLoop(), llvm::LoopBase< N, M >::addChildLoop(), llvm::PHINode::addIncoming(), llvm::sys::path::begin(), llvm::ValueMap< KeyT, ValueT, Config >::begin(), llvm::BasicBlock::begin(), llvm::LoopBlocksDFS::beginRPO(), llvm::AssumptionCache::clear(), CloneBasicBlock(), llvm::LoopBase< N, M >::contains(), llvm::BranchInst::Create(), dbgs(), DEBUG, DEBUG_TYPE, llvm::LPPassManager::deleteLoopFromQueue(), DL, dyn_cast(), emitOptimizationRemark(), llvm::SmallVectorBase::empty(), llvm::sys::path::const_iterator::end, llvm::ValueMap< KeyT, ValueT, Config >::end(), llvm::LoopBlocksDFS::endRPO(), llvm::iplist< NodeTy, Traits >::erase(), llvm::Instruction::eraseFromParent(), F(), llvm::ValueMap< KeyT, ValueT, Config >::find(), FoldBlockIntoPredecessor(), for(), llvm::ScalarEvolution::forgetLoop(), formLCSSARecursively(), llvm::Pass::getAnalysisIfAvailable(), llvm::Function::getBasicBlockList(), llvm::LoopBase< N, M >::getBlocks(), llvm::Function::getContext(), llvm::Module::getDataLayout(), llvm::LoopBase< N, M >::getHeader(), llvm::PHINode::getIncomingValueForBlock(), llvm::BasicBlock::getInstList(), llvm::LoopInfoBase< N, M >::getLoopFor(), llvm::LoopBase< N, M >::getLoopLatch(), llvm::LoopBase< N, M >::getLoopPreheader(), llvm::BasicBlock::getModule(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::LoopBase< N, M >::getParentLoop(), llvm::Loop::getStartLoc(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), GreatestCommonDivisor64(), llvm::BasicBlock::hasAddressTaken(), I, isInstructionTriviallyDead(), llvm::Loop::isSafeToClone(), llvm::BranchInst::isUnconditional(), llvm::DenseMapBase< SmallDenseMap< KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::lookup(), llvm::LoopBlocksDFS::perform(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::iplist< NodeTy, Traits >::push_back(), llvm::DominatorTreeBase< N >::recalculate(), RecursivelyDeleteTriviallyDeadInstructions(), RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::Value::replaceAllUsesWith(), llvm::LoopInfo::replacementPreservesLCSSAForm(), llvm::ValueMapIterator< DenseMapT, KeyT >::ValueTypeProxy::second, llvm::BranchInst::setSuccessor(), SI, SimplifyInstruction(), simplifyLoop(), simplifyLoopIVs(), succ_begin(), succ_end(), T, UnrollRuntimeLoopProlog(), and VI.
| bool llvm::UnrollRuntimeLoopProlog | ( | Loop * | L, |
| unsigned | Count, | ||
| bool | AllowExpensiveTripCount, | ||
| 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: else jump Prol
Prol: LoopBody; extraiters -= 1 // Omitted if unroll factor is 2. if (extraiters != 0) jump Prol: // Omitted if unroll factor is 2. if (tripcount < loopfactor) jump End Loop: ... End:
Definition at line 280 of file LoopUnrollRuntime.cpp.
References llvm::sys::path::begin(), CloneLoopBlocks(), ConnectProlog(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateAnd(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCondBr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateIsNotNull(), DL, llvm::sys::path::const_iterator::end, llvm::Function::end(), llvm::Instruction::eraseFromParent(), llvm::SCEVExpander::expandCodeFor(), F(), llvm::ScalarEvolution::forgetLoop(), llvm::ScalarEvolution::getAddExpr(), llvm::Pass::getAnalysisIfAvailable(), llvm::LPPassManager::getAsPass(), llvm::ScalarEvolution::getBackedgeTakenCount(), llvm::Function::getBasicBlockList(), getBitWidth(), llvm::ScalarEvolution::getConstant(), llvm::Module::getDataLayout(), llvm::DominatorTreeWrapperPass::getDomTree(), llvm::LoopBase< N, M >::getExitingBlock(), llvm::LoopBase< N, M >::getHeader(), llvm::LoopBase< N, M >::getLoopLatch(), llvm::LoopBase< N, M >::getLoopPreheader(), llvm::BasicBlock::getModule(), llvm::BasicBlock::getParent(), llvm::LoopBase< N, M >::getParentLoop(), llvm::BasicBlock::getTerminator(), llvm::SCEV::getType(), llvm::Loop::getUniqueExitBlock(), I, llvm::SCEVExpander::isHighCostExpansion(), llvm::Type::isIntegerTy(), llvm::Loop::isLoopSimplifyForm(), isPowerOf2_32(), Log2_32(), llvm::LoopBlocksDFS::perform(), RemapInstruction(), RF_IgnoreMissingEntries, RF_NoModuleLevelChanges, llvm::iplist< NodeTy, Traits >::splice(), SplitBlock(), and SplitEdge().
Referenced by UnrollLoop().
|
inline |
Definition at line 58 of file CodeGen.h.
References llvm::CodeModel::Default, llvm::CodeModel::JITDefault, llvm::CodeModel::Kernel, llvm::CodeModel::Large, LLVMCodeModelDefault, LLVMCodeModelJITDefault, LLVMCodeModelKernel, LLVMCodeModelLarge, LLVMCodeModelMedium, LLVMCodeModelSmall, llvm::CodeModel::Medium, and llvm::CodeModel::Small.
|
inline |
Definition at line 204 of file LLVMContext.h.
|
inline |
Definition at line 465 of file DataLayout.h.
References P.
Referenced by LLVMABIAlignmentOfType(), LLVMABISizeOfType(), LLVMAddAggressiveDCEPass(), LLVMAddAlias(), LLVMAddAlignmentFromAssumptionsPass(), LLVMAddAlwaysInlinerPass(), LLVMAddAnalysisPasses(), LLVMAddArgumentPromotionPass(), LLVMAddBasicAliasAnalysisPass(), LLVMAddBBVectorizePass(), LLVMAddBitTrackingDCEPass(), LLVMAddCase(), LLVMAddCFGSimplificationPass(), LLVMAddClause(), LLVMAddConstantMergePass(), LLVMAddConstantPropagationPass(), LLVMAddCorrelatedValuePropagationPass(), LLVMAddDeadArgEliminationPass(), LLVMAddDeadStoreEliminationPass(), LLVMAddDemoteMemoryToRegisterPass(), LLVMAddDestination(), LLVMAddEarlyCSEPass(), LLVMAddFunction(), LLVMAddFunctionAttrsPass(), LLVMAddFunctionInliningPass(), LLVMAddGlobal(), LLVMAddGlobalDCEPass(), LLVMAddGlobalInAddressSpace(), LLVMAddGlobalMapping(), LLVMAddGlobalOptimizerPass(), LLVMAddGVNPass(), LLVMAddIncoming(), LLVMAddIndVarSimplifyPass(), LLVMAddInstructionCombiningPass(), LLVMAddInternalizePass(), LLVMAddIPConstantPropagationPass(), LLVMAddIPSCCPPass(), LLVMAddJumpThreadingPass(), LLVMAddLICMPass(), LLVMAddLoopDeletionPass(), LLVMAddLoopIdiomPass(), LLVMAddLoopRerollPass(), LLVMAddLoopRotatePass(), LLVMAddLoopUnrollPass(), LLVMAddLoopUnswitchPass(), LLVMAddLoopVectorizePass(), LLVMAddLowerExpectIntrinsicPass(), LLVMAddLowerSwitchPass(), LLVMAddMemCpyOptPass(), LLVMAddMergedLoadStoreMotionPass(), LLVMAddModule(), LLVMAddNamedMetadataOperand(), LLVMAddPartiallyInlineLibCallsPass(), LLVMAddPromoteMemoryToRegisterPass(), LLVMAddPruneEHPass(), LLVMAddReassociatePass(), LLVMAddScalarizerPass(), LLVMAddScalarReplAggregatesPass(), LLVMAddScalarReplAggregatesPassSSA(), LLVMAddScalarReplAggregatesPassWithThreshold(), LLVMAddSCCPPass(), LLVMAddScopedNoAliasAAPass(), LLVMAddSLPVectorizePass(), LLVMAddStripDeadPrototypesPass(), LLVMAddStripSymbolsPass(), LLVMAddTailCallEliminationPass(), LLVMAddTargetLibraryInfo(), LLVMAddTypeBasedAliasAnalysisPass(), LLVMAddVerifierPass(), LLVMAlignOf(), LLVMAppendBasicBlockInContext(), LLVMArrayType(), LLVMBasicBlockAsValue(), LLVMBlockAddress(), LLVMBuildAdd(), LLVMBuildAddrSpaceCast(), LLVMBuildAggregateRet(), LLVMBuildAlloca(), LLVMBuildAnd(), LLVMBuildArrayAlloca(), LLVMBuildArrayMalloc(), LLVMBuildAShr(), LLVMBuildAtomicRMW(), LLVMBuildBinOp(), LLVMBuildBitCast(), LLVMBuildBr(), LLVMBuildCall(), LLVMBuildCast(), LLVMBuildCondBr(), LLVMBuildExactSDiv(), LLVMBuildExtractElement(), LLVMBuildExtractValue(), LLVMBuildFAdd(), LLVMBuildFCmp(), LLVMBuildFDiv(), LLVMBuildFence(), LLVMBuildFMul(), LLVMBuildFNeg(), LLVMBuildFPCast(), LLVMBuildFPExt(), LLVMBuildFPToSI(), LLVMBuildFPToUI(), LLVMBuildFPTrunc(), LLVMBuildFree(), LLVMBuildFRem(), LLVMBuildFSub(), LLVMBuildGEP(), LLVMBuildGlobalString(), LLVMBuildGlobalStringPtr(), LLVMBuildICmp(), LLVMBuildInBoundsGEP(), LLVMBuildIndirectBr(), LLVMBuildInsertElement(), LLVMBuildInsertValue(), LLVMBuildIntCast(), LLVMBuildIntToPtr(), LLVMBuildInvoke(), LLVMBuildIsNotNull(), LLVMBuildIsNull(), LLVMBuildLandingPad(), LLVMBuildLoad(), LLVMBuildLShr(), LLVMBuildMalloc(), LLVMBuildMul(), LLVMBuildNeg(), LLVMBuildNot(), LLVMBuildNSWAdd(), LLVMBuildNSWMul(), LLVMBuildNSWNeg(), LLVMBuildNSWSub(), LLVMBuildNUWAdd(), LLVMBuildNUWMul(), LLVMBuildNUWNeg(), LLVMBuildNUWSub(), LLVMBuildOr(), LLVMBuildPhi(), LLVMBuildPointerCast(), LLVMBuildPtrDiff(), LLVMBuildPtrToInt(), LLVMBuildResume(), LLVMBuildRet(), LLVMBuildRetVoid(), LLVMBuildSDiv(), LLVMBuildSelect(), LLVMBuildSExt(), LLVMBuildSExtOrBitCast(), LLVMBuildShl(), LLVMBuildShuffleVector(), LLVMBuildSIToFP(), LLVMBuildSRem(), LLVMBuildStore(), LLVMBuildStructGEP(), LLVMBuildSub(), LLVMBuildSwitch(), LLVMBuildTrunc(), LLVMBuildTruncOrBitCast(), LLVMBuildUDiv(), LLVMBuildUIToFP(), LLVMBuildUnreachable(), LLVMBuildURem(), LLVMBuildVAArg(), LLVMBuildXor(), LLVMBuildZExt(), LLVMBuildZExtOrBitCast(), LLVMByteOrder(), LLVMCallFrameAlignmentOfType(), LLVMClearInsertionPosition(), LLVMCloneModule(), LLVMConstAddrSpaceCast(), LLVMConstAllOnes(), LLVMConstArray(), LLVMConstBitCast(), LLVMConstFPCast(), LLVMConstFPExt(), LLVMConstFPToSI(), LLVMConstFPToUI(), LLVMConstFPTrunc(), LLVMConstInlineAsm(), LLVMConstIntCast(), LLVMConstIntToPtr(), LLVMConstNamedStruct(), LLVMConstNull(), LLVMConstPointerCast(), LLVMConstPtrToInt(), LLVMConstReal(), LLVMConstRealOfString(), LLVMConstRealOfStringAndSize(), LLVMConstSExt(), LLVMConstSExtOrBitCast(), LLVMConstSIToFP(), LLVMConstStringInContext(), LLVMConstStructInContext(), LLVMConstTrunc(), LLVMConstTruncOrBitCast(), LLVMConstUIToFP(), LLVMConstZExt(), LLVMConstZExtOrBitCast(), LLVMContextDispose(), LLVMContextSetDiagnosticHandler(), LLVMContextSetYieldCallback(), LLVMCopyStringRepOfTargetData(), LLVMCreateBuilderInContext(), LLVMCreateExecutionEngineForModule(), LLVMCreateFunctionPassManagerForModule(), LLVMCreateGenericValueOfFloat(), LLVMCreateInterpreterForModule(), LLVMCreateJITCompilerForModule(), LLVMCreateMCJITCompilerForModule(), LLVMCreateObjectFile(), LLVMCreateTargetMachine(), LLVMDeleteBasicBlock(), LLVMDisposeBuilder(), LLVMDisposeExecutionEngine(), LLVMDisposeGenericValue(), LLVMDisposeMCJITMemoryManager(), LLVMDisposeMemoryBuffer(), LLVMDisposeModule(), LLVMDisposeModuleProvider(), LLVMDisposeObjectFile(), LLVMDisposePassManager(), LLVMDisposeRelocationIterator(), LLVMDisposeSectionIterator(), LLVMDisposeSymbolIterator(), LLVMDisposeTargetData(), LLVMDisposeTargetMachine(), LLVMDoubleTypeInContext(), LLVMDumpModule(), LLVMDumpType(), LLVMDumpValue(), LLVMElementAtOffset(), LLVMFindFunction(), LLVMFloatTypeInContext(), LLVMFP128TypeInContext(), LLVMFunctionType(), LLVMGenericValueIntWidth(), LLVMGenericValueToFloat(), LLVMGenericValueToInt(), LLVMGenericValueToPointer(), LLVMGetAsString(), LLVMGetBasicBlockParent(), LLVMGetBasicBlockTerminator(), LLVMGetBitcodeModuleInContext(), LLVMGetBufferSize(), LLVMGetBufferStart(), LLVMGetCurrentDebugLocation(), LLVMGetDataLayout(), LLVMGetDiagInfoDescription(), LLVMGetDiagInfoSeverity(), LLVMGetElementAsConstant(), LLVMGetExecutionEngineTargetData(), LLVMGetExecutionEngineTargetMachine(), LLVMGetFCmpPredicate(), LLVMGetFirstFunction(), LLVMGetFirstGlobal(), LLVMGetFirstInstruction(), LLVMGetFirstUse(), LLVMGetFunctionAddress(), LLVMGetGlobalValueAddress(), LLVMGetICmpPredicate(), LLVMGetInsertBlock(), LLVMGetInstructionCallConv(), LLVMGetInstructionOpcode(), LLVMGetIntrinsicID(), LLVMGetLastFunction(), LLVMGetLastGlobal(), LLVMGetLastInstruction(), LLVMGetMDKindIDInContext(), LLVMGetMDNodeNumOperands(), LLVMGetMDNodeOperands(), LLVMGetMDString(), LLVMGetModuleContext(), LLVMGetNamedFunction(), LLVMGetNamedGlobal(), LLVMGetNamedMetadataNumOperands(), LLVMGetNamedMetadataOperands(), LLVMGetNextBasicBlock(), LLVMGetNextTarget(), LLVMGetNextUse(), LLVMGetNumOperands(), LLVMGetOperand(), LLVMGetOperandUse(), LLVMGetPointerToGlobal(), LLVMGetPreviousBasicBlock(), LLVMGetRelocationOffset(), LLVMGetRelocations(), LLVMGetRelocationSymbol(), LLVMGetRelocationType(), LLVMGetRelocationTypeName(), LLVMGetSectionAddress(), LLVMGetSectionContainsSymbol(), LLVMGetSectionContents(), LLVMGetSectionName(), LLVMGetSections(), LLVMGetSectionSize(), LLVMGetSymbolAddress(), LLVMGetSymbolName(), LLVMGetSymbols(), LLVMGetSymbolSize(), LLVMGetTarget(), LLVMGetTargetDescription(), LLVMGetTargetMachineCPU(), LLVMGetTargetMachineData(), LLVMGetTargetMachineFeatureString(), LLVMGetTargetMachineTarget(), LLVMGetTargetMachineTriple(), LLVMGetTargetName(), LLVMGetTypeByName(), LLVMGetTypeContext(), LLVMGetTypeKind(), LLVMGetUndef(), LLVMGetUsedValue(), LLVMGetUser(), LLVMGetValueName(), LLVMHalfTypeInContext(), LLVMInitializeAnalysis(), LLVMInitializeCodeGen(), LLVMInitializeCore(), LLVMInitializeInstCombine(), LLVMInitializeInstrumentation(), LLVMInitializeIPA(), LLVMInitializeIPO(), LLVMInitializeObjCARCOpts(), LLVMInitializeScalarOpts(), LLVMInitializeTarget(), LLVMInitializeTransformUtils(), LLVMInitializeVectorization(), LLVMInsertBasicBlockInContext(), LLVMInsertIntoBuilder(), LLVMInsertIntoBuilderWithName(), LLVMInstructionClone(), LLVMInt128TypeInContext(), LLVMInt16TypeInContext(), LLVMInt1TypeInContext(), LLVMInt32TypeInContext(), LLVMInt64TypeInContext(), LLVMInt8TypeInContext(), LLVMIntPtrType(), LLVMIntPtrTypeForAS(), LLVMIntPtrTypeForASInContext(), LLVMIntPtrTypeInContext(), LLVMIntTypeInContext(), LLVMIsAMDNode(), LLVMIsAMDString(), LLVMIsConstant(), LLVMIsConstantString(), LLVMIsNull(), LLVMIsRelocationIteratorAtEnd(), LLVMIsSectionIteratorAtEnd(), LLVMIsSymbolIteratorAtEnd(), LLVMIsUndef(), LLVMLabelTypeInContext(), LLVMLinkModules(), LLVMMDNodeInContext(), LLVMMDStringInContext(), LLVMModuleCreateWithNameInContext(), LLVMMoveBasicBlockAfter(), LLVMMoveBasicBlockBefore(), LLVMMoveToContainingSection(), LLVMMoveToNextRelocation(), LLVMMoveToNextSection(), LLVMMoveToNextSymbol(), LLVMOffsetOfElement(), LLVMParseBitcodeInContext(), LLVMParseIRInContext(), LLVMPassManagerBuilderDispose(), LLVMPassManagerBuilderPopulateFunctionPassManager(), LLVMPassManagerBuilderPopulateLTOPassManager(), LLVMPassManagerBuilderPopulateModulePassManager(), LLVMPassManagerBuilderSetDisableUnitAtATime(), LLVMPassManagerBuilderSetDisableUnrollLoops(), LLVMPassManagerBuilderSetOptLevel(), LLVMPassManagerBuilderSetSizeLevel(), LLVMPassManagerBuilderUseInlinerWithThreshold(), LLVMPointerSize(), LLVMPointerSizeForAS(), LLVMPointerType(), LLVMPositionBuilder(), LLVMPositionBuilderAtEnd(), LLVMPositionBuilderBefore(), LLVMPPCFP128TypeInContext(), LLVMPreferredAlignmentOfGlobal(), LLVMPreferredAlignmentOfType(), LLVMPrintModuleToFile(), LLVMPrintModuleToString(), LLVMPrintTypeToString(), LLVMPrintValueToString(), LLVMRemoveBasicBlockFromParent(), LLVMRemoveModule(), LLVMReplaceAllUsesWith(), LLVMRunFunction(), LLVMRunFunctionAsMain(), LLVMRunPassManager(), LLVMRunStaticConstructors(), LLVMRunStaticDestructors(), LLVMSetCondition(), LLVMSetCurrentDebugLocation(), LLVMSetDataLayout(), LLVMSetInstDebugLocation(), LLVMSetInstructionCallConv(), LLVMSetModuleInlineAsm(), LLVMSetOperand(), LLVMSetSuccessor(), LLVMSetTarget(), LLVMSetTargetMachineAsmVerbosity(), LLVMSetValueName(), LLVMSizeOf(), LLVMSizeOfTypeInBits(), LLVMStoreSizeOfType(), LLVMStructCreateNamed(), LLVMStructSetBody(), LLVMStructTypeInContext(), LLVMTargetHasAsmBackend(), LLVMTargetHasJIT(), LLVMTargetHasTargetMachine(), LLVMTargetMachineEmit(), LLVMTypeIsSized(), LLVMTypeOf(), LLVMValueIsBasicBlock(), LLVMVectorType(), LLVMVerifyModule(), LLVMVoidTypeInContext(), LLVMWriteBitcodeToFD(), LLVMWriteBitcodeToFile(), LLVMWriteBitcodeToMemoryBuffer(), LLVMX86FP80TypeInContext(), and LLVMX86MMXTypeInContext().
|
inline |
|
inline |
|
inline |
|
inline |
This is an auto-upgrade for bitcast constant expression between pointers with different address spaces: the instruction is replaced by a pair ptrtoint+inttoptr.
Definition at line 771 of file AutoUpgrade.cpp.
References llvm::Value::getContext(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), and llvm::Type::isPtrOrPtrVectorTy().
| Instruction * llvm::UpgradeBitCastInst | ( | unsigned | Opc, |
| Value * | V, | ||
| Type * | DestTy, | ||
| Instruction *& | Temp | ||
| ) |
This is an auto-upgrade for bitcast between pointers with different address spaces: the instruction is replaced by a pair ptrtoint+inttoptr.
Definition at line 749 of file AutoUpgrade.cpp.
References llvm::Value::getContext(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), and llvm::Type::isPtrOrPtrVectorTy().
| 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 708 of file AutoUpgrade.cpp.
References llvm::Function::eraseFromParent(), UpgradeIntrinsicCall(), UpgradeIntrinsicFunction(), llvm::Value::user_begin(), and llvm::Value::user_end().
Check the debug info version number, if it is out-dated, drop the debug info.
Return true if module is modified.
Definition at line 793 of file AutoUpgrade.cpp.
References DEBUG_METADATA_VERSION, llvm::LLVMContext::diagnose(), llvm::Module::getContext(), getDebugMetadataVersionFromModule(), StripDebugInfo(), and llvm::IndexedInstrProf::Version.
| bool llvm::UpgradeGlobalVariable | ( | GlobalVariable * | GV | ) |
This checks for global variables which should be upgraded.
It returns true if it requires upgrading.
Definition at line 242 of file AutoUpgrade.cpp.
| void llvm::UpgradeInstWithTBAATag | ( | Instruction * | I | ) |
If the TBAA tag for the given instruction uses the scalar TBAA format, we upgrade it to the struct-path aware TBAA format.
Definition at line 725 of file AutoUpgrade.cpp.
References llvm::Value::getContext(), llvm::Instruction::getMetadata(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), and llvm::Instruction::setMetadata().
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 324 of file AutoUpgrade.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateBitCast(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpEQ(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpSGT(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateInsertElement(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateLoad(), llvm::IRBuilder< preserveNames, T, Inserter >::CreatePointerCast(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateShuffleVector(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateStore(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateTrunc(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExt(), llvm::StringRef::endswith(), llvm::Instruction::eraseFromParent(), llvm::ConstantInt::get(), llvm::ConstantAsMetadata::get(), llvm::VectorType::get(), llvm::ConstantVector::get(), llvm::MDNode::get(), llvm::UndefValue::get(), llvm::CallInst::getArgOperand(), llvm::CallInst::getCalledFunction(), llvm::Value::getContext(), llvm::Intrinsic::getDeclaration(), llvm::IRBuilderBase::getFalse(), llvm::IRBuilderBase::getInt32(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::IRBuilderBase::getInt8(), llvm::Function::getIntrinsicID(), llvm::Module::getMDKindID(), llvm::Value::getName(), llvm::CallInst::getNumArgOperands(), llvm::VectorType::getNumElements(), llvm::Instruction::getParent(), llvm::GlobalValue::getParent(), llvm::Type::getPointerTo(), llvm::Value::getType(), llvm::PointerType::getUnqual(), llvm::Type::getVectorElementType(), llvm::Type::getVectorNumElements(), I, llvm_unreachable, llvm::SPII::Load, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::StoreInst::setAlignment(), llvm::IRBuilderBase::SetInsertPoint(), llvm::Instruction::setMetadata(), llvm::Value::setName(), SI, llvm::StringRef::startswith(), llvm::StringRef::substr(), UpgradeX86PSLLDQIntrinsics(), and UpgradeX86PSRLDQIntrinsics().
Referenced by UpgradeCallsToIntrinsic().
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 229 of file AutoUpgrade.cpp.
References llvm::Intrinsic::getAttributes(), llvm::Function::getContext(), llvm::Function::getIntrinsicID(), llvm::Function::setAttributes(), and UpgradeIntrinsicFunction1().
Referenced by UpgradeCallsToIntrinsic().
| void llvm::UpgradeMDStringConstant | ( | std::string & | String | ) |
Upgrade a metadata string constant in place.
Definition at line 806 of file AutoUpgrade.cpp.
| cl::opt<bool> llvm::UseSegmentSetForPhysRegs | ( | "use-segment-set-for-physregs" | , |
| cl::Hidden | , | ||
| cl:: | inittrue, | ||
| cl:: | desc"Use segment set for the computation of the live ranges of physregs." | ||
| ) |
|
inlinestatic |
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 56 of file StringExtras.h.
References hexdigit(), and X.
Referenced by utohexstr(), and WriteConstantInternal().
Definition at line 72 of file StringExtras.h.
References utohex_buffer().
Referenced by APIntToHexString(), llvm::yaml::escape(), and llvm::NVPTXFloatMCExpr::printImpl().
Definition at line 93 of file StringExtras.h.
Referenced by AddAliasScopeMetadata(), llvm::BitsRecTy::getAsString(), llvm::Attribute::getAsString(), llvm::VarBitInit::getAsString(), llvm::VarListElementInit::getAsString(), llvm::MCObjectFileInfo::getDwarfTypesSection(), llvm::EVT::getEVTString(), getMangledTypeStr(), llvm::SDNode::getOperationName(), getStaticStructorSection(), getTypePrefix(), itostr(), PrintStatistics(), selectELFSectionForGlobal(), and llvm::AArch64SysReg::SysRegMapper::toString().
Definition at line 77 of file StringExtras.h.
|
static |
Definition at line 39 of file ASanStackFrameLayout.cpp.
References RoundUpToAlignment().
Referenced by ComputeASanStackFrameLayout().
| bool llvm::vectorizeBasicBlock | ( | Pass * | P, |
| BasicBlock & | BB, | ||
| const VectorizeConfig & | C = VectorizeConfig() |
||
| ) |
Vectorize the BasicBlock.
| BB | The BasicBlock to be vectorized |
| P | The current running pass, should require AliasAnalysis and ScalarEvolution. After the vectorization, AliasAnalysis, ScalarEvolution and CFG are preserved. |
Definition at line 3211 of file BBVectorize.cpp.
References llvm::BasicBlock::getParent().
| bool llvm::verifyFunction | ( | const Function & | F, |
| raw_ostream * | OS = nullptr |
||
| ) |
Check a function for errors, useful for use when debugging a pass.
If there are no errors, the function returns false. If an error is found, a message describing the error is written to OS (if non-null) and true is returned.
Definition at line 3639 of file Verifier.cpp.
References llvm::GlobalValue::isDeclaration().
Referenced by llvm::CodeExtractor::extractCodeRegion(), LLVMVerifyFunction(), and llvm::VerifierPass::run().
|
static |
Definition at line 1125 of file X86IntrinsicsInfo.h.
References llvm::sys::path::begin(), llvm::sys::path::end(), IntrinsicsWithChain, and IntrinsicsWithoutChain.
Referenced by llvm::X86TargetLowering::X86TargetLowering().
| bool llvm::verifyModule | ( | const Module & | M, |
| raw_ostream * | OS = nullptr |
||
| ) |
Check a module for errors.
If there are no errors, the function returns false. If an error is found, a message describing the error is written to OS (if non-null) and true is returned.
Definition at line 3651 of file Verifier.cpp.
References llvm::Module::begin(), llvm::Module::end(), and I.
Referenced by LLVMVerifyModule(), and llvm::VerifierPass::run().
| void llvm::ViewGraph | ( | const GraphType & | G, |
| const Twine & | Name, | ||
| bool | ShortNames = false, |
||
| const Twine & | Title = "", |
||
| GraphProgram::Name | Program = GraphProgram::DOT |
||
| ) |
ViewGraph - Emit a dot graph, run 'dot', run gv on the postscript file, then cleanup.
For use from the debugger.
Definition at line 348 of file GraphWriter.h.
References DisplayGraph(), and WriteGraph().
Referenced by llvm::DOTGraphTraitsViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnFunction(), llvm::DOTGraphTraitsModuleViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnModule(), llvm::BlockFrequencyInfo::view(), llvm::MachineBlockFrequencyInfo::view(), llvm::EdgeBundles::view(), llvm::MachineFunction::viewCFG(), llvm::MachineFunction::viewCFGOnly(), llvm::SelectionDAG::viewGraph(), llvm::ScheduleDAGMI::viewGraph(), and llvm::ScheduleDAG::viewGraph().
| void llvm::visitAll | ( | const SCEV * | Root, |
| SV & | Visitor | ||
| ) |
Use SCEVTraversal to visit all nodes in the given expression tree.
Definition at line 551 of file ScalarEvolutionExpressions.h.
References T, and llvm::SCEVTraversal< SV >::visitAll().
Referenced by llvm::ScalarEvolution::collectParametricTerms(), llvm::ScalarEvolution::hasOperand(), and isSafeToExpand().
|
inline |
Definition at line 76 of file CodeGen.h.
References llvm::CodeModel::Default, llvm::CodeModel::JITDefault, llvm::CodeModel::Kernel, llvm::CodeModel::Large, llvm_unreachable, LLVMCodeModelDefault, LLVMCodeModelJITDefault, LLVMCodeModelKernel, LLVMCodeModelLarge, LLVMCodeModelMedium, LLVMCodeModelSmall, llvm::CodeModel::Medium, and llvm::CodeModel::Small.
|
inline |
Definition at line 208 of file LLVMContext.h.
|
inline |
Definition at line 469 of file DataLayout.h.
References P.
Referenced by getMDNodeOperandImpl(), LLVMAddAlias(), LLVMAddFunction(), LLVMAddGlobal(), LLVMAddGlobalInAddressSpace(), LLVMAlignOf(), LLVMAppendBasicBlockInContext(), LLVMArrayType(), LLVMBasicBlockAsValue(), LLVMBlockAddress(), LLVMBuildAdd(), LLVMBuildAddrSpaceCast(), LLVMBuildAggregateRet(), LLVMBuildAlloca(), LLVMBuildAnd(), LLVMBuildArrayAlloca(), LLVMBuildArrayMalloc(), LLVMBuildAShr(), LLVMBuildAtomicRMW(), LLVMBuildBinOp(), LLVMBuildBitCast(), LLVMBuildBr(), LLVMBuildCall(), LLVMBuildCast(), LLVMBuildCondBr(), LLVMBuildExactSDiv(), LLVMBuildExtractElement(), LLVMBuildExtractValue(), LLVMBuildFAdd(), LLVMBuildFCmp(), LLVMBuildFDiv(), LLVMBuildFence(), LLVMBuildFMul(), LLVMBuildFNeg(), LLVMBuildFPCast(), LLVMBuildFPExt(), LLVMBuildFPToSI(), LLVMBuildFPToUI(), LLVMBuildFPTrunc(), LLVMBuildFree(), LLVMBuildFRem(), LLVMBuildFSub(), LLVMBuildGEP(), LLVMBuildGlobalString(), LLVMBuildGlobalStringPtr(), LLVMBuildICmp(), LLVMBuildInBoundsGEP(), LLVMBuildIndirectBr(), LLVMBuildInsertElement(), LLVMBuildInsertValue(), LLVMBuildIntCast(), LLVMBuildIntToPtr(), LLVMBuildInvoke(), LLVMBuildIsNotNull(), LLVMBuildIsNull(), LLVMBuildLandingPad(), LLVMBuildLoad(), LLVMBuildLShr(), LLVMBuildMalloc(), LLVMBuildMul(), LLVMBuildNeg(), LLVMBuildNot(), LLVMBuildNSWAdd(), LLVMBuildNSWMul(), LLVMBuildNSWNeg(), LLVMBuildNSWSub(), LLVMBuildNUWAdd(), LLVMBuildNUWMul(), LLVMBuildNUWNeg(), LLVMBuildNUWSub(), LLVMBuildOr(), LLVMBuildPhi(), LLVMBuildPointerCast(), LLVMBuildPtrDiff(), LLVMBuildPtrToInt(), LLVMBuildResume(), LLVMBuildRet(), LLVMBuildRetVoid(), LLVMBuildSDiv(), LLVMBuildSelect(), LLVMBuildSExt(), LLVMBuildSExtOrBitCast(), LLVMBuildShl(), LLVMBuildShuffleVector(), LLVMBuildSIToFP(), LLVMBuildSRem(), LLVMBuildStore(), LLVMBuildStructGEP(), LLVMBuildSub(), LLVMBuildSwitch(), LLVMBuildTrunc(), LLVMBuildTruncOrBitCast(), LLVMBuildUDiv(), LLVMBuildUIToFP(), LLVMBuildUnreachable(), LLVMBuildURem(), LLVMBuildVAArg(), LLVMBuildXor(), LLVMBuildZExt(), LLVMBuildZExtOrBitCast(), LLVMCloneModule(), LLVMConstAdd(), LLVMConstAddrSpaceCast(), LLVMConstAllOnes(), LLVMConstAnd(), LLVMConstArray(), LLVMConstAShr(), LLVMConstBitCast(), LLVMConstExactSDiv(), LLVMConstExtractElement(), LLVMConstExtractValue(), LLVMConstFAdd(), LLVMConstFCmp(), LLVMConstFDiv(), LLVMConstFMul(), LLVMConstFNeg(), LLVMConstFPCast(), LLVMConstFPExt(), LLVMConstFPToSI(), LLVMConstFPToUI(), LLVMConstFPTrunc(), LLVMConstFRem(), LLVMConstFSub(), LLVMConstGEP(), LLVMConstICmp(), LLVMConstInBoundsGEP(), LLVMConstInlineAsm(), LLVMConstInsertElement(), LLVMConstInsertValue(), LLVMConstInt(), LLVMConstIntCast(), LLVMConstIntOfArbitraryPrecision(), LLVMConstIntOfString(), LLVMConstIntOfStringAndSize(), LLVMConstIntToPtr(), LLVMConstLShr(), LLVMConstMul(), LLVMConstNamedStruct(), LLVMConstNeg(), LLVMConstNot(), LLVMConstNSWAdd(), LLVMConstNSWMul(), LLVMConstNSWNeg(), LLVMConstNSWSub(), LLVMConstNull(), LLVMConstNUWAdd(), LLVMConstNUWMul(), LLVMConstNUWNeg(), LLVMConstNUWSub(), LLVMConstOr(), LLVMConstPointerCast(), LLVMConstPointerNull(), LLVMConstPtrToInt(), LLVMConstReal(), LLVMConstRealOfString(), LLVMConstRealOfStringAndSize(), LLVMConstSDiv(), LLVMConstSelect(), LLVMConstSExt(), LLVMConstSExtOrBitCast(), LLVMConstShl(), LLVMConstShuffleVector(), LLVMConstSIToFP(), LLVMConstSRem(), LLVMConstStringInContext(), LLVMConstStructInContext(), LLVMConstSub(), LLVMConstTrunc(), LLVMConstTruncOrBitCast(), LLVMConstUDiv(), LLVMConstUIToFP(), LLVMConstURem(), LLVMConstVector(), LLVMConstXor(), LLVMConstZExt(), LLVMConstZExtOrBitCast(), LLVMContextCreate(), LLVMCreateBuilderInContext(), LLVMCreateExecutionEngineForModule(), LLVMCreateFunctionPassManagerForModule(), LLVMCreateGenericValueOfFloat(), LLVMCreateGenericValueOfInt(), LLVMCreateGenericValueOfPointer(), LLVMCreateInterpreterForModule(), LLVMCreateJITCompilerForModule(), LLVMCreateMCJITCompilerForModule(), LLVMCreateMemoryBufferWithContentsOfFile(), LLVMCreateMemoryBufferWithMemoryRange(), LLVMCreateMemoryBufferWithMemoryRangeCopy(), LLVMCreateMemoryBufferWithSTDIN(), LLVMCreateObjectFile(), LLVMCreatePassManager(), LLVMCreateTargetData(), LLVMCreateTargetMachine(), LLVMFindFunction(), LLVMFunctionType(), LLVMGetBasicBlockParent(), LLVMGetBasicBlocks(), LLVMGetBasicBlockTerminator(), LLVMGetBitcodeModuleInContext(), LLVMGetCondition(), LLVMGetCurrentDebugLocation(), LLVMGetElementAsConstant(), LLVMGetElementType(), LLVMGetEntryBasicBlock(), LLVMGetExecutionEngineTargetData(), LLVMGetExecutionEngineTargetMachine(), LLVMGetFirstBasicBlock(), LLVMGetFirstFunction(), LLVMGetFirstGlobal(), LLVMGetFirstInstruction(), LLVMGetFirstParam(), LLVMGetFirstTarget(), LLVMGetFirstUse(), LLVMGetGlobalContext(), LLVMGetGlobalParent(), LLVMGetGlobalPassRegistry(), LLVMGetIncomingBlock(), LLVMGetIncomingValue(), LLVMGetInitializer(), LLVMGetInsertBlock(), LLVMGetInstructionParent(), LLVMGetLastBasicBlock(), LLVMGetLastFunction(), LLVMGetLastGlobal(), LLVMGetLastInstruction(), LLVMGetLastParam(), LLVMGetMDNodeOperands(), LLVMGetMetadata(), LLVMGetModuleContext(), LLVMGetNamedFunction(), LLVMGetNamedGlobal(), LLVMGetNamedMetadataOperands(), LLVMGetNextBasicBlock(), LLVMGetNextFunction(), LLVMGetNextGlobal(), LLVMGetNextInstruction(), LLVMGetNextParam(), LLVMGetNextTarget(), LLVMGetNextUse(), LLVMGetOperand(), LLVMGetOperandUse(), LLVMGetParam(), LLVMGetParamParent(), LLVMGetParams(), LLVMGetParamTypes(), LLVMGetPersonalityFn(), LLVMGetPreviousBasicBlock(), LLVMGetPreviousFunction(), LLVMGetPreviousGlobal(), LLVMGetPreviousInstruction(), LLVMGetPreviousParam(), LLVMGetRelocations(), LLVMGetRelocationSymbol(), LLVMGetReturnType(), LLVMGetSections(), LLVMGetStructElementTypes(), LLVMGetSuccessor(), LLVMGetSwitchDefaultDest(), LLVMGetSymbols(), LLVMGetTargetFromName(), LLVMGetTargetFromTriple(), LLVMGetTargetMachineData(), LLVMGetTargetMachineTarget(), LLVMGetTypeByName(), LLVMGetTypeContext(), LLVMGetUndef(), LLVMGetUsedValue(), LLVMGetUser(), LLVMInsertBasicBlockInContext(), LLVMInstructionClone(), LLVMIntPtrType(), LLVMIntPtrTypeForAS(), LLVMIntPtrTypeForASInContext(), LLVMIntPtrTypeInContext(), LLVMIntTypeInContext(), LLVMLabelTypeInContext(), LLVMMDNodeInContext(), LLVMMDStringInContext(), LLVMModuleCreateWithName(), LLVMModuleCreateWithNameInContext(), LLVMParseBitcode(), LLVMParseBitcodeInContext(), LLVMParseIRInContext(), LLVMPassManagerBuilderCreate(), LLVMPointerType(), LLVMRemoveModule(), LLVMRunFunction(), LLVMSizeOf(), LLVMStructCreateNamed(), LLVMStructGetTypeAtIndex(), LLVMStructTypeInContext(), LLVMTypeOf(), LLVMValueAsBasicBlock(), LLVMVectorType(), LLVMVoidTypeInContext(), and LLVMWriteBitcodeToMemoryBuffer().
|
inline |
|
inline |
| std::pair< StringRef, std::error_code > llvm::writeArchive | ( | StringRef | ArcName, |
| std::vector< NewArchiveIterator > & | NewMembers, | ||
| bool | WriteSymtab, | ||
| object::Archive::Kind | Kind, | ||
| bool | Deterministic | ||
| ) |
Definition at line 271 of file ArchiveWriter.cpp.
References llvm::raw_fd_ostream::close(), llvm::sys::fs::createUniqueFile(), llvm::ARMBuildAttrs::File, llvm::sys::path::filename(), llvm::sys::TimeValue::fromEpochTime(), llvm::ErrorOr< T >::get(), llvm::object::Archive::Child::getAccessMode(), llvm::MemoryBufferRef::getBuffer(), llvm::ErrorOr< T >::getError(), llvm::NewArchiveIterator::getFD(), llvm::object::Archive::Child::getGID(), llvm::sys::fs::file_status::getLastModificationTime(), llvm::object::Archive::Child::getLastModified(), llvm::object::Archive::Child::getMemoryBufferRef(), llvm::NewArchiveIterator::getNew(), llvm::NewArchiveIterator::getOld(), llvm::MemoryBuffer::getOpenFile(), llvm::object::Archive::Child::getSize(), llvm::object::Archive::Child::getUID(), I, llvm::NewArchiveIterator::isNewMember(), llvm::object::Archive::K_BSD, llvm::tool_output_file::keep(), Member, N, llvm::tool_output_file::os(), llvm::sys::fs::file_status::permissions(), print32(), printMemberHeader(), llvm::sys::fs::rename(), llvm::raw_fd_ostream::seek(), llvm::raw_ostream::tell(), writeStringTable(), and writeSymbolTable().
Referenced by libDriverMain().
| void llvm::WriteBitcodeToFile | ( | const Module * | M, |
| raw_ostream & | Out, | ||
| bool | ShouldPreserveUseListOrder = false |
||
| ) |
Write the specified module to the specified raw output stream.
WriteBitcodeToFile - Write the specified module to the specified output stream.
For streams where it matters, the given stream should be in "binary" mode.
If ShouldPreserveUseListOrder, encode the use-list order for each Value in M. These will be reconstructed exactly when M is deserialized.
Definition at line 2478 of file BitcodeWriter.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), DarwinBCHeaderSize, llvm::BitstreamWriter::Emit(), EmitDarwinBCHeaderAndTrailer(), llvm::SmallVectorTemplateCommon< T, typename >::front(), llvm::Module::getTargetTriple(), llvm::SmallVectorImpl< T >::insert(), llvm::SmallVectorImpl< T >::reserve(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::raw_ostream::write(), and WriteModule().
Referenced by LLVMWriteBitcodeToFD(), LLVMWriteBitcodeToFile(), LLVMWriteBitcodeToMemoryBuffer(), llvm::BitcodeWriterPass::run(), and llvm::LTOCodeGenerator::writeMergedModules().
| raw_ostream& llvm::WriteGraph | ( | raw_ostream & | O, |
| const EdgeBundles & | G, | ||
| bool | ShortNames, | ||
| const Twine & | Title | ||
| ) |
Definition at line 73 of file EdgeBundles.cpp.
| raw_ostream& llvm::WriteGraph | ( | raw_ostream & | O, |
| const GraphType & | G, | ||
| bool | ShortNames = false, |
||
| const Twine & | Title = "" |
||
| ) |
Definition at line 309 of file GraphWriter.h.
Referenced by INITIALIZE_PASS(), llvm::DOTGraphTraitsPrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnFunction(), llvm::DOTGraphTraitsModulePrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnModule(), ViewGraph(), and WriteGraph().
| std::string llvm::WriteGraph | ( | const GraphType & | G, |
| const Twine & | Name, | ||
| bool | ShortNames = false, |
||
| const Twine & | Title = "" |
||
| ) |
Definition at line 324 of file GraphWriter.h.
References createGraphFilename(), errs(), N, llvm::Twine::str(), and WriteGraph().
Definition at line 55 of file NVPTXBaseInfo.h.
| const MCInstrDesc llvm::ARMInsts[] |
Referenced by AddThumb1SBit().
| const char llvm::AsmRewritePrecedence[] |
Definition at line 44 of file MCTargetAsmParser.h.
Referenced by rewritesSort().
| char & llvm::AtomicExpandID = AtomicExpand::ID |
AtomicExpandID – Lowers atomic operations in terms of either cmpxchg load-linked/store-conditional loops.
Definition at line 61 of file AtomicExpandPass.cpp.
Macro compressed bit reversal table for 256 bits.
http://graphics.stanford.edu/~seander/bithacks.html#BitReverseTable
Definition at line 219 of file MathExtras.h.
Referenced by reverseBits().
| 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 85 of file BranchFolding.cpp.
Referenced by llvm::TargetPassConfig::addMachineLateOptimization(), and overridePass().
| char& llvm::BreakCriticalEdgesID |
Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage().
Definition at line 17 of file XCoreTargetObjectFile.h.
Referenced by IsSmallObject(), and llvm::XCoreTargetObjectFile::SelectSectionForGlobal().
|
static |
Definition at line 44 of file Debug.cpp.
Referenced by isCurrentDebugType(), and setCurrentDebugType().
| char & llvm::DeadMachineInstructionElimID = DeadMachineInstructionElim::ID |
DeadMachineInstructionElim - This pass removes dead machine instructions.
Definition at line 50 of file DeadMachineInstructionElim.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), and overridePass().
| char & llvm::DemoteRegisterToMemoryID = RegToMem::ID |
Definition at line 130 of file Reg2Mem.cpp.
|
static |
Definition at line 169 of file ARMCallingConv.h.
Referenced by CC_ARM_AAPCS_Custom_Aggregate().
| cl::opt<bool> llvm::DumpCriticalPathLength("misched-dcpl", cl::Hidden, cl::desc("Print critical path length to stdout")) |
Referenced by llvm::GenericScheduler::registerRoots(), and llvm::PostGenericScheduler::registerRoots().
| char & llvm::EarlyIfConverterID = EarlyIfConverter::ID |
EarlyIfConverter - This pass performs if-conversion on SSA form by inserting cmov instructions.
Definition at line 617 of file EarlyIfConversion.cpp.
Referenced by overridePass().
| char& llvm::EdgeBundlesID |
EdgeBundles analysis - Bundle machine CFG edges.
EnableDebugBuffering - This defaults to false.
EnableDebugBuffering - Turn on signal handler installation.
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.
Definition at line 156 of file Debug.cpp.
Referenced by dbgs().
| unsigned llvm::ErrorsPrinted = 0 |
Definition at line 24 of file TableGen/Error.cpp.
Referenced by PrintMessage(), and TableGenMain().
| char & llvm::ExpandISelPseudosID = ExpandISelPseudos::ID |
ExpandISelPseudos - This pass expands pseudo-instructions.
Definition at line 43 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 59 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 97 of file MachineInstrBundle.cpp.
| bool llvm::flag_aligned_memcpy |
Definition at line 19 of file HexagonSelectionDAGInfo.cpp.
Referenced by llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), and llvm::HexagonTargetLowering::LowerCall().
| 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 258 of file GCRootLowering.cpp.
Referenced by llvm::TargetPassConfig::addGCPasses().
|
inline |
get_array_pod_sort_comparator - This is an internal helper function used to get type deduction of T right.
Definition at line 266 of file STLExtras.h.
Referenced by array_pod_sort().
| const MCInstrDesc llvm::HexagonInsts[] |
| const InstrStage llvm::HexagonStages[] |
Referenced by llvm::HexagonMCInstrInfo::getUnits().
| const float llvm::huge_valf = HUGE_VALF |
Definition at line 29 of file MathExtras.cpp.
Referenced by llvm::LiveInterval::isSpillable(), and llvm::LiveInterval::markNotSpillable().
| char & llvm::IfConverterID = IfConverter::ID |
IfConverter - This pass performs machine code if conversion.
Definition at line 268 of file IfConversion.cpp.
| char & llvm::ImplicitNullChecksID = ImplicitNullChecks::ID |
ImplicitNullChecks - This pass folds null pointer checks into nearby memory operations.
Definition at line 339 of file ImplicitNullChecks.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses().
| char& llvm::InstructionNamerID |
| Remove redundant false char & llvm::InstructionSimplifierID = InstSimplifier::ID |
Definition at line 112 of file SimplifyInstructions.cpp.
Definition at line 40 of file APInt.h.
Referenced by llvm::APFloat::convertFromSignExtendedInteger(), llvm::SelectionDAG::getNode(), lostFractionThroughTruncation(), llvm::APFloat::mod(), partAsHex(), partCountForBits(), llvm::APFloat::remainder(), llvm::APInt::tcClearBit(), llvm::APInt::tcDivide(), llvm::APInt::tcExtract(), llvm::APInt::tcExtractBit(), llvm::APInt::tcLSB(), llvm::APInt::tcMSB(), llvm::APInt::tcMultiplyPart(), llvm::APInt::tcSetBit(), llvm::APInt::tcSetLeastSignificantBits(), llvm::APInt::tcShiftLeft(), llvm::APInt::tcShiftRight(), and ulpsFromBoundary().
|
static |
Definition at line 53 of file X86IntrinsicsInfo.h.
Referenced by getIntrinsicWithChain(), and verifyIntrinsicTables().
|
static |
Definition at line 207 of file X86IntrinsicsInfo.h.
Referenced by getIntrinsicWithoutChain(), and verifyIntrinsicTables().
Definition at line 24 of file ASanStackFrameLayout.h.
Referenced by ComputeASanStackFrameLayout().
Definition at line 25 of file ASanStackFrameLayout.h.
Referenced by ComputeASanStackFrameLayout().
Definition at line 26 of file ASanStackFrameLayout.h.
Referenced by ComputeASanStackFrameLayout().
|
static |
Definition at line 35 of file ASanStackFrameLayout.cpp.
Referenced by ComputeASanStackFrameLayout().
| char & llvm::LCSSAID = LCSSA::ID |
Definition at line 312 of file LCSSA.cpp.
Referenced by ConnectProlog(), InsertPreheaderForLoop(), rewriteLoopExitBlock(), and separateNestedLoop().
| char & llvm::LiveIntervalsID = LiveIntervals::ID |
LiveIntervals - This analysis keeps track of the live ranges of virtual and physical registers.
Definition at line 48 of file LiveIntervalAnalysis.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
| Live Stack Slot false char & llvm::LiveStacksID = LiveStacks::ID |
LiveStacks pass. An analysis keeping track of the liveness of stack slots.
Definition at line 36 of file LiveStackAnalysis.cpp.
| char & llvm::LiveVariablesID = LiveVariables::ID |
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 96 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 791 of file LoopSimplify.cpp.
| char& llvm::LowerInvokePassID |
| char& llvm::LowerSwitchID |
Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage().
| char & llvm::MachineBlockPlacementID = MachineBlockPlacement::ID |
MachineBlockPlacement - This pass places basic blocks based on branch probabilities.
Definition at line 273 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 1191 of file MachineBlockPlacement.cpp.
Referenced by llvm::TargetPassConfig::addBlockPlacement().
| char & llvm::MachineCombinerID = MachineCombiner::ID |
This pass performs instruction combining using trace metrics to estimate critical-path and resource depth.
Definition at line 85 of file MachineCombiner.cpp.
| char & llvm::MachineCopyPropagationID = MachineCopyPropagation::ID |
MachineCopyPropagation - This pass performs copy propagation on machine instructions.
Definition at line 60 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().
| char & llvm::MachineDominanceFrontierID = MachineDominanceFrontier::ID |
MachineDominanaceFrontier - This pass is a machine dominators analysis pass.
Definition at line 38 of file MachineDominanceFrontier.cpp.
| char& llvm::MachineDominatorsID |
MachineDominators - This pass is a machine dominators analysis pass.
Referenced by llvm::LiveIntervals::getAnalysisUsage().
| char & llvm::MachineFunctionPrinterPassID = MachineFunctionPrinterPass::ID |
MachineFunctionPrinterPass - This pass prints out MachineInstr's.
Definition at line 54 of file MachineFunctionPrinterPass.cpp.
| char & llvm::MachineLICMID = MachineLICM::ID |
MachineLICM - This pass performs LICM on machine instructions.
Definition at line 313 of file MachineLICM.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), overridePass(), and llvm::TargetPassConfig::TargetPassConfig().
| machine Machine Natural Loop true char & llvm::MachineLoopInfoID = MachineLoopInfo::ID |
MachineLoopInfo - This pass is a loop analysis pass.
Definition at line 36 of file MachineLoopInfo.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc(), and llvm::LiveIntervals::getAnalysisUsage().
| char & llvm::MachineSchedulerID = MachineScheduler::ID |
MachineScheduler - This pass schedules machine instructions.
Definition at line 145 of file MachineScheduler.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
| char & llvm::MachineSinkingID = MachineSinking::ID |
MachineSinking - This pass performs sinking on machine instructions.
Definition at line 148 of file MachineSink.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), and overridePass().
| char & llvm::MachineTraceMetricsID = MachineTraceMetrics::ID |
MachineTraceMetrics - This pass computes critical path and CPU resource usage in an ensemble of traces.
Definition at line 31 of file MachineTraceMetrics.cpp.
Definition at line 33 of file SubtargetFeature.h.
Definition at line 91 of file APFloat.cpp.
Referenced by powerOf5().
| const unsigned int llvm::maxPowerOfFiveExponent = maxExponent + maxPrecision - 1 |
Definition at line 93 of file APFloat.cpp.
Definition at line 94 of file APFloat.cpp.
Referenced by powerOf5().
Definition at line 92 of file APFloat.cpp.
Definition at line 18 of file MipsMCNaCl.h.
Referenced by createMipsNaClELFStreamer(), and llvm::MipsAsmPrinter::EmitFunctionEntryLabel().
| const MCInstrDesc llvm::MipsInsts[] |
Referenced by getInstDesc().
| char & llvm::MIRPrintingPassID = MIRPrintingPass::ID |
MIRPrintingPass - this pass prints out the LLVM IR using the MIR serialization format.
Definition at line 62 of file MIRPrintingPass.cpp.
|
static |
Definition at line 85 of file NVPTXBaseInfo.h.
Referenced by cacheAnnotationFromMD().
Definition at line 23 of file None.h.
Referenced by analyzeLoopUnrollCost(), calculateWinCXXEHStateNumbers(), canonicalizeMetadataForValue(), CloneAliasScopeMetadata(), findMainViewFileID(), findPreviousSpillSlot(), get64BitArgumentXMMs(), llvm::DWARFFormValue::getAsAddress(), llvm::DWARFFormValue::getAsBlock(), llvm::DWARFFormValue::getAsCString(), llvm::DWARFFormValue::getAsReference(), llvm::DWARFFormValue::getAsSectionOffset(), llvm::DWARFFormValue::getAsSignedConstant(), llvm::DWARFFormValue::getAsUnsignedConstant(), getAttrFromCode(), llvm::DWARFFormValue::getFixedFormSizes(), GetRangeFromMetadata(), IntersectRange(), llvm::orc::JITSymbol::JITSymbol(), lowerStatepointMetaArgs(), maybeLexGlobalValue(), maybeLexIdentifier(), maybeLexIntegerLiteral(), maybeLexMachineBasicBlock(), maybeLexRegister(), maybeLexSymbol(), llvm::VariadicFunction< ResultT, ArgT, Func >::operator()(), llvm::VariadicFunction1< ResultT, Param0T, ArgT, Func >::operator()(), llvm::VariadicFunction2< ResultT, Param0T, Param1T, ArgT, Func >::operator()(), llvm::VariadicFunction3< ResultT, Param0T, Param1T, Param2T, ArgT, Func >::operator()(), operator<<(), llvm::yaml::Scanner::printError(), ReplaceWithStatepoint(), llvm::SymbolTableEntry::SymbolTableEntry(), llvm::InstCombiner::visitAllocSite(), and llvm::InstCombiner::visitCallInst().
Definition at line 42 of file StratifiedSets.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 61 of file OptimizePHIs.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization().
| char & llvm::PeepholeOptimizerID = PeepholeOptimizer::ID |
PeepholeOptimizer - This pass performs peephole optimizations - like extension and comparison eliminations.
Definition at line 299 of file PeepholeOptimizer.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization().
| 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 114 of file PHIElimination.cpp.
Referenced by llvm::TargetPassConfig::addFastRegAlloc(), and llvm::TargetPassConfig::addOptimizedRegAlloc().
| char & llvm::PostMachineSchedulerID = PostMachineScheduler::ID |
PostMachineScheduler - This pass schedules machine instructions postRA.
Definition at line 175 of file MachineScheduler.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses().
| char & llvm::PostRASchedulerID = PostRAScheduler::ID |
createPostRAScheduler - This pass performs post register allocation scheduling.
Definition at line 189 of file PostRASchedulerList.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses(), and overridePass().
| PowerPC VSX FMA false char & llvm::PPCVSXFMAMutateID = PPCVSXFMAMutate::ID |
Definition at line 339 of file PPCVSXFMAMutate.cpp.
| char & llvm::ProcessImplicitDefsID = ProcessImplicitDefs::ID |
ProcessImpicitDefs pass - This pass removes IMPLICIT_DEFs.
Definition at line 52 of file ProcessImplicitDefs.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
| char & llvm::PrologEpilogCodeInserterID = PEI::ID |
PrologEpilogCodeInserter - This pass inserts prolog and epilog code, and eliminates abstract frame references.
Definition at line 101 of file PrologEpilogInserter.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses().
| const char llvm::PropertyAnnotationNames[PROPERTY_LAST+1][AnnotationNameLen+1] |
Definition at line 56 of file NVPTXBaseInfo.h.
Referenced by getAlign(), getMaxNTIDx(), getMaxNTIDy(), getMaxNTIDz(), getMinCTASm(), getReqNTIDx(), getReqNTIDy(), getReqNTIDz(), isImageReadOnly(), isImageReadWrite(), isImageWriteOnly(), isKernelFunction(), isManaged(), isSampler(), isSurface(), and isTexture().
|
static |
Definition at line 171 of file ARMCallingConv.h.
Referenced by CC_ARM_AAPCS_Custom_Aggregate().
| char & llvm::RegisterCoalescerID = RegisterCoalescer::ID |
RegisterCoalescer - This pass merges live ranges to eliminate copies.
Definition at line 271 of file RegisterCoalescer.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
Definition at line 163 of file ARMCallingConv.h.
Referenced by CC_ARM_AAPCS_Custom_Aggregate().
| char & llvm::ShrinkWrapID = ShrinkWrap::ID |
ShrinkWrap pass. Look for the best place to insert save and restore.
Definition at line 178 of file ShrinkWrap.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses().
| char & llvm::SIFixControlFlowLiveIntervalsID = SIFixControlFlowLiveIntervals::ID |
Definition at line 67 of file SIFixControlFlowLiveIntervals.cpp.
| char & llvm::SIFixSGPRLiveRangesID = SIFixSGPRLiveRanges::ID |
Definition at line 100 of file SIFixSGPRLiveRanges.cpp.
| char & llvm::SIFoldOperandsID = SIFoldOperands::ID |
Definition at line 86 of file SIFoldOperands.cpp.
| char & llvm::SILoadStoreOptimizerID = SILoadStoreOptimizer::ID |
Definition at line 128 of file SILoadStoreOptimizer.cpp.
| char & llvm::SILowerI1CopiesID = SILowerI1Copies::ID |
Definition at line 66 of file SILowerI1Copies.cpp.
| 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 54 of file SpillPlacement.cpp.
| SourceMgr llvm::SrcMgr |
Definition at line 23 of file TableGen/Error.cpp.
Referenced by llvm::object::IRObjectFile::IRObjectFile(), PrintError(), PrintMessage(), PrintWarning(), and TableGenMain().
|
static |
Definition at line 165 of file ARMCallingConv.h.
Referenced by CC_ARM_AAPCS_Custom_Aggregate().
| char & llvm::StackColoringID = StackColoring::ID |
StackSlotColoring - This pass performs stack coloring and merging.
It merges disjoint allocas to reduce the stack size.
Definition at line 177 of file StackColoring.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization().
| char & llvm::StackMapLivenessID = StackMapLiveness::ID |
StackMapLiveness - This pass analyses the register live-out set of stackmap/patchpoint intrinsics and attaches the calculated information to the intrinsic for later emission to the StackMap.
Definition at line 82 of file StackMapLivenessAnalysis.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses().
| char & llvm::StackSlotColoringID = StackSlotColoring::ID |
StackSlotColoring - This pass performs stack slot coloring.
Definition at line 117 of file StackSlotColoring.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc(), and overridePass().
| char & llvm::TailDuplicateID = TailDuplicatePass::ID |
TailDuplicate - Duplicate blocks with unconditional branches into tails of their predecessors.
Definition at line 130 of file TailDuplication.cpp.
Referenced by llvm::TargetPassConfig::addMachineLateOptimization(), overridePass(), and llvm::TargetPassConfig::TargetPassConfig().
| Target llvm::TheAArch64beTarget |
Definition at line 16 of file AArch64TargetInfo.cpp.
Referenced by LLVMInitializeAArch64AsmParser(), LLVMInitializeAArch64AsmPrinter(), LLVMInitializeAArch64Disassembler(), LLVMInitializeAArch64Target(), LLVMInitializeAArch64TargetInfo(), and LLVMInitializeAArch64TargetMC().
| Target llvm::TheAArch64leTarget |
Definition at line 15 of file AArch64TargetInfo.cpp.
Referenced by LLVMInitializeAArch64AsmParser(), LLVMInitializeAArch64AsmPrinter(), LLVMInitializeAArch64Disassembler(), LLVMInitializeAArch64Target(), LLVMInitializeAArch64TargetInfo(), and LLVMInitializeAArch64TargetMC().
| Target llvm::TheAMDGPUTarget |
The target which suports all AMD GPUs.
This will eventually be deprecated and there will be a R600 target and a GCN target.
Definition at line 33 of file AMDGPUMCTargetDesc.h.
Referenced by LLVMInitializeAMDGPUAsmParser(), LLVMInitializeAMDGPUAsmPrinter(), LLVMInitializeAMDGPUTarget(), LLVMInitializeAMDGPUTargetInfo(), and LLVMInitializeAMDGPUTargetMC().
| Target llvm::TheARM64Target |
Definition at line 17 of file AArch64TargetInfo.cpp.
Referenced by LLVMInitializeAArch64AsmParser(), LLVMInitializeAArch64AsmPrinter(), LLVMInitializeAArch64Disassembler(), LLVMInitializeAArch64Target(), LLVMInitializeAArch64TargetInfo(), and LLVMInitializeAArch64TargetMC().
| Target llvm::TheARMBETarget |
Definition at line 15 of file ARMTargetInfo.cpp.
Referenced by LLVMInitializeARMAsmParser(), LLVMInitializeARMAsmPrinter(), LLVMInitializeARMDisassembler(), LLVMInitializeARMTarget(), LLVMInitializeARMTargetInfo(), and LLVMInitializeARMTargetMC().
| Target llvm::TheARMLETarget |
Definition at line 15 of file ARMTargetInfo.cpp.
Referenced by LLVMInitializeARMAsmParser(), LLVMInitializeARMAsmPrinter(), LLVMInitializeARMDisassembler(), LLVMInitializeARMTarget(), LLVMInitializeARMTargetInfo(), and LLVMInitializeARMTargetMC().
| Target llvm::TheBPFbeTarget |
Definition at line 16 of file BPFTargetInfo.cpp.
Referenced by LLVMInitializeBPFAsmPrinter(), LLVMInitializeBPFTarget(), LLVMInitializeBPFTargetInfo(), and LLVMInitializeBPFTargetMC().
| Target llvm::TheBPFleTarget |
Definition at line 15 of file BPFTargetInfo.cpp.
Referenced by LLVMInitializeBPFAsmPrinter(), LLVMInitializeBPFTarget(), LLVMInitializeBPFTargetInfo(), and LLVMInitializeBPFTargetMC().
| Target llvm::TheBPFTarget |
Definition at line 17 of file BPFTargetInfo.cpp.
Referenced by LLVMInitializeBPFAsmPrinter(), LLVMInitializeBPFTarget(), LLVMInitializeBPFTargetInfo(), and LLVMInitializeBPFTargetMC().
| Target llvm::TheCppBackendTarget |
Definition at line 15 of file CppBackendTargetInfo.cpp.
Referenced by LLVMInitializeCppBackendTarget(), and LLVMInitializeCppBackendTargetInfo().
| Target llvm::TheGCNTarget |
The target for GCN GPUs.
Definition at line 36 of file AMDGPUMCTargetDesc.h.
Referenced by LLVMInitializeAMDGPUAsmParser(), LLVMInitializeAMDGPUAsmPrinter(), LLVMInitializeAMDGPUTarget(), LLVMInitializeAMDGPUTargetInfo(), and LLVMInitializeAMDGPUTargetMC().
| Target llvm::TheHexagonTarget |
Definition at line 15 of file HexagonTargetInfo.cpp.
Referenced by LLVMInitializeHexagonAsmPrinter(), LLVMInitializeHexagonDisassembler(), LLVMInitializeHexagonTarget(), LLVMInitializeHexagonTargetInfo(), and LLVMInitializeHexagonTargetMC().
| Target llvm::TheMips64elTarget |
Definition at line 36 of file MipsMCTargetDesc.h.
Referenced by LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsDisassembler(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), and LLVMInitializeMipsTargetMC().
| Target llvm::TheMips64Target |
Definition at line 35 of file MipsMCTargetDesc.h.
Referenced by LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsDisassembler(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), and LLVMInitializeMipsTargetMC().
| Target llvm::TheMipselTarget |
Definition at line 34 of file MipsMCTargetDesc.h.
Referenced by LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsDisassembler(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), and LLVMInitializeMipsTargetMC().
| Target llvm::TheMipsTarget |
Definition at line 31 of file MipsMCTargetDesc.h.
Referenced by LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsDisassembler(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), and LLVMInitializeMipsTargetMC().
| Target llvm::TheMSP430Target |
Definition at line 15 of file MSP430TargetInfo.cpp.
Referenced by LLVMInitializeMSP430AsmPrinter(), LLVMInitializeMSP430Target(), LLVMInitializeMSP430TargetInfo(), and LLVMInitializeMSP430TargetMC().
| Target llvm::TheNVPTXTarget32 |
Definition at line 78 of file NVPTX.h.
Referenced by LLVMInitializeNVPTXAsmPrinter(), LLVMInitializeNVPTXTarget(), LLVMInitializeNVPTXTargetInfo(), and LLVMInitializeNVPTXTargetMC().
| Target llvm::TheNVPTXTarget64 |
Definition at line 79 of file NVPTX.h.
Referenced by LLVMInitializeNVPTXAsmPrinter(), LLVMInitializeNVPTXTarget(), LLVMInitializeNVPTXTargetInfo(), and LLVMInitializeNVPTXTargetMC().
| Target llvm::ThePPC32Target |
Definition at line 15 of file PowerPCTargetInfo.cpp.
Referenced by LLVMInitializePowerPCAsmParser(), LLVMInitializePowerPCAsmPrinter(), LLVMInitializePowerPCDisassembler(), LLVMInitializePowerPCTarget(), LLVMInitializePowerPCTargetInfo(), and LLVMInitializePowerPCTargetMC().
| Target llvm::ThePPC64LETarget |
Definition at line 15 of file PowerPCTargetInfo.cpp.
Referenced by LLVMInitializePowerPCAsmParser(), LLVMInitializePowerPCAsmPrinter(), LLVMInitializePowerPCDisassembler(), LLVMInitializePowerPCTarget(), LLVMInitializePowerPCTargetInfo(), and LLVMInitializePowerPCTargetMC().
| Target llvm::ThePPC64Target |
Definition at line 15 of file PowerPCTargetInfo.cpp.
Referenced by LLVMInitializePowerPCAsmParser(), LLVMInitializePowerPCAsmPrinter(), LLVMInitializePowerPCDisassembler(), LLVMInitializePowerPCTarget(), LLVMInitializePowerPCTargetInfo(), and LLVMInitializePowerPCTargetMC().
| Target llvm::TheSparcelTarget |
Definition at line 35 of file SparcMCTargetDesc.h.
Referenced by LLVMInitializeSparcAsmParser(), LLVMInitializeSparcAsmPrinter(), LLVMInitializeSparcDisassembler(), LLVMInitializeSparcTarget(), LLVMInitializeSparcTargetInfo(), and LLVMInitializeSparcTargetMC().
| Target llvm::TheSparcTarget |
Definition at line 31 of file SparcMCTargetDesc.h.
Referenced by LLVMInitializeSparcAsmParser(), LLVMInitializeSparcAsmPrinter(), LLVMInitializeSparcDisassembler(), LLVMInitializeSparcTarget(), LLVMInitializeSparcTargetInfo(), and LLVMInitializeSparcTargetMC().
| Target llvm::TheSparcV9Target |
Definition at line 34 of file SparcMCTargetDesc.h.
Referenced by LLVMInitializeSparcAsmParser(), LLVMInitializeSparcAsmPrinter(), LLVMInitializeSparcDisassembler(), LLVMInitializeSparcTarget(), LLVMInitializeSparcTargetInfo(), and LLVMInitializeSparcTargetMC().
| Target llvm::TheSystemZTarget |
Definition at line 15 of file SystemZTargetInfo.cpp.
Referenced by LLVMInitializeSystemZAsmParser(), LLVMInitializeSystemZAsmPrinter(), LLVMInitializeSystemZDisassembler(), LLVMInitializeSystemZTarget(), LLVMInitializeSystemZTargetInfo(), and LLVMInitializeSystemZTargetMC().
| Target llvm::TheThumbBETarget |
Definition at line 16 of file ARMTargetInfo.cpp.
Referenced by LLVMInitializeARMAsmParser(), LLVMInitializeARMAsmPrinter(), LLVMInitializeARMDisassembler(), LLVMInitializeARMTarget(), LLVMInitializeARMTargetInfo(), and LLVMInitializeARMTargetMC().
| Target llvm::TheThumbLETarget |
Definition at line 16 of file ARMTargetInfo.cpp.
Referenced by LLVMInitializeARMAsmParser(), LLVMInitializeARMAsmPrinter(), LLVMInitializeARMDisassembler(), LLVMInitializeARMTarget(), LLVMInitializeARMTargetInfo(), and LLVMInitializeARMTargetMC().
| Target llvm::TheWebAssemblyTarget32 |
Definition at line 22 of file WebAssemblyTargetInfo.cpp.
Referenced by LLVMInitializeWebAssemblyTarget(), LLVMInitializeWebAssemblyTargetInfo(), and LLVMInitializeWebAssemblyTargetMC().
| Target llvm::TheWebAssemblyTarget64 |
Definition at line 23 of file WebAssemblyTargetInfo.cpp.
Referenced by LLVMInitializeWebAssemblyTarget(), LLVMInitializeWebAssemblyTargetInfo(), and LLVMInitializeWebAssemblyTargetMC().
| Target llvm::TheX86_32Target |
Definition at line 34 of file X86MCTargetDesc.h.
Referenced by LLVMInitializeX86AsmParser(), LLVMInitializeX86AsmPrinter(), LLVMInitializeX86Disassembler(), LLVMInitializeX86Target(), LLVMInitializeX86TargetInfo(), and LLVMInitializeX86TargetMC().
| Target llvm::TheX86_64Target |
Definition at line 34 of file X86MCTargetDesc.h.
Referenced by LLVMInitializeX86AsmParser(), LLVMInitializeX86AsmPrinter(), LLVMInitializeX86Disassembler(), LLVMInitializeX86Target(), LLVMInitializeX86TargetInfo(), and LLVMInitializeX86TargetMC().
| Target llvm::TheXCoreTarget |
Definition at line 20 of file XCoreMCTargetDesc.h.
Referenced by LLVMInitializeXCoreAsmPrinter(), LLVMInitializeXCoreDisassembler(), LLVMInitializeXCoreTarget(), LLVMInitializeXCoreTargetInfo(), and LLVMInitializeXCoreTargetMC().
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.
This is the storage for the -time-passes option.
Definition at line 26 of file IRReader.cpp.
Referenced by llvm::AsmPrinter::doFinalization(), llvm::DwarfDebug::DwarfDebug(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitGlobalVariable(), and parseIR().
| 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 175 of file TwoAddressInstructionPass.cpp.
Referenced by llvm::TargetPassConfig::addFastRegAlloc(), and llvm::TargetPassConfig::addOptimizedRegAlloc().
| char & llvm::UnpackMachineBundlesID = UnpackMachineBundles::ID |
UnpackMachineBundles - This pass unpack machine instruction bundles.
Definition at line 39 of file MachineInstrBundle.cpp.
| char& llvm::UnreachableMachineBlockElimID |
UnreachableMachineBlockElimination - This pass removes unreachable machine basic blocks.
Referenced by llvm::LiveVariables::getAnalysisUsage().
| cl::opt<bool> llvm::UseSegmentSetForPhysRegs("use-segment-set-for-physregs", cl::Hidden, cl::init(true), cl::desc("Use segment set for the computation of the live ranges of physregs.")) |
Referenced by llvm::LiveIntervals::getRegUnit().
| char & llvm::VirtRegRewriterID = VirtRegRewriter::ID |
VirtRegRewriter pass.
Rewrite virtual registers to physical registers as assigned in VirtRegMap.
Definition at line 181 of file VirtRegMap.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
1.8.6