#include "mlir/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.h"
#include "mlir/Dialect/LLVMIR/NVVMDialect.h"
#include "mlir/Dialect/Utils/StaticValueUtils.h"
#include "mlir/IR/Operation.h"
#include "mlir/Target/LLVMIR/ModuleTranslation.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicsNVPTX.h"
#include "llvm/Support/FormatVariadic.h"
#include "mlir/Dialect/LLVMIR/NVVMConversions.inc"
Go to the source code of this file.
|
#define | REDUX_F32_ID_IMPL(op, abs, hasNaN) |
|
#define | GET_REDUX_F32_ID(op, hasAbs, hasNaN) hasAbs ? REDUX_F32_ID_IMPL(op, _abs, hasNaN) : REDUX_F32_ID_IMPL(op, , hasNaN) |
|
#define | TCGEN05LD(SHAPE, NUM) llvm::Intrinsic::nvvm_tcgen05_ld_##SHAPE##_##NUM |
|
#define | TCGEN05ST(SHAPE, NUM) llvm::Intrinsic::nvvm_tcgen05_st_##SHAPE##_##NUM |
|
|
static llvm::Intrinsic::ID | getReduxIntrinsicId (llvm::Type *resultType, NVVM::ReduxKind kind, bool hasAbs, bool hasNaN) |
|
static llvm::Intrinsic::ID | getShflIntrinsicId (llvm::Type *resultType, NVVM::ShflKind kind, bool withPredicate) |
|
static llvm::Intrinsic::ID | getLdMatrixIntrinsicId (NVVM::MMALayout layout, int32_t num) |
| Return the intrinsic ID associated with ldmatrix for the given paramters. More...
|
|
static unsigned | getUnidirectionalFenceProxyID (NVVM::ProxyKind fromProxy, NVVM::ProxyKind toProxy, NVVM::MemScopeKind scope, bool isRelease) |
|
static llvm::Intrinsic::ID | getTcgen05LdIntrinsicID (mlir::NVVM::Tcgen05LdStShape shape, uint32_t num) |
|
static llvm::Intrinsic::ID | getTcgen05StIntrinsicID (mlir::NVVM::Tcgen05LdStShape shape, uint32_t num) |
|
◆ GET_REDUX_F32_ID
◆ REDUX_F32_ID_IMPL
#define REDUX_F32_ID_IMPL |
( |
|
op, |
|
|
|
abs, |
|
|
|
hasNaN |
|
) |
| |
Value: hasNaN ? llvm::Intrinsic::nvvm_redux_sync_f##op##
abs##_NaN \
: llvm::Intrinsic::nvvm_redux_sync_f##op##
abs
Fraction abs(const Fraction &f)
Definition at line 30 of file NVVMToLLVMIRTranslation.cpp.
◆ TCGEN05LD
#define TCGEN05LD |
( |
|
SHAPE, |
|
|
|
NUM |
|
) |
| llvm::Intrinsic::nvvm_tcgen05_ld_##SHAPE##_##NUM |
◆ TCGEN05ST
#define TCGEN05ST |
( |
|
SHAPE, |
|
|
|
NUM |
|
) |
| llvm::Intrinsic::nvvm_tcgen05_st_##SHAPE##_##NUM |
◆ getLdMatrixIntrinsicId()
static llvm::Intrinsic::ID getLdMatrixIntrinsicId |
( |
NVVM::MMALayout |
layout, |
|
|
int32_t |
num |
|
) |
| |
|
static |
◆ getReduxIntrinsicId()
static llvm::Intrinsic::ID getReduxIntrinsicId |
( |
llvm::Type * |
resultType, |
|
|
NVVM::ReduxKind |
kind, |
|
|
bool |
hasAbs, |
|
|
bool |
hasNaN |
|
) |
| |
|
static |
◆ getShflIntrinsicId()
static llvm::Intrinsic::ID getShflIntrinsicId |
( |
llvm::Type * |
resultType, |
|
|
NVVM::ShflKind |
kind, |
|
|
bool |
withPredicate |
|
) |
| |
|
static |
◆ getTcgen05LdIntrinsicID()
static llvm::Intrinsic::ID getTcgen05LdIntrinsicID |
( |
mlir::NVVM::Tcgen05LdStShape |
shape, |
|
|
uint32_t |
num |
|
) |
| |
|
static |
◆ getTcgen05StIntrinsicID()
static llvm::Intrinsic::ID getTcgen05StIntrinsicID |
( |
mlir::NVVM::Tcgen05LdStShape |
shape, |
|
|
uint32_t |
num |
|
) |
| |
|
static |
◆ getUnidirectionalFenceProxyID()
static unsigned getUnidirectionalFenceProxyID |
( |
NVVM::ProxyKind |
fromProxy, |
|
|
NVVM::ProxyKind |
toProxy, |
|
|
NVVM::MemScopeKind |
scope, |
|
|
bool |
isRelease |
|
) |
| |
|
static |