reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/InstCombine/InstructionCombining.cpp
 1797     if (!shouldMergeGEPs(*cast<GEPOperator>(&GEP), *Src))
 1801     if (LI && Src->getNumOperands() == 2 && GEP.getNumOperands() == 2 &&
 1802         Src->hasOneUse()) {
 1805         Value *SO1 = Src->getOperand(1);
 1827           auto *SO0 = Src->getOperand(0);
 1831             Src->setOperand(1, GO1);
 1840                 Builder.CreateGEP(GEPEltType, SO0, GO1, Src->getName()));
 1841             NewSrc->setIsInBounds(Src->isInBounds());
 1853     if (auto *SrcGEP = dyn_cast<GEPOperator>(Src->getOperand(0)))
 1854       if (SrcGEP->getNumOperands() == 2 && shouldMergeGEPs(*Src, *SrcGEP))
 1861     for (gep_type_iterator I = gep_type_begin(*Src), E = gep_type_end(*Src);
 1861     for (gep_type_iterator I = gep_type_begin(*Src), E = gep_type_end(*Src);
 1869       Value *SO1 = Src->getOperand(Src->getNumOperands()-1);
 1869       Value *SO1 = Src->getOperand(Src->getNumOperands()-1);
 1887       if (Src->getNumOperands() == 2) {
 1888         GEP.setOperand(0, Src->getOperand(0));
 1892       Indices.append(Src->op_begin()+1, Src->op_end()-1);
 1892       Indices.append(Src->op_begin()+1, Src->op_end()-1);
 1897                Src->getNumOperands() != 1) {
 1899       Indices.append(Src->op_begin()+1, Src->op_end());
 1899       Indices.append(Src->op_begin()+1, Src->op_end());
 1904       return GEP.isInBounds() && Src->isInBounds()
 1906                        Src->getSourceElementType(), Src->getOperand(0), Indices,
 1906                        Src->getSourceElementType(), Src->getOperand(0), Indices,
 1908                  : GetElementPtrInst::Create(Src->getSourceElementType(),
 1909                                              Src->getOperand(0), Indices,