)]}'
{
  "commit": "d070309f7d154d6764cbd514b1a5c8bfcef61d06",
  "tree": "4c0b531a34aec78459124be67ce96c37a182caf6",
  "parents": [
    "11e432d3924f0e4a58e7b5d552426d4f709475e6"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Thu May 26 12:58:20 2022 -0400"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Fri May 27 14:31:43 2022 +0000"
  },
  "message": "Add a pragma option to zero-initialize Reactor local variables\n\nMemorySanitizer errors in Reactor routines are either caused by\nuninitialized heap allocations, incorrect instrumentation (false\npositives), or uninitialized local variables (including shader\nvariables). To help confirm or eliminate the latter as a possible\ncause, as well as to provide a convenient means to locate the\nuninitialized variable through a divide-and-conquer strategy, this\nchange provides the `InitializeLocalVariables` pragma.\n\nIt is only supported by the LLVM backend, since this is also the only\nbackend which supports MemorySanitizer instrumentation.\n\nBug: b/191149148\nChange-Id: I2f58c171e20bbcc19afdbc88bf61bf04a5bf477f\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/53688\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nReviewed-by: Alexis Hétu \u003csugoi@google.com\u003e\nKokoro-Result: kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5538529ac6e9c9a26e456e71e58bd335bb1cf435",
      "old_mode": 33188,
      "old_path": "src/Reactor/LLVMReactor.cpp",
      "new_id": "6632ffdd7427042bdf324b976d5e9689d87b0304",
      "new_mode": 33188,
      "new_path": "src/Reactor/LLVMReactor.cpp"
    },
    {
      "type": "modify",
      "old_id": "38e22add3962652d9491c18f116bda83e48dcd2f",
      "old_mode": 33188,
      "old_path": "src/Reactor/Pragma.cpp",
      "new_id": "1175352d3b14620d82ba2dfbca7f4e31a4215e07",
      "new_mode": 33188,
      "new_path": "src/Reactor/Pragma.cpp"
    },
    {
      "type": "modify",
      "old_id": "3b86a0355ac87de6323dec523b80aeeaab6c5a38",
      "old_mode": 33188,
      "old_path": "src/Reactor/Pragma.hpp",
      "new_id": "ff4f00c2fc377d1ea99fd67798e88de326c98399",
      "new_mode": 33188,
      "new_path": "src/Reactor/Pragma.hpp"
    },
    {
      "type": "modify",
      "old_id": "55180863aea05312f6067e9a18142dd83bda0d22",
      "old_mode": 33188,
      "old_path": "src/Reactor/SubzeroReactor.cpp",
      "new_id": "86abd9b06293ce2ed12896d1f272aeede76d05ff",
      "new_mode": 33188,
      "new_path": "src/Reactor/SubzeroReactor.cpp"
    }
  ]
}
