Files
gps/tools/local/circt/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.cpp.inc
T
2026-07-12 11:01:51 +03:00

52 lines
2.6 KiB
C++

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|* Interface Definitions *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
/// Optional function for setting a predicate, which
/// always returns a `PtxPredicate` value of type i1. If no predicate is
/// provided, the instruction is unguarded; otherwise, it's guarded by the
/// predicate value. The `PtxPredicate` value must always be the last argument.
/// The provided PTX code by `getPtx` should not include the predicate usage.
/// The interface automatically handles predicate usage in the generated
/// PTX code when necessary.
std::optional<::mlir::Value> mlir::NVVM::BasicPtxBuilderInterface::getPredicate() {
return getImpl()->getPredicate(getImpl(), getOperation());
}
/// Returns PTX assembly with operand number.
std::string mlir::NVVM::BasicPtxBuilderInterface::getPtx() {
return getImpl()->getPtx(getImpl(), getOperation());
}
/// This function indicates whether the operation is supported by LLVM
/// intrinsics. It's particularly useful for operations that have
/// specific cases with LLVM intrinsic support.
bool mlir::NVVM::BasicPtxBuilderInterface::hasIntrinsic() {
return getImpl()->hasIntrinsic(getImpl(), getOperation());
}
/// Return whether the operation has memory side effects.
bool mlir::NVVM::BasicPtxBuilderInterface::hasSideEffect() {
return getImpl()->hasSideEffect(getImpl(), getOperation());
}
/// Helper function to generate i32 constant value.
::mlir::Value mlir::NVVM::BasicPtxBuilderInterface::makeConstantI32(::mlir::RewriterBase & rewriter, int val) {
return getImpl()->makeConstantI32(getImpl(), getOperation(), rewriter, val);
}
/// This function supplies the necessary arguments for passing PTX code,
/// following this order:
/// 1) Adds results
/// 2) Adds operands
/// 3) Adds attributes
/// Returns true if the OP is going to do register mapping itself
bool mlir::NVVM::BasicPtxBuilderInterface::getAsmValues(::mlir::RewriterBase & rewriter, llvm::SmallVectorImpl<std::pair<mlir::Value, mlir::NVVM::PTXRegisterMod>>& asmValues) {
return getImpl()->getAsmValues(getImpl(), getOperation(), rewriter, asmValues);
}