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

References

tools/clang/lib/CodeGen/CGExpr.cpp
 3454       (E->getLHS() == E->getIdx()) ? EmitScalarExpr(E->getIdx()) : nullptr;
 3454       (E->getLHS() == E->getIdx()) ? EmitScalarExpr(E->getIdx()) : nullptr;
 3454       (E->getLHS() == E->getIdx()) ? EmitScalarExpr(E->getIdx()) : nullptr;
 3458     if (E->getLHS() != E->getIdx()) {
 3458     if (E->getLHS() != E->getIdx()) {
 3459       assert(E->getRHS() == E->getIdx() && "index was neither LHS nor RHS");
 3459       assert(E->getRHS() == E->getIdx() && "index was neither LHS nor RHS");
 3460       Idx = EmitScalarExpr(E->getIdx());
 3463     QualType IdxTy = E->getIdx()->getType();
 3468       EmitBoundsCheck(E, E->getBase(), Idx, IdxTy, Accessed);
 3468       EmitBoundsCheck(E, E->getBase(), Idx, IdxTy, Accessed);
 3480   if (E->getBase()->getType()->isVectorType() &&
 3481       !isa<ExtVectorElementExpr>(E->getBase())) {
 3483     LValue LHS = EmitLValue(E->getBase());
 3486     return LValue::MakeVectorElt(LHS.getAddress(), Idx, E->getBase()->getType(),
 3493   if (isa<ExtVectorElementExpr>(E->getBase())) {
 3494     LValue LV = EmitLValue(E->getBase());
 3500                                  SignedIndices, E->getExprLoc());
 3509            getContext().getAsVariableArrayType(E->getType())) {
 3513     Addr = EmitPointerWithAlignment(E->getBase(), &EltBaseInfo, &EltTBAAInfo);
 3531                                  SignedIndices, E->getExprLoc());
 3533   } else if (const ObjCObjectType *OIT = E->getType()->getAs<ObjCObjectType>()){
 3537     Addr = EmitPointerWithAlignment(E->getBase(), &EltBaseInfo, &EltTBAAInfo);
 3558                               SignedIndices, E->getExprLoc());
 3563   } else if (const Expr *Array = isSimpleArrayDecayOperand(E->getBase())) {
 3583         E->getType(), !getLangOpts().isSignedOverflowDefined(), SignedIndices,
 3584         E->getExprLoc(), &arrayType);
 3586     EltTBAAInfo = CGM.getTBAAInfoForSubobject(ArrayLV, E->getType());
 3589     Addr = EmitPointerWithAlignment(E->getBase(), &EltBaseInfo, &EltTBAAInfo);
 3591     QualType ptrType = E->getBase()->getType();
 3592     Addr = emitArraySubscriptGEP(*this, Addr, Idx, E->getType(),
 3594                                  SignedIndices, E->getExprLoc(), &ptrType);
 3597   LValue LV = MakeAddrLValue(Addr, E->getType(), EltBaseInfo, EltTBAAInfo);
 3601     LV.setNonGC(!E->isOBJCGCCandidate(getContext()));
 3602     setObjCGCLValueClass(getContext(), E, LV);