)]}'
{
  "commit": "cafed68012b3d6b49bd8e0a7bc7dff314a0dee56",
  "tree": "5f4a05edc38d32bbd279e6619afbe0a162d02722",
  "parents": [
    "b664a6e4456399d4cea52d6bedb691f43958592c"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Thu May 29 19:29:02 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu May 29 19:29:02 2025 -0700"
  },
  "message": "[spirv] Avoid scoping issues with MergeReturn in loops\n\nWhen replacing a `return` instruction that is nested at any depth\ninside a loop or switch statement, we can use `exit_loop` or\n`exit_switch` to jump directly out of the loop/switch, instead of\nconditionalizing the instructions that follow the return.\n\nThis fixes scoping issues where loop continuing blocks were\nreferencing values defined inside conditional blocks.\n\nFixed: 420345727\nChange-Id: I247ad747b34e8af69091ea0a445e8c44f521f4a6\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/243834\nCommit-Queue: James Price \u003cjrprice@google.com\u003e\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d1dcf95214302c90677e3a751d0d8237b58e5e54",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/raise/merge_return.cc",
      "new_id": "c7a03f526048ec6e81fb87e50b75658bc7e03ffb",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/raise/merge_return.cc"
    },
    {
      "type": "modify",
      "old_id": "73b13d6021e15ae31f1a5a6427b69e9ddf98040d",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/raise/merge_return_test.cc",
      "new_id": "e7d9987ef6fd288f75acf596d3160e574e9c2861",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/raise/merge_return_test.cc"
    },
    {
      "type": "modify",
      "old_id": "612a195af8583e95cd94be3a80438b8b05574c75",
      "old_mode": 33188,
      "old_path": "test/tint/bug/tint/1605.wgsl.expected.spvasm",
      "new_id": "6ca170fec02cdcd22366dc74c12b9fe1509ffb16",
      "new_mode": 33188,
      "new_path": "test/tint/bug/tint/1605.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "c1e1f119487433a1acb67837b6dd5f24aa8e9efc",
      "old_mode": 33188,
      "old_path": "test/tint/loops/loop.wgsl.expected.spvasm",
      "new_id": "f14b31afb96945203a25435f3fa2c76c7ad6b763",
      "new_mode": 33188,
      "new_path": "test/tint/loops/loop.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "c1e1f119487433a1acb67837b6dd5f24aa8e9efc",
      "old_mode": 33188,
      "old_path": "test/tint/loops/loop_robustness.wgsl.expected.spvasm",
      "new_id": "f14b31afb96945203a25435f3fa2c76c7ad6b763",
      "new_mode": 33188,
      "new_path": "test/tint/loops/loop_robustness.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "897b399f24247d3bf63caf61491deb9139a2c055",
      "old_mode": 33188,
      "old_path": "test/tint/loops/loop_with_break_if.wgsl.expected.spvasm",
      "new_id": "9003ecfa597c3b41ea773e29028c455338f366bc",
      "new_mode": 33188,
      "new_path": "test/tint/loops/loop_with_break_if.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "897b399f24247d3bf63caf61491deb9139a2c055",
      "old_mode": 33188,
      "old_path": "test/tint/loops/loop_with_break_if_robustness.wgsl.expected.spvasm",
      "new_id": "9003ecfa597c3b41ea773e29028c455338f366bc",
      "new_mode": 33188,
      "new_path": "test/tint/loops/loop_with_break_if_robustness.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "cc669b578cd9e72dbe245d68c1b25fbf07200010",
      "old_mode": 33188,
      "old_path": "test/tint/loops/loop_with_continuing.wgsl.expected.spvasm",
      "new_id": "fe402e78ef44ab37183461331baa468c53a4a186",
      "new_mode": 33188,
      "new_path": "test/tint/loops/loop_with_continuing.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "cc669b578cd9e72dbe245d68c1b25fbf07200010",
      "old_mode": 33188,
      "old_path": "test/tint/loops/loop_with_continuing_robustness.wgsl.expected.spvasm",
      "new_id": "fe402e78ef44ab37183461331baa468c53a4a186",
      "new_mode": 33188,
      "new_path": "test/tint/loops/loop_with_continuing_robustness.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "d5e2c0f942583ec2a98402675508dc7fc94bb643",
      "old_mode": 33188,
      "old_path": "test/tint/loops/nested_loops.wgsl.expected.spvasm",
      "new_id": "10b1cd7c572af05da5a9117ddd220f647f45fd08",
      "new_mode": 33188,
      "new_path": "test/tint/loops/nested_loops.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "d5e2c0f942583ec2a98402675508dc7fc94bb643",
      "old_mode": 33188,
      "old_path": "test/tint/loops/nested_loops_robustness.wgsl.expected.spvasm",
      "new_id": "10b1cd7c572af05da5a9117ddd220f647f45fd08",
      "new_mode": 33188,
      "new_path": "test/tint/loops/nested_loops_robustness.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "3a0b1b1ae2df175f1fbe8c75bc3bdc0e46c76a45",
      "old_mode": 33188,
      "old_path": "test/tint/loops/nested_loops_with_continuing.wgsl.expected.spvasm",
      "new_id": "1c01831d144326265c7852f206dda9ace7cf2830",
      "new_mode": 33188,
      "new_path": "test/tint/loops/nested_loops_with_continuing.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "3a0b1b1ae2df175f1fbe8c75bc3bdc0e46c76a45",
      "old_mode": 33188,
      "old_path": "test/tint/loops/nested_loops_with_continuing_robustness.wgsl.expected.spvasm",
      "new_id": "1c01831d144326265c7852f206dda9ace7cf2830",
      "new_mode": 33188,
      "new_path": "test/tint/loops/nested_loops_with_continuing_robustness.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "bf5df9faacdbc5e7af02110934f41c5b75e20535",
      "old_mode": 33188,
      "old_path": "test/tint/switch/switch_nested.wgsl.expected.spvasm",
      "new_id": "1310b2990fc54b055c3fc92be92be6dcceaaa194",
      "new_mode": 33188,
      "new_path": "test/tint/switch/switch_nested.wgsl.expected.spvasm"
    }
  ]
}
