LLVM  8.0.1
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 "llvm/CodeGen/FunctionLoweringInfo.h"

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

Public Types

using SlotMapTy = DenseMap< const Value *, Optional< int > >
 

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 141 of file FunctionLoweringInfo.h.

Member Typedef Documentation

◆ SlotMapTy

Definition at line 142 of file FunctionLoweringInfo.h.

Member Function Documentation

◆ end()

SlotMapTy::const_iterator llvm::FunctionLoweringInfo::StatepointSpillMap::end ( ) const
inline

◆ find()

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

Member Data Documentation

◆ DuplicateMap

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

Maps llvm IR values to the values they were de-duplicated to.

Definition at line 150 of file FunctionLoweringInfo.h.

Referenced by removeDuplicateGCPtrs().

◆ SlotMap

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 147 of file FunctionLoweringInfo.h.


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