1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/lib
George Balatsouras db10f9f59c [dfsan] Fix origin tracking for fast8
The problem is the following. With fast8, we broke an important
invariant when loading shadows.  A wide shadow of 64 bits used to
correspond to 4 application bytes with fast16; so, generating a single
load was okay since those 4 application bytes would share a single
origin.  Now, using fast8, a wide shadow of 64 bits corresponds to 8
application bytes that should be backed by 2 origins (but we kept
generating just one).

Let’s say our wide shadow is 64-bit and consists of the following:
0xABCDEFGH. To check if we need the second origin value, we could do
the following (on the 64-bit wide shadow) case:

 - bitwise shift the wide shadow left by 32 bits (yielding 0xEFGH0000)
 - push the result along with the first origin load to the shadow/origin vectors
 - load the second 32-bit origin of the 64-bit wide shadow
 - push the wide shadow along with the second origin to the shadow/origin vectors.

The combineOrigins would then select the second origin if the wide
shadow is of the form 0xABCDE0000.  The tests illustrate how this
change affects the generated bitcode.

Reviewed By: stephan.yichao.zhao

Differential Revision: https://reviews.llvm.org/D101584
2021-04-30 15:57:33 -07:00
..
Analysis [ValueTracking] Slightly clean up programUndefinedIfUndefOrPoison() (NFC) 2021-04-30 23:05:41 +02:00
AsmParser [Lexer] Allow LLLexer to be used as an API 2021-04-26 12:43:14 -04:00
BinaryFormat [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
Bitcode [Bitcode] Ensure DIArgList in bitcode has no null or forward metadata refs 2021-04-22 12:03:33 +01:00
Bitstream
CodeGen [EarlyIfConversion] Avoid producing selects with identical operands 2021-04-30 15:51:14 -07:00
DebugInfo [DebugInfo][llvm-dwarfdump] Fix printing of Unit header with DW_UT_partial type 2021-04-27 10:32:44 +05:30
Demangle Fix memory leak in MicrosoftDemangleNodes's Node::toString 2021-04-22 18:44:30 +02:00
DWARFLinker [dsymutil] Add flag to force a static variable to keep its enclosing function 2021-04-28 11:33:04 -07:00
ExecutionEngine [JITLink] Minor fix to avoid Windows compiler warning for static-cast 2021-04-30 11:08:05 +01:00
Extensions
FileCheck Fix PR46880: Fail CHECK-NOT with undefined variable 2021-04-20 14:42:46 +01:00
Frontend [LLVM][OpenMP] Adding support for OpenMP sections construct in OpenMPIRBuilder 2021-04-29 18:39:49 +05:30
Fuzzer
FuzzMutate [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
InterfaceStub
IR [VP,Integer,#2] ExpandVectorPredication pass 2021-04-30 15:47:28 +02:00
IRReader [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
LineEditor
Linker Linker: Avoid scheduling the link of a global value twice due to an alias 2021-04-28 13:22:10 -07:00
LTO [Support] Don't include VirtualFileSystem.h in CommandLine.h 2021-04-21 10:19:01 -04:00
MC [XCOFF][AIX] Add Global Variables Directly to TOC for 32 bit AIX 2021-04-30 14:48:02 +00:00
MCA [MCA] Fix CarryOver check in the DispatchStage (PR50174). 2021-04-30 14:26:46 +01:00
Object [TextAPI] move source code files out of subdirectory, NFC 2021-04-05 10:24:42 -07:00
ObjectYAML Revert "AMDGPU/llvm-readobj: Add missing tests for note parsing/displaying" 2021-04-30 14:45:52 -04:00
Option
Passes [NewPM] Disable RelLookupTableConverter pass in LTO 2021-04-30 21:23:40 +00:00
ProfileData [CSSPGO] Explicitly disallow Binary and Compact Binary profile format for CSSPGO 2021-04-26 09:10:24 -07:00
Remarks [Support] Don't include VirtualFileSystem.h in CommandLine.h 2021-04-21 10:19:01 -04:00
Support [llvm][Support][NFC] Fix fallthrough attribute indentation 2021-04-30 10:31:31 +02:00
TableGen [TableGen] Fix two bugs in 'defm' when complex 'assert' is involved. 2021-04-30 11:31:06 -04:00
Target [X86] Promote 16-bit CTTZ_ZERO_UNDEF to 32-bit variant 2021-05-01 00:42:15 +02:00
Testing [SystemZ][z/OS] Add IsText Argument to GetFile and GetFileOrSTDIN 2021-04-16 10:08:36 -04:00
TextAPI [TextAPI] move source code files out of subdirectory, NFC 2021-04-05 10:24:42 -07:00
ToolDrivers [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
Transforms [dfsan] Fix origin tracking for fast8 2021-04-30 15:57:33 -07:00
WindowsManifest
XRay
CMakeLists.txt