)]}'
{
  "commit": "efe12ff5a1b34d0e23d6a5515bfe0eb18aaa1761",
  "tree": "a9254f39ed4b20bae57e52d75dc38d5e52f544fa",
  "parents": [
    "039c12f096af8e246679d8e5711f815971a149b2"
  ],
  "author": {
    "name": "Steven Perron",
    "email": "stevenperron@google.com",
    "time": "Thu Nov 09 11:24:41 2017 -0500"
  },
  "committer": {
    "name": "Steven Perron",
    "email": "stevenperron@google.com",
    "time": "Fri Nov 10 11:17:12 2017 -0500"
  },
  "message": "Have all MemPasses preserve the def-use manager.\n\nOriginally the passes that extended from MemPass were those that are\nof the def-use manager.  I am assuming they would be able to preserve\nit because of that.\n\nAdded a check to verify consistency of the IRContext. The IRContext\nrelies on the pass to tell it if something is invalidated.\nIt is possible that the pass lied.  To help identify those situations,\nwe will check if the valid analyses are correct after each pass.\n\nThis will be enabled by default for the debug build, and disabled in the\nproduction build.  It can be disabled in the debug build by adding\n\"-DSPIRV_CHECK_CONTEXT\u003dOFF\" to the cmake command.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d53f01b8931341afb576589d14561c6fee9669a0",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "4ce9615323cab9db25fc62cdb9aa571113d2757a",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "b19e3755c4fa2ba58f793a72152189a5fb7ea266",
      "old_mode": 33188,
      "old_path": "source/opt/aggressive_dead_code_elim_pass.h",
      "new_id": "9d2ad0885d8434649028fc07211911d77699bc8c",
      "new_mode": 33188,
      "new_path": "source/opt/aggressive_dead_code_elim_pass.h"
    },
    {
      "type": "modify",
      "old_id": "450882fa732316ee6523e786033d717b808ca351",
      "old_mode": 33188,
      "old_path": "source/opt/cfg_cleanup_pass.h",
      "new_id": "116e11d1b69cd3294fd26b909460782b8818e6e7",
      "new_mode": 33188,
      "new_path": "source/opt/cfg_cleanup_pass.h"
    },
    {
      "type": "modify",
      "old_id": "e7b648e82b38da75ecfcf9d88aae6d560b7375eb",
      "old_mode": 33188,
      "old_path": "source/opt/dead_branch_elim_pass.h",
      "new_id": "cdf2e96685f87ff47eedb6093fa76b835b4ef7d3",
      "new_mode": 33188,
      "new_path": "source/opt/dead_branch_elim_pass.h"
    },
    {
      "type": "modify",
      "old_id": "8b6a27faaba382bd45cb2af33248fe78e28c554f",
      "old_mode": 33188,
      "old_path": "source/opt/dead_variable_elimination.h",
      "new_id": "f016e78b2d42668aaea67aec3aa2e1948271d9c2",
      "new_mode": 33188,
      "new_path": "source/opt/dead_variable_elimination.h"
    },
    {
      "type": "modify",
      "old_id": "d3c050cab4771eac275b307268fe97a13d870afa",
      "old_mode": 33188,
      "old_path": "source/opt/def_use_manager.cpp",
      "new_id": "3be6980cc8980617106c0b94dc3032b56c1fd8aa",
      "new_mode": 33188,
      "new_path": "source/opt/def_use_manager.cpp"
    },
    {
      "type": "modify",
      "old_id": "1b9f41eab0810c3065e7057f4ba0633617be8cd1",
      "old_mode": 33188,
      "old_path": "source/opt/def_use_manager.h",
      "new_id": "74d45288f1d04c75471f6f12d942d47acd2907cf",
      "new_mode": 33188,
      "new_path": "source/opt/def_use_manager.h"
    },
    {
      "type": "modify",
      "old_id": "dae2fca9bec0282dccfdb258df4098d92999900a",
      "old_mode": 33188,
      "old_path": "source/opt/eliminate_dead_functions_pass.h",
      "new_id": "adb41bb392bf53b98b33b3abb3bc851d72227dad",
      "new_mode": 33188,
      "new_path": "source/opt/eliminate_dead_functions_pass.h"
    },
    {
      "type": "modify",
      "old_id": "122aff0394e2f0c0eaf33a0b964e2194766164cc",
      "old_mode": 33188,
      "old_path": "source/opt/ir_context.cpp",
      "new_id": "a4824026a77b00602c4158e3fa0bb1d823eb0455",
      "new_mode": 33188,
      "new_path": "source/opt/ir_context.cpp"
    },
    {
      "type": "modify",
      "old_id": "7945a56167676d594703ba74a5e61b95bacb74f9",
      "old_mode": 33188,
      "old_path": "source/opt/ir_context.h",
      "new_id": "907ff964ffa8a8fd48a057a8fef06a0b2880c4a6",
      "new_mode": 33188,
      "new_path": "source/opt/ir_context.h"
    },
    {
      "type": "modify",
      "old_id": "152e71c7ee77519a0beee6e93e99b898cc2e79b7",
      "old_mode": 33188,
      "old_path": "source/opt/local_access_chain_convert_pass.h",
      "new_id": "b8862a88dcac30620dba3f614a5abc6609154951",
      "new_mode": 33188,
      "new_path": "source/opt/local_access_chain_convert_pass.h"
    },
    {
      "type": "modify",
      "old_id": "5ceb378478d4bc8f758c3b6df69989deca649d91",
      "old_mode": 33188,
      "old_path": "source/opt/local_single_block_elim_pass.h",
      "new_id": "4edf116ce8a9518f7e1c702e421a6e498b622d09",
      "new_mode": 33188,
      "new_path": "source/opt/local_single_block_elim_pass.h"
    },
    {
      "type": "modify",
      "old_id": "1d0f1ff9dc7da9319183150dc41a908b6b4bf147",
      "old_mode": 33188,
      "old_path": "source/opt/local_single_store_elim_pass.h",
      "new_id": "1ecc86775259947a15190f2db1d3807f88b6ae75",
      "new_mode": 33188,
      "new_path": "source/opt/local_single_store_elim_pass.h"
    },
    {
      "type": "modify",
      "old_id": "ae293be00ca7d2283e0c886a5ccc608bc02d40a0",
      "old_mode": 33188,
      "old_path": "source/opt/local_ssa_elim_pass.h",
      "new_id": "12b107d8935497d126409c61e23f786bc24b797e",
      "new_mode": 33188,
      "new_path": "source/opt/local_ssa_elim_pass.h"
    },
    {
      "type": "modify",
      "old_id": "3affc48486cbc7c9c66b72aa6c9a67105750df87",
      "old_mode": 33188,
      "old_path": "source/opt/mem_pass.cpp",
      "new_id": "812caf03274983753c886f7b4371182dc7a97066",
      "new_mode": 33188,
      "new_path": "source/opt/mem_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "96e2ab1822003b706ebd6385c8fb34d33bbfaa62",
      "old_mode": 33188,
      "old_path": "source/opt/pass.cpp",
      "new_id": "6eb381a6c87abbeba18249372c5c404c4459a1cb",
      "new_mode": 33188,
      "new_path": "source/opt/pass.cpp"
    }
  ]
}
