|
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 746 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 3528 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 3508 of file LowerToLLVM.cpp.
Referenced by runOnOperation().
|
inlineoverride |
Definition at line 772 of file LowerToLLVM.cpp.
|
inlineoverride |
Definition at line 749 of file LowerToLLVM.cpp.
|
inlineoverride |
Definition at line 768 of file LowerToLLVM.cpp.
References getDescription().
Referenced by getDescription().
| void cir::direct::ConvertCIRToLLVMPass::processCIRAttrs | ( | mlir::ModuleOp | module | ) |
Definition at line 3643 of file LowerToLLVM.cpp.
References processCIRAttrs().
Referenced by processCIRAttrs(), and runOnOperation().
| void cir::direct::ConvertCIRToLLVMPass::resolveBlockAddressOp | ( | LLVMBlockAddressInfo & | blockInfoAddr | ) |
Definition at line 3625 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 3656 of file LowerToLLVM.cpp.
References cir::direct::buildCtorDtorList(), buildGlobalAnnotationsVar(), collectGlobalAnnotations(), cir::collectUnreachable(), cir::direct::prepareTypeConverter(), processCIRAttrs(), resolveBlockAddressOp(), and runOnOperation().
Referenced by runOnOperation().