aboutsummaryrefslogtreecommitdiff
path: root/clang/CMakeLists.txt
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2018-06-20 21:12:59 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2018-06-20 21:12:59 +0000
commit1d4e79e9472e1d1cb7bd497b17fd9c433bd6c2ed (patch)
tree2ddd6b1b5556b2d6501de45e9c02b2f1f6f59957 /clang/CMakeLists.txt
parentc8ae87839926f7e15db5c144752e1b4c80b739a3 (diff)
[Dominators] Simplify child lists and make them deterministic
This fixes an extremely subtle non-determinism that can only be triggered by an unfortunate alignment of passes. In my case: - JumpThreading does large dominator tree updates - CorrelatedValuePropagation preserves domtree now - LICM codegen depends on the order of children on domtree nodes The last part is non-deterministic if the update was stored in a set. But it turns out that the set is completely unnecessary, updates are deduplicated at an earlier stage so we can just use a vector, which is both more efficient and doesn't destroy the input ordering. I didn't manage to get the 240 MB IR file reduced enough, triggering this bug requires a lot of jump threading, so landing this without a test case. Differential Revision: https://reviews.llvm.org/D48392 llvm-svn: 335176
Diffstat (limited to 'clang/CMakeLists.txt')
0 files changed, 0 insertions, 0 deletions