[all-commits] [llvm/llvm-project] 32c7aa: Remove an invalid FIXME in a MemCpyOpt test (#200809)

Ömer Sinan Ağacan via All-commits all-commits at lists.llvm.org
Tue Jun 2 02:20:14 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 32c7aaa3326f920cafd8474c6d5774ed5c0b3558
      https://github.com/llvm/llvm-project/commit/32c7aaa3326f920cafd8474c6d5774ed5c0b3558
  Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
  Date:   2026-06-02 (Tue, 02 Jun 2026)

  Changed paths:
    M llvm/test/Transforms/MemCpyOpt/memcpy.ll

  Log Message:
  -----------
  Remove an invalid FIXME in a MemCpyOpt test (#200809)

Call slot optimization explicitly [requires `writable` and `noalias`][0]
when the destination is an argument, and `sret` doesn't imply any of
these.

So the `memcpy` into the return value pointer cannot be optimized away
in this test.

The test for doing this optimization when the `sret` argument is also
`writable` and `noalias` is [here][1].

Relevant commits:

- 369c9b791bc3f380e884bcad444287998c32ae16 requires writability in call
slot optimization and adds the `writable` attribute in the test linked
above, which already has `sret`, so that it optimizes as before. So
`sret` does not imply `writable`.

- f445e39ab271d07733f0f45048badd9e58905aec updates `isWritable` used in
the commit above to check for `noalias` on arguments before concluding
"writable".

The FIXME should probably have been removed with one of these commits.

[0]:
https://github.com/llvm/llvm-project/blob/356d7e6bf429a7ff3ae798bb994631ef33891a44/llvm/lib/Analysis/AliasAnalysis.cpp#L1009-L1019

[1]:
https://github.com/llvm/llvm-project/blob/356d7e6bf429a7ff3ae798bb994631ef33891a44/llvm/test/Transforms/MemCpyOpt/sret.ll#L9



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list