LLVM 22.0.0git
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:
[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 318 of file SelectionDAG.h.

Constructor & Destructor Documentation

◆ DAGUpdateListener()

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

◆ ~DAGUpdateListener()

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

Definition at line 327 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

◆ Next

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

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