reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
747 QualType AtomicTy = E->getPtr()->getType()->getPointeeType(); 756 Address Ptr = EmitPointerWithAlignment(E->getPtr()); 758 if (E->getOp() == AtomicExpr::AO__c11_atomic_init || 759 E->getOp() == AtomicExpr::AO__opencl_atomic_init) { 761 EmitAtomicInit(E->getVal1(), lvalue); 775 CGM.getDiags().Report(E->getBeginLoc(), diag::warn_atomic_op_misaligned) 779 llvm::Value *Order = EmitScalarExpr(E->getOrder()); 781 E->getScopeModel() ? EmitScalarExpr(E->getScope()) : nullptr; 781 E->getScopeModel() ? EmitScalarExpr(E->getScope()) : nullptr; 783 switch (E->getOp()) { 794 Dest = EmitPointerWithAlignment(E->getVal1()); 798 Val1 = EmitPointerWithAlignment(E->getVal1()); 802 Val1 = EmitPointerWithAlignment(E->getVal1()); 803 Dest = EmitPointerWithAlignment(E->getVal2()); 812 Val1 = EmitPointerWithAlignment(E->getVal1()); 813 if (E->getOp() == AtomicExpr::AO__atomic_compare_exchange) 814 Val2 = EmitPointerWithAlignment(E->getVal2()); 816 Val2 = EmitValToTemp(*this, E->getVal2()); 817 OrderFail = EmitScalarExpr(E->getOrderFail()); 818 if (E->getOp() == AtomicExpr::AO__atomic_compare_exchange_n || 819 E->getOp() == AtomicExpr::AO__atomic_compare_exchange) 820 IsWeak = EmitScalarExpr(E->getWeak()); 832 QualType Val1Ty = E->getVal1()->getType(); 833 llvm::Value *Val1Scalar = EmitScalarExpr(E->getVal1()); 871 Val1 = EmitValToTemp(*this, E->getVal1()); 875 QualType RValTy = E->getType().getUnqualifiedType(); 888 else if (E->isCmpXChg()) 896 switch (E->getOp()) { 971 if (!E->isOpenCL()) 985 EmitCastToVoidPtr(Ptr.getPointer()), E->getPtr()->getType())), 994 switch (E->getOp()) { 1017 EmitCastToVoidPtr(Val1.getPointer()), E->getVal1()->getType())), 1020 MemTy, E->getExprLoc(), sizeChars); 1033 MemTy, E->getExprLoc(), sizeChars); 1045 MemTy, E->getExprLoc(), sizeChars); 1065 LoweredMemTy, E->getExprLoc(), sizeChars); 1077 MemTy, E->getExprLoc(), sizeChars); 1089 MemTy, E->getExprLoc(), sizeChars); 1101 LoweredMemTy, E->getExprLoc(), sizeChars); 1113 MemTy, E->getExprLoc(), sizeChars); 1117 LibCallName = E->getValueType()->isSignedIntegerType() 1121 LoweredMemTy, E->getExprLoc(), sizeChars); 1125 LibCallName = E->getValueType()->isSignedIntegerType() 1129 LoweredMemTy, E->getExprLoc(), sizeChars); 1139 MemTy, E->getExprLoc(), sizeChars); 1143 if (E->isOpenCL()) { 1168 if (E->isOpenCL()) 1178 if (E->isCmpXChg()) 1189 if (E->getOp() == AtomicExpr::AO__atomic_nand_fetch) 1202 RValTy, E->getExprLoc()); 1205 bool IsStore = E->getOp() == AtomicExpr::AO__c11_atomic_store || 1206 E->getOp() == AtomicExpr::AO__opencl_atomic_store || 1207 E->getOp() == AtomicExpr::AO__atomic_store || 1208 E->getOp() == AtomicExpr::AO__atomic_store_n; 1209 bool IsLoad = E->getOp() == AtomicExpr::AO__c11_atomic_load || 1210 E->getOp() == AtomicExpr::AO__opencl_atomic_load || 1211 E->getOp() == AtomicExpr::AO__atomic_load || 1212 E->getOp() == AtomicExpr::AO__atomic_load_n; 1221 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1228 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1234 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1240 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1244 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1254 RValTy, E->getExprLoc()); 1282 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1287 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1297 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1305 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1312 EmitAtomicOp(*this, E, Dest, Ptr, Val1, Val2, IsWeak, OrderFail, Size, 1327 RValTy, E->getExprLoc());