1//===- PredIteratorCache.h - pred_iterator Cache ----------------*- C++ -*-===// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7//===----------------------------------------------------------------------===// 9// This file defines the PredIteratorCache class. 11//===----------------------------------------------------------------------===// 13#ifndef LLVM_IR_PREDITERATORCACHE_H 14#define LLVM_IR_PREDITERATORCACHE_H 24/// PredIteratorCache - This class is an extremely trivial cache for 25/// predecessor iterator queries. This is useful for code that repeatedly 26/// wants the predecessor list for the same blocks. 28 /// Cached list of predecessors, allocated in Memory. 31 /// Memory - This is the space that holds cached preds. 48 /// clear - Remove all information. 50 BlockToPredsMap.
clear();
This file defines the BumpPtrAllocator interface.
This file defines the DenseMap class.
This file provides various utilities for inspecting and working with the control flow graph in LLVM I...
This file defines the SmallVector class.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
LLVM Basic Block Representation.
Allocate memory in an ever growing pool, as if by bump-pointer.
PredIteratorCache - This class is an extremely trivial cache for predecessor iterator queries.
size_t size(BasicBlock *BB)
void clear()
clear - Remove all information.
ArrayRef< BasicBlock * > get(BasicBlock *BB)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
This class provides various memory handling functions that manipulate MemoryBlock instances.
This is an optimization pass for GlobalISel generic memory operations.
auto predecessors(const MachineBasicBlock *BB)