Lines Matching refs:GEP
24 static Value *calculateGEPOffset(GetElementPtrInst *GEP, Value *PrevOffset, in calculateGEPOffset() argument
28 const DataLayout &DL = GEP->getDataLayout(); in calculateGEPOffset()
39 APInt ConstantOffset(DL.getIndexTypeSizeInBits(GEP->getType()), 0); in calculateGEPOffset()
40 if (GEP->accumulateConstantOffset(DL, ConstantOffset)) { in calculateGEPOffset()
42 return ConstantInt::get(Type::getInt32Ty(GEP->getContext()), Scaled); in calculateGEPOffset()
45 auto IndexIt = GEP->idx_begin(); in calculateGEPOffset()
50 assert(++IndexIt == GEP->idx_end() && "Too many indices in GEP"); in calculateGEPOffset()
216 if (auto *GEP = dyn_cast<GetElementPtrInst>(Current.Access)) { in replaceAccess() local
217 IRBuilder<> Builder(GEP); in replaceAccess()
219 Value *Offset = calculateGEPOffset(GEP, Current.Offset, RTI); in replaceAccess()
220 for (User *U : GEP->users()) in replaceAccess()
222 DeadInsts.push_back(GEP); in replaceAccess()