[PATCH] D111353: [SCEV] Extend ability to infer flags to more complicates scopes

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 11 12:15:12 PDT 2021


reames updated this revision to Diff 378756.
reames added a comment.

I was wrong about the loop-fusion failures being a bug in loop fusion, it was a bug in the verification I'd added.

However, the complexity of the "fixed" version of the verification makes me really doubt that verification here is worthwhile at all.  Our infrastructure of value handles of const types is *awful*.  I'm posting this so that anyone interested can see the cleanest version I could come up with.  (The addition of the new constructor to SCEVCallbackVH hides the needs for a *lot* of const_casts otherwise required for e.g. WeakVH which would be a more natural fit.)

Given I don't plan to do the core ValueHandle work needed to make the verification readable (at this time), I'm going to drop the verification entirely in the next revision.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111353/new/

https://reviews.llvm.org/D111353

Files:
  llvm/include/llvm/Analysis/ScalarEvolution.h
  llvm/lib/Analysis/ScalarEvolution.cpp
  llvm/lib/Transforms/Scalar/LoopFuse.cpp
  llvm/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_3d.ll
  llvm/test/Analysis/Delinearization/multidim_ivs_and_parameteric_offsets_3d.ll
  llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
  llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
  llvm/test/Analysis/ScalarEvolution/nsw.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111353.378756.patch
Type: text/x-patch
Size: 17729 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211011/cb238b77/attachment-0001.bin>


More information about the llvm-commits mailing list