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

References

lib/IR/ConstantFold.cpp
 2168   if (Idxs.empty()) return C;
 2171       PointeeTy, C, makeArrayRef((Value *const *)Idxs.data(), Idxs.size()));
 2171       PointeeTy, C, makeArrayRef((Value *const *)Idxs.data(), Idxs.size()));
 2176   Constant *Idx0 = cast<Constant>(Idxs[0]);
 2177   if (Idxs.size() == 1 && (Idx0->isNullValue() || isa<UndefValue>(Idx0)))
 2185     for (unsigned i = 0, e = Idxs.size(); i != e; ++i)
 2186       if (!isa<UndefValue>(Idxs[i]) &&
 2187           !cast<Constant>(Idxs[i])->isNullValue()) {
 2193       Type *Ty = GetElementPtrInst::getIndexedType(PointeeTy, Idxs);
 2203       for (unsigned i = 0, e = Idxs.size(); i != e; ++i) {
 2204         if (auto *VT = dyn_cast<VectorType>(Idxs[i]->getType())) {
 2258         NewIndices.reserve(Idxs.size() + CE->getNumOperands());
 2285         NewIndices.append(Idxs.begin() + 1, Idxs.end());
 2285         NewIndices.append(Idxs.begin() + 1, Idxs.end());
 2310     if (CE->isCast() && Idxs.size() > 1 && Idx0->isNullValue()) {
 2324                                                 Idxs, InBounds, InRangeIndex);
 2336       !isa<ConstantInt>(Idxs[0]) && !isa<ConstantDataVector>(Idxs[0]);
 2336       !isa<ConstantInt>(Idxs[0]) && !isa<ConstantDataVector>(Idxs[0]);
 2337   for (unsigned i = 1, e = Idxs.size(); i != e;
 2338        Prev = Ty, Ty = cast<CompositeType>(Ty)->getTypeAtIndex(Idxs[i]), ++i) {
 2339     if (!isa<ConstantInt>(Idxs[i]) && !isa<ConstantDataVector>(Idxs[i])) {
 2339     if (!isa<ConstantInt>(Idxs[i]) && !isa<ConstantDataVector>(Idxs[i])) {
 2344     if (!isa<ConstantInt>(Idxs[i - 1]) && !isa<ConstantDataVector>(Idxs[i - 1]))
 2344     if (!isa<ConstantInt>(Idxs[i - 1]) && !isa<ConstantDataVector>(Idxs[i - 1]))
 2363     if (ConstantInt *CI = dyn_cast<ConstantInt>(Idxs[i])) {
 2373       auto *CV = cast<ConstantDataVector>(Idxs[i]);
 2396     NewIdxs.resize(Idxs.size());
 2402     Constant *CurrIdx = cast<Constant>(Idxs[i]);
 2404         NewIdxs[i - 1] ? NewIdxs[i - 1] : cast<Constant>(Idxs[i - 1]);
 2454     for (unsigned i = 0, e = Idxs.size(); i != e; ++i)
 2455       if (!NewIdxs[i]) NewIdxs[i] = cast<Constant>(Idxs[i]);
 2464       if (!GV->hasExternalWeakLinkage() && isInBoundsIndices(Idxs))
 2465         return ConstantExpr::getGetElementPtr(PointeeTy, C, Idxs,