Lines Matching refs:lvalue
43 AtomicInfo(CodeGenFunction &CGF, LValue &lvalue) in AtomicInfo() argument
46 assert(!lvalue.isGlobalReg()); in AtomicInfo()
48 if (lvalue.isSimple()) { in AtomicInfo()
49 AtomicTy = lvalue.getType(); in AtomicInfo()
71 if (lvalue.getAlignment().isZero()) in AtomicInfo()
72 lvalue.setAlignment(AtomicAlign); in AtomicInfo()
74 LVal = lvalue; in AtomicInfo()
75 } else if (lvalue.isBitField()) { in AtomicInfo()
76 ValueTy = lvalue.getType(); in AtomicInfo()
78 auto &OrigBFI = lvalue.getBitFieldInfo(); in AtomicInfo()
79 auto Offset = OrigBFI.Offset % C.toBits(lvalue.getAlignment()); in AtomicInfo()
82 .alignTo(lvalue.getAlignment())); in AtomicInfo()
83 auto VoidPtrAddr = CGF.EmitCastToVoidPtr(lvalue.getBitFieldPointer()); in AtomicInfo()
85 (C.toCharUnitsFromBits(OrigBFI.Offset) / lvalue.getAlignment()) * in AtomicInfo()
86 lvalue.getAlignment(); in AtomicInfo()
97 LVal = LValue::MakeBitfield(Address(Addr, lvalue.getAlignment()), in AtomicInfo()
98 BFI, lvalue.getType(), lvalue.getBaseInfo(), in AtomicInfo()
99 lvalue.getTBAAInfo()); in AtomicInfo()
109 AtomicAlign = ValueAlign = lvalue.getAlignment(); in AtomicInfo()
110 } else if (lvalue.isVectorElt()) { in AtomicInfo()
111 ValueTy = lvalue.getType()->castAs<VectorType>()->getElementType(); in AtomicInfo()
113 AtomicTy = lvalue.getType(); in AtomicInfo()
115 AtomicAlign = ValueAlign = lvalue.getAlignment(); in AtomicInfo()
116 LVal = lvalue; in AtomicInfo()
118 assert(lvalue.isExtVectorElt()); in AtomicInfo()
119 ValueTy = lvalue.getType(); in AtomicInfo()
122 lvalue.getType(), cast<llvm::FixedVectorType>( in AtomicInfo()
123 lvalue.getExtVectorAddress().getElementType()) in AtomicInfo()
126 AtomicAlign = ValueAlign = lvalue.getAlignment(); in AtomicInfo()
127 LVal = lvalue; in AtomicInfo()
130 AtomicSizeInBits, C.toBits(lvalue.getAlignment())); in AtomicInfo()
799 LValue lvalue = MakeAddrLValue(Ptr, AtomicTy); in EmitAtomicExpr() local
800 EmitAtomicInit(E->getVal1(), lvalue); in EmitAtomicExpr()
1979 void CodeGenFunction::EmitAtomicStore(RValue rvalue, LValue lvalue, in EmitAtomicStore() argument
1981 bool IsVolatile = lvalue.isVolatileQualified(); in EmitAtomicStore()
1983 if (lvalue.getType()->isAtomicType()) { in EmitAtomicStore()
1989 return EmitAtomicStore(rvalue, lvalue, AO, IsVolatile, isInit); in EmitAtomicStore()