MLIR  19.0.0git
Public Member Functions | List of all members
mlir::dataflow::CFGEdge Class Reference

This program point represents a control-flow edge between a block and one of its successors. More...

#include "mlir/Analysis/DataFlow/DeadCodeAnalysis.h"

+ Inheritance diagram for mlir::dataflow::CFGEdge:

Public Member Functions

BlockgetFrom () const
 Get the block from which the edge originates. More...
 
BlockgetTo () const
 Get the target block. More...
 
void print (raw_ostream &os) const override
 Print the blocks between the control-flow edge. More...
 
Location getLoc () const override
 Get a fused location of both blocks. More...
 
- Public Member Functions inherited from mlir::GenericProgramPointBase< CFGEdge, std::pair< Block *, Block * > >
 GenericProgramPointBase (ValueT &&value)
 Construct an instance of the program point using the provided value and the type ID of the concrete type. More...
 
bool operator== (const std::pair< Block *, Block * > &value) const
 Two program points are equal if their values are equal. More...
 
const std::pair< Block *, Block * > & getValue () const
 Get the contents of the program point. More...
 
- Public Member Functions inherited from mlir::GenericProgramPoint
virtual ~GenericProgramPoint ()
 
TypeID getTypeID () const
 Get the abstract program point's type identifier. More...
 

Additional Inherited Members

- Public Types inherited from mlir::GenericProgramPointBase< CFGEdge, std::pair< Block *, Block * > >
using KeyTy = std::pair< Block *, Block * >
 The concrete key type used by the storage uniquer. More...
 
using Base = GenericProgramPointBase< CFGEdge, std::pair< Block *, Block * > >
 Alias for the base class. More...
 
- Static Public Member Functions inherited from mlir::GenericProgramPointBase< CFGEdge, std::pair< Block *, Block * > >
static CFGEdge * get (StorageUniquer &uniquer, Args &&...args)
 Get a uniqued instance of this program point class with the given arguments. More...
 
static CFGEdge * construct (StorageUniquer::StorageAllocator &alloc, ValueT &&value)
 Allocate space for a program point and construct it in-place. More...
 
static bool classof (const GenericProgramPoint *point)
 Provide LLVM-style RTTI using type IDs. More...
 
- Protected Member Functions inherited from mlir::GenericProgramPoint
 GenericProgramPoint (TypeID typeID)
 Create an abstract program point with type identifier. More...
 
- Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()=default
 

Detailed Description

This program point represents a control-flow edge between a block and one of its successors.

Definition at line 145 of file DeadCodeAnalysis.h.

Member Function Documentation

◆ getFrom()

Block* mlir::dataflow::CFGEdge::getFrom ( ) const
inline

Get the block from which the edge originates.

Definition at line 151 of file DeadCodeAnalysis.h.

References mlir::GenericProgramPointBase< CFGEdge, std::pair< Block *, Block * > >::getValue().

Referenced by getLoc(), and print().

◆ getLoc()

Location CFGEdge::getLoc ( ) const
overridevirtual

Get a fused location of both blocks.

Implements mlir::GenericProgramPoint.

Definition at line 100 of file DeadCodeAnalysis.cpp.

References mlir::get(), getContext(), getFrom(), mlir::Region::getLoc(), mlir::Block::getParent(), and getTo().

◆ getTo()

Block* mlir::dataflow::CFGEdge::getTo ( ) const
inline

Get the target block.

Definition at line 153 of file DeadCodeAnalysis.h.

References mlir::GenericProgramPointBase< CFGEdge, std::pair< Block *, Block * > >::getValue().

Referenced by getLoc(), and print().

◆ print()

void CFGEdge::print ( raw_ostream &  os) const
overridevirtual

Print the blocks between the control-flow edge.

Implements mlir::GenericProgramPoint.

Definition at line 106 of file DeadCodeAnalysis.cpp.

References getFrom(), getTo(), and mlir::Block::print().


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