Go to the source code of this file.
|
static spirv::FuncOp | lowerAsEntryFunction (gpu::GPUFuncOp funcOp, const TypeConverter &typeConverter, ConversionPatternRewriter &rewriter, spirv::EntryPointABIAttr entryPointInfo, ArrayRef< spirv::InterfaceVarABIAttr > argABIInfo) |
|
static LogicalResult | getDefaultABIAttrs (const spirv::TargetEnv &targetEnv, gpu::GPUFuncOp funcOp, SmallVectorImpl< spirv::InterfaceVarABIAttr > &argABI) |
| Populates argABI with spirv.interface_var_abi attributes for lowering gpu.func to spirv.func if no arguments have the attributes set already. More...
|
|
template<typename UniformOp , typename NonUniformOp > |
static Value | createGroupReduceOpImpl (OpBuilder &builder, Location loc, Value arg, bool isGroup, bool isUniform) |
|
static std::optional< Value > | createGroupReduceOp (OpBuilder &builder, Location loc, Value arg, gpu::AllReduceOperation opType, bool isGroup, bool isUniform) |
|
◆ createGroupReduceOp()
static std::optional<Value> createGroupReduceOp |
( |
OpBuilder & |
builder, |
|
|
Location |
loc, |
|
|
Value |
arg, |
|
|
gpu::AllReduceOperation |
opType, |
|
|
bool |
isGroup, |
|
|
bool |
isUniform |
|
) |
| |
|
static |
◆ createGroupReduceOpImpl()
template<typename UniformOp , typename NonUniformOp >
◆ getDefaultABIAttrs()
◆ lowerAsEntryFunction()
Definition at line 225 of file GPUToSPIRV.cpp.
References mlir::TypeConverter::SignatureConversion::addInputs(), mlir::ConversionPatternRewriter::convertRegionTypes(), mlir::TypeConverter::convertType(), mlir::OpBuilder::create(), mlir::detail::enumerate(), mlir::ConversionPatternRewriter::eraseOp(), mlir::failed(), mlir::TypeConverter::SignatureConversion::getConvertedTypes(), mlir::spirv::getEntryPointABIAttrName(), mlir::Builder::getFunctionType(), mlir::spirv::getInterfaceVarABIAttrName(), mlir::SymbolTable::getSymbolAttrName(), mlir::ConversionPatternRewriter::inlineRegionBefore(), and mlir::Operation::setAttr().
◆ kSPIRVModule
constexpr const char kSPIRVModule[] = "__spv__" |
|
staticconstexpr |