Lines Matching refs:lvalue

43     AtomicInfo(CodeGenFunction &CGF, LValue &lvalue)
46 assert(!lvalue.isGlobalReg());
48 if (lvalue.isSimple()) {
49 AtomicTy = lvalue.getType();
71 if (lvalue.getAlignment().isZero())
72 lvalue.setAlignment(AtomicAlign);
74 LVal = lvalue;
75 } else if (lvalue.isBitField()) {
76 ValueTy = lvalue.getType();
78 auto &OrigBFI = lvalue.getBitFieldInfo();
79 auto Offset = OrigBFI.Offset % C.toBits(lvalue.getAlignment());
82 .alignTo(lvalue.getAlignment()));
83 auto VoidPtrAddr = CGF.EmitCastToVoidPtr(lvalue.getBitFieldPointer());
85 (C.toCharUnitsFromBits(OrigBFI.Offset) / lvalue.getAlignment()) *
86 lvalue.getAlignment();
97 LVal = LValue::MakeBitfield(Address(Addr, lvalue.getAlignment()),
98 BFI, lvalue.getType(), lvalue.getBaseInfo(),
99 lvalue.getTBAAInfo());
109 AtomicAlign = ValueAlign = lvalue.getAlignment();
110 } else if (lvalue.isVectorElt()) {
111 ValueTy = lvalue.getType()->castAs<VectorType>()->getElementType();
113 AtomicTy = lvalue.getType();
115 AtomicAlign = ValueAlign = lvalue.getAlignment();
116 LVal = lvalue;
118 assert(lvalue.isExtVectorElt());
119 ValueTy = lvalue.getType();
122 lvalue.getType(), lvalue.getExtVectorAddress()
125 AtomicAlign = ValueAlign = lvalue.getAlignment();
126 LVal = lvalue;
129 AtomicSizeInBits, C.toBits(lvalue.getAlignment()));
233 /// \param UpdateOp Update operation for the current lvalue.
796 LValue lvalue = MakeAddrLValue(Ptr, AtomicTy);
797 EmitAtomicInit(E->getVal1(), lvalue);
1750 // Build new lvalue for temp address.
1859 // Build new lvalue for temp address.
1954 void CodeGenFunction::EmitAtomicStore(RValue rvalue, LValue lvalue,
1956 bool IsVolatile = lvalue.isVolatileQualified();
1958 if (lvalue.getType()->isAtomicType()) {
1964 return EmitAtomicStore(rvalue, lvalue, AO, IsVolatile, isInit);