MLIR 24.0.0git
mlir::RegionBranchPoint Class Reference

This class represents a point being branched from in the methods of the RegionBranchOpInterface. More...

#include "mlir/Interfaces/ControlFlowInterfaces.h"

Public Member Functions

 RegionBranchPoint (RegionBranchTerminatorOpInterface predecessor)
 Creates a RegionBranchPoint that branches from the given terminator.
 RegionBranchPoint (std::nullptr_t)=delete
 Explicitly stops users from constructing with nullptr.
bool isParent () const
 Returns true if branching from the parent op.
RegionBranchTerminatorOpInterface getTerminatorPredecessorOrNull () const
 Returns the terminator if branching from a region.

Static Public Member Functions

static constexpr RegionBranchPoint parent ()
 Returns an instance of RegionBranchPoint representing the parent operation.

Friends

bool operator== (RegionBranchPoint lhs, RegionBranchPoint rhs)
 Returns true if the two branch points are equal.

Detailed Description

This class represents a point being branched from in the methods of the RegionBranchOpInterface.

One can branch from one of two kinds of places:

  • The parent operation (aka the RegionBranchOpInterface implementation)
  • A RegionBranchTerminatorOpInterface inside a region within the parent

Definition at line 255 of file ControlFlowInterfaces.h.

Constructor & Destructor Documentation

◆ RegionBranchPoint() [1/2]

mlir::RegionBranchPoint::RegionBranchPoint ( RegionBranchTerminatorOpInterface predecessor)
inline

Creates a RegionBranchPoint that branches from the given terminator.

Definition at line 411 of file ControlFlowInterfaces.h.

Referenced by operator==, and parent().

◆ RegionBranchPoint() [2/2]

mlir::RegionBranchPoint::RegionBranchPoint ( std::nullptr_t )
delete

Explicitly stops users from constructing with nullptr.

Member Function Documentation

◆ getTerminatorPredecessorOrNull()

RegionBranchTerminatorOpInterface mlir::RegionBranchPoint::getTerminatorPredecessorOrNull ( ) const
inline

Returns the terminator if branching from a region.

A "null" operation otherwise.

Definition at line 416 of file ControlFlowInterfaces.h.

Referenced by mlir::operator<<().

◆ isParent()

bool mlir::RegionBranchPoint::isParent ( ) const
inline

Returns true if branching from the parent op.

Definition at line 268 of file ControlFlowInterfaces.h.

Referenced by getSingleRegionOpSuccessorRegions(), and mlir::operator<<().

◆ parent()

constexpr RegionBranchPoint mlir::RegionBranchPoint::parent ( )
inlinestaticconstexpr

Returns an instance of RegionBranchPoint representing the parent operation.

Definition at line 259 of file ControlFlowInterfaces.h.

References RegionBranchPoint().

Referenced by collectUnderlyingAddressValues(), and mlir::dataflow::AbstractDenseBackwardDataFlowAnalysis::processOperation().

◆ operator==

bool operator== ( RegionBranchPoint lhs,
RegionBranchPoint rhs )
friend

Returns true if the two branch points are equal.

Definition at line 276 of file ControlFlowInterfaces.h.

References RegionBranchPoint().


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