1//===- Passes.h - NVGPU pass entry points -----------------------*- 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//
9// This header file defines prototypes that expose pass constructors.
10//
11//===----------------------------------------------------------------------===//
12#ifndef MLIR_DIALECT_NVGPU_PASSES_H_
13#define MLIR_DIALECT_NVGPU_PASSES_H_
14
15#include "mlir/Pass/Pass.h"
16
17namespace mlir {
18namespace nvgpu {
19
20#define GEN_PASS_DECL
21#include "mlir/Dialect/NVGPU/Transforms/Passes.h.inc"
22
23/// Create a pass to optimize shared memory reads and writes.
24std::unique_ptr<Pass> createOptimizeSharedMemoryPass();
25
26} // namespace nvgpu
27
28//===----------------------------------------------------------------------===//
29// Registration
30//===----------------------------------------------------------------------===//
31
32/// Generate the code for registering passes.
33#define GEN_PASS_REGISTRATION
34#include "mlir/Dialect/NVGPU/Transforms/Passes.h.inc"
35
36} // namespace mlir
37
38#endif // MLIR_DIALECT_NVGPU_PASSES_H_
39

source code of mlir/include/mlir/Dialect/NVGPU/Transforms/Passes.h