diff options
| author | Michael Zolotukhin <mzolotukhin@apple.com> | 2018-05-12 01:44:32 +0000 |
|---|---|---|
| committer | Michael Zolotukhin <mzolotukhin@apple.com> | 2018-05-12 01:44:32 +0000 |
| commit | 046da9780665dd8e951b48e475ee03cf7da34fd4 (patch) | |
| tree | 762226edcf8eec2b4c6fb1194d4e6c1045257b3c /llvm/lib/Transforms | |
| parent | 7012c246c10b456ee0b317b41d04c7addc3eb35b (diff) | |
| download | bcm5719-llvm-046da9780665dd8e951b48e475ee03cf7da34fd4.tar.gz bcm5719-llvm-046da9780665dd8e951b48e475ee03cf7da34fd4.zip | |
[IDF] Enforce the returned blocks to be sorted.
Summary:
Currently the order of blocks returned by `IDF::calculate` can be
non-deterministic. This was discovered in several attempts to enable
SSAUpdaterBulk for JumpThreading (which led to miscompare in bootstrap between
stage 3 and stage4). Originally, the blocks were put into a priority queue with
a depth level as their key, and this patch adds a DFSIn number as a second key
to specify a deterministic order across blocks from one level.
The solution was suggested by Daniel Berlin.
Reviewers: dberlin, davide
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D46646
llvm-svn: 332167
Diffstat (limited to 'llvm/lib/Transforms')
0 files changed, 0 insertions, 0 deletions

