[RewriteStatepointsForGC] Fix another order of iteration bug
authorPhilip Reames <listmail@philipreames.com>
Sat, 28 Feb 2015 01:52:09 +0000 (01:52 +0000)
committerPhilip Reames <listmail@philipreames.com>
Sat, 28 Feb 2015 01:52:09 +0000 (01:52 +0000)
commitaf690c9cd32c482574c0999c795b1693065bbc53
tree1efab370324e2668bbb0ed641f630efa290a9483
parent82eef109be0bb7a0f323557290907a1a5915f326
[RewriteStatepointsForGC] Fix another order of iteration bug

It turns out the naming of inserted phis and selects is sensative to the order in which two sets are iterated.  We need to nail this down to avoid non-deterministic output and possible test failures.

The modified test is the one I first noticed something odd in.  The change is making it more strict to report the error.  With the test change, but without the code change, the test fails roughly 1 in 5.  With the code change, I've run ~30 runs without error.

Long term, the right fix here is to adjust the naming scheme.  I'm checking in this hack to avoid any possible non-determinism in the tests over the weekend.  HJust because I only noticed one case doesn't mean it's actually the only case.  I hope to get to the right change Monday.

std->llvm data structure changes bugfix change #3

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