|
clang 23.0.0git
|
Public Member Functions | |
| void | getDependentDialects (mlir::DialectRegistry ®istry) 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 |
Definition at line 739 of file LowerToLLVM.cpp.
| 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 3565 of file LowerToLLVM.cpp.
References buildGlobalAnnotationsVar().
Referenced by buildGlobalAnnotationsVar(), and runOnOperation().
| 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 3545 of file LowerToLLVM.cpp.
Referenced by runOnOperation().
|
inlineoverride |
Definition at line 765 of file LowerToLLVM.cpp.
|
inlineoverride |
Definition at line 742 of file LowerToLLVM.cpp.
|
inlineoverride |
Definition at line 761 of file LowerToLLVM.cpp.
References getDescription().
Referenced by getDescription().
| void cir::direct::ConvertCIRToLLVMPass::processCIRAttrs | ( | mlir::ModuleOp | module | ) |
Definition at line 3680 of file LowerToLLVM.cpp.
References processCIRAttrs().
Referenced by processCIRAttrs(), and runOnOperation().
| void cir::direct::ConvertCIRToLLVMPass::resolveBlockAddressOp | ( | LLVMBlockAddressInfo & | blockInfoAddr | ) |
Definition at line 3662 of file LowerToLLVM.cpp.
References cir::direct::LLVMBlockAddressInfo::clearUnresolvedMap(), cir::direct::LLVMBlockAddressInfo::getUnresolvedBlockAddress(), cir::direct::LLVMBlockAddressInfo::lookupBlockTag(), and resolveBlockAddressOp().
Referenced by resolveBlockAddressOp(), and 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.
Cached symbol table collection used by call lowering patterns to avoid repeated O(M) module-wide symbol scans for every call site.
Definition at line 3693 of file LowerToLLVM.cpp.
References cir::direct::buildCtorDtorList(), buildGlobalAnnotationsVar(), collectGlobalAnnotations(), cir::collectUnreachable(), cir::direct::prepareTypeConverter(), processCIRAttrs(), resolveBlockAddressOp(), and runOnOperation().
Referenced by runOnOperation().