summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-07-30 01:20:26 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-07-30 01:20:26 +0000
commitba4576daeb43f40ad8f5821c87f65fcea6a0732b (patch)
tree97fa794ebddde6a0e7b345dd49776a1fd29d6489 /llvm/test/Bitcode
parent7eb0a1014ddea55e3bbaa2bf8243480deaa2cd53 (diff)
downloadbcm5719-llvm-ba4576daeb43f40ad8f5821c87f65fcea6a0732b.tar.gz
bcm5719-llvm-ba4576daeb43f40ad8f5821c87f65fcea6a0732b.zip
UseListOrder: Fix undefined behaviour
This commit fixes undefined behaviour that caused the revert in r214249. The problem was two unsequenced operations on a `DenseMap<>`, giving different behaviour in GCC and Clang. This: DenseMap<T*, unsigned> DM; for (auto &X : ...) DM[&X] = DM.size() + 1; should have been: DenseMap<T*, unsigned> DM; for (auto &X : ...) { unsigned Size = DM.size(); DM[&X] = Size + 1; } Until r214242, this difference between compilers didn't matter. In r214242, `OrderMap::LastGlobalValueID` was introduced and compared against IDs, which in GCC were off-by-one my expectations. llvm-svn: 214270
Diffstat (limited to 'llvm/test/Bitcode')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud