[all-commits] [llvm/llvm-project] acfc78: Preserve aliasing info during memory intrinsics l...

ebrevnov via All-commits all-commits at lists.llvm.org
Tue Apr 5 21:34:09 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: acfc785c0ef65d4177ed43ad4fb5c7c205904810
      https://github.com/llvm/llvm-project/commit/acfc785c0ef65d4177ed43ad4fb5c7c205904810
  Author: Evgeniy Brevnov <ybrevnov at azul.com>
  Date:   2022-04-06 (Wed, 06 Apr 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
    M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/unittests/Transforms/Utils/MemTransferLowering.cpp

  Log Message:
  -----------
  Preserve aliasing info during  memory intrinsics lowering

By specification, source and destination of llvm.memcpy.* must either be equal or non-overlapping. This semantics is hard or impossible to figure out once lowered. This patch explicitly marks loads from source and stores to destination as not aliasing if source and destination is known to be not equal.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D118441




More information about the All-commits mailing list