llvm/mlir/lib/Dialect/SPIRV/IR/TargetAndABI.cpp

//===- TargetAndABI.cpp - SPIR-V target and ABI utilities -----------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "mlir/Dialect/SPIRV/IR/TargetAndABI.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVEnums.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVTypes.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/Operation.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/Interfaces/FunctionInterfaces.h"
#include <optional>

usingnamespacemlir;

//===----------------------------------------------------------------------===//
// TargetEnv
//===----------------------------------------------------------------------===//

spirv::TargetEnv::TargetEnv(spirv::TargetEnvAttr targetAttr)
    :{}

spirv::Version spirv::TargetEnv::getVersion() const {}

bool spirv::TargetEnv::allows(spirv::Capability capability) const {}

std::optional<spirv::Capability>
spirv::TargetEnv::allows(ArrayRef<spirv::Capability> caps) const {}

bool spirv::TargetEnv::allows(spirv::Extension extension) const {}

std::optional<spirv::Extension>
spirv::TargetEnv::allows(ArrayRef<spirv::Extension> exts) const {}

spirv::Vendor spirv::TargetEnv::getVendorID() const {}

spirv::DeviceType spirv::TargetEnv::getDeviceType() const {}

uint32_t spirv::TargetEnv::getDeviceID() const {}

spirv::ResourceLimitsAttr spirv::TargetEnv::getResourceLimits() const {}

MLIRContext *spirv::TargetEnv::getContext() const {}

//===----------------------------------------------------------------------===//
// Utility functions
//===----------------------------------------------------------------------===//

StringRef spirv::getInterfaceVarABIAttrName() {}

spirv::InterfaceVarABIAttr
spirv::getInterfaceVarABIAttr(unsigned descriptorSet, unsigned binding,
                              std::optional<spirv::StorageClass> storageClass,
                              MLIRContext *context) {}

bool spirv::needsInterfaceVarABIAttrs(spirv::TargetEnvAttr targetAttr) {}

StringRef spirv::getEntryPointABIAttrName() {}

spirv::EntryPointABIAttr spirv::getEntryPointABIAttr(
    MLIRContext *context, ArrayRef<int32_t> workgroupSize,
    std::optional<int> subgroupSize, std::optional<int> targetWidth) {}

spirv::EntryPointABIAttr spirv::lookupEntryPointABI(Operation *op) {}

DenseI32ArrayAttr spirv::lookupLocalWorkGroupSize(Operation *op) {}

spirv::ResourceLimitsAttr
spirv::getDefaultResourceLimits(MLIRContext *context) {}

StringRef spirv::getTargetEnvAttrName() {}

spirv::TargetEnvAttr spirv::getDefaultTargetEnv(MLIRContext *context) {}

spirv::TargetEnvAttr spirv::lookupTargetEnv(Operation *op) {}

spirv::TargetEnvAttr spirv::lookupTargetEnvOrDefault(Operation *op) {}

spirv::AddressingModel
spirv::getAddressingModel(spirv::TargetEnvAttr targetAttr,
                          bool use64bitAddress) {}

FailureOr<spirv::ExecutionModel>
spirv::getExecutionModel(spirv::TargetEnvAttr targetAttr) {}

FailureOr<spirv::MemoryModel>
spirv::getMemoryModel(spirv::TargetEnvAttr targetAttr) {}