• Home
  • Raw
  • Download

Lines Matching refs:GEPI

380   gep_type_iterator GEPI = gep_type_begin(U), E = gep_type_end(U);  in isSafeSROAGEP()  local
381 ++GEPI; // Skip over the pointer index. in isSafeSROAGEP()
388 for (; GEPI != E; ++GEPI) { in isSafeSROAGEP()
389 if (GEPI.isStruct()) in isSafeSROAGEP()
392 ConstantInt *IdxVal = dyn_cast<ConstantInt>(GEPI.getOperand()); in isSafeSROAGEP()
393 if (!IdxVal || (GEPI.isBoundedSequential() && in isSafeSROAGEP()
394 IdxVal->getZExtValue() >= GEPI.getSequentialNumElements())) in isSafeSROAGEP()
617 GetElementPtrInst *GEPI = cast<GetElementPtrInst>(GEP); in SRAGlobal() local
620 for (unsigned i = 3, e = GEPI->getNumOperands(); i != e; ++i) in SRAGlobal()
621 Idxs.push_back(GEPI->getOperand(i)); in SRAGlobal()
623 NewTy, NewPtr, Idxs, GEPI->getName() + "." + Twine(ElementIdx), in SRAGlobal()
624 GEPI); in SRAGlobal()
629 if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(GEP)) in SRAGlobal() local
630 GEPI->eraseFromParent(); in SRAGlobal()
674 } else if (const GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(U)) { in AllUsesOfValueWillTrapIfNull() local
675 if (!AllUsesOfValueWillTrapIfNull(GEPI, PHIs)) return false; in AllUsesOfValueWillTrapIfNull()
751 } else if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(I)) { in OptimizeAwayTrappingUsesOfValue() local
754 Idxs.reserve(GEPI->getNumOperands()-1); in OptimizeAwayTrappingUsesOfValue()
755 for (User::op_iterator i = GEPI->op_begin() + 1, e = GEPI->op_end(); in OptimizeAwayTrappingUsesOfValue()
761 if (Idxs.size() == GEPI->getNumOperands()-1) in OptimizeAwayTrappingUsesOfValue()
763 GEPI, ConstantExpr::getGetElementPtr(GEPI->getSourceElementType(), in OptimizeAwayTrappingUsesOfValue()
765 if (GEPI->use_empty()) { in OptimizeAwayTrappingUsesOfValue()
767 GEPI->eraseFromParent(); in OptimizeAwayTrappingUsesOfValue()
1061 } else if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(U)) { in ReplaceUsesOfMallocWithGlobal() local
1064 if (GEPI->hasAllZeroIndices() && GEPI->hasOneUse()) in ReplaceUsesOfMallocWithGlobal()
1065 if (StoreInst *SI = dyn_cast<StoreInst>(GEPI->user_back())) in ReplaceUsesOfMallocWithGlobal()
1069 ReplaceUsesOfMallocWithGlobal(GEPI, GV); in ReplaceUsesOfMallocWithGlobal()
1070 GEPI->eraseFromParent(); in ReplaceUsesOfMallocWithGlobal()
1101 if (const GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(UI)) { in LoadUsesSimpleEnoughForHeapSRA() local
1103 if (GEPI->getNumOperands() < 3) in LoadUsesSimpleEnoughForHeapSRA()
1246 if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(LoadUser)) { in RewriteHeapSROALoadUser() local
1247 assert(GEPI->getNumOperands() >= 3 && isa<ConstantInt>(GEPI->getOperand(2)) in RewriteHeapSROALoadUser()
1251 unsigned FieldNo = cast<ConstantInt>(GEPI->getOperand(2))->getZExtValue(); in RewriteHeapSROALoadUser()
1252 Value *NewPtr = GetHeapSROAValue(GEPI->getOperand(0), FieldNo, in RewriteHeapSROALoadUser()
1257 GEPIdx.push_back(GEPI->getOperand(1)); in RewriteHeapSROALoadUser()
1258 GEPIdx.append(GEPI->op_begin()+3, GEPI->op_end()); in RewriteHeapSROALoadUser()
1260 Value *NGEPI = GetElementPtrInst::Create(GEPI->getResultElementType(), NewPtr, GEPIdx, in RewriteHeapSROALoadUser()
1261 GEPI->getName(), GEPI); in RewriteHeapSROALoadUser()
1262 GEPI->replaceAllUsesWith(NGEPI); in RewriteHeapSROALoadUser()
1263 GEPI->eraseFromParent(); in RewriteHeapSROALoadUser()