Lines Matching refs:GEP

138       GEP,     // &B[..][i * S][..]  enumerator
213 void allocateCandidatesAndFindBasisForGEP(GetElementPtrInst *GEP);
234 GetElementPtrInst *GEP);
281 static bool isGEPFoldable(GetElementPtrInst *GEP, in isGEPFoldable() argument
283 SmallVector<const Value *, 4> Indices(GEP->indices()); in isGEPFoldable()
284 return TTI->getGEPCost(GEP->getSourceElementType(), GEP->getPointerOperand(), in isGEPFoldable()
302 if (C.CandidateKind == Candidate::GEP) in isFoldable()
308 static bool hasOnlyOneNonZeroIndex(GetElementPtrInst *GEP) { in hasOnlyOneNonZeroIndex() argument
310 for (Use &Idx : GEP->indices()) { in hasOnlyOneNonZeroIndex()
327 if (C.CandidateKind == Candidate::GEP) { in isSimplestForm()
486 allocateCandidatesAndFindBasis(Candidate::GEP, B, ScaledIdx, S, I); in allocateCandidatesAndFindBasisForGEP()
492 GetElementPtrInst *GEP) { in factorArrayIndex() argument
496 ArrayIdx, ElementSize, GEP); in factorArrayIndex()
513 allocateCandidatesAndFindBasisForGEP(Base, RHS, LHS, ElementSize, GEP); in factorArrayIndex()
520 allocateCandidatesAndFindBasisForGEP(Base, PowerOf2, LHS, ElementSize, GEP); in factorArrayIndex()
525 GetElementPtrInst *GEP) { in allocateCandidatesAndFindBasisForGEP() argument
527 if (GEP->getType()->isVectorTy()) in allocateCandidatesAndFindBasisForGEP()
531 for (Use &Idx : GEP->indices()) in allocateCandidatesAndFindBasisForGEP()
534 gep_type_iterator GTI = gep_type_begin(GEP); in allocateCandidatesAndFindBasisForGEP()
535 for (unsigned I = 1, E = GEP->getNumOperands(); I != E; ++I, ++GTI) { in allocateCandidatesAndFindBasisForGEP()
544 const SCEV *BaseExpr = SE->getGEPExpr(cast<GEPOperator>(GEP), IndexExprs); in allocateCandidatesAndFindBasisForGEP()
545 Value *ArrayIdx = GEP->getOperand(I); in allocateCandidatesAndFindBasisForGEP()
548 DL->getIndexSizeInBits(GEP->getAddressSpace())) { in allocateCandidatesAndFindBasisForGEP()
551 factorArrayIndex(ArrayIdx, BaseExpr, ElementSize, GEP); in allocateCandidatesAndFindBasisForGEP()
559 DL->getIndexSizeInBits(GEP->getAddressSpace())) { in allocateCandidatesAndFindBasisForGEP()
562 factorArrayIndex(TruncatedArrayIdx, BaseExpr, ElementSize, GEP); in allocateCandidatesAndFindBasisForGEP()
656 case Candidate::GEP: { in rewriteCandidateWithBasis()