HomePhabricator

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

Description

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

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

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

Reviewers: sanjoy, mkazantsev, sebpop, jbhateja
Reviewed By: sanjoy
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D41578

Details

Committed
skatkovJan 8 2018, 10:47 PM
Reviewer
sanjoy
Differential Revision
D41578: [SCEV] Do not cache S -> V if S is not equivalent of V
Parents
rL322057: [ELF] Explicit template instantiations for addFile
Branches
Unknown
Tags
Unknown