//===- Passes.h - GPU NVVM pipeline entry points --------------------------===// // // 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 // //===----------------------------------------------------------------------===// #ifndef MLIR_DIALECT_GPU_PIPELINES_PASSES_H_ #define MLIR_DIALECT_GPU_PIPELINES_PASSES_H_ #include "mlir/Pass/PassOptions.h" namespace mlir { namespace gpu { /// Options for the gpu to nvvm pipeline. struct GPUToNVVMPipelineOptions : public PassPipelineOptions<GPUToNVVMPipelineOptions> { … }; //===----------------------------------------------------------------------===// // Building and Registering. //===----------------------------------------------------------------------===// /// Adds the GPU to NVVM pipeline to the given pass manager. Transforms main /// dialects into NVVM targets. Begins with GPU code regions, then handles host /// code. void buildLowerToNVVMPassPipeline(OpPassManager &pm, const GPUToNVVMPipelineOptions &options); /// Register all pipeleines for the `gpu` dialect. void registerGPUToNVVMPipeline(); } // namespace gpu } // namespace mlir #endif