27 const auto *md = cast<CXXMethodDecl>(cgf.
curGD.
getDecl());
35 params.push_back(thisDecl);
59 mlir::Value thisPtr) {
61 assert(
getThisDecl(cgf) &&
"no 'this' variable for function");
mlir::Value getPointer() const
mlir::Type getElementType() const
clang::ImplicitParamDecl * getThisDecl(CIRGenFunction &cgf)
void setCXXABIThisValue(CIRGenFunction &cgf, mlir::Value thisPtr)
mlir::Value loadIncomingCXXThis(CIRGenFunction &cgf)
Loads the incoming C++ this pointer as it was passed by the caller.
virtual cir::GlobalLinkageKind getCXXDestructorLinkage(GVALinkage linkage, const CXXDestructorDecl *dtor, CXXDtorType dt) const
void buildThisParam(CIRGenFunction &cgf, FunctionArgList ¶ms)
Build a parameter variable suitable for 'this'.
clang::GlobalDecl curGD
The GlobalDecl for the current function being compiled or the global variable currently being initial...
ImplicitParamDecl * cxxabiThisDecl
CXXThisDecl - When generating code for a C++ member function, this will hold the implicit 'this' decl...
Address getAddrOfLocalVar(const clang::VarDecl *vd)
Return the address of a local variable.
mlir::Location getLoc(clang::SourceLocation srcLoc)
Helpers to convert Clang's SourceLocation to a MLIR Location.
CIRGenBuilderTy & getBuilder()
mlir::Value cxxabiThisValue
clang::ASTContext & getASTContext() const
cir::GlobalLinkageKind getCIRLinkageForDeclarator(const DeclaratorDecl *dd, GVALinkage linkage, bool isConstantVariable)
Type for representing both the decl and type of parameters to a function.
Represents a C++ destructor within a class.
SourceLocation getLocation() const
const Decl * getDecl() const
IdentifierInfo & get(StringRef Name)
Return the identifier token info for the specified named identifier.
static ImplicitParamDecl * Create(ASTContext &C, DeclContext *DC, SourceLocation IdLoc, IdentifierInfo *Id, QualType T, ImplicitParamKind ParamKind)
Create implicit parameter.
The JSON file list parser is used to communicate input to InstallAPI.
GVALinkage
A more specific kind of linkage than enum Linkage.
CXXDtorType
C++ destructor types.
@ CXXThis
Parameter for C++ 'this' argument.
static bool cxxabiThisAlignment()