[PATCH] D74679: [SCCP] Skip unknown values depending on tracked functions.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 15 14:47:38 PST 2020


fhahn created this revision.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

We do not resolve undefs for tracked functions in ResolvedUndefsIn. For
instructions that depend on results of tracked functions, we can skip
them in ResolvedUndefsIn, to avoid going to overdefined before we know
the function result. This allows us to cover a few more cases. This
should be safe; once we resolved the call result, we propagate it to all
users. Note that phis depending on tracked functions will still be
marked as overdefined early in some cases (e.g. loops).

Similarly, we can skip instructions depending on unknown function
arguments for tracked functions.

Before marking it as ready for review, I'd like to do some additional
testing.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74679

Files:
  llvm/lib/Transforms/Scalar/SCCP.cpp
  llvm/test/Transforms/SCCP/ipsccp-basic.ll
  llvm/test/Transforms/SCCP/resolvedundefsin-tracked-fn.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74679.244848.patch
Type: text/x-patch
Size: 10875 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200215/d6665a36/attachment.bin>


More information about the llvm-commits mailing list