[Mlir-commits] [mlir] [mlir][LLVMIR] Handle missing functions in CGProfile module flags (PR #169517)
Christian Ulmann
llvmlistbot at llvm.org
Tue Nov 25 09:09:48 PST 2025
================
@@ -243,16 +243,17 @@ convertModuleFlagValue(StringRef key, ArrayAttr arrayAttr,
if (key == LLVMDialect::getModuleFlagKeyCGProfileName()) {
for (auto entry : arrayAttr.getAsRange<ModuleFlagCGProfileEntryAttr>()) {
- llvm::Metadata *fromMetadata =
- entry.getFrom()
- ? llvm::ValueAsMetadata::get(moduleTranslation.lookupFunction(
- entry.getFrom().getValue()))
- : nullptr;
- llvm::Metadata *toMetadata =
- entry.getTo()
- ? llvm::ValueAsMetadata::get(
- moduleTranslation.lookupFunction(entry.getTo().getValue()))
- : nullptr;
+ const auto getFuncMetadata =
+ [&](FlatSymbolRefAttr sym) -> llvm::Metadata * {
+ if (!sym)
+ return nullptr;
+ if (llvm::Function *fn =
+ moduleTranslation.lookupFunction(sym.getValue()))
+ return llvm::ValueAsMetadata::get(fn);
+ return nullptr;
+ };
+ llvm::Metadata *const fromMetadata = getFuncMetadata(entry.getFrom());
+ llvm::Metadata *const toMetadata = getFuncMetadata(entry.getTo());
----------------
Dinistro wrote:
```suggestion
llvm::Metadata *fromMetadata = getFuncMetadata(entry.getFrom());
llvm::Metadata *toMetadata = getFuncMetadata(entry.getTo());
```
Nit: We don't usually use const in places like this
https://github.com/llvm/llvm-project/pull/169517
More information about the Mlir-commits
mailing list