[PATCH] D21165: Disable MSan-hostile loop unswitching.
Evgeniy Stepanov via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 8 20:03:32 PDT 2016
eugenis added a comment.
In http://reviews.llvm.org/D21165#453075, @chandlerc wrote:
> Should the MSan report be suppressed until the side-effect bearing instruction is executed? I think that would cause MSan to not have a false positive here. I'd love to hear the thoughts of the MSan people here.
Take this example:
while()
if (a)
if (undef)
doX
else
doY
is transformed to
if (undef)
while()
if (a)
doX
else
while()
if (a)
doY
The only way to see that the new code is fine (for some definition of fine) when a == false is to execute both branches and make sure that they have the same set of side effects. This sounds like an extremely difficult task in the general case.
Repository:
rL LLVM
http://reviews.llvm.org/D21165
More information about the llvm-commits
mailing list