This lets us avoid e.g. checking if A >=s B in getSMaxExpr(A, B) if we've
already established that (A smax B) is the best we can do.
Fixes PR41225.
Paths
| Differential D60010
[SCEV] Check the cache in get{S|U}MaxExpr before doing any work ClosedPublic Authored by sanjoy on Mar 29 2019, 1:46 PM.
Details Summary This lets us avoid e.g. checking if A >=s B in getSMaxExpr(A, B) if we've Fixes PR41225.
Diff Detail
Event TimelineComment Actions Fix bug: when trying to look up the smax/umax SCEV again (after simplification) we can't use the older ID since it was computed based on the unsimplified operands. This revision is now accepted and ready to land.Mar 29 2019, 2:37 PM Closed by commit rL357320: [SCEV] Check the cache in get{S|U}MaxExpr before doing any work (authored by sanjoy). · Explain WhyMar 29 2019, 3:01 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 192924 llvm/trunk/include/llvm/Analysis/ScalarEvolution.h
llvm/trunk/lib/Analysis/ScalarEvolution.cpp
llvm/trunk/test/Analysis/ScalarEvolution/max-expr-cache.ll
|