clang 20.0.0git
Public Member Functions | Protected Attributes | List of all members
cir::CIRGenerator Class Reference

#include "clang/CIR/CIRGenerator.h"

Inheritance diagram for cir::CIRGenerator:
Inheritance graph
[legend]

Public Member Functions

 CIRGenerator (clang::DiagnosticsEngine &diags, llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > fs, const clang::CodeGenOptions &cgo)
 
 ~CIRGenerator () override
 
void Initialize (clang::ASTContext &astContext) override
 Initialize - This is called to initialize the consumer, providing the ASTContext.
 
bool HandleTopLevelDecl (clang::DeclGroupRef group) override
 HandleTopLevelDecl - Handle the specified top-level declaration.
 
mlir::ModuleOp getModule () const
 
- Public Member Functions inherited from clang::ASTConsumer
 ASTConsumer ()=default
 
virtual ~ASTConsumer ()
 
virtual void Initialize (ASTContext &Context)
 Initialize - This is called to initialize the consumer, providing the ASTContext.
 
virtual bool HandleTopLevelDecl (DeclGroupRef D)
 HandleTopLevelDecl - Handle the specified top-level declaration.
 
virtual void HandleInlineFunctionDefinition (FunctionDecl *D)
 This callback is invoked each time an inline (method or friend) function definition in a class is completed.
 
virtual void HandleInterestingDecl (DeclGroupRef D)
 HandleInterestingDecl - Handle the specified interesting declaration.
 
virtual void HandleTranslationUnit (ASTContext &Ctx)
 HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been parsed.
 
virtual void HandleTagDeclDefinition (TagDecl *D)
 HandleTagDeclDefinition - This callback is invoked each time a TagDecl (e.g.
 
virtual void HandleTagDeclRequiredDefinition (const TagDecl *D)
 This callback is invoked the first time each TagDecl is required to be complete.
 
virtual void HandleCXXImplicitFunctionInstantiation (FunctionDecl *D)
 Invoked when a function is implicitly instantiated.
 
virtual void HandleTopLevelDeclInObjCContainer (DeclGroupRef D)
 Handle the specified top-level declaration that occurred inside and ObjC container.
 
virtual void HandleImplicitImportDecl (ImportDecl *D)
 Handle an ImportDecl that was implicitly created due to an inclusion directive.
 
virtual void CompleteTentativeDefinition (VarDecl *D)
 CompleteTentativeDefinition - Callback invoked at the end of a translation unit to notify the consumer that the given tentative definition should be completed.
 
virtual void CompleteExternalDeclaration (DeclaratorDecl *D)
 CompleteExternalDeclaration - Callback invoked at the end of a translation unit to notify the consumer that the given external declaration should be completed.
 
virtual void AssignInheritanceModel (CXXRecordDecl *RD)
 Callback invoked when an MSInheritanceAttr has been attached to a CXXRecordDecl.
 
virtual void HandleCXXStaticMemberVarInstantiation (VarDecl *D)
 HandleCXXStaticMemberVarInstantiation - Tell the consumer that this.
 
virtual void HandleVTable (CXXRecordDecl *RD)
 Callback involved at the end of a translation unit to notify the consumer that a vtable for the given C++ class is required.
 
virtual ASTMutationListenerGetASTMutationListener ()
 If the consumer is interested in entities getting modified after their initial creation, it should return a pointer to an ASTMutationListener here.
 
virtual ASTDeserializationListenerGetASTDeserializationListener ()
 If the consumer is interested in entities being deserialized from AST files, it should return a pointer to a ASTDeserializationListener here.
 
virtual void PrintStats ()
 PrintStats - If desired, print any statistics.
 
virtual bool shouldSkipFunctionBody (Decl *D)
 This callback is called for each function if the Parser was initialized with SkipFunctionBodies set to true.
 

Protected Attributes

std::unique_ptr< mlir::MLIRContext > mlirContext
 
std::unique_ptr< clang::CIRGen::CIRGenModulecgm
 

Detailed Description

Definition at line 37 of file CIRGenerator.h.

Constructor & Destructor Documentation

◆ CIRGenerator()

CIRGenerator::CIRGenerator ( clang::DiagnosticsEngine diags,
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem >  fs,
const clang::CodeGenOptions cgo 
)

Definition at line 26 of file CIRGenerator.cpp.

◆ ~CIRGenerator()

CIRGenerator::~CIRGenerator ( )
overridedefault

Member Function Documentation

◆ getModule()

mlir::ModuleOp CIRGenerator::getModule ( ) const

Definition at line 43 of file CIRGenerator.cpp.

References cgm.

◆ HandleTopLevelDecl()

bool CIRGenerator::HandleTopLevelDecl ( clang::DeclGroupRef  D)
overridevirtual

HandleTopLevelDecl - Handle the specified top-level declaration.

This is called by the parser to process every top-level Decl*.

Returns
true to continue parsing, or false to abort parsing.

Reimplemented from clang::ASTConsumer.

Definition at line 45 of file CIRGenerator.cpp.

References cgm, and clang::ast_matchers::decl.

◆ Initialize()

void CIRGenerator::Initialize ( clang::ASTContext Context)
overridevirtual

Initialize - This is called to initialize the consumer, providing the ASTContext.

Reimplemented from clang::ASTConsumer.

Definition at line 32 of file CIRGenerator.cpp.

References cgm, and mlirContext.

Member Data Documentation

◆ cgm

std::unique_ptr<clang::CIRGen::CIRGenModule> cir::CIRGenerator::cgm
protected

Definition at line 48 of file CIRGenerator.h.

Referenced by getModule(), HandleTopLevelDecl(), and Initialize().

◆ mlirContext

std::unique_ptr<mlir::MLIRContext> cir::CIRGenerator::mlirContext
protected

Definition at line 47 of file CIRGenerator.h.

Referenced by Initialize().


The documentation for this class was generated from the following files: