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

Constructor & Destructor Documentation

◆ DAGUpdateListener()

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

Definition at line 319 of file SelectionDAG.h.

References DAG.

◆ ~DAGUpdateListener()

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

Definition at line 324 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 97 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 99 of file SelectionDAG.cpp.

◆ NodeUpdated()

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

The node N that was updated.

Definition at line 98 of file SelectionDAG.cpp.

Member Data Documentation

◆ DAG

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

Definition at line 317 of file SelectionDAG.h.

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

◆ Next

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

Definition at line 316 of file SelectionDAG.h.

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


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