)]}'
{
  "commit": "286e9c1187053b4363fe963636f242263e1e5cd9",
  "tree": "f2e79817e0a393e94f501d0b2e0d7e113df6e9f1",
  "parents": [
    "91572e769ad62bc22d482af225eb3f04188825a0"
  ],
  "author": {
    "name": "alan-baker",
    "email": "alanbaker@google.com",
    "time": "Wed Jun 29 23:32:20 2022 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jun 29 23:32:20 2022 -0400"
  },
  "message": "Use structural dominance to validate cfg (#4832)\n\n* Structural dominance introduced in SPIR-V 1.6 rev2\r\n* Changes the structured cfg validation to use structural dominance\r\n  * structural dominance is based on a cfg where merge and continue\r\n    declarations are counted as graph edges\r\n* Basic blocks now track structural predecessors and structural\r\n  successors\r\n* Add validation for entry into a loop\r\n* Fixed an issue with inlining a single block loop\r\n  * The continue target needs to be moved to the latch block\r\n* Simplify the calculation of structured exits\r\n  * no longer requires block depth\r\n* Update many invalid tests\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2cc31258e3c8bb60e2d93d6720f9efd24bedcec4",
      "old_mode": 33188,
      "old_path": "source/opt/inline_pass.cpp",
      "new_id": "6e73f1cb9245bfcb163c74902775381a69a31a80",
      "new_mode": 33188,
      "new_path": "source/opt/inline_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "9a5429bac383bf389b432ed197006fce6c490d67",
      "old_mode": 33188,
      "old_path": "source/opt/inline_pass.h",
      "new_id": "f20439542151c8b2aaed21ca56d05cfc36e67563",
      "new_mode": 33188,
      "new_path": "source/opt/inline_pass.h"
    },
    {
      "type": "modify",
      "old_id": "b2a8793d285777a00a0dbf68e571cc167fad6598",
      "old_mode": 33188,
      "old_path": "source/val/basic_block.cpp",
      "new_id": "a489ae066337120230818d9fc491aaa9ea1446b4",
      "new_mode": 33188,
      "new_path": "source/val/basic_block.cpp"
    },
    {
      "type": "modify",
      "old_id": "47cd06d07a71075f86b710b50838e514cce5e0b6",
      "old_mode": 33188,
      "old_path": "source/val/basic_block.h",
      "new_id": "f778aa04b5ce984b4fe7b520a0aa500606a29673",
      "new_mode": 33188,
      "new_path": "source/val/basic_block.h"
    },
    {
      "type": "modify",
      "old_id": "251e2bbaee7ea0523e81fedc3b343a3a7387eda0",
      "old_mode": 33188,
      "old_path": "source/val/construct.cpp",
      "new_id": "6e367f37c7dce760e499f6f50946fc42be2817d1",
      "new_mode": 33188,
      "new_path": "source/val/construct.cpp"
    },
    {
      "type": "modify",
      "old_id": "f3292b0e787a0cd6b52c850d391e112b62d86255",
      "old_mode": 33188,
      "old_path": "source/val/function.cpp",
      "new_id": "fc7ccd062c0eb750d09f5b47be331219364d3a99",
      "new_mode": 33188,
      "new_path": "source/val/function.cpp"
    },
    {
      "type": "modify",
      "old_id": "2fe30bdc8133af8ce46a8d557f63388e495e719d",
      "old_mode": 33188,
      "old_path": "source/val/function.h",
      "new_id": "126b1dc7788ca531c5ebc90494af44bb910a8a78",
      "new_mode": 33188,
      "new_path": "source/val/function.h"
    },
    {
      "type": "modify",
      "old_id": "be05c9c1e953f11f7efdddb94ed30a2cec42e156",
      "old_mode": 33188,
      "old_path": "source/val/validate_cfg.cpp",
      "new_id": "980646203ca5213611eb40f4e3f449eb47ee9229",
      "new_mode": 33188,
      "new_path": "source/val/validate_cfg.cpp"
    },
    {
      "type": "modify",
      "old_id": "25f8541670a3a4602348fbf72be7beaa8a94ea41",
      "old_mode": 33188,
      "old_path": "test/opt/aggressive_dead_code_elim_test.cpp",
      "new_id": "d15c79d960e3411f9106ac82eba85849a21e432d",
      "new_mode": 33188,
      "new_path": "test/opt/aggressive_dead_code_elim_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "b04c8f5e1af87944579c4453f905a4348dd45363",
      "old_mode": 33188,
      "old_path": "test/opt/dead_branch_elim_test.cpp",
      "new_id": "1095d3b886be1cde27b446ff4693299b6e3ad0ea",
      "new_mode": 33188,
      "new_path": "test/opt/dead_branch_elim_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "cefd8e54abee9d7242a8a423ebfeddaf4134d91c",
      "old_mode": 33188,
      "old_path": "test/opt/inline_test.cpp",
      "new_id": "d804f7cc1696a51bf0342f25d2c8ceb27344efa7",
      "new_mode": 33188,
      "new_path": "test/opt/inline_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "21960d1799a80e599d1538656322b2085837ad42",
      "old_mode": 33188,
      "old_path": "test/opt/pass_merge_return_test.cpp",
      "new_id": "04bd5d9b9ce76a3e2928493e6c84e3236f213fce",
      "new_mode": 33188,
      "new_path": "test/opt/pass_merge_return_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "76477468be776ba71d6aef1e353a6f75e8de8928",
      "old_mode": 33188,
      "old_path": "test/val/val_cfg_test.cpp",
      "new_id": "afab3be2cde04a85f7de9f48dc4b251b4b76f655",
      "new_mode": 33188,
      "new_path": "test/val/val_cfg_test.cpp"
    }
  ]
}
