blob: 02c48b27f836eda5a8a944adcfcc2f2dbe956799 [file]
// RUN: iree-opt --split-input-file --iree-gpu-test-target=gfx942 --mlir-print-debuginfo --iree-codegen-llvmgpu-configuration-pipeline --iree-codegen-llvmgpu-rocdl-lowering-pipeline='preserve-debug-info' %s | FileCheck %s --check-prefix=WITH-DEBUG
// RUN: iree-opt --split-input-file --iree-gpu-test-target=gfx942 --mlir-print-debuginfo --iree-codegen-llvmgpu-configuration-pipeline --iree-codegen-llvmgpu-rocdl-lowering-pipeline %s | FileCheck %s --check-prefix=WITHOUT-DEBUG
// Test that debug location information is preserved when the pipeline
// `preserve-debug-info` option is used, and stripped otherwise.
#pipeline_layout = #hal.pipeline.layout<bindings = [
#hal.pipeline.binding<storage_buffer>,
#hal.pipeline.binding<storage_buffer>
]>
func.func @debug_test() {
%c0 = arith.constant 0 : index loc("test.mlir":1:1)
%c2 = arith.constant 2.0 : f32 loc("test.mlir":2:1)
%0 = hal.interface.binding.subspan layout(#pipeline_layout) binding(0) : !iree_tensor_ext.dispatch.tensor<readonly:tensor<4xf32>> loc("test.mlir":3:1)
%1 = hal.interface.binding.subspan layout(#pipeline_layout) binding(1) : !iree_tensor_ext.dispatch.tensor<writeonly:tensor<4xf32>> loc("test.mlir":4:1)
%2 = iree_tensor_ext.dispatch.tensor.load %0, offsets=[0], sizes=[4], strides=[1] : !iree_tensor_ext.dispatch.tensor<readonly:tensor<4xf32>> -> tensor<4xf32> loc("test.mlir":5:1)
%3 = tensor.empty() : tensor<4xf32> loc("test.mlir":6:1)
%4 = linalg.generic {indexing_maps = [affine_map<(d0) -> (d0)>, affine_map<(d0) -> (d0)>], iterator_types = ["parallel"]}
ins(%2 : tensor<4xf32>) outs(%3 : tensor<4xf32>) {
^bb0(%in: f32 loc("test.mlir":8:1), %out: f32 loc("test.mlir":8:2)):
%5 = arith.mulf %in, %c2 : f32 loc("test.mlir":9:1)
linalg.yield %5 : f32 loc("test.mlir":10:1)
} -> tensor<4xf32> loc("test.mlir":7:1)
iree_tensor_ext.dispatch.tensor.store %4, %1, offsets=[0], sizes=[4], strides=[1] : tensor<4xf32> -> !iree_tensor_ext.dispatch.tensor<writeonly:tensor<4xf32>> loc("test.mlir":11:1)
return loc("test.mlir":12:1)
}
// WITH-DEBUG: loc("test.mlir":9:1
// WITHOUT-DEBUG-NOT: loc("test.mlir":