9#ifndef LLVM_CLANG_CODEGENUTILS_CODEGENUTILS_H
10#define LLVM_CLANG_CODEGENUTILS_CODEGENUTILS_H
26 const CXXDestructorDecl *Dtor);
45bool isAAPCS(
const TargetInfo &TargetInfo);
53 const LangOptions &LangOpts,
const CallExpr *E,
54 const FunctionDecl *Caller,
55 const FunctionDecl *TargetDecl);
59 const LangOptions &LangOpts, SourceLocation Loc,
60 const FunctionDecl *Caller,
61 const FunctionDecl *TargetDecl);
Defines the clang::ASTContext interface.
Defines the clang::SourceLocation class and associated facilities.
CallExpr - Represents a function call (C99 6.5.2.2, C++ [expr.call]).
Concrete class used by the front-end to report problems and issues.
Represents a function declaration or definition.
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
bool isAAPCS(const TargetInfo &TargetInfo)
Helper method to check if the underlying ABI is AAPCS.
bool isInitializerOfDynamicClass(const CXXCtorInitializer *BaseInit)
bool canSkipVTablePointerInitialization(ASTContext &Ctx, const CXXDestructorDecl *Dtor)
Check whether we need to initialize any vtable pointers before calling this destructor.
bool fieldHasTrivialDestructorBody(ASTContext &Context, const FieldDecl *Field)
Check whether destructing Field has no observable behaviors, and thus can be skipped when creating a ...
bool hasUnwindExceptions(const LangOptions &LangOpts)
Determines whether the language options require us to model unwind exceptions.
void checkTargetFeatures(ASTContext &Ctx, DiagnosticsEngine &Diags, const LangOptions &LangOpts, const CallExpr *E, const FunctionDecl *Caller, const FunctionDecl *TargetDecl)
Check that a call to a target-specific builtin has the required target features enabled in the caller...
Top level wrappers for InstallAPI frontend operations.