Lines Matching defs:Base
380 // Check if need to perform derived-to-base casts and/or field accesses, to
1583 // If the base is a vector type, then we are forming a vector element lvalue
1623 // The base must be a pointer, which is not an aggregate. Emit
1650 // The base must be a pointer, which is not an aggregate. Emit it.
1651 llvm::Value *Base = EmitScalarExpr(E->getBase());
1652 Address = EmitCastToVoidPtr(Base);
1654 Address = Builder.CreateBitCast(Address, Base->getType());
1657 // base to be a ArrayToPointerDecay implicit cast. While correct, it is
1675 // The base must be a pointer, which is not an aggregate. Emit it.
1676 llvm::Value *Base
1678 Address = Builder.CreateGEP(Base, Idx, "arrayidx");
1680 Address = Builder.CreateInBoundsGEP(Base, Idx, "arrayidx");
1685 "CodeGenFunction::EmitArraySubscriptExpr(): Illegal base type");
1718 // Emit the base vector as an l-value.
1719 LValue Base;
1721 // ExtVectorElementExpr's base can either be a vector or pointer to vector.
1727 Base = MakeAddrLValue(Ptr, PT->getPointeeType());
1728 Base.getQuals().removeObjCGCAttr();
1730 // Otherwise, if the base is an lvalue ( as in the case of foo.x.x),
1731 // emit the base as an lvalue.
1733 Base = EmitLValue(E->getBase());
1735 // Otherwise, the base is a normal rvalue (as in (V+V).x), emit it as such.
1743 Base = MakeAddrLValue(VecMem, E->getBase()->getType());
1747 E->getType().withCVRQualifiers(Base.getQuals().getCVRQualifiers());
1753 if (Base.isSimple()) {
1755 return LValue::MakeExtVectorElt(Base.getAddress(), CV, type);
1757 assert(Base.isExtVectorElt() && "Can only subscript lvalue vec elts here!");
1759 llvm::Constant *BaseElts = Base.getExtVectorElts();
1769 return LValue::MakeExtVectorElt(Base.getExtVectorAddr(), CV, type);
1824 /// that the base value is a pointer to the enclosing record, derive
2111 // Perform the derived-to-base conversion
2112 llvm::Value *Base =
2117 return MakeAddrLValue(Base, E->getType());
2128 // Perform the base-to-derived conversion