Lines Matching refs:GEPI

373   gep_type_iterator GEPI = gep_type_begin(U), E = gep_type_end(U);  in isSafeSROAGEP()  local
374 ++GEPI; // Skip over the pointer index. in isSafeSROAGEP()
381 for (; GEPI != E; ++GEPI) { in isSafeSROAGEP()
382 if (GEPI.isStruct()) in isSafeSROAGEP()
385 ConstantInt *IdxVal = dyn_cast<ConstantInt>(GEPI.getOperand()); in isSafeSROAGEP()
386 if (!IdxVal || (GEPI.isBoundedSequential() && in isSafeSROAGEP()
387 IdxVal->getZExtValue() >= GEPI.getSequentialNumElements())) in isSafeSROAGEP()
576 GetElementPtrInst *GEPI = cast<GetElementPtrInst>(GEP); in SRAGlobal() local
579 for (unsigned i = 3, e = GEPI->getNumOperands(); i != e; ++i) in SRAGlobal()
580 Idxs.push_back(GEPI->getOperand(i)); in SRAGlobal()
582 NewTy, NewPtr, Idxs, GEPI->getName() + "." + Twine(Val), GEPI); in SRAGlobal()
587 if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(GEP)) in SRAGlobal() local
588 GEPI->eraseFromParent(); in SRAGlobal()
641 } else if (const GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(U)) { in AllUsesOfValueWillTrapIfNull() local
642 if (!AllUsesOfValueWillTrapIfNull(GEPI, PHIs)) return false; in AllUsesOfValueWillTrapIfNull()
721 } else if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(I)) { in OptimizeAwayTrappingUsesOfValue() local
724 Idxs.reserve(GEPI->getNumOperands()-1); in OptimizeAwayTrappingUsesOfValue()
725 for (User::op_iterator i = GEPI->op_begin() + 1, e = GEPI->op_end(); in OptimizeAwayTrappingUsesOfValue()
731 if (Idxs.size() == GEPI->getNumOperands()-1) in OptimizeAwayTrappingUsesOfValue()
733 GEPI, ConstantExpr::getGetElementPtr(nullptr, NewV, Idxs)); in OptimizeAwayTrappingUsesOfValue()
734 if (GEPI->use_empty()) { in OptimizeAwayTrappingUsesOfValue()
736 GEPI->eraseFromParent(); in OptimizeAwayTrappingUsesOfValue()
1029 } else if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(U)) { in ReplaceUsesOfMallocWithGlobal() local
1032 if (GEPI->hasAllZeroIndices() && GEPI->hasOneUse()) in ReplaceUsesOfMallocWithGlobal()
1033 if (StoreInst *SI = dyn_cast<StoreInst>(GEPI->user_back())) in ReplaceUsesOfMallocWithGlobal()
1037 ReplaceUsesOfMallocWithGlobal(GEPI, GV); in ReplaceUsesOfMallocWithGlobal()
1038 GEPI->eraseFromParent(); in ReplaceUsesOfMallocWithGlobal()
1068 if (const GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(UI)) { in LoadUsesSimpleEnoughForHeapSRA() local
1070 if (GEPI->getNumOperands() < 3) in LoadUsesSimpleEnoughForHeapSRA()
1213 if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(LoadUser)) { in RewriteHeapSROALoadUser() local
1214 assert(GEPI->getNumOperands() >= 3 && isa<ConstantInt>(GEPI->getOperand(2)) in RewriteHeapSROALoadUser()
1218 unsigned FieldNo = cast<ConstantInt>(GEPI->getOperand(2))->getZExtValue(); in RewriteHeapSROALoadUser()
1219 Value *NewPtr = GetHeapSROAValue(GEPI->getOperand(0), FieldNo, in RewriteHeapSROALoadUser()
1224 GEPIdx.push_back(GEPI->getOperand(1)); in RewriteHeapSROALoadUser()
1225 GEPIdx.append(GEPI->op_begin()+3, GEPI->op_end()); in RewriteHeapSROALoadUser()
1227 Value *NGEPI = GetElementPtrInst::Create(GEPI->getResultElementType(), NewPtr, GEPIdx, in RewriteHeapSROALoadUser()
1228 GEPI->getName(), GEPI); in RewriteHeapSROALoadUser()
1229 GEPI->replaceAllUsesWith(NGEPI); in RewriteHeapSROALoadUser()
1230 GEPI->eraseFromParent(); in RewriteHeapSROALoadUser()