[all-commits] [llvm/llvm-project] 16cf66: [Loop] Move block and loop dispo invalidation to m...

Florian Hahn via All-commits all-commits at lists.llvm.org
Fri Oct 14 13:58:53 PDT 2022


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

  Changed paths:
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/Transforms/Scalar/LoopDeletion.cpp
    M llvm/lib/Transforms/Utils/LoopSimplify.cpp
    A llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll
    R llvm/test/Transforms/LoopDeletion/pr57837-invalidate-scev-after-hoisting.ll

  Log Message:
  -----------
  [Loop] Move block and loop dispo invalidation to makeLoopInvariant.

makeLoopInvariant may recursively move its operands to make them
invariant, before moving the passed in instruction. Those recursively
moved instructions are currently missed when invalidating block and loop
dispositions.

To address this, move the invalidation code to Loop::makeLoopInvariant.

Fixes #58314.

Reviewed By: nikic

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




More information about the All-commits mailing list