[RewriteStatepointsForGC] Workaround a lack of determinism in visit order
authorPhilip Reames <listmail@philipreames.com>
Thu, 3 Sep 2015 20:24:29 +0000 (20:24 +0000)
committerPhilip Reames <listmail@philipreames.com>
Thu, 3 Sep 2015 20:24:29 +0000 (20:24 +0000)
commit5707dff00a39390c595f7e144ed13b331242bafd
treed50eda2a476098279ff8b40b65e85bc44ace2f9e
parent446d906a523c7eaf1c9694b8c49cdba71debfdd0
[RewriteStatepointsForGC] Workaround a lack of determinism in visit order

The visit order being used in the base pointer inference algorithm is currently non-deterministic.  When working on http://reviews.llvm.org/D12583, I discovered that we were relying on a peephole optimization to get deterministic ordering in one of the test cases.

This change is intented to let me test and land http://reviews.llvm.org/D12583.  The current code will not be long lived.  I'm starting to investigate a rewrite of the algorithm which will combine the post-process step into the initial algorithm and make the visit order determistic.  Before doing that, I wanted to make sure the existing code was complete and the test were stable.  Hopefully, patches should be up for review for the new algorithm this week or early next.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246801 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp