llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Public Member Functions | Public Attributes | List of all members
ReverseNodeState Struct Reference

#include <passes/global_forward/nodes.h>

Collaboration diagram for ReverseNodeState:
Collaboration graph
[legend]

Public Member Functions

 ReverseNodeState (DAGBlock &node)
 
void Merge (const ReverseNodeState &that)
 LUB operator of two nodes.
 
void Store (ID< Object > id)
 
void Store (ID< Object > id, uint64_t start, uint64_t end, MemoryStoreInst *store=nullptr)
 
void Store (const BitSet< Object > &changed)
 
void Load (ID< Object > id)
 
void Load (ID< Object > id, uint64_t start, uint64_t end)
 
void Load (const BitSet< Object > &loaded)
 
void dump (llvm::raw_ostream &os)
 Print information about the node to a stream.
 

Public Attributes

DAGBlockNode
 Originating nodes.
 
llvm::DenseSet< ReverseNodeState * > Succs
 Predecessor of the node.
 
std::unordered_map< ID< Object >, std::map< uint64_t, std::pair< MemoryStoreInst *, uint64_t > > > Stores
 Set of stores which can be forwarded here.
 
BitSet< ObjectStored
 Imprecise, tainted locations.
 
BitSet< ObjectLoaded
 Set of inaccurate loads.
 

Detailed Description

Node in the reverse flow graph used to find the earliest insertion point for stores which can potentially be folded.

Member Function Documentation

◆ Load()

void ReverseNodeState::Load ( ID< Object id)

Loads

◆ Store()

void ReverseNodeState::Store ( ID< Object id)

Stores


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