Skip to content

Commit b9edbeb

Browse files
authored
Merge branch 'main' into complexrocdl
2 parents 2c97bb5 + 30ad2e2 commit b9edbeb

File tree

40 files changed

+599
-490
lines changed

40 files changed

+599
-490
lines changed

clang/lib/Basic/Targets/AMDGPU.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,11 @@ AMDGPUTargetInfo::AMDGPUTargetInfo(const llvm::Triple &Triple,
266266

267267
MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64;
268268
CUMode = !(GPUFeatures & llvm::AMDGPU::FEATURE_WGP);
269-
for (auto F : {"image-insts", "gws", "vmem-to-lds-load-insts"})
270-
ReadOnlyFeatures.insert(F);
269+
270+
for (auto F : {"image-insts", "gws", "vmem-to-lds-load-insts"}) {
271+
if (GPUKind != llvm::AMDGPU::GK_NONE)
272+
ReadOnlyFeatures.insert(F);
273+
}
271274
HalfArgsAndReturns = true;
272275
}
273276

clang/test/CodeGenOpenCL/amdgpu-features-readonly.cl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %clang_cc1 -triple amdgcn -target-feature +gws -o /dev/null %s 2>&1 \
1+
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx942 -target-feature +gws -o /dev/null %s 2>&1 \
22
// RUN: | FileCheck --check-prefix=GWS %s
33

44
// GWS: warning: feature flag '+gws' is ignored since the feature is read only [-Winvalid-command-line-argument]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// REQUIRES: amdgpu-registered-target
2+
3+
// Check the readonly feature will can be written to the IR
4+
// if there is no target specified.
5+
6+
// RUN: %clang_cc1 -triple amdgcn -emit-llvm -o - %s | FileCheck --check-prefix=NOCPU %s
7+
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx942 -emit-llvm -o - %s | FileCheck --check-prefix=GFX942 %s
8+
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx1100 -emit-llvm -o - %s | FileCheck --check-prefix=GFX1100 %s
9+
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx1200 -emit-llvm -o - %s | FileCheck --check-prefix=GFX1200 %s
10+
11+
__attribute__((target("gws,image-insts,vmem-to-lds-load-insts"))) void test() {}
12+
13+
// NOCPU: "target-features"="+gws,+image-insts,+vmem-to-lds-load-insts"
14+
// GFX942: "target-features"="+16-bit-insts,+atomic-buffer-global-pk-add-f16-insts,+atomic-ds-pk-add-16-insts,+atomic-fadd-rtn-insts,+atomic-flat-pk-add-16-insts,+atomic-global-pk-add-bf16-inst,+ci-insts,+dl-insts,+dot1-insts,+dot10-insts,+dot2-insts,+dot3-insts,+dot4-insts,+dot5-insts,+dot6-insts,+dot7-insts,+dpp,+fp8-conversion-insts,+fp8-insts,+gfx8-insts,+gfx9-insts,+gfx90a-insts,+gfx940-insts,+mai-insts,+s-memrealtime,+s-memtime-inst,+wavefrontsize64,+xf32-insts"
15+
// GFX1100: "target-features"="+16-bit-insts,+atomic-fadd-rtn-insts,+ci-insts,+dl-insts,+dot10-insts,+dot12-insts,+dot5-insts,+dot7-insts,+dot8-insts,+dot9-insts,+dpp,+gfx10-3-insts,+gfx10-insts,+gfx11-insts,+gfx8-insts,+gfx9-insts,+wavefrontsize32"
16+
// GFX1200: "target-features"="+16-bit-insts,+atomic-buffer-global-pk-add-f16-insts,+atomic-buffer-pk-add-bf16-inst,+atomic-ds-pk-add-16-insts,+atomic-fadd-rtn-insts,+atomic-flat-pk-add-16-insts,+atomic-global-pk-add-bf16-inst,+ci-insts,+dl-insts,+dot10-insts,+dot11-insts,+dot12-insts,+dot7-insts,+dot8-insts,+dot9-insts,+dpp,+fp8-conversion-insts,+gfx10-3-insts,+gfx10-insts,+gfx11-insts,+gfx12-insts,+gfx8-insts,+gfx9-insts,+wavefrontsize32"

clang/tools/cir-lsp-server/CMakeLists.txt

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,23 @@
1-
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
2-
get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
3-
41
include_directories(${LLVM_MAIN_SRC_DIR}/../mlir/include)
52
include_directories(${CMAKE_BINARY_DIR}/tools/mlir/include)
63

74
set(LIBS
8-
${dialect_libs}
9-
${conversion_libs}
105
${test_libs}
116
clangCIR
127
clangCIRLoweringDirectToLLVM
13-
MLIRCIR
148
MLIRAffineAnalysis
159
MLIRAnalysis
10+
MLIRCIR
1611
MLIRDialect
12+
MLIRIR
1713
MLIRLspServerLib
1814
MLIRParser
1915
MLIRPass
20-
MLIRTransforms
21-
MLIRTransformUtils
16+
MLIRRegisterAllDialects
17+
MLIRRegisterAllPasses
2218
MLIRSupport
23-
MLIRIR
19+
MLIRTransformUtils
20+
MLIRTransforms
2421
)
2522

2623
add_mlir_tool(cir-lsp-server

clang/tools/cir-opt/cir-opt.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717
#include "mlir/Dialect/Func/IR/FuncOps.h"
1818
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
1919
#include "mlir/Dialect/MemRef/IR/MemRef.h"
20-
#include "mlir/InitAllPasses.h"
20+
#include "mlir/IR/BuiltinDialect.h"
2121
#include "mlir/Pass/PassManager.h"
2222
#include "mlir/Pass/PassOptions.h"
2323
#include "mlir/Pass/PassRegistry.h"
2424
#include "mlir/Tools/mlir-opt/MlirOptMain.h"
25+
#include "mlir/Transforms/Passes.h"
2526
#include "clang/CIR/Dialect/IR/CIRDialect.h"
2627
#include "clang/CIR/Dialect/Passes.h"
2728
#include "clang/CIR/Passes.h"

flang/include/flang/Optimizer/Support/InitFIR.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,20 @@
2020
#include "flang/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.h"
2121
#include "flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h"
2222
#include "mlir/Conversion/Passes.h"
23+
#include "mlir/Dialect/Affine/IR/AffineOps.h"
2324
#include "mlir/Dialect/Affine/Passes.h"
2425
#include "mlir/Dialect/Complex/IR/Complex.h"
26+
#include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
27+
#include "mlir/Dialect/DLTI/DLTI.h"
2528
#include "mlir/Dialect/Func/Extensions/InlinerExtension.h"
29+
#include "mlir/Dialect/Func/IR/FuncOps.h"
2630
#include "mlir/Dialect/Index/IR/IndexDialect.h"
2731
#include "mlir/Dialect/LLVMIR/NVVMDialect.h"
32+
#include "mlir/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.h"
33+
#include "mlir/Dialect/Math/IR/Math.h"
34+
#include "mlir/Dialect/OpenACC/OpenACC.h"
2835
#include "mlir/Dialect/OpenACC/Transforms/Passes.h"
36+
#include "mlir/Dialect/SCF/IR/SCF.h"
2937
#include "mlir/Dialect/SCF/Transforms/Passes.h"
3038
#include "mlir/InitAllDialects.h"
3139
#include "mlir/Pass/Pass.h"

flang/lib/Optimizer/Support/CMakeLists.txt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
2-
get_property(extension_libs GLOBAL PROPERTY MLIR_EXTENSION_LIBS)
3-
41
add_flang_library(FIRSupport
52
DataLayout.cpp
63
InitFIR.cpp
@@ -23,12 +20,12 @@ add_flang_library(FIRSupport
2320
${extension_libs}
2421

2522
MLIR_LIBS
26-
${dialect_libs}
27-
${extension_libs}
2823
MLIRBuiltinToLLVMIRTranslation
24+
MLIRLLVMToLLVMIRTranslation
2925
MLIROpenACCToLLVMIRTranslation
3026
MLIROpenMPToLLVMIRTranslation
31-
MLIRLLVMToLLVMIRTranslation
27+
MLIRRegisterAllDialects
28+
MLIRRegisterAllExtensions
3229
MLIRTargetLLVMIRExport
3330
MLIRTargetLLVMIRImport
3431
)

mlir/examples/standalone/standalone-opt/CMakeLists.txt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
2-
get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
31
set(LIBS
4-
${dialect_libs}
5-
${conversion_libs}
6-
MLIRArithDialect
7-
MLIROptLib
8-
MLIRStandalone
9-
)
2+
MLIRArithDialect
3+
MLIROptLib
4+
MLIRRegisterAllDialects
5+
MLIRRegisterAllPasses
6+
MLIRStandalone
7+
)
108
add_llvm_executable(standalone-opt standalone-opt.cpp)
119

1210
llvm_update_compile_flags(standalone-opt)

mlir/examples/standalone/standalone-opt/standalone-opt.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9+
#include "mlir/Dialect/Arith/IR/Arith.h"
10+
#include "mlir/Dialect/Func/IR/FuncOps.h"
911
#include "mlir/IR/MLIRContext.h"
1012
#include "mlir/InitAllDialects.h"
1113
#include "mlir/InitAllPasses.h"

mlir/examples/toy/Ch5/CMakeLists.txt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,18 @@ add_toy_chapter(toyc-ch5
2727

2828
include_directories(${CMAKE_CURRENT_BINARY_DIR})
2929
include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/)
30-
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
31-
get_property(extension_libs GLOBAL PROPERTY MLIR_EXTENSION_LIBS)
3230
target_link_libraries(toyc-ch5
3331
PRIVATE
34-
${dialect_libs}
35-
${extension_libs}
3632
MLIRAnalysis
3733
MLIRCallInterfaces
3834
MLIRCastInterfaces
3935
MLIRFunctionInterfaces
4036
MLIRIR
4137
MLIRParser
4238
MLIRPass
39+
MLIRRegisterAllDialects
40+
MLIRRegisterAllExtensions
4341
MLIRSideEffectInterfaces
4442
MLIRSupport
45-
MLIRTransforms)
43+
MLIRTransforms
44+
)

0 commit comments

Comments
 (0)