Lines Matching refs:MapperCGF
9054 CodeGenFunction MapperCGF(CGM); in emitUserDefinedMapper() local
9055 MapperCGF.StartFunction(GlobalDecl(), C.VoidTy, Fn, FnInfo, Args, Loc, Loc); in emitUserDefinedMapper()
9057 llvm::Value *Size = MapperCGF.EmitLoadOfScalar( in emitUserDefinedMapper()
9058 MapperCGF.GetAddrOfLocalVar(&SizeArg), /*Volatile=*/false, in emitUserDefinedMapper()
9061 llvm::Value *Handle = MapperCGF.EmitLoadOfScalar( in emitUserDefinedMapper()
9062 MapperCGF.GetAddrOfLocalVar(&HandleArg), in emitUserDefinedMapper()
9064 llvm::Value *BaseIn = MapperCGF.EmitLoadOfScalar( in emitUserDefinedMapper()
9065 MapperCGF.GetAddrOfLocalVar(&BaseArg), in emitUserDefinedMapper()
9067 llvm::Value *BeginIn = MapperCGF.EmitLoadOfScalar( in emitUserDefinedMapper()
9068 MapperCGF.GetAddrOfLocalVar(&BeginArg), in emitUserDefinedMapper()
9071 Size = MapperCGF.Builder.CreateExactUDiv( in emitUserDefinedMapper()
9072 Size, MapperCGF.Builder.getInt64(ElementSize.getQuantity())); in emitUserDefinedMapper()
9073 llvm::Value *PtrBegin = MapperCGF.Builder.CreateBitCast( in emitUserDefinedMapper()
9075 llvm::Value *PtrEnd = MapperCGF.Builder.CreateGEP(ElemTy, PtrBegin, Size); in emitUserDefinedMapper()
9076 llvm::Value *MapType = MapperCGF.EmitLoadOfScalar( in emitUserDefinedMapper()
9077 MapperCGF.GetAddrOfLocalVar(&TypeArg), /*Volatile=*/false, in emitUserDefinedMapper()
9079 llvm::Value *MapName = MapperCGF.EmitLoadOfScalar( in emitUserDefinedMapper()
9080 MapperCGF.GetAddrOfLocalVar(&NameArg), in emitUserDefinedMapper()
9085 llvm::BasicBlock *HeadBB = MapperCGF.createBasicBlock("omp.arraymap.head"); in emitUserDefinedMapper()
9086 emitUDMapperArrayInitOrDel(MapperCGF, Handle, BaseIn, BeginIn, Size, MapType, in emitUserDefinedMapper()
9092 MapperCGF.EmitBlock(HeadBB); in emitUserDefinedMapper()
9093 llvm::BasicBlock *BodyBB = MapperCGF.createBasicBlock("omp.arraymap.body"); in emitUserDefinedMapper()
9094 llvm::BasicBlock *DoneBB = MapperCGF.createBasicBlock("omp.done"); in emitUserDefinedMapper()
9097 MapperCGF.Builder.CreateICmpEQ(PtrBegin, PtrEnd, "omp.arraymap.isempty"); in emitUserDefinedMapper()
9098 MapperCGF.Builder.CreateCondBr(IsEmpty, DoneBB, BodyBB); in emitUserDefinedMapper()
9099 llvm::BasicBlock *EntryBB = MapperCGF.Builder.GetInsertBlock(); in emitUserDefinedMapper()
9102 MapperCGF.EmitBlock(BodyBB); in emitUserDefinedMapper()
9104 llvm::PHINode *PtrPHI = MapperCGF.Builder.CreatePHI( in emitUserDefinedMapper()
9108 MapperCGF.GetAddrOfLocalVar(&BeginArg) in emitUserDefinedMapper()
9112 CodeGenFunction::OMPPrivateScope Scope(MapperCGF); in emitUserDefinedMapper()
9118 MappableExprsHandler MEHandler(*D, MapperCGF); in emitUserDefinedMapper()
9124 llvm::Value *PreviousSize = MapperCGF.EmitRuntimeCall( in emitUserDefinedMapper()
9128 llvm::Value *ShiftedPreviousSize = MapperCGF.Builder.CreateShl( in emitUserDefinedMapper()
9130 MapperCGF.Builder.getInt64(MappableExprsHandler::getFlagMemberOffset())); in emitUserDefinedMapper()
9134 llvm::Value *CurBaseArg = MapperCGF.Builder.CreateBitCast( in emitUserDefinedMapper()
9136 llvm::Value *CurBeginArg = MapperCGF.Builder.CreateBitCast( in emitUserDefinedMapper()
9143 : emitMappingInformation(MapperCGF, OMPBuilder, Info.Exprs[I]); in emitUserDefinedMapper()
9146 llvm::Value *OriMapType = MapperCGF.Builder.getInt64( in emitUserDefinedMapper()
9150 MapperCGF.Builder.CreateNUWAdd(OriMapType, ShiftedPreviousSize); in emitUserDefinedMapper()
9164 llvm::Value *LeftToFrom = MapperCGF.Builder.CreateAnd( in emitUserDefinedMapper()
9166 MapperCGF.Builder.getInt64( in emitUserDefinedMapper()
9170 llvm::BasicBlock *AllocBB = MapperCGF.createBasicBlock("omp.type.alloc"); in emitUserDefinedMapper()
9172 MapperCGF.createBasicBlock("omp.type.alloc.else"); in emitUserDefinedMapper()
9173 llvm::BasicBlock *ToBB = MapperCGF.createBasicBlock("omp.type.to"); in emitUserDefinedMapper()
9174 llvm::BasicBlock *ToElseBB = MapperCGF.createBasicBlock("omp.type.to.else"); in emitUserDefinedMapper()
9175 llvm::BasicBlock *FromBB = MapperCGF.createBasicBlock("omp.type.from"); in emitUserDefinedMapper()
9176 llvm::BasicBlock *EndBB = MapperCGF.createBasicBlock("omp.type.end"); in emitUserDefinedMapper()
9177 llvm::Value *IsAlloc = MapperCGF.Builder.CreateIsNull(LeftToFrom); in emitUserDefinedMapper()
9178 MapperCGF.Builder.CreateCondBr(IsAlloc, AllocBB, AllocElseBB); in emitUserDefinedMapper()
9180 MapperCGF.EmitBlock(AllocBB); in emitUserDefinedMapper()
9181 llvm::Value *AllocMapType = MapperCGF.Builder.CreateAnd( in emitUserDefinedMapper()
9183 MapperCGF.Builder.getInt64( in emitUserDefinedMapper()
9187 MapperCGF.Builder.CreateBr(EndBB); in emitUserDefinedMapper()
9188 MapperCGF.EmitBlock(AllocElseBB); in emitUserDefinedMapper()
9189 llvm::Value *IsTo = MapperCGF.Builder.CreateICmpEQ( in emitUserDefinedMapper()
9191 MapperCGF.Builder.getInt64( in emitUserDefinedMapper()
9194 MapperCGF.Builder.CreateCondBr(IsTo, ToBB, ToElseBB); in emitUserDefinedMapper()
9196 MapperCGF.EmitBlock(ToBB); in emitUserDefinedMapper()
9197 llvm::Value *ToMapType = MapperCGF.Builder.CreateAnd( in emitUserDefinedMapper()
9199 MapperCGF.Builder.getInt64( in emitUserDefinedMapper()
9202 MapperCGF.Builder.CreateBr(EndBB); in emitUserDefinedMapper()
9203 MapperCGF.EmitBlock(ToElseBB); in emitUserDefinedMapper()
9204 llvm::Value *IsFrom = MapperCGF.Builder.CreateICmpEQ( in emitUserDefinedMapper()
9206 MapperCGF.Builder.getInt64( in emitUserDefinedMapper()
9209 MapperCGF.Builder.CreateCondBr(IsFrom, FromBB, EndBB); in emitUserDefinedMapper()
9211 MapperCGF.EmitBlock(FromBB); in emitUserDefinedMapper()
9212 llvm::Value *FromMapType = MapperCGF.Builder.CreateAnd( in emitUserDefinedMapper()
9214 MapperCGF.Builder.getInt64( in emitUserDefinedMapper()
9218 MapperCGF.EmitBlock(EndBB); in emitUserDefinedMapper()
9221 MapperCGF.Builder.CreatePHI(CGM.Int64Ty, 4, "omp.maptype"); in emitUserDefinedMapper()
9234 MapperCGF.EmitNounwindRuntimeCall(MapperFunc, OffloadingArgs); in emitUserDefinedMapper()
9238 MapperCGF.EmitRuntimeCall( in emitUserDefinedMapper()
9247 llvm::Value *PtrNext = MapperCGF.Builder.CreateConstGEP1_32( in emitUserDefinedMapper()
9251 MapperCGF.Builder.CreateICmpEQ(PtrNext, PtrEnd, "omp.arraymap.isdone"); in emitUserDefinedMapper()
9252 llvm::BasicBlock *ExitBB = MapperCGF.createBasicBlock("omp.arraymap.exit"); in emitUserDefinedMapper()
9253 MapperCGF.Builder.CreateCondBr(IsDone, ExitBB, BodyBB); in emitUserDefinedMapper()
9255 MapperCGF.EmitBlock(ExitBB); in emitUserDefinedMapper()
9258 emitUDMapperArrayInitOrDel(MapperCGF, Handle, BaseIn, BeginIn, Size, MapType, in emitUserDefinedMapper()
9262 MapperCGF.EmitBlock(DoneBB, /*IsFinished=*/true); in emitUserDefinedMapper()
9263 MapperCGF.FinishFunction(); in emitUserDefinedMapper()
9278 CodeGenFunction &MapperCGF, llvm::Value *Handle, llvm::Value *Base, in emitUDMapperArrayInitOrDel() argument
9286 MapperCGF.createBasicBlock(getName({"omp.array", Prefix})); in emitUDMapperArrayInitOrDel()
9287 llvm::Value *IsArray = MapperCGF.Builder.CreateICmpSGT( in emitUDMapperArrayInitOrDel()
9288 Size, MapperCGF.Builder.getInt64(1), "omp.arrayinit.isarray"); in emitUDMapperArrayInitOrDel()
9289 llvm::Value *DeleteBit = MapperCGF.Builder.CreateAnd( in emitUDMapperArrayInitOrDel()
9291 MapperCGF.Builder.getInt64( in emitUDMapperArrayInitOrDel()
9298 llvm::Value *BaseIsBegin = MapperCGF.Builder.CreateICmpNE(Base, Begin); in emitUDMapperArrayInitOrDel()
9300 llvm::Value *PtrAndObjBit = MapperCGF.Builder.CreateAnd( in emitUDMapperArrayInitOrDel()
9302 MapperCGF.Builder.getInt64( in emitUDMapperArrayInitOrDel()
9305 PtrAndObjBit = MapperCGF.Builder.CreateIsNotNull(PtrAndObjBit); in emitUDMapperArrayInitOrDel()
9306 BaseIsBegin = MapperCGF.Builder.CreateAnd(BaseIsBegin, PtrAndObjBit); in emitUDMapperArrayInitOrDel()
9307 Cond = MapperCGF.Builder.CreateOr(IsArray, BaseIsBegin); in emitUDMapperArrayInitOrDel()
9308 DeleteCond = MapperCGF.Builder.CreateIsNull( in emitUDMapperArrayInitOrDel()
9312 DeleteCond = MapperCGF.Builder.CreateIsNotNull( in emitUDMapperArrayInitOrDel()
9315 Cond = MapperCGF.Builder.CreateAnd(Cond, DeleteCond); in emitUDMapperArrayInitOrDel()
9316 MapperCGF.Builder.CreateCondBr(Cond, BodyBB, ExitBB); in emitUDMapperArrayInitOrDel()
9318 MapperCGF.EmitBlock(BodyBB); in emitUDMapperArrayInitOrDel()
9321 llvm::Value *ArraySize = MapperCGF.Builder.CreateNUWMul( in emitUDMapperArrayInitOrDel()
9322 Size, MapperCGF.Builder.getInt64(ElementSize.getQuantity())); in emitUDMapperArrayInitOrDel()
9325 llvm::Value *MapTypeArg = MapperCGF.Builder.CreateAnd( in emitUDMapperArrayInitOrDel()
9327 MapperCGF.Builder.getInt64( in emitUDMapperArrayInitOrDel()
9331 MapTypeArg = MapperCGF.Builder.CreateOr( in emitUDMapperArrayInitOrDel()
9333 MapperCGF.Builder.getInt64( in emitUDMapperArrayInitOrDel()
9341 MapperCGF.EmitRuntimeCall( in emitUDMapperArrayInitOrDel()