summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
diff options
context:
space:
mode:
authorAleksei Sidorin <a.sidorin@samsung.com>2017-11-21 11:27:47 +0000
committerAleksei Sidorin <a.sidorin@samsung.com>2017-11-21 11:27:47 +0000
commit124f5de84134095ac4cfa88eecfec1cf39995516 (patch)
treedd6c67848cf533eabd2f2211dac58b18387b1e94 /llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
parent7ac9be1ab7def8af270ea4af430fb59eb89a2239 (diff)
downloadbcm5719-llvm-124f5de84134095ac4cfa88eecfec1cf39995516.tar.gz
bcm5719-llvm-124f5de84134095ac4cfa88eecfec1cf39995516.zip
[Analyzer] Stable iteration on indirect goto LabelDecl's to avoid non-determinism (attempt 2)
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: 318754
Diffstat (limited to 'llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud