)]}'
{
  "commit": "493fc54a61c37b1d28e4641449bbdef792af9ce8",
  "tree": "9b02ea78677d286515803c1b9b4bfbc0d2ccc3b2",
  "parents": [
    "937e6a5acd8649251a21022ff0554f9a74479baf"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Tue May 29 17:11:37 2018 -0400"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Wed May 30 15:40:54 2018 +0000"
  },
  "message": "Fix loop unrolling.\n\nLoops were no longer getting unrolled because we analyzed the entire\nloop, not just the body, for changes to the index variable. Also, the\nlogic was inverted. Also, be conservative about loops with return\nstatements not being unrollable.\n\nBug chromium:845103\n\nChange-Id: I5957e17f7b985ae90b10053216b6945f3f64338e\nReviewed-on: https://swiftshader-review.googlesource.com/19008\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nReviewed-by: Alexis Hétu \u003csugoi@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d7213cb47e6132e0f524f7382d9d94d692f1d1bd",
      "old_mode": 33188,
      "old_path": "src/OpenGL/compiler/OutputASM.cpp",
      "new_id": "8b20758f14b50e10ac2cd3350cf92116f58976e4",
      "new_mode": 33188,
      "new_path": "src/OpenGL/compiler/OutputASM.cpp"
    },
    {
      "type": "modify",
      "old_id": "1aa791ea6eafda1861db3dfbf5776ee331e0da71",
      "old_mode": 33188,
      "old_path": "src/OpenGL/compiler/OutputASM.h",
      "new_id": "2f90266a8ea84c9c88b1cf830eb3ac05c6d7a5b8",
      "new_mode": 33188,
      "new_path": "src/OpenGL/compiler/OutputASM.h"
    },
    {
      "type": "modify",
      "old_id": "f263eda809302dbbf5729a12d4f47e8f0b8b9c87",
      "old_mode": 33188,
      "old_path": "tests/unittests/unittests.cpp",
      "new_id": "afbb678170b02f9a4500f6edb5f3c204ba7ddbcb",
      "new_mode": 33188,
      "new_path": "tests/unittests/unittests.cpp"
    }
  ]
}
