Lines Matching refs:VD
171 const ValueDecl *VD = Pair.second; in buildRecordForGlobalizedVars() local
172 QualType Type = VD->getType(); in buildRecordForGlobalizedVars()
177 SourceLocation Loc = VD->getLocation(); in buildRecordForGlobalizedVars()
179 if (SingleEscaped.count(VD)) { in buildRecordForGlobalizedVars()
181 C, GlobalizedRD, Loc, Loc, VD->getIdentifier(), Type, in buildRecordForGlobalizedVars()
186 if (VD->hasAttrs()) { in buildRecordForGlobalizedVars()
187 for (specific_attr_iterator<AlignedAttr> I(VD->getAttrs().begin()), in buildRecordForGlobalizedVars()
188 E(VD->getAttrs().end()); in buildRecordForGlobalizedVars()
197 C, GlobalizedRD, Loc, Loc, VD->getIdentifier(), Type, in buildRecordForGlobalizedVars()
202 llvm::APInt Align(32, std::max(C.getDeclAlign(VD).getQuantity(), in buildRecordForGlobalizedVars()
213 MappedDeclsFields.try_emplace(VD, Field); in buildRecordForGlobalizedVars()
231 void markAsEscaped(const ValueDecl *VD) { in markAsEscaped() argument
233 if (!isa<VarDecl>(VD) || in markAsEscaped()
234 OMPDeclareTargetDeclAttr::isDeclareTargetDeclaration(VD)) in markAsEscaped()
236 VD = cast<ValueDecl>(VD->getCanonicalDecl()); in markAsEscaped()
238 if (VD->hasAttrs() && VD->hasAttr<OMPAllocateDeclAttr>()) in markAsEscaped()
242 if (const FieldDecl *FD = CSI->lookup(cast<VarDecl>(VD))) { in markAsEscaped()
258 assert(!VD->getType()->isVariablyModifiedType() && in markAsEscaped()
260 EscapedParameters.insert(VD); in markAsEscaped()
268 VD->getType()->isReferenceType()) in markAsEscaped()
271 if (VD->getType()->isVariablyModifiedType()) in markAsEscaped()
272 EscapedVariableLengthDecls.insert(VD); in markAsEscaped()
274 EscapedDecls.insert(VD); in markAsEscaped()
277 void VisitValueDecl(const ValueDecl *VD) { in VisitValueDecl() argument
278 if (VD->getType()->isLValueReferenceType()) in VisitValueDecl()
279 markAsEscaped(VD); in VisitValueDecl()
280 if (const auto *VarD = dyn_cast<VarDecl>(VD)) { in VisitValueDecl()
283 AllEscaped = VD->getType()->isLValueReferenceType(); in VisitValueDecl()
296 const ValueDecl *VD = C.getCapturedVar(); in VisitOpenMPCapturedStmt() local
319 if (D == VD->getCanonicalDecl()) { in VisitOpenMPCapturedStmt()
328 markAsEscaped(VD); in VisitOpenMPCapturedStmt()
329 if (isa<OMPCapturedExprDecl>(VD)) in VisitOpenMPCapturedStmt()
330 VisitValueDecl(VD); in VisitOpenMPCapturedStmt()
360 if (const auto *VD = dyn_cast_or_null<ValueDecl>(D)) in VisitDeclStmt() local
361 VisitValueDecl(VD); in VisitDeclStmt()
389 const ValueDecl *VD = C.getCapturedVar(); in VisitCapturedStmt() local
390 markAsEscaped(VD); in VisitCapturedStmt()
391 if (isa<OMPCapturedExprDecl>(VD)) in VisitCapturedStmt()
392 VisitValueDecl(VD); in VisitCapturedStmt()
402 const ValueDecl *VD = C.getCapturedVar(); in VisitLambdaExpr() local
403 markAsEscaped(VD); in VisitLambdaExpr()
404 if (E->isInitCapture(&C) || isa<OMPCapturedExprDecl>(VD)) in VisitLambdaExpr()
405 VisitValueDecl(VD); in VisitLambdaExpr()
415 const VarDecl *VD = C.getVariable(); in VisitBlockExpr() local
416 markAsEscaped(VD); in VisitBlockExpr()
417 if (isa<OMPCapturedExprDecl>(VD) || VD->isInitCapture()) in VisitBlockExpr()
418 VisitValueDecl(VD); in VisitBlockExpr()
442 const ValueDecl *VD = E->getDecl(); in VisitDeclRefExpr() local
444 markAsEscaped(VD); in VisitDeclRefExpr()
445 if (isa<OMPCapturedExprDecl>(VD)) in VisitDeclRefExpr()
446 VisitValueDecl(VD); in VisitDeclRefExpr()
447 else if (const auto *VarD = dyn_cast<VarDecl>(VD)) in VisitDeclRefExpr()
449 VisitValueDecl(VD); in VisitDeclRefExpr()
503 const FieldDecl *getFieldForGlobalizedVar(const ValueDecl *VD) const { in getFieldForGlobalizedVar()
506 auto I = MappedDeclsFields.find(VD); in getFieldForGlobalizedVar()
1399 const auto *VD = cast<VarDecl>(Rec.first); in emitGenericVarsProlog() local
1401 QualType VarTy = VD->getType(); in emitGenericVarsProlog()
1407 CGF.MakeAddrLValue(CGF.GetAddrOfLocalVar(VD), VD->getType()); in emitGenericVarsProlog()
1412 llvm::Value *AllocArgs[] = {CGF.getTypeSize(VD->getType())}; in emitGenericVarsProlog()
1416 AllocArgs, VD->getName()); in emitGenericVarsProlog()
1425 VoidPtr, VarPtrTy, VD->getName() + "_on_stack"); in emitGenericVarsProlog()
1433 I->getSecond().MappedParams->setVarAddr(CGF, VD, VarAddr.getAddress(CGF)); in emitGenericVarsProlog()
1436 VoidPtr->setDebugLoc(DI->SourceLocToDebugLoc(VD->getLocation())); in emitGenericVarsProlog()
1438 for (const auto *VD : I->getSecond().EscapedVariableLengthDecls) { in emitGenericVarsProlog() local
1441 llvm::Value *Size = CGF.getTypeSize(VD->getType()); in emitGenericVarsProlog()
1442 CharUnits Align = CGM.getContext().getDeclAlign(VD); in emitGenericVarsProlog()
1452 llvm::Value *AllocArgs[] = {CGF.getTypeSize(VD->getType())}; in emitGenericVarsProlog()
1456 AllocArgs, VD->getName()); in emitGenericVarsProlog()
1463 {VoidPtr, CGF.getTypeSize(VD->getType())})); in emitGenericVarsProlog()
1464 LValue Base = CGF.MakeAddrLValue(VoidPtr, VD->getType(), in emitGenericVarsProlog()
1465 CGM.getContext().getDeclAlign(VD), in emitGenericVarsProlog()
1467 I->getSecond().MappedParams->setVarAddr(CGF, cast<VarDecl>(VD), in emitGenericVarsProlog()
1490 const auto *VD = cast<VarDecl>(Rec.first); in emitGenericVarsEpilog() local
1494 CGF.getTypeSize(VD->getType())}; in emitGenericVarsEpilog()
2618 const ValueDecl *VD = cast<DeclRefExpr>(Private)->getDecl(); in emitListToGlobalCopyFunction() local
2620 const FieldDecl *FD = VarFieldMap.lookup(VD); in emitListToGlobalCopyFunction()
2721 const ValueDecl *VD = cast<DeclRefExpr>(*IPriv)->getDecl(); in emitListToGlobalReduceFunction() local
2722 const FieldDecl *FD = VarFieldMap.lookup(VD); in emitListToGlobalReduceFunction()
2828 const ValueDecl *VD = cast<DeclRefExpr>(Private)->getDecl(); in emitGlobalToListCopyFunction() local
2830 const FieldDecl *FD = VarFieldMap.lookup(VD); in emitGlobalToListCopyFunction()
2931 const ValueDecl *VD = cast<DeclRefExpr>(*IPriv)->getDecl(); in emitGlobalToListReduceFunction() local
2932 const FieldDecl *FD = VarFieldMap.lookup(VD); in emitGlobalToListReduceFunction()
3658 for (const ValueDecl *VD : VarChecker.getEscapedDecls()) { in emitFunctionProlog() local
3659 assert(VD->isCanonicalDecl() && "Expected canonical declaration"); in emitFunctionProlog()
3660 Data.insert(std::make_pair(VD, MappedVarData())); in emitFunctionProlog()
3667 for (const ValueDecl *VD : VarChecker.getEscapedDecls()) { in emitFunctionProlog() local
3668 assert(VD->isCanonicalDecl() && "Expected canonical declaration"); in emitFunctionProlog()
3669 Data.insert(std::make_pair(VD, MappedVarData())); in emitFunctionProlog()
3687 const VarDecl *VD) { in getAddressOfLocalVariable() argument
3688 if (VD && VD->hasAttr<OMPAllocateDeclAttr>()) { in getAddressOfLocalVariable()
3689 const auto *A = VD->getAttr<OMPAllocateDeclAttr>(); in getAddressOfLocalVariable()
3714 llvm::Type *VarTy = CGF.ConvertTypeForMem(VD->getType()); in getAddressOfLocalVariable()
3718 VD->getName(), in getAddressOfLocalVariable()
3721 CharUnits Align = CGM.getContext().getDeclAlign(VD); in getAddressOfLocalVariable()
3726 VD->getType().getAddressSpace()))), in getAddressOfLocalVariable()
3733 VD = VD->getCanonicalDecl(); in getAddressOfLocalVariable()
3737 auto VDI = I->getSecond().LocalVarData.find(VD); in getAddressOfLocalVariable()
3740 if (VD->hasAttrs()) { in getAddressOfLocalVariable()
3741 for (specific_attr_iterator<OMPReferencedVarAttr> IT(VD->attr_begin()), in getAddressOfLocalVariable()
3742 E(VD->attr_end()); in getAddressOfLocalVariable()
3799 const VarDecl *VD = C.getCapturedVar(); in adjustTargetSpecificDataForLambdas() local
3800 const auto *RD = VD->getType() in adjustTargetSpecificDataForLambdas()
3806 Address VDAddr = CGF.GetAddrOfLocalVar(VD); in adjustTargetSpecificDataForLambdas()
3808 if (VD->getType().getCanonicalType()->isReferenceType()) in adjustTargetSpecificDataForLambdas()
3809 VDLVal = CGF.EmitLoadOfReferenceLValue(VDAddr, VD->getType()); in adjustTargetSpecificDataForLambdas()
3812 VDAddr, VD->getType().getCanonicalType().getNonReferenceType()); in adjustTargetSpecificDataForLambdas()
3825 const VarDecl *VD = LC.getCapturedVar(); in adjustTargetSpecificDataForLambdas() local
3826 if (!CS->capturesVariable(VD)) in adjustTargetSpecificDataForLambdas()
3828 auto It = Captures.find(VD); in adjustTargetSpecificDataForLambdas()
3831 Address VDAddr = CGF.GetAddrOfLocalVar(VD); in adjustTargetSpecificDataForLambdas()
3832 if (VD->getType().getCanonicalType()->isReferenceType()) in adjustTargetSpecificDataForLambdas()
3834 VD->getType().getCanonicalType()) in adjustTargetSpecificDataForLambdas()
3841 bool CGOpenMPRuntimeGPU::hasAllocateAttributeForGlobalVar(const VarDecl *VD, in hasAllocateAttributeForGlobalVar() argument
3843 if (!VD || !VD->hasAttr<OMPAllocateDeclAttr>()) in hasAllocateAttributeForGlobalVar()
3845 const auto *A = VD->getAttr<OMPAllocateDeclAttr>(); in hasAllocateAttributeForGlobalVar()