[PATCH] D65439: [IPSCCP] Move callsite check to the beginning of the loop.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 30 05:11:43 PDT 2019


fhahn created this revision.
fhahn added reviewers: efriedma, davide.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

We have some code marks instructions with struct operands as overdefined,
but if the instruction is a call to a function with tracked arguments,
this breaks the assumption that the lattice values of all call sites
are not overdefined and will be replaced by a constant.

This also re-adds the assertion from D65222 <https://reviews.llvm.org/D65222>, with additionally skipping
non-callsite uses. This patch should address the cases reported in which
the assertion fired.

Fixes PR42738.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D65439

Files:
  llvm/lib/Transforms/Scalar/SCCP.cpp
  llvm/test/Transforms/SCCP/indirectbr.ll
  llvm/test/Transforms/SCCP/struct-arg-resolve-undefs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65439.212314.patch
Type: text/x-patch
Size: 5917 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190730/7e370f61/attachment.bin>


More information about the llvm-commits mailing list