Lines Matching refs:GEP

88       GEP,     // &B[..][i * S][..]  enumerator
173 void allocateCandidatesAndFindBasisForGEP(GetElementPtrInst *GEP);
190 GetElementPtrInst *GEP);
237 static bool isGEPFoldable(GetElementPtrInst *GEP, in isGEPFoldable() argument
240 for (auto I = GEP->idx_begin(); I != GEP->idx_end(); ++I) in isGEPFoldable()
242 return TTI->getGEPCost(GEP->getSourceElementType(), GEP->getPointerOperand(), in isGEPFoldable()
260 if (C.CandidateKind == Candidate::GEP) in isFoldable()
266 static bool hasOnlyOneNonZeroIndex(GetElementPtrInst *GEP) { in hasOnlyOneNonZeroIndex() argument
268 for (auto I = GEP->idx_begin(); I != GEP->idx_end(); ++I) { in hasOnlyOneNonZeroIndex()
285 if (C.CandidateKind == Candidate::GEP) { in isSimplestForm()
444 allocateCandidatesAndFindBasis(Candidate::GEP, B, ScaledIdx, S, I); in allocateCandidatesAndFindBasisForGEP()
450 GetElementPtrInst *GEP) { in factorArrayIndex() argument
454 ArrayIdx, ElementSize, GEP); in factorArrayIndex()
471 allocateCandidatesAndFindBasisForGEP(Base, RHS, LHS, ElementSize, GEP); in factorArrayIndex()
478 allocateCandidatesAndFindBasisForGEP(Base, PowerOf2, LHS, ElementSize, GEP); in factorArrayIndex()
483 GetElementPtrInst *GEP) { in allocateCandidatesAndFindBasisForGEP() argument
485 if (GEP->getType()->isVectorTy()) in allocateCandidatesAndFindBasisForGEP()
489 for (auto I = GEP->idx_begin(); I != GEP->idx_end(); ++I) in allocateCandidatesAndFindBasisForGEP()
492 gep_type_iterator GTI = gep_type_begin(GEP); in allocateCandidatesAndFindBasisForGEP()
493 for (unsigned I = 1, E = GEP->getNumOperands(); I != E; ++I) { in allocateCandidatesAndFindBasisForGEP()
502 const SCEV *BaseExpr = SE->getGEPExpr(GEP->getSourceElementType(), in allocateCandidatesAndFindBasisForGEP()
503 SE->getSCEV(GEP->getPointerOperand()), in allocateCandidatesAndFindBasisForGEP()
504 IndexExprs, GEP->isInBounds()); in allocateCandidatesAndFindBasisForGEP()
505 Value *ArrayIdx = GEP->getOperand(I); in allocateCandidatesAndFindBasisForGEP()
508 DL->getPointerSizeInBits(GEP->getAddressSpace())) { in allocateCandidatesAndFindBasisForGEP()
511 factorArrayIndex(ArrayIdx, BaseExpr, ElementSize, GEP); in allocateCandidatesAndFindBasisForGEP()
519 DL->getPointerSizeInBits(GEP->getAddressSpace())) { in allocateCandidatesAndFindBasisForGEP()
522 factorArrayIndex(TruncatedArrayIdx, BaseExpr, ElementSize, GEP); in allocateCandidatesAndFindBasisForGEP()
547 if (Basis.CandidateKind == Candidate::GEP) { in emitBump()
631 case Candidate::GEP: in rewriteCandidateWithBasis()