class PredIteratorCache
Declaration
class PredIteratorCache { /* full declaration omitted */ };
Description
PredIteratorCache - This class is an extremely trivial cache for predecessor iterator queries. This is useful for code that repeatedly wants the predecessor list for the same blocks.
Declared at: llvm/include/llvm/IR/PredIteratorCache.h:27
Member Variables
- private DenseMap<llvm::BasicBlock*, llvm::BasicBlock**> BlockToPredsMap
- BlockToPredsMap - Pointer to null-terminated list.
- private DenseMap<llvm::BasicBlock*, unsigned int> BlockToPredCountMap
- private llvm::BumpPtrAllocator Memory
- Memory - This is the space that holds cached preds.
Method Overview
- private unsigned int GetNumPreds(llvm::BasicBlock * BB) const
- private llvm::BasicBlock ** GetPreds(llvm::BasicBlock * BB)
- public void clear()
- public ArrayRef<llvm::BasicBlock *> get(llvm::BasicBlock * BB)
- public size_t size(llvm::BasicBlock * BB) const
Methods
¶unsigned int GetNumPreds(
llvm::BasicBlock* BB) const
unsigned int GetNumPreds(
llvm::BasicBlock* BB) const
Declared at: llvm/include/llvm/IR/PredIteratorCache.h:57
Parameters
- llvm::BasicBlock* BB
¶llvm::BasicBlock** GetPreds(llvm::BasicBlock* BB)
llvm::BasicBlock** GetPreds(llvm::BasicBlock* BB)
Description
GetPreds - Get a cached list for the null-terminated predecessor list of the specified block. This can be used in a loop like this: for (BasicBlock **PI = PredCache->GetPreds(BB); *PI; ++PI) use(*PI); instead of: for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI)
Declared at: llvm/include/llvm/IR/PredIteratorCache.h:42
Parameters
- llvm::BasicBlock* BB
¶void clear()
void clear()
Description
clear - Remove all information.
Declared at: llvm/include/llvm/IR/PredIteratorCache.h:71
¶ArrayRef<llvm::BasicBlock*> get(
llvm::BasicBlock* BB)
ArrayRef<llvm::BasicBlock*> get(
llvm::BasicBlock* BB)
Declared at: llvm/include/llvm/IR/PredIteratorCache.h:66
Parameters
- llvm::BasicBlock* BB
¶size_t size(llvm::BasicBlock* BB) const
size_t size(llvm::BasicBlock* BB) const
Declared at: llvm/include/llvm/IR/PredIteratorCache.h:65
Parameters
- llvm::BasicBlock* BB