re-generate pull request

* rebase the branch by removing merged commits
* address Peter's review comments: removing the caching of BBs on
  irreducible loops
* include unordered_set header in cpp file