)]}'
{
  "commit": "604f547f5ccb51cdc02c1b12fe96a6d045c602d5",
  "tree": "c9d439305f43333027d1d1cb2f36c0338ca2a484",
  "parents": [
    "93b0629c01852fc8ac0e82accb546a126e1e0049"
  ],
  "author": {
    "name": "Alon Zakai",
    "email": "azakai@google.com",
    "time": "Mon Apr 20 18:06:15 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Apr 20 18:06:15 2026"
  },
  "message": "[StackIR] Optimize the simple case of a multivalue tee and extracts (#8623)\n\nWhen getting a multivalue from e.g. a call and then consuming it\nimmediately, we get this pattern:\n\n```wat\n      (tuple.extract 3 0\n        (local.tee $temp\n          (call $multivalue-return)\n        )\n      )\n      (tuple.extract 3 1\n        (local.get $temp)\n      )\n      (tuple.extract 3 2\n        (local.get $temp)\n      )\n```\n\nWe save the entire tuple to a local, then read index by index. In\nStackIR we can just remove all the tuple operations, as the value is on the\nstack and ready to be used.\n\nFixes #8618",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "eae9b6c681fc07846674c8dbcaa03be912c49132",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm-stack-opts.cpp",
      "new_id": "0050bd95fe594e54bc38cd87e132939e056e735e",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm-stack-opts.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0eeb4dee870f4860cfa008838fab8219587d916d",
      "new_mode": 33188,
      "new_path": "test/lit/passes/optimize-stack-ir-multivalue.wast"
    }
  ]
}
