Lines Matching defs:OMD

686     const ObjCMethodDecl *OMD = cast<ObjCMethodDecl>(CurFuncDecl);
687 bool isCategoryImpl = isa<ObjCCategoryImplDecl>(OMD->getDeclContext());
690 OMD->getClassInterface(),
752 void CodeGenFunction::StartObjCMethod(const ObjCMethodDecl *OMD,
754 SourceLocation StartLoc = OMD->getBeginLoc();
757 if (OMD->hasAttr<NoDebugAttr>())
760 llvm::Function *Fn = CGM.getObjCRuntime().GenerateMethod(OMD, CD);
762 const CGFunctionInfo &FI = CGM.getTypes().arrangeObjCMethodDeclaration(OMD);
763 if (OMD->isDirectMethod()) {
765 CGM.SetLLVMFunctionAttributes(OMD, FI, Fn, /*IsThunk=*/false);
766 CGM.SetLLVMFunctionAttributesForDefinition(OMD, Fn);
768 CGM.SetInternalFunctionAttributes(OMD, Fn, FI);
771 args.push_back(OMD->getSelfDecl());
772 if (!OMD->isDirectMethod())
773 args.push_back(OMD->getCmdDecl());
775 args.append(OMD->param_begin(), OMD->param_end());
777 CurGD = OMD;
778 CurEHLocation = OMD->getEndLoc();
780 StartFunction(OMD, OMD->getReturnType(), Fn, FI, args,
781 OMD->getLocation(), StartLoc);
783 if (OMD->isDirectMethod()) {
788 CGM.getObjCRuntime().GenerateDirectMethodPrologue(*this, Fn, OMD, CD);
793 OMD->isInstanceMethod() &&
794 OMD->getSelector().isUnarySelector()) {
796 OMD->getSelector().getIdentifierInfoForSlot(0);
807 void CodeGenFunction::GenerateObjCMethod(const ObjCMethodDecl *OMD) {
808 StartObjCMethod(OMD, OMD->getClassInterface());
809 PGO.assignRegionCounters(GlobalDecl(OMD), CurFn);
810 assert(isa<CompoundStmt>(OMD->getBody()));
811 incrementProfileCounter(OMD->getBody());
812 EmitCompoundStmtWithoutScope(*cast<CompoundStmt>(OMD->getBody()));
813 FinishFunction(OMD->getBodyRBrace());
1053 ObjCMethodDecl *OMD = PID->getGetterMethodDecl();
1054 assert(OMD && "Invalid call to generate getter (empty method)");
1055 StartObjCMethod(OMD, IMP->getClassInterface());
1057 generateObjCGetterBody(IMP, PID, OMD, AtomicHelperFn);
1059 FinishFunction(OMD->getEndLoc());
1324 static void emitStructSetterCall(CodeGenFunction &CGF, ObjCMethodDecl *OMD,
1338 ParmVarDecl *argVar = *OMD->param_begin();
1368 ObjCMethodDecl *OMD,
1382 ParmVarDecl *argVar = *OMD->param_begin();
1632 ObjCMethodDecl *OMD = PID->getSetterMethodDecl();
1633 assert(OMD && "Invalid call to generate setter (empty method)");
1634 StartObjCMethod(OMD, IMP->getClassInterface());
1638 FinishFunction(OMD->getEndLoc());
1753 const ObjCMethodDecl *OMD = cast<ObjCMethodDecl>(CurFuncDecl);
1754 ImplicitParamDecl *selfDecl = OMD->getSelfDecl();