[all-commits] [llvm/llvm-project] a8e974: [IndVarSimplify] Clear block and loop dispositions...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Oct 18 08:18:43 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a8e9742bd44daa4632b07ccc37a6da8236781fa6
      https://github.com/llvm/llvm-project/commit/a8e9742bd44daa4632b07ccc37a6da8236781fa6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2022-10-18 (Tue, 18 Oct 2022)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    R llvm/test/Transforms/IndVarSimplify/pr54434.ll
    A llvm/test/Transforms/IndVarSimplify/scev-invalidation.ll

  Log Message:
  -----------
  [IndVarSimplify] Clear block and loop dispositions after moving instr.

Moving an instruction can invalidate the cached block dispositions of
the corresponding SCEV. Invalidate the cached dispositions.

Also fixes a copy-paste error in forgetBlockAndLoopDispositions where
the start expression S was removed from BlockDispositions in the loop
but not the current values. This was also exposed by the new test case.

Fixes #58439.




More information about the All-commits mailing list