[PATCH] D68236: Handle llvm.launder.invariant.group in msan.
Ilya Tokar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 1 08:17:29 PDT 2019
TokarIP added inline comments.
================
Comment at: llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp:2567
+ IRBuilder<> IRB(&I);
+ setShadow(&I, IRB.CreateBitCast(getShadow(&I, 0), getShadowTy(&I)));
+ setOrigin(&I, getOrigin(&I, 0));
----------------
eugenis wrote:
> Why bitcast? From the intrinsic definition, the types must match.
You are right, fixed.
================
Comment at: llvm/test/Instrumentation/MemorySanitizer/msan_llvm_launder_invariant.ll:26
+ ret %class.Foo* %retval.0
+}
+
----------------
eugenis wrote:
> The test could be a lot simpler, something like
>
> i8* f(i8 *p) {
> return @llvm.launder.invariant.group(p);
> }
>
This is just a n IR from minimal reproducer for false-positive, so I wanted to keep it as a regression test.
I've tried your test case, but it generates same IR with and without this patch.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68236/new/
https://reviews.llvm.org/D68236
More information about the llvm-commits
mailing list