reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
 8874   MapperCGF.StartFunction(GlobalDecl(), C.VoidTy, Fn, FnInfo, Args, Loc, Loc);
 8876   llvm::Value *Size = MapperCGF.EmitLoadOfScalar(
 8877       MapperCGF.GetAddrOfLocalVar(&SizeArg), /*Volatile=*/false,
 8879   llvm::Value *PtrBegin = MapperCGF.Builder.CreateBitCast(
 8880       MapperCGF.GetAddrOfLocalVar(&BeginArg).getPointer(),
 8882   llvm::Value *PtrEnd = MapperCGF.Builder.CreateGEP(PtrBegin, Size);
 8883   llvm::Value *MapType = MapperCGF.EmitLoadOfScalar(
 8884       MapperCGF.GetAddrOfLocalVar(&TypeArg), /*Volatile=*/false,
 8887   llvm::Value *Handle = MapperCGF.EmitLoadOfScalar(
 8888       MapperCGF.GetAddrOfLocalVar(&HandleArg),
 8890   llvm::Value *BaseIn = MapperCGF.EmitLoadOfScalar(
 8891       MapperCGF.GetAddrOfLocalVar(&BaseArg),
 8893   llvm::Value *BeginIn = MapperCGF.EmitLoadOfScalar(
 8894       MapperCGF.GetAddrOfLocalVar(&BeginArg),
 8899   llvm::BasicBlock *HeadBB = MapperCGF.createBasicBlock("omp.arraymap.head");
 8900   emitUDMapperArrayInitOrDel(MapperCGF, Handle, BaseIn, BeginIn, Size, MapType,
 8906   MapperCGF.EmitBlock(HeadBB);
 8907   llvm::BasicBlock *BodyBB = MapperCGF.createBasicBlock("omp.arraymap.body");
 8908   llvm::BasicBlock *DoneBB = MapperCGF.createBasicBlock("omp.done");
 8911       MapperCGF.Builder.CreateICmpEQ(PtrBegin, PtrEnd, "omp.arraymap.isempty");
 8912   MapperCGF.Builder.CreateCondBr(IsEmpty, DoneBB, BodyBB);
 8913   llvm::BasicBlock *EntryBB = MapperCGF.Builder.GetInsertBlock();
 8916   MapperCGF.EmitBlock(BodyBB);
 8917   llvm::PHINode *PtrPHI = MapperCGF.Builder.CreatePHI(
 8921       Address(PtrPHI, MapperCGF.GetAddrOfLocalVar(&BeginArg)
 8925   CodeGenFunction::OMPPrivateScope Scope(MapperCGF);
 8926   Scope.addPrivate(MapperVarDecl, [&MapperCGF, PtrCurrent, PtrTy]() {
 8927     return MapperCGF
 8938   MappableExprsHandler MEHandler(*D, MapperCGF);
 8944   llvm::Value *PreviousSize = MapperCGF.EmitRuntimeCall(
 8946   llvm::Value *ShiftedPreviousSize = MapperCGF.Builder.CreateShl(
 8948       MapperCGF.Builder.getInt64(MappableExprsHandler::getFlagMemberOffset()));
 8952     llvm::Value *CurBaseArg = MapperCGF.Builder.CreateBitCast(
 8954     llvm::Value *CurBeginArg = MapperCGF.Builder.CreateBitCast(
 8959     llvm::BasicBlock *MemberBB = MapperCGF.createBasicBlock("omp.member");
 8960     MapperCGF.EmitBlock(MemberBB);
 8961     llvm::Value *OriMapType = MapperCGF.Builder.getInt64(MapTypes[I]);
 8962     llvm::Value *Member = MapperCGF.Builder.CreateAnd(
 8964         MapperCGF.Builder.getInt64(MappableExprsHandler::OMP_MAP_MEMBER_OF));
 8966         MapperCGF.createBasicBlock("omp.member.combine");
 8967     llvm::BasicBlock *TypeBB = MapperCGF.createBasicBlock("omp.type");
 8968     llvm::Value *IsMember = MapperCGF.Builder.CreateIsNull(Member);
 8969     MapperCGF.Builder.CreateCondBr(IsMember, TypeBB, MemberCombineBB);
 8972     MapperCGF.EmitBlock(MemberCombineBB);
 8974         MapperCGF.Builder.CreateNUWAdd(OriMapType, ShiftedPreviousSize);
 8976     MapperCGF.EmitBlock(TypeBB);
 8978         MapperCGF.Builder.CreatePHI(CGM.Int64Ty, 4, "omp.membermaptype");
 8994     llvm::Value *LeftToFrom = MapperCGF.Builder.CreateAnd(
 8996         MapperCGF.Builder.getInt64(MappableExprsHandler::OMP_MAP_TO |
 8998     llvm::BasicBlock *AllocBB = MapperCGF.createBasicBlock("omp.type.alloc");
 9000         MapperCGF.createBasicBlock("omp.type.alloc.else");
 9001     llvm::BasicBlock *ToBB = MapperCGF.createBasicBlock("omp.type.to");
 9002     llvm::BasicBlock *ToElseBB = MapperCGF.createBasicBlock("omp.type.to.else");
 9003     llvm::BasicBlock *FromBB = MapperCGF.createBasicBlock("omp.type.from");
 9004     llvm::BasicBlock *EndBB = MapperCGF.createBasicBlock("omp.type.end");
 9005     llvm::Value *IsAlloc = MapperCGF.Builder.CreateIsNull(LeftToFrom);
 9006     MapperCGF.Builder.CreateCondBr(IsAlloc, AllocBB, AllocElseBB);
 9008     MapperCGF.EmitBlock(AllocBB);
 9009     llvm::Value *AllocMapType = MapperCGF.Builder.CreateAnd(
 9011         MapperCGF.Builder.getInt64(~(MappableExprsHandler::OMP_MAP_TO |
 9013     MapperCGF.Builder.CreateBr(EndBB);
 9014     MapperCGF.EmitBlock(AllocElseBB);
 9015     llvm::Value *IsTo = MapperCGF.Builder.CreateICmpEQ(
 9017         MapperCGF.Builder.getInt64(MappableExprsHandler::OMP_MAP_TO));
 9018     MapperCGF.Builder.CreateCondBr(IsTo, ToBB, ToElseBB);
 9020     MapperCGF.EmitBlock(ToBB);
 9021     llvm::Value *ToMapType = MapperCGF.Builder.CreateAnd(
 9023         MapperCGF.Builder.getInt64(~MappableExprsHandler::OMP_MAP_FROM));
 9024     MapperCGF.Builder.CreateBr(EndBB);
 9025     MapperCGF.EmitBlock(ToElseBB);
 9026     llvm::Value *IsFrom = MapperCGF.Builder.CreateICmpEQ(
 9028         MapperCGF.Builder.getInt64(MappableExprsHandler::OMP_MAP_FROM));
 9029     MapperCGF.Builder.CreateCondBr(IsFrom, FromBB, EndBB);
 9031     MapperCGF.EmitBlock(FromBB);
 9032     llvm::Value *FromMapType = MapperCGF.Builder.CreateAnd(
 9034         MapperCGF.Builder.getInt64(~MappableExprsHandler::OMP_MAP_TO));
 9036     MapperCGF.EmitBlock(EndBB);
 9038         MapperCGF.Builder.CreatePHI(CGM.Int64Ty, 4, "omp.maptype");
 9050     MapperCGF.EmitRuntimeCall(
 9057   llvm::Value *PtrNext = MapperCGF.Builder.CreateConstGEP1_32(
 9061       MapperCGF.Builder.CreateICmpEQ(PtrNext, PtrEnd, "omp.arraymap.isdone");
 9062   llvm::BasicBlock *ExitBB = MapperCGF.createBasicBlock("omp.arraymap.exit");
 9063   MapperCGF.Builder.CreateCondBr(IsDone, ExitBB, BodyBB);
 9065   MapperCGF.EmitBlock(ExitBB);
 9068   emitUDMapperArrayInitOrDel(MapperCGF, Handle, BaseIn, BeginIn, Size, MapType,
 9072   MapperCGF.EmitBlock(DoneBB, /*IsFinished=*/true);
 9073   MapperCGF.FinishFunction();