[PATCH] D32571: InferAddressSpaces: Search constant expressions for addrspacecasts
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 28 12:59:40 PDT 2017
arsenm added inline comments.
================
Comment at: lib/Transforms/Scalar/InferAddressSpaces.cpp:843
+ for (const WeakVH &WVH : Postorder) {
+ assert(WVH && "value was unexpectedly deleted");
+ Value *V = WVH;
----------------
jlebar wrote:
> If we expect that the Value*s won't be deleted while in this vector, why are we using WeakVH at all? Are we trying to catch use-after-frees?
>
> At least the choice to use WeakVH could use a comment somewhere, but if it's just fear of use-after-free's, is there some reason that this code is particularly dangerous as compared to other parts of LLVM, where we rely on asan/msan to catch this issue?
It's possible to make it work without WeakVH, but it fails to handle more cases. The RAUW used for the handling of constants needs to be tracked
https://reviews.llvm.org/D32571
More information about the llvm-commits
mailing list