Lines Matching defs:dest

97     bool emitMemSetZeroIfNecessary(LValue dest) const;
176 bool AtomicInfo::emitMemSetZeroIfNecessary(LValue dest) const {
177 llvm::Value *addr = dest.getAddress();
183 dest.getAlignment().getQuantity());
835 void AtomicInfo::emitCopyIntoMemory(RValue rvalue, LValue dest) const {
840 CGF.EmitAggregateCopy(dest.getAddress(),
844 || dest.isVolatileQualified()),
845 dest.getAlignment());
852 emitMemSetZeroIfNecessary(dest);
855 dest = projectValue(dest);
859 CGF.EmitStoreOfScalar(rvalue.getScalarVal(), dest, /*init*/ true);
861 CGF.EmitStoreOfComplex(rvalue.getComplexVal(), dest, /*init*/ true);
886 void CodeGenFunction::EmitAtomicStore(RValue rvalue, LValue dest, bool isInit) {
891 == dest.getAddress()->getType()->getPointerElementType());
893 AtomicInfo atomics(*this, dest);
897 atomics.emitCopyIntoMemory(rvalue, dest);
910 args.add(RValue::get(EmitCastToVoidPtr(dest.getAddress())),
952 llvm::Value *addr = atomics.emitCastToAtomicIntPointer(dest.getAddress());
959 store->setAlignment(dest.getAlignment().getQuantity());
960 if (dest.isVolatileQualified())
962 if (dest.getTBAAInfo())
963 CGM.DecorateInstruction(store, dest.getTBAAInfo());
966 void CodeGenFunction::EmitAtomicInit(Expr *init, LValue dest) {
967 AtomicInfo atomics(*this, dest);
972 atomics.emitCopyIntoMemory(RValue::get(value), dest);
978 atomics.emitCopyIntoMemory(RValue::getComplex(value), dest);
987 Zeroed = atomics.emitMemSetZeroIfNecessary(dest);
988 dest = atomics.projectValue(dest);
992 AggValueSlot slot = AggValueSlot::forLValue(dest,