Lines Matching defs:rvalue
198 /// Converts an rvalue to integer value if needed.
206 void emitCopyIntoMemory(RValue rvalue) const;
253 Address materializeRValue(RValue rvalue) const;
1595 void AtomicInfo::emitCopyIntoMemory(RValue rvalue) const {
1597 // If we have an r-value, the rvalue should be of the atomic type,
1600 if (rvalue.isAggregate()) {
1602 LValue Src = CGF.MakeAddrLValue(rvalue.getAggregateAddress(),
1604 bool IsVolatile = rvalue.isVolatileQualified() ||
1619 // Okay, store the rvalue in.
1620 if (rvalue.isScalar()) {
1621 CGF.EmitStoreOfScalar(rvalue.getScalarVal(), TempLVal, /*init*/ true);
1623 CGF.EmitStoreOfComplex(rvalue.getComplexVal(), TempLVal, /*init*/ true);
1630 Address AtomicInfo::materializeRValue(RValue rvalue) const {
1633 if (rvalue.isAggregate())
1634 return rvalue.getAggregateAddress();
1639 Atomics.emitCopyIntoMemory(rvalue);
1963 void CodeGenFunction::EmitAtomicStore(RValue rvalue, LValue lvalue,
1973 return EmitAtomicStore(rvalue, lvalue, AO, IsVolatile, isInit);
1981 void CodeGenFunction::EmitAtomicStore(RValue rvalue, LValue dest,
1986 assert(!rvalue.isAggregate() ||
1987 rvalue.getAggregateAddress().getElementType() ==
1996 atomics.emitCopyIntoMemory(rvalue);
2003 Address srcAddr = atomics.materializeRValue(rvalue);
2020 llvm::Value *ValToStore = atomics.convertRValueToInt(rvalue);
2024 if (llvm::Value *Value = atomics.getScalarRValValueOrNull(rvalue))
2048 atomics.EmitAtomicUpdate(AO, rvalue, IsVolatile);