clang 23.0.0git
cir::direct::ConvertCIRToLLVMPass Struct Reference
Inheritance diagram for cir::direct::ConvertCIRToLLVMPass:
[legend]

Public Member Functions

void getDependentDialects (mlir::DialectRegistry &registry) const override
void runOnOperation () final
void processCIRAttrs (mlir::ModuleOp module)
void resolveBlockAddressOp (LLVMBlockAddressInfo &blockInfoAddr)
void collectGlobalAnnotations (mlir::ModuleOp module)
 Collect (symbol_name, annotations, loc) from cir.func and cir.global ops before the conversion runs (the annotations attribute is dropped during FuncOp/GlobalOp lowering).
void buildGlobalAnnotationsVar (mlir::ModuleOp module)
 Emit @llvm.global.annotations and supporting string/args constants from the previously-collected annotations.
StringRef getDescription () const override
StringRef getArgument () const override

Detailed Description

Definition at line 738 of file LowerToLLVM.cpp.

Member Function Documentation

◆ buildGlobalAnnotationsVar()

void cir::direct::ConvertCIRToLLVMPass::buildGlobalAnnotationsVar ( mlir::ModuleOp module)

Emit @llvm.global.annotations and supporting string/args constants from the previously-collected annotations.

Mirrors what OGCG produces.

Definition at line 3623 of file LowerToLLVM.cpp.

References buildGlobalAnnotationsVar().

Referenced by buildGlobalAnnotationsVar(), and runOnOperation().

◆ collectGlobalAnnotations()

void cir::direct::ConvertCIRToLLVMPass::collectGlobalAnnotations ( mlir::ModuleOp module)

Collect (symbol_name, annotations, loc) from cir.func and cir.global ops before the conversion runs (the annotations attribute is dropped during FuncOp/GlobalOp lowering).

Definition at line 3603 of file LowerToLLVM.cpp.

Referenced by runOnOperation().

◆ getArgument()

StringRef cir::direct::ConvertCIRToLLVMPass::getArgument ( ) const
inlineoverride

Definition at line 764 of file LowerToLLVM.cpp.

◆ getDependentDialects()

void cir::direct::ConvertCIRToLLVMPass::getDependentDialects ( mlir::DialectRegistry & registry) const
inlineoverride

Definition at line 741 of file LowerToLLVM.cpp.

◆ getDescription()

StringRef cir::direct::ConvertCIRToLLVMPass::getDescription ( ) const
inlineoverride

Definition at line 760 of file LowerToLLVM.cpp.

References getDescription().

Referenced by getDescription().

◆ processCIRAttrs()

void cir::direct::ConvertCIRToLLVMPass::processCIRAttrs ( mlir::ModuleOp module)

Definition at line 3738 of file LowerToLLVM.cpp.

References processCIRAttrs().

Referenced by processCIRAttrs(), and runOnOperation().

◆ resolveBlockAddressOp()

◆ runOnOperation()

void cir::direct::ConvertCIRToLLVMPass::runOnOperation ( )
final

Tracks the state required to lower CIR LabelOp and BlockAddressOp. Maps labels to their corresponding BlockTagOp and keeps bookkeeping of unresolved BlockAddressOps until they are matched with the corresponding BlockTagOp in resolveBlockAddressOp.

Definition at line 3751 of file LowerToLLVM.cpp.

References cir::direct::buildCtorDtorList(), buildGlobalAnnotationsVar(), collectGlobalAnnotations(), collectUnreachable(), cir::direct::prepareTypeConverter(), processCIRAttrs(), resolveBlockAddressOp(), and runOnOperation().

Referenced by runOnOperation().


The documentation for this struct was generated from the following file: