[PATCH] D60035: [SCEV] Use unsigned/signed intersection type in SCEV
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Mar 30 14:22:45 PDT 2019
nikic created this revision.
nikic added reviewers: mkazantsev, sanjoy, lebedev.ri.
Herald added subscribers: llvm-commits, javed.absar, hiraditya.
Herald added a project: LLVM.
Based on D59959 <https://reviews.llvm.org/D59959>, this switches SCEV to use unsigned/signed range intersection based on the sign hint. This will prefer non-wrapping ranges in the relevant domain. I've left the one intersection in getRangeForAffineAR() to use the smallest intersect heuristic, as there doesn't seem to be any obvious preference there.
Repository:
rL LLVM
https://reviews.llvm.org/D60035
Files:
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Analysis/ScalarEvolution/extract-highbits-sameconstmask.ll
llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
llvm/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll
llvm/test/Analysis/ScalarEvolution/lshr-shl-differentconstmask.ll
llvm/test/Analysis/ScalarEvolution/sext-mul.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60035.192991.patch
Type: text/x-patch
Size: 15090 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190330/1c2397ff/attachment.bin>
More information about the llvm-commits
mailing list