[all-commits] [llvm/llvm-project] cfcb78: [EarlyCSE] Fix dead store elimination for unwindin...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Jun 23 03:44:36 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cfcb7888c71c7b5468e3fc55b6de0804403dc3fe
      https://github.com/llvm/llvm-project/commit/cfcb7888c71c7b5468e3fc55b6de0804403dc3fe
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-06-23 (Mon, 23 Jun 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
    M llvm/test/Transforms/EarlyCSE/basic.ll
    R llvm/test/Transforms/EarlyCSE/readnone-mayunwind.ll

  Log Message:
  -----------
  [EarlyCSE] Fix dead store elimination for unwinding readnone calls (#145287)

EarlyCSE already resets LastStore when it hits an potentially unwinding
instruction, as the memory state may be observed by the caller after the
unwind.

There also was a test specifically making sure that this works even for
unwinding readnone calls -- however, the call in that test did not
participate in EarlyCSE in the first place, because it returns void
(relaxing that is how I got here), so it was not actually testing the
right thing.

Move the check for unwinding instructions earlier, so it also handles
the readnone case.



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