[PATCH] D96534: [SCEV] Use both known bits and sign bits when computing range of SCEV unknowns
    Philip Reames via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Feb 11 12:01:11 PST 2021
    
    
  
reames created this revision.
reames added reviewers: mkazantsev, fhahn.
Herald added subscribers: dantrushin, hiraditya, mcrosier.
Herald added a reviewer: bollu.
reames requested review of this revision.
Herald added a project: LLVM.
Posting mostly for initial discussion.  The tests need rebased on autogened commits, and some extra tests added before this is actually ready, but decided to post first to give time for discussion.
The core concern here is compile time.  Do we think it's reasonable to perform both recursive walks here?  As can be seen, the improvement in results are noticeable - particular for signed ranges of positive numbers.  Do we think the tradeoffs are likely worthwhile?
Repository:
  rG LLVM Github Monorepo
https://reviews.llvm.org/D96534
Files:
  llvm/lib/Analysis/ScalarEvolution.cpp
  llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
  llvm/test/Analysis/ScalarEvolution/ashr.ll
  llvm/test/Analysis/ScalarEvolution/extract-highbits-sameconstmask.ll
  llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
  llvm/test/Analysis/ScalarEvolution/max-be-count-not-constant.ll
  llvm/test/Analysis/ScalarEvolution/ptrtoint-constantexpr-loop.ll
  llvm/test/Analysis/ScalarEvolution/ptrtoint.ll
  llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll
  llvm/test/Analysis/StackSafetyAnalysis/local.ll
  llvm/test/Analysis/StackSafetyAnalysis/memintrin.ll
  llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96534.323109.patch
Type: text/x-patch
Size: 52474 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210211/e8f6bfa0/attachment.bin>
    
    
More information about the llvm-commits
mailing list