reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
183 assert(CGF.getContext().hasSameUnqualifiedType(T, 185 assert(CGF.getContext().hasSameUnqualifiedType(T, E->getArg(1)->getType())); 187 llvm::Value *DestPtr = CGF.EmitScalarExpr(E->getArg(0)); 191 llvm::IntegerType::get(CGF.getLLVMContext(), 192 CGF.getContext().getTypeSize(T)); 196 Args[1] = CGF.EmitScalarExpr(E->getArg(1)); 198 Args[1] = EmitToInt(CGF, Args[1], T, IntType); 199 Args[0] = CGF.Builder.CreateBitCast(DestPtr, IntPtrType); 201 llvm::Value *Result = CGF.Builder.CreateAtomicRMW( 203 Result = CGF.Builder.CreateBinOp(Op, Result, Args[1]); 205 Result = CGF.Builder.CreateBinOp(llvm::Instruction::Xor, Result, 207 Result = EmitFromInt(CGF, Result, T, ValueType);