[PATCH] [SCEV] make SCEV smarter about proving no-wrap.
Sanjoy Das
sanjoy at playingwithpointers.com
Tue Mar 3 18:49:40 PST 2015
Addresses review.
When writing down a proof for `proveNoWrapByVaryingStart` (thanks for
prodding me to do that!) I realized that the first version had a bug
- we need to prove (S-X)+X does not overflow for the inference to be
valid. This current version addresses that.
The current version also swaps out a full SCEVAddRecExpr construction
and just looks at the UniqueSCEVs set instead, and gives up if there
isn't a pre-existing add recurrence of the form we need. This should
address the compile time issue.
http://reviews.llvm.org/D7980
Files:
include/llvm/Analysis/ScalarEvolution.h
lib/Analysis/ScalarEvolution.cpp
test/Analysis/ScalarEvolution/nowrap-preinc-limits.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7980.21165.patch
Type: text/x-patch
Size: 8668 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150304/be862a3a/attachment.bin>
More information about the llvm-commits
mailing list