It's NFC because shadow of pointer is clean so origins will not be
propagated anyway.
Depends on D117275
Paths
| Differential D117276
[NFC][msan] Don't setOrigin for byval pointer ClosedPublic Authored by vitalybuka on Jan 13 2022, 10:06 PM.
Details
Summary It's NFC because shadow of pointer is clean so origins will not be Depends on D117275
Diff Detail
Event Timelinevitalybuka added a child revision: D117277: [NFC][msan] Consolidate clean shadow handling.Jan 13 2022, 10:06 PM Comment Actions This does not look right. We may not always check that the shadow is constant zero before accessing origin. Note that getOrigin() wants origins to be available for all values. a = b + c Sa = Sb | Sc Oa = Sb ? Ob : Oc; // <= this will attempt getOrigin(c) without looking at Sc. In any case, there are other places in the pass with the same pattern. Comment Actions
Yes, but after the patch I call more setOrigin(A, getCleanOrigin()); not less To clarify: This revision is now accepted and ready to land.Jan 14 2022, 1:05 PM Closed by commit rG18e4369e195d: [NFC][msan] Don't setOrigin for byval pointer (authored by vitalybuka). · Explain WhyJan 14 2022, 4:42 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 400191 llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
llvm/test/Instrumentation/MemorySanitizer/byval.ll
|