[Mlir-commits] [mlir] [MLIR][EmitC][NFC] Use `llvm::function_ref<>` instead of `std::optional<llvm::function_ref<>>` (PR #146478)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Jun 30 23:59:27 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir
Author: Yanzuo Liu (zwuis)
<details>
<summary>Changes</summary>
There is no need to distinguish between null `optional` and null `function_ref` in this case.
---
Full diff: https://github.com/llvm/llvm-project/pull/146478.diff
1 Files Affected:
- (modified) mlir/lib/Dialect/EmitC/IR/EmitC.cpp (+6-8)
``````````diff
diff --git a/mlir/lib/Dialect/EmitC/IR/EmitC.cpp b/mlir/lib/Dialect/EmitC/IR/EmitC.cpp
index 27298e892e599..ba1d010d29062 100644
--- a/mlir/lib/Dialect/EmitC/IR/EmitC.cpp
+++ b/mlir/lib/Dialect/EmitC/IR/EmitC.cpp
@@ -174,10 +174,9 @@ static LogicalResult verifyInitializationAttribute(Operation *op,
/// In the format string, all `{}` are replaced by Placeholders, except if the
/// `{` is escaped by `{{` - then it doesn't start a placeholder.
template <class ArgType>
-FailureOr<SmallVector<ReplacementItem>>
-parseFormatString(StringRef toParse, ArgType fmtArgs,
- std::optional<llvm::function_ref<mlir::InFlightDiagnostic()>>
- emitError = {}) {
+FailureOr<SmallVector<ReplacementItem>> parseFormatString(
+ StringRef toParse, ArgType fmtArgs,
+ llvm::function_ref<mlir::InFlightDiagnostic()> emitError = {}) {
SmallVector<ReplacementItem> items;
// If there are not operands, the format string is not interpreted.
@@ -200,8 +199,7 @@ parseFormatString(StringRef toParse, ArgType fmtArgs,
continue;
}
if (toParse.size() < 2) {
- return (*emitError)()
- << "expected '}' after unescaped '{' at end of string";
+ return emitError() << "expected '}' after unescaped '{' at end of string";
}
// toParse contains at least two characters and starts with `{`.
char nextChar = toParse[1];
@@ -217,8 +215,8 @@ parseFormatString(StringRef toParse, ArgType fmtArgs,
continue;
}
- if (emitError.has_value()) {
- return (*emitError)() << "expected '}' after unescaped '{'";
+ if (emitError) {
+ return emitError() << "expected '}' after unescaped '{'";
}
return failure();
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/146478
More information about the Mlir-commits
mailing list