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

aeubanks via All-commits all-commits at lists.llvm.org
Fri Jul 15 11:01:21 PDT 2022


  Branch: refs/heads/perf/dae
  Home:   https://github.com/llvm/llvm-project
  Commit: 21b7e5248ffc423cd36c9d4a020085e363451465
      https://github.com/llvm/llvm-project/commit/21b7e5248ffc423cd36c9d4a020085e363451465
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-07-15 (Fri, 15 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=32f3633171aa9d7352e9507c12d219efb48899a0&to=f1dc620e55635a69250d011c1a9950c45a364264&stat=instructions

Reviewed By: asbirlea

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




More information about the All-commits mailing list