MLIR  20.0.0git
Classes | Namespaces | Typedefs | Functions
Value.h File Reference
#include "mlir/IR/Types.h"
#include "mlir/IR/UseDefLists.h"
#include "mlir/Support/LLVM.h"
#include "llvm/Support/PointerLikeTypeTraits.h"

Go to the source code of this file.

Classes

class  mlir::detail::ValueImpl
 The base class for all derived Value classes. More...
 
class  mlir::Value
 This class represents an instance of an SSA value in the MLIR system, representing a computable value that has a type and a set of users. More...
 
class  mlir::OpOperand
 This class represents an operand of an operation. More...
 
class  mlir::detail::BlockArgumentImpl
 The internal implementation of a BlockArgument. More...
 
class  mlir::BlockArgument
 This class represents an argument of a Block. More...
 
class  mlir::detail::OpResultImpl
 This class provides the implementation for an operation result. More...
 
struct  mlir::detail::InlineOpResult
 This class provides the implementation for an operation result whose index can be represented "inline" in the underlying ValueImpl. More...
 
class  mlir::detail::OutOfLineOpResult
 This class provides the implementation for an operation result whose index cannot be represented "inline", and thus requires an additional index field. More...
 
struct  mlir::detail::TypedValue< Ty >
 TypedValue is a Value with a statically know type. More...
 
class  mlir::OpResult
 This is a value defined by a result of an operation. More...
 
struct  llvm::DenseMapInfo< mlir::Value >
 
struct  llvm::DenseMapInfo< mlir::BlockArgument >
 
struct  llvm::DenseMapInfo< mlir::OpResult >
 
struct  llvm::DenseMapInfo< mlir::detail::TypedValue< T > >
 
struct  llvm::PointerLikeTypeTraits< mlir::Value >
 Allow stealing the low bits of a value. More...
 
struct  llvm::PointerLikeTypeTraits< mlir::BlockArgument >
 
struct  llvm::PointerLikeTypeTraits< mlir::OpResult >
 
struct  llvm::PointerLikeTypeTraits< mlir::detail::TypedValue< T > >
 
struct  llvm::CastInfo< To, From, std::enable_if_t< std::is_same_v< mlir::Value, std::remove_const_t< From > >||std::is_base_of_v< mlir::Value, From > > >
 Add support for llvm style casts. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::detail
 AttrTypeReplacer.
 
 llvm
 The OpAsmOpInterface, see OpAsmInterface.td for more details.
 

Typedefs

template<typename Ty , typename Value = mlir::Value>
using mlir::TypedValue = std::conditional_t< std::is_same_v< Ty, mlir::Type >, mlir::Value, detail::TypedValue< Ty > >
 If Ty is mlir::Type this will select Value instead of having a wrapper around it. More...
 

Functions

raw_ostream & mlir::operator<< (raw_ostream &os, Value value)
 
inline ::llvm::hash_code mlir::hash_value (Value arg)
 Make Value hashable. More...