[PATCH] D24557: [Loop Vectorizer] Simplified GEP cloning. NFC.

Elena Demikhovsky via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 14 12:11:01 PDT 2016


delena added a comment.

> assert(i == getGEPInductionOperand(Gep) || Legal->isUniform(Gep->getOperand(i) || Legal->isInductionVariable(Gep->getOperand(i)))


I'm not sure that this is the right check. My problem in https://reviews.llvm.org/D20789 was in these assertions that started to fail after more deep GEP analysis.
Re-checking GEP means checking correctness of isConsecutivePtr(Ptr).
In the new version (20789) isConsecutivePtr() uses PSE, which includes versioning and picks up more GEPs than we do now. 
And we can just rely on correctness of this function. 
GEP cloning does not depend on index role inside the loop and getScalarValue() covers all of them.


Repository:
  rL LLVM

https://reviews.llvm.org/D24557





More information about the llvm-commits mailing list