Lines Matching refs:GEPI
8127 static bool tryUnmergingGEPsAcrossIndirectBr(GetElementPtrInst *GEPI, in tryUnmergingGEPsAcrossIndirectBr() argument
8129 BasicBlock *SrcBlock = GEPI->getParent(); in tryUnmergingGEPsAcrossIndirectBr()
8135 if (!GEPSequentialConstIndexed(GEPI)) in tryUnmergingGEPsAcrossIndirectBr()
8137 ConstantInt *GEPIIdx = cast<ConstantInt>(GEPI->getOperand(1)); in tryUnmergingGEPsAcrossIndirectBr()
8143 Value *GEPIOp = GEPI->getOperand(0); in tryUnmergingGEPsAcrossIndirectBr()
8152 if (llvm::none_of(GEPI->users(), [&](User *Usr) { in tryUnmergingGEPsAcrossIndirectBr()
8166 if (Usr == GEPI) in tryUnmergingGEPsAcrossIndirectBr()
8186 if (UGEPI->getSourceElementType() != GEPI->getSourceElementType()) in tryUnmergingGEPsAcrossIndirectBr()
8211 UGEPI->setOperand(0, GEPI); in tryUnmergingGEPsAcrossIndirectBr()
8218 if (!GEPI->isInBounds()) { in tryUnmergingGEPsAcrossIndirectBr()
8406 if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(I)) { in optimizeInst() local
8407 if (GEPI->hasAllZeroIndices()) { in optimizeInst()
8409 Instruction *NC = new BitCastInst(GEPI->getOperand(0), GEPI->getType(), in optimizeInst()
8410 GEPI->getName(), GEPI->getIterator()); in optimizeInst()
8411 NC->setDebugLoc(GEPI->getDebugLoc()); in optimizeInst()
8412 replaceAllUsesWith(GEPI, NC, FreshBBs, IsHugeFunc); in optimizeInst()
8414 GEPI, TLInfo, nullptr, in optimizeInst()
8420 if (tryUnmergingGEPsAcrossIndirectBr(GEPI, TTI)) { in optimizeInst()