blob: 7c0d0e05121b48c6cca8dba9f4edd4d1915ca571 [file] [log] [blame]
// RUN: iree-compile %s -o ignored.mlir \
// RUN: --iree-hal-target-device=local \
// RUN: --iree-hal-local-target-device-backends=vmvx \
// RUN: --iree-hal-dump-executable-benchmarks-to=- | \
// RUN: iree-compile - --output-format=vm-asm | \
// RUN: FileCheck %s
// Tests that it's possible to round-trip executable benchmarks produced by the
// compiler back to the compiler individually. This test relies on us piping
// stdout and that there's only a single executable (otherwise we'd need to look
// at files and that's harder cross-platform).
func.func @abs(%input : tensor<f32>) -> (tensor<f32>) {
%result = math.absf %input : tensor<f32>
return %result : tensor<f32>
}
// We expect one executable and one exported function with the reflection attrs.
// CHECK: vm.rodata private @abs_dispatch_0_vmvx_bytecode_fb
// CHECK: vm.func private @abs_dispatch_0_vmvx_bytecode_fb_abs_dispatch_0{{.+}}(%arg0: i32)
// CHECK-SAME: iree.reflection = {iree.benchmark = "dispatch"}
// CHECK: vm.call.variadic @hal.command_buffer.dispatch