Lines Matching defs:FD
325 static void GenOpenCLArgMetadata(const FunctionDecl *FD, llvm::Function *Fn,
353 for (unsigned i = 0, e = FD->getNumParams(); i != e; ++i) {
354 const ParmVarDecl *parm = FD->getParamDecl(i);
426 void CodeGenFunction::EmitOpenCLKernelMetadata(const FunctionDecl *FD,
429 if (!FD->hasAttr<OpenCLKernelAttr>())
438 GenOpenCLArgMetadata(FD, Fn, CGM, Context, kernelMDArgs,
441 if (FD->hasAttr<VecTypeHintAttr>()) {
442 VecTypeHintAttr *attr = FD->getAttr<VecTypeHintAttr>();
458 if (FD->hasAttr<WorkGroupSizeHintAttr>()) {
459 WorkGroupSizeHintAttr *attr = FD->getAttr<WorkGroupSizeHintAttr>();
469 if (FD->hasAttr<ReqdWorkGroupSizeAttr>()) {
470 ReqdWorkGroupSizeAttr *attr = FD->getAttr<ReqdWorkGroupSizeAttr>();
510 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
511 for (FunctionDecl::redecl_iterator RI = FD->redecls_begin(),
512 RE = FD->redecls_end(); RI != RE; ++RI)
520 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
521 EmitOpenCLKernelMetadata(FD, Fn);
630 const FunctionDecl *FD = cast<FunctionDecl>(CurGD.getDecl());
631 assert(FD->getBody());
632 if (const CompoundStmt *S = dyn_cast<CompoundStmt>(FD->getBody()))
635 EmitStmt(FD->getBody());
660 const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
663 if (!FD->hasAttr<NoDebugAttr>())
667 QualType ResTy = FD->getResultType();
671 if ((MD = dyn_cast<CXXMethodDecl>(FD)) && MD->isInstance()) {
677 for (unsigned i = 0, e = FD->getNumParams(); i != e; ++i)
678 Args.push_back(FD->getParamDecl(i));
681 if (Stmt *Body = FD->getBody()) BodyRange = Body->getSourceRange();
688 if (isa<CXXDestructorDecl>(FD))
690 else if (isa<CXXConstructorDecl>(FD))
694 FD->hasAttr<CUDAGlobalAttr>())
696 else if (isa<CXXConversionDecl>(FD) &&
697 cast<CXXConversionDecl>(FD)->isLambdaToBlockPointerConversion()) {
701 } else if (isa<CXXMethodDecl>(FD) &&
702 cast<CXXMethodDecl>(FD)->isLambdaStaticInvoker()) {
705 EmitLambdaStaticInvokeFunction(cast<CXXMethodDecl>(FD));
706 } else if (FD->isDefaulted() && isa<CXXMethodDecl>(FD) &&
707 cast<CXXMethodDecl>(FD)->isCopyAssignmentOperator()) {
721 if (getLangOpts().CPlusPlus && !FD->hasImplicitReturnZero() &&
722 !FD->getResultType()->isVoidType() && Builder.GetInsertBlock()) {
725 EmitCheckSourceLocation(FD->getLocation()),