summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SlotIndexes.cpp
diff options
context:
space:
mode:
authorAleksei Sidorin <a.sidorin@samsung.com>2017-11-21 11:05:28 +0000
committerAleksei Sidorin <a.sidorin@samsung.com>2017-11-21 11:05:28 +0000
commit3c3454b9d192c6195b7f6873312f6c08ff396ee7 (patch)
tree4ccdb87b6d0532eacf28ee2b67ec98700027a942 /llvm/lib/CodeGen/SlotIndexes.cpp
parent6bc35a93e6be166ec25cc42ab081ea161740ba3b (diff)
downloadbcm5719-llvm-3c3454b9d192c6195b7f6873312f6c08ff396ee7.tar.gz
bcm5719-llvm-3c3454b9d192c6195b7f6873312f6c08ff396ee7.zip
[Analyzer] Non-determinism: stable iteration on indirect goto LabelDecl's
CFG wass built in non-deterministic order due to the fact that indirect goto labels' declarations (LabelDecl's) are stored in the llvm::SmallSet container. LabelDecl's are pointers, whose order is not deterministic, and llvm::SmallSet sorts them by their non-deterministic addresses after "small" container is exceeded. This leads to non-deterministic processing of the elements of the container. The fix is to use llvm::SmallSetVector that was designed to have deterministic iteration order. Patch by Ilya Palachev! Differential Revision: https://reviews.llvm.org/D40073 llvm-svn: 318750
Diffstat (limited to 'llvm/lib/CodeGen/SlotIndexes.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud