[PATCH] New pass: inductive range check elimination
Sanjoy Das
sanjoy at playingwithpointers.com
Fri Jan 9 23:34:11 PST 2015
Major changes in this version:
1. I broke up `ConstrainLoopRange` into a bunch of functions, grouped together as the `LoopConstrainer` class.
2. this new version now no longer tries to preserve any analyses. That will be a separate improvement later on.
3. the range check detection logic is more general.
The test coverage is still pretty low, but I plan on improving this once this is in tree.
http://reviews.llvm.org/D6693
Files:
include/llvm/InitializePasses.h
include/llvm/LinkAllPasses.h
include/llvm/Transforms/Scalar.h
lib/Transforms/Scalar/CMakeLists.txt
lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
lib/Transforms/Scalar/Scalar.cpp
test/Transforms/InductiveRangeCheckElimination/multiple-access-no-preloop.ll
test/Transforms/InductiveRangeCheckElimination/single-access-no-preloop.ll
test/Transforms/InductiveRangeCheckElimination/single-access-with-preloop.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6693.17971.patch
Type: text/x-patch
Size: 47855 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150110/588b05d2/attachment.bin>
More information about the llvm-commits
mailing list