Lines Matching refs:GEP
68 std::pair<Value *, Value *> determineBaseAndStride(GetElementPtrInst *GEP,
328 RISCVGatherScatterLowering::determineBaseAndStride(GetElementPtrInst *GEP, in determineBaseAndStride() argument
331 auto I = StridedAddrs.find(GEP); in determineBaseAndStride()
335 SmallVector<Value *, 2> Ops(GEP->operands()); in determineBaseAndStride()
342 Loop *L = LI->getLoopFor(GEP->getParent()); in determineBaseAndStride()
350 gep_type_iterator GTI = gep_type_begin(GEP); in determineBaseAndStride()
351 for (unsigned i = 1, e = GEP->getNumOperands(); i != e; ++i, ++GTI) { in determineBaseAndStride()
376 Type *VecIntPtrTy = DL->getIntPtrType(GEP->getType()); in determineBaseAndStride()
391 Builder.SetInsertPoint(GEP); in determineBaseAndStride()
395 Type *SourceTy = GEP->getSourceElementType(); in determineBaseAndStride()
412 StridedAddrs[GEP] = P; in determineBaseAndStride()
425 auto *GEP = dyn_cast<GetElementPtrInst>(Ptr); in tryCreateStridedLoadStore() local
426 if (!GEP) in tryCreateStridedLoadStore()
429 IRBuilder<> Builder(GEP); in tryCreateStridedLoadStore()
432 std::tie(BasePtr, Stride) = determineBaseAndStride(GEP, Builder); in tryCreateStridedLoadStore()
455 if (GEP->use_empty()) in tryCreateStridedLoadStore()
456 RecursivelyDeleteTriviallyDeadInstructions(GEP); in tryCreateStridedLoadStore()