Lines Matching refs:GEP
438 if (auto *GEP = dyn_cast<GEPOperator>(CE)) { in ConstantFoldExtractElementInstruction() local
452 GEP->getSourceElementType()); in ConstantFoldExtractElementInstruction()
1467 static Constant *foldGEPOfGEP(GEPOperator *GEP, Type *PointeeTy, bool InBounds, in foldGEPOfGEP() argument
1469 if (PointeeTy != GEP->getResultElementType()) in foldGEPOfGEP()
1476 NewIndices.reserve(Idxs.size() + GEP->getNumIndices()); in foldGEPOfGEP()
1477 NewIndices.append(GEP->idx_begin(), GEP->idx_end()); in foldGEPOfGEP()
1480 GEP->getSourceElementType(), cast<Constant>(GEP->getPointerOperand()), in foldGEPOfGEP()
1481 NewIndices, InBounds && GEP->isInBounds(), GEP->getInRangeIndex()); in foldGEPOfGEP()
1484 gep_type_iterator LastI = gep_type_end(GEP); in foldGEPOfGEP()
1485 for (gep_type_iterator I = gep_type_begin(GEP), E = gep_type_end(GEP); in foldGEPOfGEP()
1499 auto *LastIdx = cast<Constant>(GEP->getOperand(GEP->getNumOperands()-1)); in foldGEPOfGEP()
1505 NewIndices.reserve(Idxs.size() + GEP->getNumIndices()); in foldGEPOfGEP()
1506 NewIndices.append(GEP->idx_begin(), GEP->idx_end() - 1); in foldGEPOfGEP()
1533 std::optional<unsigned> IRIndex = GEP->getInRangeIndex(); in foldGEPOfGEP()
1534 if (IRIndex && *IRIndex == GEP->getNumIndices() - 1) in foldGEPOfGEP()
1538 GEP->getSourceElementType(), cast<Constant>(GEP->getPointerOperand()), in foldGEPOfGEP()
1539 NewIndices, InBounds && GEP->isInBounds(), IRIndex); in foldGEPOfGEP()
1575 if (auto *GEP = dyn_cast<GEPOperator>(CE)) in ConstantFoldGetElementPtr() local
1576 if (Constant *C = foldGEPOfGEP(GEP, PointeeTy, InBounds, Idxs)) in ConstantFoldGetElementPtr()