MLIR 22.0.0git
NVGPUToNVVM.h
Go to the documentation of this file.
1//===- NVGPUToNVVMPass.h - Convert NVGPU to NVVM dialect --------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8#ifndef MLIR_CONVERSION_NVGPUTONVVM_NVGPUTONVVMPASS_H_
9#define MLIR_CONVERSION_NVGPUTONVVM_NVGPUTONVVMPASS_H_
10
11#include <memory>
12
13namespace mlir {
14
15class Attribute;
17class MemRefType;
18class MLIRContext;
20class Pass;
21
22#define GEN_PASS_DECL_CONVERTNVGPUTONVVMPASS
23#include "mlir/Conversion/Passes.h.inc"
24
25namespace nvgpu {
26class MBarrierGroupType;
27
28/// Returns the memory space attribute of the mbarrier object.
30 MBarrierGroupType barrierType);
31
32/// Return the memref type that can be used to represent an mbarrier object.
34 MBarrierGroupType barrierType);
35} // namespace nvgpu
36
39} // namespace mlir
40
41#endif // MLIR_CONVERSION_NVGPUTONVVM_NVGPUTONVVMPASS_H_
Attributes are known-constant values of operations.
Definition Attributes.h:25
Conversion from types to the LLVM IR dialect.
MLIRContext is the top-level object for a collection of MLIR operations.
Definition MLIRContext.h:63
The abstract base pass class.
Definition Pass.h:51
MemRefType getMBarrierMemrefType(MLIRContext *context, MBarrierGroupType barrierType)
Return the memref type that can be used to represent an mbarrier object.
Attribute getMbarrierMemorySpace(MLIRContext *context, MBarrierGroupType barrierType)
Returns the memory space attribute of the mbarrier object.
Include the generated interface declarations.
void populateNVGPUToNVVMConversionPatterns(const LLVMTypeConverter &converter, RewritePatternSet &patterns)
const FrozenRewritePatternSet & patterns