Lines Matching refs:virtual
77 virtual bool requiresArrayCookie(const CXXDeleteExpr *E, QualType eltType);
78 virtual bool requiresArrayCookie(const CXXNewExpr *E);
82 virtual ~CGCXXABI();
95 virtual bool HasThisReturn(GlobalDecl GD) const { return false; } in HasThisReturn()
97 virtual bool hasMostDerivedReturn(GlobalDecl GD) const { return false; } in hasMostDerivedReturn()
101 virtual bool classifyReturnType(CGFunctionInfo &FI) const = 0;
123 virtual RecordArgABI getRecordArgABI(const CXXRecordDecl *RD) const = 0;
127 virtual bool isSRetParameterAfterThis() const { return false; } in isSRetParameterAfterThis()
131 virtual llvm::Type *
137 virtual llvm::Value *EmitLoadOfMemberFunctionPointer(
142 virtual llvm::Value *
149 virtual llvm::Value *EmitMemberPointerConversion(CodeGenFunction &CGF,
155 virtual llvm::Constant *EmitMemberPointerConversion(const CastExpr *E,
160 virtual bool isZeroInitializable(const MemberPointerType *MPT);
163 virtual bool isMemberPointerConvertible(const MemberPointerType *MPT) const { in isMemberPointerConvertible()
167 virtual bool isTypeInfoCalculable(QualType Ty) const { in isTypeInfoCalculable()
172 virtual llvm::Constant *EmitNullMemberPointer(const MemberPointerType *MPT);
175 virtual llvm::Constant *EmitMemberPointer(const CXXMethodDecl *MD);
178 virtual llvm::Constant *EmitMemberDataPointer(const MemberPointerType *MPT,
182 virtual llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT);
185 virtual llvm::Value *
193 virtual llvm::Value *
213 virtual void emitVirtualObjectDelete(CodeGenFunction &CGF,
217 virtual void emitRethrow(CodeGenFunction &CGF, bool isNoReturn) = 0;
218 virtual void emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) = 0;
219 virtual llvm::GlobalVariable *getThrowInfo(QualType T) { return nullptr; } in getThrowInfo()
221 virtual void emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) = 0;
223 virtual llvm::CallInst *
227 virtual llvm::Constant *getAddrOfRTTIDescriptor(QualType Ty) = 0;
228 virtual llvm::Constant *
231 virtual bool shouldTypeidBeNullChecked(bool IsDeref,
233 virtual void EmitBadTypeidCall(CodeGenFunction &CGF) = 0;
234 virtual llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy,
238 virtual bool shouldDynamicCastCallBeNullChecked(bool SrcIsPtr,
241 virtual llvm::Value *
246 virtual llvm::Value *EmitDynamicCastToVoid(CodeGenFunction &CGF,
251 virtual bool EmitBadCastCall(CodeGenFunction &CGF) = 0;
253 virtual llvm::Value *GetVirtualBaseClassOffset(CodeGenFunction &CGF,
258 virtual llvm::BasicBlock *EmitCtorCompleteObjectHandler(CodeGenFunction &CGF,
263 virtual void
268 virtual void EmitCXXConstructors(const CXXConstructorDecl *D) = 0;
273 virtual void buildStructorSignature(const CXXMethodDecl *MD, StructorType T,
279 virtual bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor,
283 virtual void EmitCXXDestructors(const CXXDestructorDecl *D) = 0;
289 virtual const CXXRecordDecl *
297 virtual llvm::Value *
314 virtual void addImplicitStructorParams(CodeGenFunction &CGF, QualType &ResTy,
319 virtual llvm::Value *adjustThisParameterInVirtualFunctionPrologue( in adjustThisParameterInVirtualFunctionPrologue()
325 virtual void EmitInstanceFunctionProlog(CodeGenFunction &CGF) = 0;
331 virtual unsigned
337 virtual void EmitDestructorCall(CodeGenFunction &CGF,
343 virtual void emitVTableDefinitions(CodeGenVTables &CGVT,
350 virtual llvm::Value *getVTableAddressPointInStructor(
356 virtual llvm::Constant *
362 virtual llvm::GlobalVariable *getAddrOfVTable(const CXXRecordDecl *RD,
366 virtual llvm::Value *getVirtualFunctionPointer(CodeGenFunction &CGF,
372 virtual llvm::Value *
377 virtual void adjustCallArgsForDestructorThunk(CodeGenFunction &CGF, in adjustCallArgsForDestructorThunk()
384 virtual void emitVirtualInheritanceTables(const CXXRecordDecl *RD) = 0;
386 virtual void setThunkLinkage(llvm::Function *Thunk, bool ForVTable,
389 virtual llvm::Value *performThisAdjustment(CodeGenFunction &CGF,
393 virtual llvm::Value *performReturnAdjustment(CodeGenFunction &CGF,
397 virtual void EmitReturnFromThunk(CodeGenFunction &CGF,
400 virtual size_t getSrcArgforCopyCtor(const CXXConstructorDecl *,
404 virtual StringRef GetPureVirtualCallName() = 0;
407 virtual StringRef GetDeletedVirtualCallName() = 0;
420 virtual CharUnits GetArrayCookieSize(const CXXNewExpr *expr);
431 virtual llvm::Value *InitializeArrayCookie(CodeGenFunction &CGF,
450 virtual void ReadArrayCookie(CodeGenFunction &CGF, llvm::Value *Ptr,
456 virtual bool NeedsVTTParameter(GlobalDecl GD);
462 virtual CharUnits getArrayCookieSizeImpl(QualType elementType);
473 virtual llvm::Value *readArrayCookieImpl(CodeGenFunction &IGF,
489 virtual void EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D,
498 virtual void registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
513 virtual void EmitThreadLocalInitFuncs(
522 virtual bool usesThreadWrapperFunction() const = 0;
527 virtual LValue EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF,
533 virtual void emitCXXStructor(const CXXMethodDecl *MD, StructorType Type) = 0;