Index: llvm/lib/Analysis/ScalarEvolution.cpp =================================================================== --- llvm/lib/Analysis/ScalarEvolution.cpp +++ llvm/lib/Analysis/ScalarEvolution.cpp @@ -7338,7 +7338,6 @@ // Memory operation pattern which have gaps. // Or repeat memory opreation. - // And index of GEP wraps arround. if (Step->getAPInt().getActiveBits() > 32 || Step->getAPInt().getZExtValue() != ElemSize->getAPInt().getZExtValue() || @@ -7362,10 +7361,6 @@ if (Ty->getElementType() != GEPT->getElementType()) continue; - // FIXME: Since gep indices are silently zext to the indexing type, - // we will have a narrow gep index which wraps around rather than - // increasing strictly, we shoule ensure that step is increasing - // strictly by the loop iteration. // Now we can infer a max execution time by MemLength/StepLength. const SCEV *MemSize = getConstant(Step->getType(), DL.getTypeAllocSize(Ty));