diff options
| author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-05-19 22:55:46 +0000 |
|---|---|---|
| committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-05-19 22:55:46 +0000 |
| commit | f5f0331a3b34b01b1edc46104ab4de99e524c590 (patch) | |
| tree | 3977d2f7c4b0adba57856bdb57d396323d8822cf /llvm/test/Transforms/Inline | |
| parent | 2e4ecfdebe8fa73ab4ed6f738307339ee9586418 (diff) | |
| download | bcm5719-llvm-f5f0331a3b34b01b1edc46104ab4de99e524c590.tar.gz bcm5719-llvm-f5f0331a3b34b01b1edc46104ab4de99e524c590.zip | |
[GuardWidening] Introduce range check merging
Sequences of range checks expressed using guards, like
guard((I - 2) u< L)
guard((I - 1) u< L)
guard((I + 0) u< L)
guard((I + 1) u< L)
guard((I + 2) u< L)
can sometimes be combined into a smaller sequence:
guard((I - 2) u< L AND (I + 2) u< L)
if we can prove that (I - 2) u< L AND (I + 2) u< L implies all of checks
expressed in the previous sequence.
This change teaches GuardWidening to do this kind of merging when
feasible.
llvm-svn: 270151
Diffstat (limited to 'llvm/test/Transforms/Inline')
0 files changed, 0 insertions, 0 deletions

