[all-commits] [llvm/llvm-project] 13aa2c: [DSE] Revisit pointers that may no longer escape a...

aeubanks via All-commits all-commits at lists.llvm.org
Tue Jul 19 09:31:17 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 13aa2c1c3b7e0a74a7d3e971c00fa2cf6842ac40
      https://github.com/llvm/llvm-project/commit/13aa2c1c3b7e0a74a7d3e971c00fa2cf6842ac40
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-07-19 (Tue, 19 Jul 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/test/Transforms/DeadStoreElimination/dependent-capture.ll

  Log Message:
  -----------
  [DSE] Revisit pointers that may no longer escape after removing another store

In dependent-capture, previously we'd see that %tmp4 is captured due to
the first store. We'd cache this info in CapturedBeforeReturn and
InvisibleToCallerAfterRet. Then the first store is then removed, causing
the cached values to be wrong.

We also need to revisit everything because normally we work backwards
when removing stores at the end of the function, but in this case
removing an earlier store causes a later store to be removable.

No compile time impact:
https://llvm-compile-time-tracker.com/compare.php?from=56796ae1a8db4c85dada28676f8303a5a3609c63&to=21b7e5248ffc423cd36c9d4a020085e363451465&stat=instructions

Reviewed By: asbirlea

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




More information about the All-commits mailing list