This is an archive of the discontinued LLVM Phabricator instance.

Delete code comments for impossible bugs
Needs RevisionPublic

Authored by Peakulorain on Nov 10 2021, 3:07 AM.

Details

Reviewers
reames
mkazantsev
Summary

Since Step from AddRec which analyzed from GEP is SCEVConstant,
and Step is not Zero also, the GEP for load/storage will not be
a narrow GEP in inferring loop bound from array access.

Related patch: https://reviews.llvm.org/D109821

Diff Detail

Event Timeline

Peakulorain created this revision.Nov 10 2021, 3:07 AM
Peakulorain requested review of this revision.Nov 10 2021, 3:07 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 10 2021, 3:07 AM
Peakulorain edited the summary of this revision. (Show Details)Nov 10 2021, 3:09 AM
Peakulorain added a reviewer: mkazantsev.
reames requested changes to this revision.Nov 16 2021, 8:53 AM

What prevents:
base = some alloc
%iv = {0, +, 1} as i8
%gep = getelementptr i32, i32 *%base, i8 %iv

I would strongly prefer to see *test cases* which cover the piece you think is impossible. Otherwise, we're both having to reason about possibilities in code. An example helps to make that reasoning much more concrete.

This revision now requires changes to proceed.Nov 16 2021, 8:53 AM