mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-16 23:19:37 +00:00
Duncan Sands
17991c3234
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53669 91177308-0d34-0410-b5e6-96231b3b80d8
Low Level Virtual Machine (LLVM) ================================ This directory and its subdirectories contain source code for the Low Level Virtual Machine, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments. LLVM is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt. Please see the HTML documentation provided in docs/index.html for further assistance with LLVM.
Description
Languages
LLVM
52.9%
C++
32.7%
Assembly
13.2%
Python
0.4%
C
0.4%
Other
0.3%