1//===- ROCDLDialect.h - MLIR ROCDL IR 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//
9// This file defines the ROCDL dialect in MLIR, containing ROCDL operations
10// and ROCDL specific extensions to the LLVM type system.
11//
12// Unfortunately there does not exists a formal definition of ROCDL IR that be
13// pointed to here. However the following links contain more information about
14// ROCDL (ROCm-Device-Library)
15//
16// https://github.com/RadeonOpenCompute/ROCm-Device-Libs/blob/amd-stg-open/doc/OCML.md
17// https://github.com/RadeonOpenCompute/ROCm-Device-Libs/blob/amd-stg-open/doc/OCKL.md
18// https://llvm.org/docs/AMDGPUUsage.html
19//
20//===----------------------------------------------------------------------===//
21
22#ifndef MLIR_DIALECT_LLVMIR_ROCDLDIALECT_H_
23#define MLIR_DIALECT_LLVMIR_ROCDLDIALECT_H_
24
25#include "mlir/Bytecode/BytecodeOpInterface.h"
26#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
27#include "mlir/IR/Dialect.h"
28#include "mlir/IR/OpDefinition.h"
29#include "mlir/Interfaces/SideEffectInterfaces.h"
30
31///// Ops /////
32#define GET_ATTRDEF_CLASSES
33#include "mlir/Dialect/LLVMIR/ROCDLOpsAttributes.h.inc"
34
35#define GET_OP_CLASSES
36#include "mlir/Dialect/LLVMIR/ROCDLOps.h.inc"
37
38#include "mlir/Dialect/LLVMIR/ROCDLOpsDialect.h.inc"
39
40#endif /* MLIR_DIALECT_LLVMIR_ROCDLDIALECT_H_ */
41

source code of mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h