[all-commits] [llvm/llvm-project] c2550e: [SCEV] Simplify invalidation after BE count calcul...

Nikita Popov via All-commits all-commits at lists.llvm.org
Sat Nov 27 07:35:23 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c2550e342732d029c3a8ae1eff764d68b1abfc59
      https://github.com/llvm/llvm-project/commit/c2550e342732d029c3a8ae1eff764d68b1abfc59
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-11-27 (Sat, 27 Nov 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEV] Simplify invalidation after BE count calculation (NFCI)

After backedge taken counts have been calculated, we want to
invalidate all addrecs and dependent expressions in the loop,
because we might compute better results with the newly available
backedge taken counts. Previously this was done with a forgetLoop()
style use-def walk. With recent improvements to SCEV invalidation,
we can instead directly invalidate any SCEVs using addrecs in this
loop. This requires a great deal less subtlety to avoid invalidating
more than necessary, and in particular gets rid of the hack from
D113349. The change is similar to D114263 in spirit.




More information about the All-commits mailing list