)]}'
{
  "commit": "a70389bb8b12da26a07fc46bd63e9ccd3028862a",
  "tree": "5def32784199e50bc7f2bf6f936f65a6bd5f96f5",
  "parents": [
    "610a82fad754485024792545972c13fced107341"
  ],
  "author": {
    "name": "Stefan Schuermans",
    "email": "schuermans@roofline.ai",
    "time": "Fri Aug 07 18:44:01 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Aug 07 16:44:01 2026 +0000"
  },
  "message": "[iree-benchmark-module] support processing outputs after benchmarking (#24789)\n\nAdd --enable_output_processing option to iree-benchmark-module to make\nit process the outputs of the last benchmark iteration executed. For\nexample, this processing can be writing the outputs to disk. The output\nprocessing is the same as done by iree-run-module.\n\nIn order to achieve this:\n- Move output processing from run_module.c into a new process_results.c.\n  - Slightly change the benchmark loop in iree-benchmark-module-main.cc:\n- Use a output VM list passed by the caller and only create a\nlocal/temporary one if none is passed.\n- Move clearing of the output list from the end of the benchmark loop\nbody to the beginning of the benchmark loop body, so that the results of\nthe last benchmark iteartion are available at the end of the loop.\n- Clear the results/output list after the benchmark loop if a local list\nhas been used. Otherwise, keep the results in the output list passed by\nthe caller.\n\nAlso change the main function of iree-benchmark-module:\n - Allocate an output list if output processing is enabled.\n- Pass the output list (if allocated) to benchmarking loop (for now only\nfor synachonous execution of modules).\n - Process outputs in the output list at the end (if list is allocated).\n\n---------\n\nSigned-off-by: Stefan Schuermans \u003cschuermans@roofline.ai\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "46236efd8e7b0f0e86df222aedc858bd423d4405",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/tooling/BUILD.bazel",
      "new_id": "a2b4fcec7576d677a27687b01ffc462790b2ba19",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/tooling/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "130734dab6ee98ecd80e66b034165b1c167bef53",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/tooling/CMakeLists.txt",
      "new_id": "e0420a0e743f26ca1762a496e5b8a5b7406e8f00",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/tooling/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2acf9fc5f2008d8a7f900b85badfdce19b81c7ad",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/tooling/process_results.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "12599ea98902f876c30690c2dfc8899e1ece96af",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/tooling/process_results.h"
    },
    {
      "type": "modify",
      "old_id": "04a461b0b2b97664c79a7e04d9b03ac675e157df",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/tooling/run_module.c",
      "new_id": "20ddbc2384a2741009b4e97006fd309b9db26263",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/tooling/run_module.c"
    },
    {
      "type": "modify",
      "old_id": "2c94abb72d273beeb4e3bd0d8f38baf7755b5aa8",
      "old_mode": 33188,
      "old_path": "tools/BUILD.bazel",
      "new_id": "32773717ebb290d3192bd56c5d25b52dfddf0e06",
      "new_mode": 33188,
      "new_path": "tools/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "16e2c03284dfcf469c3a4b3bfea734243a9974b5",
      "old_mode": 33188,
      "old_path": "tools/CMakeLists.txt",
      "new_id": "e1598baa984e99738a649a94343e87301997f0cd",
      "new_mode": 33188,
      "new_path": "tools/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "f7bda245c7e8d330170625be61d03458531ddcb5",
      "old_mode": 33188,
      "old_path": "tools/iree-benchmark-module-main.cc",
      "new_id": "6c7547464e4246ad9397a834be44d8536490de98",
      "new_mode": 33188,
      "new_path": "tools/iree-benchmark-module-main.cc"
    },
    {
      "type": "modify",
      "old_id": "2b1dd5970cc19dedcca48241067338bea938d214",
      "old_mode": 33188,
      "old_path": "tools/test/BUILD.bazel",
      "new_id": "d71a77340b9abdb8891c919c65f3f8471d109310",
      "new_mode": 33188,
      "new_path": "tools/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "108f961155d6081d2f379bb4e8db91f21261e265",
      "old_mode": 33188,
      "old_path": "tools/test/CMakeLists.txt",
      "new_id": "04e11b467f2344e062ae494d470ed6dc30cbfa16",
      "new_mode": 33188,
      "new_path": "tools/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c26d578b15ecdfd4da08a6407eafb618af54dd60",
      "new_mode": 33188,
      "new_path": "tools/test/iree-benchmark-module-outputs.mlir"
    }
  ]
}
