|
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 1149 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 4349 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 4329 of file LowerToLLVM.cpp.
Referenced by runOnOperation().
|
inlineoverride |
Definition at line 1175 of file LowerToLLVM.cpp.
|
inlineoverride |
Definition at line 1152 of file LowerToLLVM.cpp.
|
inlineoverride |
Definition at line 1171 of file LowerToLLVM.cpp.
References getDescription().
Referenced by getDescription().
| void cir::direct::ConvertCIRToLLVMPass::processCIRAttrs | ( | mlir::ModuleOp | module | ) |
Definition at line 4464 of file LowerToLLVM.cpp.
References cir::direct::lowerOpenCLModuleMetadataAttrs(), and processCIRAttrs().
Referenced by processCIRAttrs(), and runOnOperation().
| void cir::direct::ConvertCIRToLLVMPass::resolveBlockAddressOp | ( | LLVMBlockAddressInfo & | blockInfoAddr | ) |
Definition at line 4446 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 4479 of file LowerToLLVM.cpp.
References cir::direct::buildCtorDtorList(), buildGlobalAnnotationsVar(), collectGlobalAnnotations(), cir::collectUnreachable(), cir::direct::prepareTypeConverter(), processCIRAttrs(), resolveBlockAddressOp(), and runOnOperation().
Referenced by runOnOperation().