[PATCH] D135909: [LoopDeletion] Move block and loop dispo invalidation to makeLoopInvar.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 13 12:47:57 PDT 2022


fhahn created this revision.
fhahn added reviewers: lebedev.ri, nikic, reames, mkazantsev.
Herald added a subscriber: hiraditya.
Herald added a project: All.
fhahn requested review of this revision.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D135909

Files:
  llvm/include/llvm/Analysis/LoopInfo.h
  llvm/lib/Analysis/LoopInfo.cpp
  llvm/lib/Transforms/Scalar/LoopDeletion.cpp
  llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll
  llvm/test/Transforms/LoopDeletion/pr57837-invalidate-scev-after-hoisting.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135909.467576.patch
Type: text/x-patch
Size: 5315 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221013/8d3177c1/attachment.bin>


More information about the llvm-commits mailing list