[PATCH] D134410: [clang][CodeGen] Add noundef metadata to load instructions (preliminary 1 or 2)
Nuno Lopes via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Oct 30 11:06:10 PDT 2022
nlopes added a comment.
In D134410#3893918 <https://reviews.llvm.org/D134410#3893918>, @nikic wrote:
> I think adding this under a default-disabled flag is fine for evaluation purposes, but I have doubts that we will ever be able to enable this by default. There is a lot of code out there assuming that copying uninitialized data around is fine.
Well, I think that flags that are disabled by default don't exist and they are not useful.
We wanted this patch to make us switch uninitialized loads to poison at will, since they become UB. In practice, this helps us fixing bugs in SROA and etc without perf degradation.
As long as ubsan/valgrind can detect these uninitialized loads, I think we should be ok to deploy this change. We are touching memcpys yet, at least, as those may be susceptible to handling uninit memory.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D134410/new/
https://reviews.llvm.org/D134410
More information about the cfe-commits
mailing list