CGRAOmp  0.1
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
llvm::DFGNode Class Referenceabstract

An abstract class for DFG node derived from DGNode. More...

#include <CGRADataFlowGraph.hpp>

Inheritance diagram for llvm::DFGNode:
llvm::DataNode< DFGNode::NodeKind::Constant > llvm::DataNode< DFGNode::NodeKind::GlobalData > llvm::ComputeNode llvm::DataNode< DrivedKind > llvm::GEPNode< OPCODE_STR > llvm::MemAccessNode llvm::VirtualRootNode llvm::ConstantNode llvm::GlobalDataNode llvm::GEPConstantNode

Public Types

enum  NodeKind {
  NodeKind::Compute, NodeKind::MemLoad, NodeKind::MemStore, NodeKind::Compare,
  NodeKind::Constant, NodeKind::GlobalData, NodeKind::VirtualRoot
}
 

Public Member Functions

 DFGNode (int ID, NodeKind kind, Value *val)
 
 DFGNode (NodeKind kind, Value *val)
 
 DFGNode (const DFGNode &N)
 
 DFGNode (DFGNode &&N)
 
DFGNodeoperator= (const DFGNode &N)
 
DFGNodeoperator= (DFGNode &&N)
 
NodeKind getKind () const
 
int getID () const
 
Value * getValue () const
 
virtual string getUniqueName () const =0
 
virtual string getNodeAttr () const =0
 
virtual string getExtraAttr () const
 
bool isEqualTo (const DFGNode &N) const
 
void setExtraInfo (StringRef key, json::Value V)
 
bool hasExtraInfo () const
 
json::Value getExtraInfoAsJSONObject ()
 

Public Attributes

friend CGRADFG
 

Protected Attributes

NodeKind kind
 
int ID
 
Value * val
 
StringMap< json::Value * > extra_info
 

Detailed Description

An abstract class for DFG node derived from DGNode.

Member Enumeration Documentation

◆ NodeKind

Enumerator
Compute 
MemLoad 
MemStore 
Compare 
Constant 
GlobalData 
VirtualRoot 

Constructor & Destructor Documentation

◆ DFGNode() [1/4]

llvm::DFGNode::DFGNode ( int  ID,
NodeKind  kind,
Value *  val 
)
inline

◆ DFGNode() [2/4]

llvm::DFGNode::DFGNode ( NodeKind  kind,
Value *  val 
)
inline

◆ DFGNode() [3/4]

llvm::DFGNode::DFGNode ( const DFGNode N)
inline

◆ DFGNode() [4/4]

llvm::DFGNode::DFGNode ( DFGNode &&  N)
inline

Member Function Documentation

◆ getExtraAttr()

virtual string llvm::DFGNode::getExtraAttr ( ) const
inlinevirtual

◆ getExtraInfoAsJSONObject()

json::Value llvm::DFGNode::getExtraInfoAsJSONObject ( )
inline

◆ getID()

int llvm::DFGNode::getID ( ) const
inline

◆ getKind()

NodeKind llvm::DFGNode::getKind ( ) const
inline

◆ getNodeAttr()

virtual string llvm::DFGNode::getNodeAttr ( ) const
pure virtual

◆ getUniqueName()

virtual string llvm::DFGNode::getUniqueName ( ) const
pure virtual

◆ getValue()

Value* llvm::DFGNode::getValue ( ) const
inline

◆ hasExtraInfo()

bool llvm::DFGNode::hasExtraInfo ( ) const
inline

◆ isEqualTo()

bool llvm::DFGNode::isEqualTo ( const DFGNode N) const
inline

◆ operator=() [1/2]

DFGNode& llvm::DFGNode::operator= ( const DFGNode N)
inline

◆ operator=() [2/2]

DFGNode& llvm::DFGNode::operator= ( DFGNode &&  N)
inline

◆ setExtraInfo()

void llvm::DFGNode::setExtraInfo ( StringRef  key,
json::Value  V 
)
inline

Member Data Documentation

◆ CGRADFG

friend llvm::DFGNode::CGRADFG

◆ extra_info

StringMap<json::Value*> llvm::DFGNode::extra_info
protected

◆ ID

int llvm::DFGNode::ID
protected

◆ kind

NodeKind llvm::DFGNode::kind
protected

◆ val

Value* llvm::DFGNode::val
protected

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