[PATCH] D84327: [SCEVExpander] Add helper to clean up instrs inserted while expanding.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 22 07:30:47 PDT 2020


fhahn created this revision.
fhahn added reviewers: serge-sans-paille, lebedev.ri, nikic, jroelofs.
Herald added subscribers: javed.absar, hiraditya.
Herald added a project: LLVM.

SCEVExpander already tracks which instructions have been inserted n
InsertedValues/InsertedPostIncValues. This patch adds an additional
vector to collect the instructions in insertion order. This can then be
used to remove exactly the instructions inserted by the expander.

This replaces ExpandedValuesCleaner, which in some cases might remove
values not inserted by the expander (e.g. if a value was dead before
insertion and is then used during expansion).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D84327

Files:
  llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
  llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84327.279822.patch
Type: text/x-patch
Size: 7206 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200722/778fae7b/attachment.bin>


More information about the llvm-commits mailing list