)]}'
{
  "commit": "aa63346634fd4a68f40b3506d21967aeede27e55",
  "tree": "e7af453594dabc078f5cf80e911912c74a7f20c5",
  "parents": [
    "c5e28d6d933ee6b1c2635101ed64a1b8ef8df6fc"
  ],
  "author": {
    "name": "Tobias Grosser",
    "email": "tobias@grosser.es",
    "time": "Wed Aug 26 11:01:14 2015 +0000"
  },
  "committer": {
    "name": "Tobias Grosser",
    "email": "tobias@grosser.es",
    "time": "Wed Aug 26 11:01:14 2015 +0000"
  },
  "message": "Only use instructions as insert locations for SCEVExpander\n\nSCEVExpander, which we are using during code generation, only allows\ninstructions as insert locations, but breaks in case BasicBlock-\u003eend() iterators\nare passed to it due to it trying to obtain the basic block in which code should\nbe generated by calling Instruction-\u003egetParent(), which is not defined for\n-\u003eend() iterators.\n\nThis change adds an assert to Polly that ensures we only pass valid instructions\nto SCEVExpander and it fixes one case, where we used IRBuilder-\u003eSetInsertBlock()\nto set an -\u003eend() insert location which was later passed to SCEVExpander.\n\nIn general, Polly is always trying to build up the CFG first, before we actually\ninsert instructions into the CFG sceleton. As a result, each basic block should\nalready have at least one branch instruction before we start adding code. Hence,\nalways requiring the IRBuilder insert location to be set to a real instruction\nshould always be possible.\n\nThanks Utpal Bora \u003ccs14mtech11017@iith.ac.in\u003e for his help with test case\nreduction.\n\nThis is a backport from r243830 as it was committed on trunk.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/polly/branches/release_37@246029 91177308-0d34-0410-b5e6-96231b3b80d8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "efe82810f28b4d21fcb0b7e93038f98e690ab35e",
      "old_mode": 33188,
      "old_path": "lib/CodeGen/BlockGenerators.cpp",
      "new_id": "4c667dd17eac5d2da81286c7810220c5aad9aeef",
      "new_mode": 33188,
      "new_path": "lib/CodeGen/BlockGenerators.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "461eaa6f8b21daff6f63cbbbefc62a5f7d51e941",
      "new_mode": 33188,
      "new_path": "test/Isl/CodeGen/non-affine-phi-node-expansion.ll"
    }
  ]
}
