https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100582
--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Richard Biener from comment #2) > First of all we fail to if-convert because we think > > iftmp.0_9 = VIEW_CONVERT_EXPR<unsigned char[32]>(a)[i_15]; > tree could trap... > > which is because we're concerned about out-of-bound access of 'a' and treat > this as a array-at-struct-end. The tripcount of loop is constant, and the compiler should be able to analyze that a[i] is not out of bounds, can't scev or vrp helps here?