// 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-configurations-to=- | \
// RUN: iree-compile - -o /dev/null \
// RUN:     --compile-mode=hal-executable \
// RUN:     --mlir-print-ir-before=iree-hal-serialize-all-executables 2>&1 | \
// RUN: FileCheck %s

// This test relies on piping stdout and that there is only a single
// executable (otherwise we'd need to look at files and that's harder
// cross-platform). Real automation of this requires xargs: compile and dump a
// directory of .mlir sources by specifying a path to the dump flag instead
// of `-` (indicating stdout) and then ls | xargs them to iree-compile or
// iree-opt.
//
// Example of dumping per-dispatch executable configurations and compiling each
// to their platform binary form, dumping their MLIR prior to lowering into the
// backend representation (SPIR-V/LLVM-IR/etc):
//  iree-compile some_input.mlir -o ignored.mlir \
//      --iree-hal-target-device=local \
//      --iree-hal-local-target-device-backends=vmvx \
//      --iree-hal-dump-executable-configurations-to=configs/ | \
//  ls -1 sources/ | xargs -i sh -c "iree-compile configs/{}
//      --compile-mode=hal-executable
//      --mlir-print-ir-before=iree-hal-serialize-all-executables"
//
// NOTE: executable configurations are not runnable: they only exist to allow
// for iteration on executable translation. If you want to run them you need
// corresponding host code to dispatch them and can use benchmarks instead.
//
// If modifying the configs and wanting to see the changes in a full program the
// --iree-hal-substitute-executable-configurations-from= flag can be used to
// substitute one or more executables dumped with this command from a path or
// for individual executables one or more `executable_name=file.mlir` pairs can
// be repeated in `--iree-hal-substitute-executable-configuration=`.

func.func @abs(%input : tensor<f32>) -> tensor<f32> {
  %result = math.absf %input : tensor<f32>
  return %result : tensor<f32>
}

// CHECK: IR Dump Before SerializeAllExecutablesPass
// CHECK: hal.executable public @abs_dispatch_0
// CHECK:   hal.executable.variant public @vmvx_bytecode_fb
// CHECK:     vm.func private @abs_dispatch_0_elementwise
