Hash map for mapping points-to graph memory nodes to RVSDG memory states.
More...
Hash map for mapping points-to graph memory nodes to RVSDG memory states.
Definition at line 327 of file MemoryStateEncoder.cpp.
◆ StateMap() [1/3]
| jlm::llvm::aa::MemoryStateEncoder::StateMap::StateMap |
( |
| ) |
|
|
default |
◆ StateMap() [2/3]
| jlm::llvm::aa::MemoryStateEncoder::StateMap::StateMap |
( |
const StateMap & |
| ) |
|
|
delete |
◆ StateMap() [3/3]
| jlm::llvm::aa::MemoryStateEncoder::StateMap::StateMap |
( |
StateMap && |
| ) |
|
|
delete |
◆ getOrCreateStates()
Gets the memory state for each of the given memory nodes. If no memory state output exists for a given memory node, an UndefValue node is created. This only happens when a ModRefSet contains alloca whose memory state is not routed in as a function argument, and the alloca operation has not been encoded yet. This can happen when alloca operations are inside subregions, or when the allocation count is a runtime value that depends on a load.
- Parameters
-
| modRefNodes | the set of memory nodes to retrieve states for. |
| region | the region in which the states are needed |
- Returns
- The memory states for each given memory nodes.
Definition at line 373 of file MemoryStateEncoder.cpp.
◆ getState()
◆ insertState()
Inserts memory state state for memory node modRefNode in the state map. The memory node must not have an already associated state.
- Parameters
-
| modRefNode | the memory node |
| state | the output that produces the memory state associated with the memory node |
Definition at line 433 of file MemoryStateEncoder.cpp.
◆ operator=() [1/2]
| StateMap & jlm::llvm::aa::MemoryStateEncoder::StateMap::operator= |
( |
const StateMap & |
| ) |
|
|
delete |
◆ operator=() [2/2]
| StateMap & jlm::llvm::aa::MemoryStateEncoder::StateMap::operator= |
( |
StateMap && |
| ) |
|
|
delete |
◆ tryGetState()
◆ updateState()
◆ updateStates()
◆ states_
The documentation for this class was generated from the following file: