diff options
author | Markus Böck <markus.boeck02@gmail.com> | 2022-07-29 01:00:22 +0200 |
---|---|---|
committer | Markus Böck <markus.boeck02@gmail.com> | 2022-08-01 17:22:55 +0200 |
commit | bd7eff1f2a7462ffbebc6beb8c7a3fecb1c39350 (patch) | |
tree | 9abce0ee8dc8f1d871af1e3063152c7d4a018c9e /mlir/test/Conversion/GPUCommon | |
parent | cb5d0b41baf2f137f377a8d03481d6a5574a31ec (diff) | |
download | llvm-bd7eff1f2a7462ffbebc6beb8c7a3fecb1c39350.zip llvm-bd7eff1f2a7462ffbebc6beb8c7a3fecb1c39350.tar.gz llvm-bd7eff1f2a7462ffbebc6beb8c7a3fecb1c39350.tar.bz2 |
[mlir][flang] Make use of the new `GEPArg` builder of GEP Op to simplify code
This is the follow up on https://reviews.llvm.org/D130730 which goes through upstream code and removes creating constant values in favour of using the constant indices in GEP directly. This leads to less and more readable code and more compact IR as well.
Differential Revision: https://reviews.llvm.org/D130731
Diffstat (limited to 'mlir/test/Conversion/GPUCommon')
-rw-r--r-- | mlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir | 3 | ||||
-rw-r--r-- | mlir/test/Conversion/GPUCommon/memory-attrbution.mlir | 12 |
2 files changed, 5 insertions, 10 deletions
diff --git a/mlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir b/mlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir index b11d157..0ee5598 100644 --- a/mlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir +++ b/mlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir @@ -32,8 +32,7 @@ module attributes {gpu.container_module} { // CHECK-DAG: [[C256:%.*]] = llvm.mlir.constant(256 : i32) : i32 // CHECK-DAG: [[C8:%.*]] = llvm.mlir.constant(8 : index) : i64 // CHECK: [[ADDRESSOF:%.*]] = llvm.mlir.addressof @[[GLOBAL]] - // CHECK: [[C0:%.*]] = llvm.mlir.constant(0 : index) - // CHECK: [[BINARY:%.*]] = llvm.getelementptr [[ADDRESSOF]]{{\[}}[[C0]], [[C0]]] + // CHECK: [[BINARY:%.*]] = llvm.getelementptr [[ADDRESSOF]]{{\[}}0, 0] // CHECK-SAME: -> !llvm.ptr<i8> // CHECK: [[MODULE:%.*]] = llvm.call @mgpuModuleLoad([[BINARY]]) diff --git a/mlir/test/Conversion/GPUCommon/memory-attrbution.mlir b/mlir/test/Conversion/GPUCommon/memory-attrbution.mlir index 194bc91..9c94e9c 100644 --- a/mlir/test/Conversion/GPUCommon/memory-attrbution.mlir +++ b/mlir/test/Conversion/GPUCommon/memory-attrbution.mlir @@ -67,14 +67,12 @@ gpu.module @kernel { // ROCDL-SAME: { gpu.func @workgroup(%arg0: f32) workgroup(%arg1: memref<4xf32, 3>) { // Get the address of the first element in the global array. - // NVVM: %[[c0:.*]] = llvm.mlir.constant(0 : i32) : i32 // NVVM: %[[addr:.*]] = llvm.mlir.addressof @[[$buffer]] : !llvm.ptr<array<4 x f32>, 3> - // NVVM: %[[raw:.*]] = llvm.getelementptr %[[addr]][%[[c0]], %[[c0]]] + // NVVM: %[[raw:.*]] = llvm.getelementptr %[[addr]][0, 0] // NVVM-SAME: !llvm.ptr<f32, 3> - // ROCDL: %[[c0:.*]] = llvm.mlir.constant(0 : i32) : i32 // ROCDL: %[[addr:.*]] = llvm.mlir.addressof @[[$buffer]] : !llvm.ptr<array<4 x f32>, 3> - // ROCDL: %[[raw:.*]] = llvm.getelementptr %[[addr]][%[[c0]], %[[c0]]] + // ROCDL: %[[raw:.*]] = llvm.getelementptr %[[addr]][0, 0] // ROCDL-SAME: !llvm.ptr<f32, 3> // Populate the memref descriptor. @@ -130,14 +128,12 @@ gpu.module @kernel { // ROCDL-LABEL: llvm.func @workgroup3d gpu.func @workgroup3d(%arg0: f32) workgroup(%arg1: memref<4x2x6xf32, 3>) { // Get the address of the first element in the global array. - // NVVM: %[[c0:.*]] = llvm.mlir.constant(0 : i32) : i32 // NVVM: %[[addr:.*]] = llvm.mlir.addressof @[[$buffer]] : !llvm.ptr<array<48 x f32>, 3> - // NVVM: %[[raw:.*]] = llvm.getelementptr %[[addr]][%[[c0]], %[[c0]]] + // NVVM: %[[raw:.*]] = llvm.getelementptr %[[addr]][0, 0] // NVVM-SAME: !llvm.ptr<f32, 3> - // ROCDL: %[[c0:.*]] = llvm.mlir.constant(0 : i32) : i32 // ROCDL: %[[addr:.*]] = llvm.mlir.addressof @[[$buffer]] : !llvm.ptr<array<48 x f32>, 3> - // ROCDL: %[[raw:.*]] = llvm.getelementptr %[[addr]][%[[c0]], %[[c0]]] + // ROCDL: %[[raw:.*]] = llvm.getelementptr %[[addr]][0, 0] // ROCDL-SAME: !llvm.ptr<f32, 3> // Populate the memref descriptor. |