LLVM  4.0.0
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::FunctionLoweringInfo::StatepointSpillMap Struct Reference

Keep track of frame indices allocated for statepoints as they could be used across basic block boundaries. More...

#include <FunctionLoweringInfo.h>

Collaboration diagram for llvm::FunctionLoweringInfo::StatepointSpillMap:
[legend]

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...
 

Detailed Description

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.

Member Typedef Documentation

Definition at line 120 of file FunctionLoweringInfo.h.

Member Function Documentation

SlotMapTy::const_iterator llvm::FunctionLoweringInfo::StatepointSpillMap::end ( ) const
inline
SlotMapTy::const_iterator llvm::FunctionLoweringInfo::StatepointSpillMap::find ( const Value V) const
inline

Member Data Documentation

DenseMap<const Value *, const Value *> llvm::FunctionLoweringInfo::StatepointSpillMap::DuplicateMap

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.

Referenced by end(), and find().


The documentation for this struct was generated from the following file: