Home | History | Annotate | Download | only in InstCombine

Lines Matching defs:Indices

759 /// or not there is a sequence of GEP indices into the type that will land us at
820 // If this GEP has only 0 indices, it is the same pointer as
822 // the indices.
1075 // Eliminate unneeded casts for indices, and replace indices which displace
1084 // Skip indices into struct types.
1109 // Combine Indices - If the source pointer to this getelementptr instruction
1110 // is a getelementptr instruction, combine the indices of the two
1125 SmallVector<Value*, 8> Indices;
1161 Indices.append(Src->op_begin()+1, Src->op_end()-1);
1162 Indices.push_back(Sum);
1163 Indices.append(GEP.op_begin()+2, GEP.op_end());
1168 Indices.append(Src->op_begin()+1, Src->op_end());
1169 Indices.append(GEP.idx_begin()+1, GEP.idx_end());
1172 if (!Indices.empty())
1174 GetElementPtrInst::CreateInBounds(Src->getOperand(0), Indices,
1176 GetElementPtrInst::Create(Src->getOperand(0), Indices, GEP.getName());
1323 /// Y = gep X, <...constant indices...>
1664 // Extract the remaining indices out of the constant indexed by the
1672 // We're extracting from an insertvalue instruction, compare the indices
1712 // We can simply remove the common indices from the extract and make it
1777 // extractvalue has integer indices, getelementptr has Value*s. Convert.
1778 SmallVector<Value*, 4> Indices;
1780 Indices.push_back(Builder->getInt32(0));
1783 Indices.push_back(Builder->getInt32(*I));
1788 Value *GEP = Builder->CreateInBoundsGEP(L->getPointerOperand(), Indices);