|
LLVM
4.0.0
|
Keep track of frame indices allocated for statepoints as they could be used across basic block boundaries. More...
#include <FunctionLoweringInfo.h>
Public Types | |
| typedef DenseMap< const Value *, Optional< int > > | SlotMapTy |
Public Member Functions | |
| SlotMapTy::const_iterator | find (const Value *V) const |
| SlotMapTy::const_iterator | end () const |
Public Attributes | |
| SlotMapTy | SlotMap |
| Maps uniqued llvm IR values to the slots they were spilled in. More... | |
| DenseMap< const Value *, const Value * > | DuplicateMap |
| Maps llvm IR values to the values they were de-duplicated to. More... | |
Keep track of frame indices allocated for statepoints as they could be used across basic block boundaries.
This struct is more complex than a simple map because the stateopint lowering code de-duplicates gc pointers based on their SDValue (so p and (bitcast p to T) will get the same slot), and we track that here.
Definition at line 119 of file FunctionLoweringInfo.h.
| typedef DenseMap<const Value *, Optional<int> > llvm::FunctionLoweringInfo::StatepointSpillMap::SlotMapTy |
Definition at line 120 of file FunctionLoweringInfo.h.
|
inline |
Definition at line 137 of file FunctionLoweringInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and SlotMap.
|
inline |
Definition at line 130 of file FunctionLoweringInfo.h.
References DuplicateMap, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and SlotMap.
Maps llvm IR values to the values they were de-duplicated to.
Definition at line 128 of file FunctionLoweringInfo.h.
Referenced by find(), and removeDuplicateGCPtrs().
| SlotMapTy llvm::FunctionLoweringInfo::StatepointSpillMap::SlotMap |
Maps uniqued llvm IR values to the slots they were spilled in.
If a value is mapped to None it means we visited the value but didn't spill it (because it was a constant, for instance).
Definition at line 125 of file FunctionLoweringInfo.h.
1.8.6