Skip to content

Commit f63ab5d

Browse files
adding new dialect
Signed-off-by: Muzammiluddin Syed <[email protected]>
1 parent c8b1650 commit f63ab5d

File tree

4 files changed

+554
-0
lines changed

4 files changed

+554
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//===- GPUToAMDGPU.h - Convert AMDGPU to ROCDL 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_GPUTOAMDGPU_GPUTOAMDGPU_H_
9+
#define MLIR_CONVERSION_GPUTOAMDGPU_GPUTOAMDGPU_H_
10+
11+
#include <memory>
12+
13+
namespace mlir {
14+
15+
class LLVMTypeConverter;
16+
class RewritePatternSet;
17+
class Pass;
18+
19+
void populateGPUToAMDGPUConversionPatterns(LLVMTypeConverter &converter,
20+
RewritePatternSet &patterns);
21+
22+
std::unique_ptr<Pass> createConvertGPUToAMDGPUPass();
23+
24+
} // namespace mlir
25+
26+
#endif // MLIR_CONVERSION_GPUTOAMDGPU_GPUTOAMDGPU_H_
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
add_mlir_conversion_library(MLIRGPUToAMDGPU
2+
GPUToAMDGPU.cpp
3+
4+
ADDITIONAL_HEADER_DIRS
5+
${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/GPUToAMDGPU
6+
7+
DEPENDS
8+
MLIRConversionPassIncGen
9+
10+
LINK_COMPONENTS
11+
Core
12+
13+
LINK_LIBS PUBLIC
14+
MLIRLLVMCommonConversion
15+
MLIRLLVMDialect
16+
MLIRGPUDialect
17+
MLIRAMDGPUDialect
18+
MLIRROCDLDialect
19+
MLIRPass
20+
MLIRTransforms
21+
)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
//===- GPUToAMDGPU.cpp - GPU to AMDGPU dialect conversion -------===//
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+
#include "mlir/Conversion/GPUToAMDGPU/GPUToAMDGPU.h"
10+
#include "../PassDetail.h"
11+
#include "mlir/Conversion/LLVMCommon/ConversionTarget.h"
12+
#include "mlir/Conversion/LLVMCommon/Pattern.h"
13+
#include "mlir/Dialect/AMDGPU/AMDGPUDialect.h"
14+
#include "mlir/Dialect/LLVMIR/ROCDLDialect.h"
15+
16+
using namespace mlir;
17+
18+
namespace {
19+
struct ConvertGPUToAMDGPUPass
20+
: public ConvertGPUToAMDGPUBase<ConvertGPUToAMDGPUPass> {
21+
ConvertGPUToAMDGPUPass() = default;
22+
23+
void runOnOperation() override {
24+
RewritePatternSet patterns(&getContext());
25+
LLVMTypeConverter converter(&getContext());
26+
populateGPUToAMDGPUConversionPatterns(converter, patterns);
27+
LLVMConversionTarget target(getContext());
28+
target.addLegalDialect<::mlir::LLVM::LLVMDialect>();
29+
target.addLegalDialect<::mlir::AMDGPU::AMDGPUDialect>();
30+
target.addLegalDialect<::mlir::ROCDL::ROCDLDialect>();
31+
if (failed(applyPartialConversion(getOperation(), target,
32+
std::move(patterns))))
33+
signalPassFailure();
34+
}
35+
};
36+
} // namespace
37+
38+
void mlir::populateGPUToAMDGPUConversionPatterns(
39+
LLVMTypeConverter &converter, RewritePatternSet &patterns) {
40+
}
41+
42+
std::unique_ptr<Pass> mlir::createConvertGPUToAMDGPUPass() {
43+
return std::make_unique<ConvertGPUToAMDGPUPass>();
44+
}

0 commit comments

Comments
 (0)