In D134622 the printed form of a pass manager is changed to include the name of the op that the pass manager is anchored on. This updates the `-pass-pipeline` argument format to include the anchor op as well, so that the printed form of a pipeline can be directly passed to `-pass-pipeline`. In most cases this requires updating `-pass-pipeline='pipeline'` to `-pass-pipeline='builtin.module(pipeline)'`. This also fixes an outdated assert that prevented running a `PassManager` anchored on `'any'`. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D134900
30 lines
963 B
MLIR
30 lines
963 B
MLIR
// RUN: mlir-opt %s \
|
|
// RUN: | mlir-opt -pass-pipeline='builtin.module(gpu.module(strip-debuginfo,convert-gpu-to-rocdl{index-bitwidth=32 runtime=HIP},gpu-to-hsaco{chip=%chip}))' \
|
|
// RUN: | mlir-opt -gpu-to-llvm \
|
|
// RUN: | mlir-cpu-runner \
|
|
// RUN: --shared-libs=%mlir_lib_dir/libmlir_rocm_runtime%shlibext \
|
|
// RUN: --shared-libs=%mlir_lib_dir/libmlir_runner_utils%shlibext \
|
|
// RUN: --entry-point-result=void \
|
|
// RUN: | FileCheck %s
|
|
|
|
// CHECK: Hello from 0
|
|
// CHECK: Hello from 1
|
|
module attributes {gpu.container_module} {
|
|
gpu.module @kernels {
|
|
gpu.func @hello() kernel {
|
|
%0 = gpu.thread_id x
|
|
gpu.printf "Hello from %d\n" %0 : index
|
|
gpu.return
|
|
}
|
|
}
|
|
|
|
func.func @main() {
|
|
%c2 = arith.constant 2 : index
|
|
%c1 = arith.constant 1 : index
|
|
gpu.launch_func @kernels::@hello
|
|
blocks in (%c1, %c1, %c1)
|
|
threads in (%c2, %c1, %c1)
|
|
return
|
|
}
|
|
}
|