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()
484 allocateCandidatesAndFindBasis(Candidate::GEP, B, ScaledIdx, S, I); in allocateCandidatesAndFindBasisForGEP()
490 GetElementPtrInst *GEP) { in factorArrayIndex() argument
494 ArrayIdx, ElementSize, GEP); in factorArrayIndex()
511 allocateCandidatesAndFindBasisForGEP(Base, RHS, LHS, ElementSize, GEP); in factorArrayIndex()
518 allocateCandidatesAndFindBasisForGEP(Base, PowerOf2, LHS, ElementSize, GEP); in factorArrayIndex()
523 GetElementPtrInst *GEP) { in allocateCandidatesAndFindBasisForGEP() argument
525 if (GEP->getType()->isVectorTy()) in allocateCandidatesAndFindBasisForGEP()
529 for (Use &Idx : GEP->indices()) in allocateCandidatesAndFindBasisForGEP()
532 gep_type_iterator GTI = gep_type_begin(GEP); in allocateCandidatesAndFindBasisForGEP()
533 for (unsigned I = 1, E = GEP->getNumOperands(); I != E; ++I, ++GTI) { in allocateCandidatesAndFindBasisForGEP()
542 const SCEV *BaseExpr = SE->getGEPExpr(cast<GEPOperator>(GEP), IndexExprs); in allocateCandidatesAndFindBasisForGEP()
543 Value *ArrayIdx = GEP->getOperand(I); in allocateCandidatesAndFindBasisForGEP()
546 DL->getIndexSizeInBits(GEP->getAddressSpace())) { in allocateCandidatesAndFindBasisForGEP()
549 factorArrayIndex(ArrayIdx, BaseExpr, ElementSize, GEP); in allocateCandidatesAndFindBasisForGEP()
557 DL->getIndexSizeInBits(GEP->getAddressSpace())) { in allocateCandidatesAndFindBasisForGEP()
560 factorArrayIndex(TruncatedArrayIdx, BaseExpr, ElementSize, GEP); in allocateCandidatesAndFindBasisForGEP()
654 case Candidate::GEP: { in rewriteCandidateWithBasis()