[PATCH] D138526: [SimpleLoopUnswitch] unswitch selects
Vitaly Buka via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 8 17:33:42 PDT 2023
vitalybuka added a comment.
In D138526#4327672 <https://reviews.llvm.org/D138526#4327672>, @caojoshua wrote:
>> Freeze is going to be false negatives, which are bad for msan, but better then false positives. Taking that this is -O3 only the patch is LGTM.
>> I played with existing version of compiler, looks like freeze from this pass can hide a lot of bugs.
>> So please consider just make this patch NOOP if function has sanitize_memory attribute. Do you see disadvantages in this?
>
> Could you share an example of a case where LoopUnswitch could hide a bug? I'm guessing its where we hoist a branch that could be undef. We insert a freeze that hides the use of undef, but maybe its actually a true undef and we get a false negative. I'm having some trouble producing this case atm.
I mean your and similar to https://godbolt.org/z/fvP1h164s when foo (%myB.coerce) is uninitialized, freezes eliminated all checks for shadow.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D138526/new/
https://reviews.llvm.org/D138526
More information about the llvm-commits
mailing list