[SCEV] Infer flags from add/gep in any block
authorPhilip Reames <listmail@philipreames.com>
Wed, 6 Oct 2021 17:35:01 +0000 (10:35 -0700)
committerPhilip Reames <listmail@philipreames.com>
Wed, 6 Oct 2021 18:11:54 +0000 (11:11 -0700)
commit0658bab870c89d81678f1f37aac0396ddd0913b3
tree656c98b4f273956740f146dae54f41c0b7d3cd88
parent2ced9a42be8aba4533225fdb8ed02fe6f50060b6
[SCEV] Infer flags from add/gep in any block

This patch removes a compile time restriction from isSCEVExprNeverPoison. We've strengthened our ability to reason about flags on scopes other than addrecs, and this bailout prevents us from using it. The comment is also suspect as well in that we're in the middle of constructing a SCEV for I. As such, we're going to visit all operands *anyways*.

Differential Revision: https://reviews.llvm.org/D111186
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Analysis/DependenceAnalysis/Preliminary.ll
llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll