|
clang 24.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 1106 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 4208 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 4188 of file LowerToLLVM.cpp.
Referenced by runOnOperation().
|
inlineoverride |
Definition at line 1132 of file LowerToLLVM.cpp.
|
inlineoverride |
Definition at line 1109 of file LowerToLLVM.cpp.
|
inlineoverride |
Definition at line 1128 of file LowerToLLVM.cpp.
References getDescription().
Referenced by getDescription().
| void cir::direct::ConvertCIRToLLVMPass::processCIRAttrs | ( | mlir::ModuleOp | module | ) |
Definition at line 4323 of file LowerToLLVM.cpp.
References processCIRAttrs().
Referenced by processCIRAttrs(), and runOnOperation().
| void cir::direct::ConvertCIRToLLVMPass::resolveBlockAddressOp | ( | LLVMBlockAddressInfo & | blockInfoAddr | ) |
Definition at line 4305 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 4336 of file LowerToLLVM.cpp.
References cir::direct::buildCtorDtorList(), buildGlobalAnnotationsVar(), collectGlobalAnnotations(), cir::collectUnreachable(), cir::direct::prepareTypeConverter(), processCIRAttrs(), resolveBlockAddressOp(), and runOnOperation().
Referenced by runOnOperation().