14 #ifndef LLVM_IR_PREDITERATORCACHE_H 15 #define LLVM_IR_PREDITERATORCACHE_H 51 BlockToPredCountMap[BB] = PredCache.
size() - 1;
59 auto Result = BlockToPredCountMap.
find(BB);
60 if (Result != BlockToPredCountMap.
end())
61 return Result->second;
73 BlockToPredsMap.
clear();
74 BlockToPredCountMap.
clear();
This class represents lattice values for constants.
This class provides various memory handling functions that manipulate MemoryBlock instances...
void push_back(const T &Elt)
This file defines the MallocAllocator and BumpPtrAllocator interfaces.
void Reset()
Deallocate all but the current slab and reset the current pointer to the beginning of it...
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
PredIteratorCache - This class is an extremely trivial cache for predecessor iterator queries...
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
iterator find(const_arg_type_t< KeyT > Val)
LLVM Basic Block Representation.
Allocate memory in an ever growing pool, as if by bump-pointer.
size_t size(BasicBlock *BB) const
LLVM_ATTRIBUTE_ALWAYS_INLINE iterator begin()
LLVM_ATTRIBUTE_RETURNS_NONNULL LLVM_ATTRIBUTE_RETURNS_NOALIAS void * Allocate(size_t Size, size_t Alignment)
Allocate space at the specified alignment.
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...
Interval::pred_iterator pred_end(Interval *I)
void clear()
clear - Remove all information.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
This file provides various utilities for inspecting and working with the control flow graph in LLVM I...
LLVM_ATTRIBUTE_ALWAYS_INLINE iterator end()
OutputIt copy(R &&Range, OutputIt Out)