File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed
llvm/lib/Transforms/Instrumentation Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -3856,8 +3856,9 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
38563856 // Step 1: multiplication of corresponding vector elements
38573857 // We want to take into account the fact that multiplying zero by an
38583858 // uninitialized bit results in an initialized value of zero.
3859- // We under-approximate multiplication using the same logic as visitAnd().
3860- // This ignores the carrying that may happen during multiplication.
3859+ // We under-approximate multiplication by treating it as bitwise AND; this
3860+ // has no false positives but substantial false negatives. We then
3861+ // compute the shadow using the same logic as visitAnd().
38613862 Value *S1 = getShadow (&I, 0 );
38623863 Value *S2 = getShadow (&I, 1 );
38633864 Value *V1 = I.getOperand (0 );
You can’t perform that action at this time.
0 commit comments