)]}'
{
  "commit": "d4799f477c47a0a46bd91880a8d7accbc6a98c6f",
  "tree": "ae47a9d6fc17b96f2f7c6f9b5e373810b5b5cff2",
  "parents": [
    "f820da5e31ff195d897818b4110e12d28c20a08d"
  ],
  "author": {
    "name": "Matt Wala",
    "email": "wala@chromium.org",
    "time": "Thu Aug 14 14:24:12 2014 -0700"
  },
  "committer": {
    "name": "Matt Wala",
    "email": "wala@chromium.org",
    "time": "Thu Aug 14 14:24:12 2014 -0700"
  },
  "message": "Subzero: Align spill locations to natural alignment.\n\nThis requires sorting the spilled variables based on alignment and\nintroducing additional padding around the spill location areas.\n\nThese changes allow vector instructions to accept memory operands.\n\nOld stack frame layout:  New stack frame layout:\n+---------------------+  +---------------------+\n| return address      |  | return address      |\n+---------------------+  +---------------------+\n| preserved registers |  | preserved registers |\n+---------------------+  +---------------------+\n| global spill area   |  | padding             |\n+---------------------+  +---------------------+\n| local spill area    |  | global spill area   |\n+---------------------+  +---------------------+\n| padding             |  | padding             |\n+---------------------+  +---------------------+\n| local variables     |  | local spill area    |\n+---------------------+  +---------------------+\n                         | padding             |\n                         +---------------------+\n                         | local variables     |\n                         +---------------------+\n\nBUG\u003dnone\nR\u003djvoung@chromium.org, stichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/465413003\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "91512a9fb47189ad7f322bb1d18e8c08816f076b",
      "old_mode": 33188,
      "old_path": "src/IceTargetLowering.h",
      "new_id": "39e08def9b2c1a684d2437773f4ff76312e9ae80",
      "new_mode": 33188,
      "new_path": "src/IceTargetLowering.h"
    },
    {
      "type": "modify",
      "old_id": "75ea25d25b7375babc2512882f62af4a38c9a91e",
      "old_mode": 33188,
      "old_path": "src/IceTargetLoweringX8632.cpp",
      "new_id": "35792aaac0aebc38cafca62a0744a7e8c9fe4572",
      "new_mode": 33188,
      "new_path": "src/IceTargetLoweringX8632.cpp"
    },
    {
      "type": "modify",
      "old_id": "6d209dc8f4c72d179953ef8d9a0c83adea4b9cce",
      "old_mode": 33188,
      "old_path": "src/IceTargetLoweringX8632.h",
      "new_id": "ebe6ba91752814786142633131a3c28bab265392",
      "new_mode": 33188,
      "new_path": "src/IceTargetLoweringX8632.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4db7eb19a5d93e3b803a0e98825113dce11ee88d",
      "new_mode": 33188,
      "new_path": "tests_lit/llvm2ice_tests/align-spill-locations.ll"
    }
  ]
}
