1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib
Hal Finkel 380cfab8df [PowerPC] Fix i8/i16 atomics for little-Endian targets without partword atomics
For little-Endian PowerPC, we generally target only P8 and later by default.
However, generic (older) 64-bit configurations are still an option, and in that
case, partword atomics are not available (e.g. stbcx.). To lower i8/i16 atomics
without true i8/i16 atomic operations, we emulate using i32 atomics in
combination with a bunch of shifting and masking, etc. The amount by which to
shift in little-Endian mode is different from the amount in big-Endian mode (it
is inverted -- meaning we can leave off the xor when computing the amount).

Fixes PR22923.

llvm-svn: 280022
2016-08-29 22:25:36 +00:00
..
Analysis Fix a thinko in r278189. 2016-08-29 20:45:51 +00:00
AsmParser [AsmParser] Placate a -Wmisleading-indentantion warning (GCC7). 2016-08-26 18:05:03 +00:00
Bitcode Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. 2016-08-25 00:45:04 +00:00
CodeGen GlobalISel: use multi-dimensional arrays for legalize actions. 2016-08-29 21:00:00 +00:00
DebugInfo Remove unused translation unit. 2016-08-23 20:08:02 +00:00
ExecutionEngine ExecutionEngine: fix a bug in the movt/movw relocator 2016-08-29 20:42:03 +00:00
Fuzzer [libFuzzer] simplify a test to make it pass on the bot 2016-08-26 00:18:16 +00:00
IR [Constant] remove fdiv and frem from canTrap() 2016-08-29 15:27:17 +00:00
IRReader
LibDriver Object: Replace NewArchiveIterator with a simpler NewArchiveMember class. NFCI. 2016-06-29 22:27:42 +00:00
LineEditor
Linker Linker: Avoid some ridiculous indentation by using a temporary. NFC 2016-08-15 22:41:42 +00:00
LTO [LTO] Remove extraneous output 2016-08-29 15:33:01 +00:00
MC Move code only used by codegen out of MC. NFC. 2016-08-29 12:33:42 +00:00
Object Next set of additional error checks for invalid Mach-O files for bad LC_SYMTAB’s. 2016-08-26 19:34:07 +00:00
ObjectYAML [macho2yaml] Don't write empty linkedit data 2016-08-17 21:46:04 +00:00
Option Replace "fallthrough" comments with LLVM_FALLTHROUGH 2016-08-17 05:10:15 +00:00
Passes [PM] Introduce basic update capabilities to the new PM's CGSCC pass 2016-08-24 09:37:14 +00:00
ProfileData Use range algorithms instead of unpacking begin/end 2016-08-11 21:15:00 +00:00
Support Implement getRandomBytes() function 2016-08-26 08:14:54 +00:00
TableGen Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. 2016-08-23 17:14:32 +00:00
Target [PowerPC] Fix i8/i16 atomics for little-Endian targets without partword atomics 2016-08-29 22:25:36 +00:00
Transforms [SLP] Return a boolean value for these static helpers. NFC. 2016-08-29 22:09:51 +00:00
CMakeLists.txt
LLVMBuild.txt