[all-commits] [llvm/llvm-project] 275bee: [LoopUnroll] Forget block and loop dispositions du...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Sep 27 00:49:40 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 275bee32ad305eb5da121e8a60918256f3caf1e7
      https://github.com/llvm/llvm-project/commit/275bee32ad305eb5da121e8a60918256f3caf1e7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2022-09-27 (Tue, 27 Sep 2022)

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

  Log Message:
  -----------
  [LoopUnroll] Forget block and loop dispositions during unrolling.

After unrolling a loop, the block and loop dispositions need to be
cleared. As we don't know which SCEVs in the loop/blocks may be
impacted, completely clear the cache. This should also fix some cases
where deleted loops remained in the LoopDispositions cache.

This fixes a verification failure surfaced by D134531.

I am planning on reviewing/updating the existing uses of
forgetLoopDispositions to check if they should be replaced by
forgetBlockAndLoopDispositions.

Reviewed By: nikic

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




More information about the All-commits mailing list