[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