Class CallOp

Inheritance Relationships

Base Type

  • public mlir::Op< CallOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::VariadicResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ArgAndResultAttrsOpInterface::Trait, ::mlir::CallOpInterface::Trait >

Class Documentation

class CallOp : public mlir::Op<CallOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::VariadicResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ArgAndResultAttrsOpInterface::Trait, ::mlir::CallOpInterface::Trait>

Public Types

using Adaptor = CallOpAdaptor
template<typename RangeT>
using GenericAdaptor = CallOpGenericAdaptor<RangeT>
using FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>>
using Properties = FoldAdaptor::Properties

Public Functions

inline ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames()
inline ::mlir::StringAttr getArgAttrsAttrName()
inline ::mlir::StringAttr getCalleeAttrName()
inline ::mlir::StringAttr getResAttrsAttrName()
std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index)
inline ::mlir::Operation::operand_range getODSOperands(unsigned index)
inline ::mlir::Operation::operand_range getOperands()
::mlir::MutableOperandRange getOperandsMutable()
std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index)
inline ::mlir::Operation::result_range getODSResults(unsigned index)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
inline ::mlir::FlatSymbolRefAttr getCalleeAttr()
::llvm::StringRef getCallee()
inline ::mlir::ArrayAttr getArgAttrsAttr()
::std::optional<::mlir::ArrayAttr> getArgAttrs()
inline ::mlir::ArrayAttr getResAttrsAttr()
::std::optional<::mlir::ArrayAttr> getResAttrs()
inline void setCalleeAttr(::mlir::FlatSymbolRefAttr attr)
void setCallee(::llvm::StringRef attrValue)
inline void setArgAttrsAttr(::mlir::ArrayAttr attr)
inline void setResAttrsAttr(::mlir::ArrayAttr attr)
inline ::mlir::Attribute removeArgAttrsAttr()
inline ::mlir::Attribute removeResAttrsAttr()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
inline operand_range getArgOperands()
inline MutableOperandRange getArgOperandsMutable()
inline operand_iterator arg_operand_begin()
inline operand_iterator arg_operand_end()
inline CallInterfaceCallable getCallableForCallee()
inline void setCalleeFromCallable(CallInterfaceCallable callee)

Public Static Functions

static inline ::mlir::StringAttr getArgAttrsAttrName(::mlir::OperationName name)
static inline ::mlir::StringAttr getCalleeAttrName(::mlir::OperationName name)
static inline ::mlir::StringAttr getResAttrsAttrName(::mlir::OperationName name)
static inline constexpr ::llvm::StringLiteral getOperationName()
static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static llvm::hash_code computePropertiesHash(const Properties &prop)
static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static ::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, FuncOp callee, ValueRange operands = {})

Builds a emithls::CallOp targeting callee with operands.

Parameters:
  • callee – The FuncOp to call; its name is stored as a SymbolRefAttr and its result types become this op’s result types.

  • operands – The arguments forwarded to the callee.

static CallOp create(::mlir::OpBuilder &builder, ::mlir::Location location, FuncOp callee, ValueRange operands = {})
static CallOp create(::mlir::ImplicitLocOpBuilder &builder, FuncOp callee, ValueRange operands = {})
static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)

Public Static Attributes

static constexpr int odsIndex_operands = 0