Lines Matching refs:Atomics
456 // Emit all the different atomics
766 // The inlined atomics only function on iN types, where N is a power of 2. We
770 AtomicInfo Atomics(*this, AtomicVal);
772 Ptr = Atomics.emitCastToAtomicIntPointer(Ptr);
773 if (Val1.isValid()) Val1 = Atomics.convertToAtomicIntPointer(Val1);
774 if (Val2.isValid()) Val2 = Atomics.convertToAtomicIntPointer(Val2);
776 Dest = Atomics.emitCastToAtomicIntPointer(Dest);
780 Dest = Atomics.emitCastToAtomicIntPointer(Atomics.CreateTempAlloca());
1092 // Emit all the different atomics
1135 assert(Atomics.getValueSizeInBits() <= Atomics.getAtomicSizeInBits());
1333 AtomicInfo Atomics(*this, src);
1334 return Atomics.EmitAtomicLoad(resultSlot, loc, /*AsValue=*/true, AO,
1381 AtomicInfo Atomics(CGF, TempLV);
1382 Atomics.emitCopyIntoMemory(rvalue);
1492 EmitAtomicUpdateValue(CodeGenFunction &CGF, AtomicInfo &Atomics, RValue OldRVal,
1496 LValue AtomicLVal = Atomics.getAtomicLValue();
1503 Address Ptr = Atomics.materializeRValue(OldRVal);
1606 static void EmitAtomicUpdateValue(CodeGenFunction &CGF, AtomicInfo &Atomics,
1608 LValue AtomicLVal = Atomics.getAtomicLValue();
1733 AtomicInfo atomics(*this, dest);
1734 LValue LVal = atomics.getAtomicLValue();
1739 atomics.emitCopyIntoMemory(rvalue);
1744 if (atomics.shouldUseLibcall()) {
1746 Address srcAddr = atomics.materializeRValue(rvalue);
1750 args.add(RValue::get(atomics.getAtomicSizeValue()),
1752 args.add(RValue::get(EmitCastToVoidPtr(atomics.getAtomicPointer())),
1764 llvm::Value *intValue = atomics.convertRValueToInt(rvalue);
1768 atomics.emitCastToAtomicIntPointer(atomics.getAtomicAddress());
1786 atomics.EmitAtomicUpdate(AO, rvalue, IsVolatile);
1803 AtomicInfo Atomics(*this, Obj);
1805 return Atomics.EmitAtomicCompareExchange(Expected, Desired, Success, Failure,
1812 AtomicInfo Atomics(*this, LVal);
1813 Atomics.EmitAtomicUpdate(AO, UpdateOp, IsVolatile);
1817 AtomicInfo atomics(*this, dest);
1819 switch (atomics.getEvaluationKind()) {
1822 atomics.emitCopyIntoMemory(RValue::get(value));
1828 atomics.emitCopyIntoMemory(RValue::getComplex(value));
1837 Zeroed = atomics.emitMemSetZeroIfNecessary();
1838 dest = atomics.projectValue();