[PATCH] D117276: [NFC][msan] Don't setOrigin for byval pointer

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 14 12:58:27 PST 2022


vitalybuka added a comment.

In D117276#3244615 <https://reviews.llvm.org/D117276#3244615>, @eugenis wrote:

> 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.



In D117276#3244615 <https://reviews.llvm.org/D117276#3244615>, @eugenis wrote:

> 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.

Yes, but after the patch I call more setOrigin(A, getCleanOrigin()); not less


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117276/new/

https://reviews.llvm.org/D117276



More information about the llvm-commits mailing list