)]}'
{
  "commit": "fabdec519281a283de3fdb0935d7d3edfb4a705d",
  "tree": "69e721242afa51be9e85b67621ba887420d0bf41",
  "parents": [
    "5e8414e4e1043d4b09befa0411a38beedbd03243"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Thu Mar 21 17:04:05 2019 -0400"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Fri Mar 22 16:36:28 2019 +0000"
  },
  "message": "Use a C array for temporary load results\n\nArray\u003c\u003e emits GEP instructions on every access, which aren\u0027t necessary.\nNote that these temporaries are required because the If/Else blocks\nboth write to them, while the destination intermediate object is an\nrvalue which can only be initialized once to maintain SSA form.\n\nAlso EmitAccessChain was moved to match the declaration order.\n\nBug b/128539387\n\nChange-Id: I726fb0fd28b0a19a61e8759679e30bc699f3279d\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27788\nPresubmit-Ready: Nicolas Capens \u003cnicolascapens@google.com\u003e\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nReviewed-by: Chris Forbes \u003cchrisforbes@google.com\u003e\nKokoro-Presubmit: kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "930cff6de819318e9caa90c3a54c1c198b6be035",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShader.cpp",
      "new_id": "29e55b493de852f3b54d0ab5040a105a798617cd",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShader.cpp"
    }
  ]
}
