github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {darker}-->
:warning: Python code formatter, darker found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
darker --check --diff -r HEAD~1...HEAD
clang/test/Analysis/LifetimeSafety/benchmark.py
``````````
</details>
<details>
<summary>
View the diff from darker here.
</summary>
``````````diff
--- benchmark.py 2025-07-18 19:49:32.000000 +0000
+++ benchmark.py 2025-07-18 19:51:58.973643 +0000
@@ -115,20 +115,20 @@
return "// Nesting depth must be positive."
cpp_code = "struct MyObj { int id; ~MyObj() {} };\n\n"
cpp_code += f"void nested_loops_{n}() {{\n"
cpp_code += " MyObj* p = nullptr;\n"
-
+
for i in range(n):
indent = " " * (i + 1)
cpp_code += f"{indent}for(int i{i}=0; i{i}<2; ++i{i}) {{\n"
cpp_code += f"{indent} MyObj s{i}; p = &s{i};\n"
for i in range(n - 1, -1, -1):
indent = " " * (i + 1)
cpp_code += f"{indent}}}\n"
-
+
cpp_code += "}\n"
cpp_code += f"\nint main() {{ nested_loops_{n}(); return 0; }}\n"
return cpp_code
@@ -238,18 +238,18 @@
report.append(" ".join(row))
report.append("\n**Complexity Analysis:**\n")
report.append("| Analysis Phase | Complexity O(n<sup>k</sup>) |")
report.append("|:------------------|:--------------------------|")
-
+
analysis_phases = {
"Total Analysis": data["lifetime_ms"],
"FactGenerator": data["fact_gen_ms"],
"LoanPropagation": data["loan_prop_ms"],
"ExpiredLoans": data["expired_loans_ms"],
}
-
+
for phase_name, y_data in analysis_phases.items():
k, delta = calculate_complexity(n_data, np.array(y_data))
if k is not None and delta is not None:
complexity_str = f"O(n<sup>{k:.2f}</sup> ± {delta:.2f})"
else:
@@ -291,11 +291,13 @@
print(f"Compilation failed for N={n}!", file=sys.stderr)
print(result.stderr, file=sys.stderr)
return {}
durations_us = analyze_trace_file(trace_file)
- return {key.replace('_us', '_ms'): value / 1000.0 for key, value in
durations_us.items()}
+ return {
+ key.replace("_us", "_ms"): value / 1000.0 for key, value in
durations_us.items()
+ }
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Generate, compile, and benchmark C++ test cases for
Clang's lifetime analysis."
@@ -360,11 +362,11 @@
)
if durations_ms:
results[test_name]["n"].append(n)
for key, value in durations_ms.items():
results[test_name][key].append(value)
-
+
print(
f" Total Analysis:
{human_readable_time(durations_ms['lifetime_ms'])} | "
f"FactGen:
{human_readable_time(durations_ms['fact_gen_ms'])} | "
f"LoanProp:
{human_readable_time(durations_ms['loan_prop_ms'])} | "
f"ExpiredLoans:
{human_readable_time(durations_ms['expired_loans_ms'])}"
@@ -374,10 +376,10 @@
print("Generating Markdown Report...")
print("=" * 80 + "\n")
markdown_report = generate_markdown_report(results)
print(markdown_report)
-
+
report_filename = os.path.join(args.output_dir, "performance_report.md")
with open(report_filename, "w") as f:
f.write(markdown_report)
print(f"Report saved to: {report_filename}")
``````````
</details>
https://github.com/llvm/llvm-project/pull/149577
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits