)]}'
{
  "log": [
    {
      "commit": "db51efb3617d15f1cd9e5ff0cc2d934777014e9a",
      "tree": "fa70acb9f8d090def2cae550db8c2e1f630f31c4",
      "parents": [
        "2649cba0fb7cdbd8fa60cb4f2fb320fb2b18ee37"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Nov 06 01:36:20 2015 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Nov 09 10:27:08 2015 +0000"
      },
      "message": "ART: Fix critical edge splitting under try/catch\n\nA critical edge would not be split if the predecessor ends with\nTryBoundary. This would eventually trip liveness analysis because\na back edge block would have smaller liveness position than a nested\nloop.\n\nAnother implication of this change is that an edge between a loop\u0027s\npre-header ending with TryBoundary and the header will be split,\nguaranteeing that a pre-header always has just one successor.\n\nBug: 25493695\nBug: 25454012\nChange-Id: I5a13b8bb74509b48f5d628906f7158af007f99ae\n"
    },
    {
      "commit": "389b3dbf5c5390056ff4dacac464219853dd3cda",
      "tree": "85013c1eaf6aaba9ab839f17b978eb689f30e998",
      "parents": [
        "c8894ab5021aecd0fa5eba94af47f732914af33b"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 28 14:23:40 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Nov 04 09:48:26 2015 -0800"
      },
      "message": "Finalized all components of range analysis needed for dynamic bce.\n\nRationale: added ability to generate taken-test, prompt back need\n           for finite-test; cleaned up the API now that bounds\n           check needs are all known.\n\nChange-Id: I3d09b249965d1a980c09381240de175ca4b2e455\n"
    },
    {
      "commit": "22f058726d35dd8f40b3763649e61740b3d22535",
      "tree": "987dd5df7627c2c3e8c798089083cb797627daed",
      "parents": [
        "3dca4c04170bb4c7b26609e55f3f4966d46b681a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Oct 27 15:56:28 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 28 13:57:14 2015 -0700"
      },
      "message": "Generate taken-test during trip-count analysis.\n\nRationale: for loops that may not be taken, this taken-test\n           can be used by clients of the induction variable\n           analysis to ensure trip-count evaluation is valid.\n\nChange-Id: Ia64749e2389b7224e69d6a49bb604b1964c11068\n"
    },
    {
      "commit": "27cfad0d14669ea00333f74bbde9ad923fee70ff",
      "tree": "385620303715298c4f3f73d4e64ac96f6e99e59d",
      "parents": [
        "7cf979b02fa0f2546f3f1b648487ac8df359acf7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 20 11:29:36 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Oct 20 11:32:02 2015 +0100"
      },
      "message": "Fix induction_var_range_test.\n\nChange-Id: I43101c5e35f4c516ea4ba3137631508f12703412\n"
    },
    {
      "commit": "aec3cce52009afe436a6db0280d6d5aee9b8d4d4",
      "tree": "9fa409750d89871863b10396a2278ebd48f0b5b9",
      "parents": [
        "f69f56e7d4a1e31dfce2a77558c9b7047f82092b"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Oct 14 17:44:55 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Oct 19 12:44:55 2015 -0700"
      },
      "message": "Added ability to generate induction range code.\n\nRationale: used by dynamic BCE (done in another CL).\n\nChange-Id: Ia6ce75da57b5298fba74622822ae0bae69c74188\n"
    },
    {
      "commit": "9401f5397128ddc8dc36de923dd5e6bd4e4b5be4",
      "tree": "4ff8052307da80baa89dfa80a446f48752c0e95c",
      "parents": [
        "931e26843bbb688eacfa67b40414c6b8f221a56a"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Sep 28 16:25:56 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Sep 30 09:58:53 2015 -0700"
      },
      "message": "Implemented trip-count safety information.\n\nAs shown in the induction analysis presentation, trip-counts need to\ndeal with potential taken/not-taken situations (so that trip-count\nis either valid in the full loop or just in the loop-body proper)\nand potential finite/infinite situations (the latter can still be\nanalyzed but may need to run-time test later to guard against the\ninfinite conditions). This CL provides that information.\n\nChange-Id: I0445d8e836b80a3614af217ce3e39d766e77b986\n"
    },
    {
      "commit": "cd26feb7e9f9eb36af9453f3cdb55cfc4e6e5ec4",
      "tree": "39768556d365d9830119f03aae81de1e7ee3efd3",
      "parents": [
        "a6cfe5a3acb3af782322fde734bfcf0c524d6f99"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Sep 23 17:50:50 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Sep 23 18:36:11 2015 -0700"
      },
      "message": "Minor cleanup in range analysis.\n\n(1) replaced min/max macro as previously required.\n(2) removed some redundant code by merging min/max into one.\n\nChange-Id: I610879a06d550346bfac7e6e12ec0299ba226a37\n"
    },
    {
      "commit": "b3365e0c4cda4f8f19284d2d418db158ab78d810",
      "tree": "d76a5ee48912d7fae2c5e612def63000c8284f8a",
      "parents": [
        "6a6916b378c413c2692782e901393607c47f0005"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Sep 21 14:45:05 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Sep 22 16:22:32 2015 +0000"
      },
      "message": "Various improvements in range analysis.\n\nRationale:\nUsing min/max values for \"unknowns\" is a bit wasteful,\nsince it eliminates two useful values. Replaced this\nwith additional boolean to make cases more accurate.\nAdded few cases to handle examples found in real-life.\n\nChange-Id: I211f8d9a28b1ae79abdb55fb4569716f21d8043b\n"
    },
    {
      "commit": "d14c59564870c910bdc823081f0ed1101f599231",
      "tree": "36a831f8c786823129bebbf03a4ca48ff6ed3c23",
      "parents": [
        "e6576390f957c82c2aede438834d028066757368"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Sep 08 15:25:15 2015 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Sep 10 10:16:04 2015 -0700"
      },
      "message": "Induction variable range analysis.\n\nRationale: by computing an upper bound on the trip count of each\n           loop after induction var analysis has completed, a\n\t   simple range analysis yields lower and upper bounds on\n\t   all induced expressions in a loop; this analysis\n\t   plugs directly into BCE (follow-up CL).\n\nChange-Id: I46a3fe48721ca372547199b39a3498c47992597d\n"
    }
  ]
}
