[all-commits] [llvm/llvm-project] d7bff2: [MemCpyOpt] Fix metadata merging during call slot ...

Nikita Popov via All-commits all-commits at lists.llvm.org
Thu Jan 20 00:26:31 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d7bff2e9d2e4639ab7f3b5df49c235b9eeebdb51
      https://github.com/llvm/llvm-project/commit/d7bff2e9d2e4639ab7f3b5df49c235b9eeebdb51
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-01-20 (Thu, 20 Jan 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/callslot_noalias.ll

  Log Message:
  -----------
  [MemCpyOpt] Fix metadata merging during call slot optimization

Call slot optimization currently merges the metadata between the
call and the load. However, we also need to merge in the metadata
of the store.

Part of the reason why we might have gotten away with this
previously is that usually the load and the store are the same
instruction (a memcpy), this can only happen if call slot
optimization occurs on an actual load/store pair.

This addresses the issue reported in
https://reviews.llvm.org/D115615#3251386.

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




More information about the All-commits mailing list