[llvm-dev] SCEV cannot compute the trip count of Simple loop

Sanjoy Das via llvm-dev llvm-dev at lists.llvm.org
Fri Sep 16 14:23:27 PDT 2016


Hi Mehdi,

Mehdi Amini wrote:
 >
 >> On Sep 16, 2016, at 1:56 PM, Kevin Choi via llvm-dev
 >> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
 >>
 >> > int mat[9][9][9];
 >> > for (p = (x+1) ; p < (x+3) ;p++)
 >> > mat[x][p-1][i] = mat[x][p-1][i] + 5;____
 >> > }
 >> The trip count of 2 should be valid for x in [0,6].
 >
 > It is not clear to me why the trip count of 2 isn’t *always* valid.

It is always valid to return 2 as the trip count.  But SCEV today is
not always able to exploit nsw/nuw due to some systemic issues.

I can go into details about the systemic issues here if you want, but
given that I've already repeated this several times on the mailing
list, I'd rather put that into a blog post to have a link to share
easily. :)

-- Sanjoy


More information about the llvm-dev mailing list