aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Parallel.cpp
diff options
context:
space:
mode:
authorMax Kazantsev <max.kazantsev@azul.com>2017-12-28 12:03:12 +0000
committerMax Kazantsev <max.kazantsev@azul.com>2017-12-28 12:03:12 +0000
commita13e163a274f3442598eedd33ec208fc96a5b560 (patch)
treee35889069527b3f51c48c5a55d11040e36b1c9b2 /llvm/lib/Support/Parallel.cpp
parent62411e4d4f704d6021f1d3a7444a64c9fd4b3b82 (diff)
downloadllvm-a13e163a274f3442598eedd33ec208fc96a5b560.zip
llvm-a13e163a274f3442598eedd33ec208fc96a5b560.tar.gz
llvm-a13e163a274f3442598eedd33ec208fc96a5b560.tar.bz2
[RewriteStatepoints] Fix incorrect assertion
`RewriteStatepointsForGC` iterates over function blocks and their predecessors in order of declaration. One of outcomes of this is that callsites are placed in arbitrary order which has nothing to do with travelsar order. On the other hand, function `recomputeLiveInValues` asserts that bases are added to `Info.PointerToBase` before their deried pointers are updated. But if call sites are processed in order different from RPOT, this is not necessarily true. We cannot guarantee that the base was placed there before every pointer derived from it. All we can guarantee is that this base was marked as known base by this point. This patch replaces the fact that we assert from checking that the base was added to the map with assert that the base was marked as known base. Differential Revision: https://reviews.llvm.org/D41593 llvm-svn: 321517
Diffstat (limited to 'llvm/lib/Support/Parallel.cpp')
0 files changed, 0 insertions, 0 deletions