1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 13:33:37 +02:00
llvm-mirror/lib
Michal Gorny 7f8c085cf4 [ADT] APFloatBase: Prevent collapsing semPPCDoubleDouble and semBogus
Provide a distinct contents for semBogus and semPPCDoubleDouble in order
to prevent compilers from collapsing them to a single memory address,
while we heavily rely on every semantic having distinct address.

This happens if insecure optimization collapsing identical values is
enabled. As a result, APFloats of semBogus are indistinguishable from
semPPCDoubleDouble -- and whenever the move constructor is used, the old
value beings being incorrectly recognized as a semPPCDoubleDouble.

Since the values in semPPCDoubleDouble are not used anywhere,
we can easily solve this issue via altering the value of one of the
fields and therefore ensuring that the collapse can not occur.

Differential Revision: https://reviews.llvm.org/D28112

llvm-svn: 290896
2017-01-03 16:33:50 +00:00
..
Analysis [ValueTracking] remove stale comments; NFC 2017-01-02 19:04:07 +00:00
AsmParser ASMParser: use range-based for loops (NFC) 2016-12-27 18:35:22 +00:00
Bitcode Change Metadata Index emission in the bitcode to use 2x32 bits for the placeholder 2016-12-28 23:45:54 +00:00
CodeGen [XRay] Merge instrumentation point table emission code into AsmPrinter. 2017-01-03 04:30:21 +00:00
DebugInfo [cmake] Add LLVM_ENABLE_DIA_SDK option, and expose it in LLVMConfig 2017-01-02 18:19:35 +00:00
Demangle
ExecutionEngine RuntimeDyldELF: refactor AArch64 relocations. NFC. 2016-12-27 13:33:32 +00:00
Fuzzer [libFuzzer] cleaner implementation of -print_pcs=1 2016-12-30 01:13:07 +00:00
IR [AVX-512] Remove vinsert intrinsics and autoupgrade to native shufflevectors. There are some codegen problems here that I'll try to fix in future commits. 2017-01-03 05:45:57 +00:00
IRReader
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
LineEditor
Linker
LTO [ThinLTO] Honor -O{0,1,2,4} passed through the libLTO interface for ThinLTO 2016-12-28 19:37:16 +00:00
MC Reapply "[CodeGen] Fix invalid DWARF info on Win64" 2017-01-02 03:00:19 +00:00
Object Fix a bugs with using some Mach-O command line flags like "-arch armv7m". 2016-12-16 22:54:02 +00:00
ObjectYAML [ObjectYAML] Support for DWARF debug_info section 2016-12-22 22:44:27 +00:00
Option
Passes [PM] Introduce a devirtualization iteration layer for the new PM. 2016-12-28 11:07:33 +00:00
ProfileData
Support [ADT] APFloatBase: Prevent collapsing semPPCDoubleDouble and semBogus 2017-01-03 16:33:50 +00:00
TableGen
Target [X86] Move 128-bit shuffle mask widening check into lowerV2X128VectorShuffle to reduce code duplication. Use the now available widened mask to simplify some code inside lowerV2X128VectorShuffle. 2017-01-03 07:36:41 +00:00
Transforms InstCombine: Add fma with constant transforms 2017-01-03 04:32:35 +00:00
CMakeLists.txt
LLVMBuild.txt