[PATCH] D118441: Preserve aliasing info during memory intrinsics lowering

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 22 15:03:55 PDT 2022


arsenm added inline comments.
Herald added subscribers: mattd, gchakrabarti.


================
Comment at: llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp:481
+    auto *DestSCEV = SE->getSCEV(Memcpy->getRawDest());
+    if (SE->isKnownPredicateAt(CmpInst::ICMP_NE, SrcSCEV, DestSCEV, Memcpy))
+      CanOverlap = false;
----------------
Isn't this implied by the usual constraints of memcpy? The source and destination aren't allowed to overlap. Why does this need the SCEV check?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118441/new/

https://reviews.llvm.org/D118441



More information about the llvm-commits mailing list