Home | History | Annotate | Download | only in VMCore

Lines Matching refs:Idxs

886                                                     ArrayRef<unsigned> Idxs) {
888 if (Idxs.empty())
893 Idxs));
898 Idxs));
902 return ConstantFoldExtractValueInstruction(CS->getOperand(Idxs[0]),
903 Idxs.slice(1));
906 return ConstantFoldExtractValueInstruction(CA->getOperand(Idxs[0]),
907 Idxs.slice(1));
909 return ConstantFoldExtractValueInstruction(CV->getOperand(Idxs[0]),
910 Idxs.slice(1));
915 ArrayRef<unsigned> Idxs) {
917 if (Idxs.empty())
939 (Idxs[0] == i) ?
941 Val, Idxs.slice(1)) :
970 (Idxs[0] == i) ?
972 Val, Idxs.slice(1)) :
987 if (Idxs[0] == i)
988 Op = ConstantFoldInsertValueInstruction(Op, Val, Idxs.slice(1));
2152 static bool isInBoundsIndices(ArrayRef<IndexTy> Idxs) {
2154 if (Idxs.empty()) return true;
2157 if (cast<Constant>(Idxs[0])->isNullValue()) return true;
2161 if (!cast<ConstantInt>(Idxs[0])->isOne())
2163 for (unsigned i = 1, e = Idxs.size(); i != e; ++i)
2164 if (!cast<Constant>(Idxs[i])->isNullValue())
2172 ArrayRef<IndexTy> Idxs) {
2173 if (Idxs.empty()) return C;
2174 Constant *Idx0 = cast<Constant>(Idxs[0]);
2175 if ((Idxs.size() == 1 && Idx0->isNullValue()))
2180 Type *Ty = GetElementPtrInst::getIndexedType(Ptr, Idxs);
2187 for (unsigned i = 0, e = Idxs.size(); i != e; ++i)
2188 if (!cast<Constant>(Idxs[i])->isNullValue()) {
2194 Type *Ty = GetElementPtrInst::getIndexedType(Ptr, Idxs);
2214 NewIndices.reserve(Idxs.size() + CE->getNumOperands());
2236 NewIndices.append(Idxs.begin() + 1, Idxs.end());
2249 if (CE->isCast() && Idxs.size() > 1 && Idx0->isNullValue()) {
2258 Idxs, inBounds);
2269 for (unsigned i = 0, e = Idxs.size(); i != e;
2270 Prev = Ty, Ty = cast<CompositeType>(Ty)->getTypeAtIndex(Idxs[i]), ++i) {
2271 if (ConstantInt *CI = dyn_cast<ConstantInt>(Idxs[i])) {
2279 NewIdxs.resize(Idxs.size());
2284 Constant *PrevIdx = cast<Constant>(Idxs[i-1]);
2311 for (unsigned i = 0, e = Idxs.size(); i != e; ++i)
2312 if (!NewIdxs[i]) NewIdxs[i] = cast<Constant>(Idxs[i]);
2319 isa<GlobalVariable>(C) && isInBoundsIndices(Idxs))
2320 return ConstantExpr::getInBoundsGetElementPtr(C, Idxs);
2327 ArrayRef<Constant *> Idxs) {
2328 return ConstantFoldGetElementPtrImpl(C, inBounds, Idxs);
2333 ArrayRef<Value *> Idxs) {
2334 return ConstantFoldGetElementPtrImpl(C, inBounds, Idxs);