LLVM  8.0.1
Public Member Functions | Public Attributes | List of all members
llvm::SelectionDAG::DAGUpdateListener Struct Reference

Clients of various APIs that cause global effects on the DAG can optionally implement this interface. More...

#include "llvm/CodeGen/SelectionDAG.h"

Inheritance diagram for llvm::SelectionDAG::DAGUpdateListener:
Inheritance graph
[legend]
Collaboration diagram for llvm::SelectionDAG::DAGUpdateListener:
Collaboration graph
[legend]

Public Member Functions

 DAGUpdateListener (SelectionDAG &D)
 
virtual ~DAGUpdateListener ()
 
virtual void NodeDeleted (SDNode *N, SDNode *E)
 The node N that was deleted and, if E is not null, an equivalent node E that replaced it. More...
 
virtual void NodeUpdated (SDNode *N)
 The node N that was updated. More...
 

Public Attributes

DAGUpdateListener *const Next
 
SelectionDAGDAG
 

Detailed Description

Clients of various APIs that cause global effects on the DAG can optionally implement this interface.

This allows the clients to handle the various sorts of updates that happen.

A DAGUpdateListener automatically registers itself with DAG when it is constructed, and removes itself when destroyed in RAII fashion.

Definition at line 280 of file SelectionDAG.h.

Constructor & Destructor Documentation

◆ DAGUpdateListener()

llvm::SelectionDAG::DAGUpdateListener::DAGUpdateListener ( SelectionDAG D)
inlineexplicit

Definition at line 284 of file SelectionDAG.h.

Referenced by VerifySDNode().

◆ ~DAGUpdateListener()

virtual llvm::SelectionDAG::DAGUpdateListener::~DAGUpdateListener ( )
inlinevirtual

Definition at line 289 of file SelectionDAG.h.

References assert(), E, and N.

Member Function Documentation

◆ NodeDeleted()

void SelectionDAG::DAGUpdateListener::NodeDeleted ( SDNode N,
SDNode E 
)
virtual

The node N that was deleted and, if E is not null, an equivalent node E that replaced it.

Reimplemented in llvm::SelectionDAG::DAGNodeDeletedListener.

Definition at line 87 of file SelectionDAG.cpp.

◆ NodeUpdated()

void SelectionDAG::DAGUpdateListener::NodeUpdated ( SDNode N)
virtual

The node N that was updated.

Definition at line 88 of file SelectionDAG.cpp.

Member Data Documentation

◆ DAG

SelectionDAG& llvm::SelectionDAG::DAGUpdateListener::DAG

Definition at line 282 of file SelectionDAG.h.

◆ Next

DAGUpdateListener* const llvm::SelectionDAG::DAGUpdateListener::Next

Definition at line 281 of file SelectionDAG.h.

Referenced by llvm::SelectionDAG::RemoveDeadNodes().


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