LLVM 20.0.0git
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]

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.
 
virtual void NodeUpdated (SDNode *N)
 The node N that was updated.
 
virtual void NodeInserted (SDNode *N)
 The node N that was inserted.
 

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 310 of file SelectionDAG.h.

Constructor & Destructor Documentation

◆ DAGUpdateListener()

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

Definition at line 314 of file SelectionDAG.h.

References DAG.

◆ ~DAGUpdateListener()

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

Definition at line 319 of file SelectionDAG.h.

References assert(), DAG, and Next.

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 95 of file SelectionDAG.cpp.

◆ NodeInserted()

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

The node N that was inserted.

Reimplemented in llvm::SelectionDAG::DAGNodeInsertedListener.

Definition at line 97 of file SelectionDAG.cpp.

◆ NodeUpdated()

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

The node N that was updated.

Definition at line 96 of file SelectionDAG.cpp.

Member Data Documentation

◆ DAG

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

Definition at line 312 of file SelectionDAG.h.

Referenced by DAGUpdateListener(), and ~DAGUpdateListener().

◆ Next

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

Definition at line 311 of file SelectionDAG.h.

Referenced by llvm::SelectionDAG::RemoveDeadNodes(), and ~DAGUpdateListener().


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