forked from OSchip/llvm-project
aca335955c
Summary: This is RFC for fixes in poison-related functions of ValueTracking. These functions assume that a value can be poison bitwisely, but the semantics of bitwise poison is not clear at the moment. Allowing a value to have bitwise poison adds complexity to reasoning about correctness of optimizations. This patch makes the analysis functions simply assume that a value is either fully poison or not, which has been used to understand the correctness of a few previous optimizations. The bitwise poison semantics seems to be only used by these functions as well. In terms of implementation, using value-wise poison concept makes existing functions do more precise analysis, which is what this patch contains. Reviewers: spatel, lebedev.ri, jdoerfert, reames, nikic, nlopes, regehr Reviewed By: nikic Subscribers: fhahn, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78503 |
||
---|---|---|
.. | ||
AddressSanitizer.cpp | ||
BoundsChecking.cpp | ||
CFGMST.h | ||
CGProfile.cpp | ||
CMakeLists.txt | ||
ControlHeightReduction.cpp | ||
DataFlowSanitizer.cpp | ||
GCOVProfiling.cpp | ||
HWAddressSanitizer.cpp | ||
IndirectCallPromotion.cpp | ||
InstrOrderFile.cpp | ||
InstrProfiling.cpp | ||
Instrumentation.cpp | ||
LLVMBuild.txt | ||
MaximumSpanningTree.h | ||
MemorySanitizer.cpp | ||
PGOInstrumentation.cpp | ||
PGOMemOPSizeOpt.cpp | ||
PoisonChecking.cpp | ||
SanitizerCoverage.cpp | ||
ThreadSanitizer.cpp | ||
ValueProfileCollector.cpp | ||
ValueProfileCollector.h | ||
ValueProfilePlugins.inc |