reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
4261 if (!CGF.HaveInsertPoint()) 4272 CGOpenMPRuntime::emitReduction(CGF, Loc, Privates, LHSExprs, RHSExprs, 4284 llvm::Value *RTLoc = emitUpdateLocation(CGF, Loc); 4285 llvm::Value *ThreadId = getThreadID(CGF, Loc); 4302 CGF.CreateMemTemp(ReductionArrayTy, ".omp.reduction.red_list"); 4306 Address Elem = CGF.Builder.CreateConstArrayGEP(ReductionList, Idx); 4307 CGF.Builder.CreateStore( 4308 CGF.Builder.CreatePointerBitCastOrAddrSpaceCast( 4309 CGF.EmitLValue(RHSExprs[I]).getPointer(), CGF.VoidPtrTy), 4309 CGF.EmitLValue(RHSExprs[I]).getPointer(), CGF.VoidPtrTy), 4314 Elem = CGF.Builder.CreateConstArrayGEP(ReductionList, Idx); 4315 llvm::Value *Size = CGF.Builder.CreateIntCast( 4316 CGF.getVLASize( 4317 CGF.getContext().getAsVariableArrayType((*IPriv)->getType())) 4319 CGF.SizeTy, /*isSigned=*/false); 4320 CGF.Builder.CreateStore(CGF.Builder.CreateIntToPtr(Size, CGF.VoidPtrTy), 4320 CGF.Builder.CreateStore(CGF.Builder.CreateIntToPtr(Size, CGF.VoidPtrTy), 4320 CGF.Builder.CreateStore(CGF.Builder.CreateIntToPtr(Size, CGF.VoidPtrTy), 4325 llvm::Value *RL = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast( 4326 ReductionList.getPointer(), CGF.VoidPtrTy); 4328 Loc, CGF.ConvertTypeForMem(ReductionArrayTy)->getPointerTo(), Privates, 4330 llvm::Value *ReductionArrayTySize = CGF.getTypeSize(ReductionArrayTy); 4339 CGF.Builder.getInt32(RHSExprs.size()), 4345 Res = CGF.EmitRuntimeCall( 4368 llvm::Value *GlobalBufferPtr = CGF.EmitLoadOfScalar( 4386 CGF.Builder.getInt32(C.getLangOpts().OpenMPCUDAReductionBufNum), 4395 Res = CGF.EmitRuntimeCall( 4402 llvm::BasicBlock *ExitBB = CGF.createBasicBlock(".omp.reduction.done"); 4403 llvm::BasicBlock *ThenBB = CGF.createBasicBlock(".omp.reduction.then"); 4404 llvm::Value *Cond = CGF.Builder.CreateICmpEQ( 4406 CGF.Builder.CreateCondBr(Cond, ThenBB, ExitBB); 4412 CGF.EmitBlock(ThenBB); 4435 RCG(CGF); 4437 (void)ApplyDebugLocation::CreateEmpty(CGF); 4438 CGF.EmitBlock(ExitBB, /*IsFinished=*/true);