summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-07-16 08:09:48 +0000
committerDuncan Sands <baldrick@free.fr>2008-07-16 08:09:48 +0000
commita0b1ab3c0bdd8982c86beaa406b2a6a61993a0fb (patch)
tree0b33db94b9e4f105460cb9deb427c14b80f7d9b3 /llvm/lib/Analysis/ValueTracking.cpp
parent7da34d050bed921ea22a605b8dcd4642b756687d (diff)
downloadbcm5719-llvm-a0b1ab3c0bdd8982c86beaa406b2a6a61993a0fb.tar.gz
bcm5719-llvm-a0b1ab3c0bdd8982c86beaa406b2a6a61993a0fb.zip
The atomic.cmp.swap promotion logic is wrong: it
simply does the atomic.cmp.swap on the larger type, which means it blows away whatever is sitting in the bytes just after the memory location, i.e. causes a buffer overflow. This really requires target specific code, which is why LegalizeTypes doesn't try to handle this case generically. The existing (wrong) code in LegalizeDAG will go away automatically once the type legalization code is removed from LegalizeDAG so I'm leaving it there for the moment. Meanwhile, don't test for this feature. llvm-svn: 53669
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud