[PATCH] D41578: [SCEV] Do not cache S -> V if S is not equivalent of V

Serguei Katkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 26 02:21:37 PST 2017


skatkov created this revision.
skatkov added reviewers: sanjoy, mkazantsev, sebpop, jbhateja.

SCEV tracks the correspondence of created SCEV to original instruction.
However during creation of SCEV it is possible that nuw/nsw flags are
lost.

As a result during expansion of the SCEV the instruction with nuw/nsw
will be used where it was expected and we produce poison incorreclty.


https://reviews.llvm.org/D41578

Files:
  lib/Analysis/ScalarEvolution.cpp
  unittests/Analysis/ScalarEvolutionTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41578.128156.patch
Type: text/x-patch
Size: 4897 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171226/55412f61/attachment.bin>


More information about the llvm-commits mailing list