Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Sep 11, 2025

Link: llvm/llvm-project#151132
Requested by: @dtcxzyw

@github-actions github-actions bot mentioned this pull request Sep 11, 2025
@zyw-bot
Copy link
Collaborator Author

zyw-bot commented Sep 11, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@2f755c5
patch: llvm/llvm-project#151132
sha256: af143e34730d8ed3c55701f7657d5d591b1ba29ab185425f82d84055994fda24
commit: c8df6c2

2804 files changed, 1551187 insertions(+), 1551351 deletions(-)

Improvements:
  bdce.NumRemoved 387999 -> 406025 +4.65%
  sccp.NumInstRemoved 2016946 -> 2020614 +0.18%
  instcombine.NumDeadInst 42463022 -> 42473286 +0.02%
  instcombine.NegatorNumValuesVisited 22308699 -> 22310268 +0.01%
  instcombine.NegatorTotalNegationsAttempted 21353451 -> 21354932 +0.01%
  instcombine.NumOneIteration 63698976 -> 63701395 +0.00%
  instcombine.NumWorklistIterations 63698976 -> 63701395 +0.00%
  sccp.NumInstReplaced 133926 -> 133931 +0.00%
  gvn.NumGVNInstr 155528 -> 155532 +0.00%
  gvn.NumGVNPRE 155528 -> 155532 +0.00%
Regressions:
  correlated-value-propagation.NumSIToFP 1515 -> 1514 -0.07%
  correlated-value-propagation.NumMinMax 12484 -> 12482 -0.02%
  correlated-value-propagation.NumCmps 292266 -> 292227 -0.01%
  instcombine.NumConstProp 163716 -> 163698 -0.01%
  correlated-value-propagation.NumSExt 48149 -> 48145 -0.01%
  correlated-value-propagation.NumNUW 594770 -> 594721 -0.01%
  last-run-tracking.NumSkippedPasses 50279736 -> 50277317 -0.00%
  gvn.NumGVNEqProp 443254 -> 443234 -0.00%
  correlated-value-propagation.NumAddNUW 228705 -> 228695 -0.00%
  jump-threading.NumFolds 2648931 -> 2648818 -0.00%

+0 actix-rs/1kr0tdq4l6v38mbk.ll
+0 brotli/entropy_encode.ll
+0 c3c/sema_stmts.ll
+0 casadi/map.ll
+0 ceres/dynamic_sparse_normal_cholesky_solver.ll
+0 ceres/iterative_schur_complement_solver.ll
+0 clamav/filestr.ll
+0 clamav/macho.ll
+0 coreutils-rs/icw7irkz6mu05a9.ll
+0 csmith/Constant.ll
+0 csmith/Function.ll
+0 cvc5/SimpSolver.ll
+0 cvc5/theory_sep_rewriter.ll
+0 delta-rs/4zvphat0q9a964bz.ll
+0 fish-rs/6luvh0o6z0xeo16dcenatpsob.ll
+0 flac/ogg_decoder_aspect.ll
+0 folly/AsyncSocket.ll
+0 git/diffcore-rename.ll
+0 hwloc/base64.ll
+0 jsonnet/lexer.ll
+0 just-rs/1uppz7l1e89fp8n7.ll
+0 libevent/evdns.ll
+0 libjpeg-turbo/transupp.ll
+0 libpng/pngset.ll
+0 libsodium/crypto_secretbox_easy.ll
+0 libwebp/dwebp.ll
+0 libwebp/predictor_enc.ll
+0 luajit/lj_alloc.ll
+0 lvgl/lv_sprintf_builtin.ll
+0 meilisearch-rs/4llghrvh6vzci59o.ll
+0 nanosvg/nanosvgrast.ll
+0 nuttx/lib_base64.ll
+0 opencc/Config.ll
+0 openmpi/pmix_pointer_array.ll
+0 pbrt-v4/parser.ll
+0 proj/conversion.ll
+0 raylib/rmodels.ll
+0 ripgrep-rs/79zj4cmg2a4glb1.ll
+0 sentencepiece/spm_decode_main.ll
+0 stb/stb_tilemap_editor.ll
+0 stb/stb_vorbis.ll
+0 tokenizers-rs/1k9vblvd5jyd3qmf.ll
+0 verilator/V3Options.ll
+0 zlib/deflate.ll
+0 zstd/zstd_opt.ll
+0 zxing/zueci.ll
-1 arrow/string.ll
-1 llvm/SemaDeclCXX.ll
-1 php/ir_check.ll
-2 typst-rs/3rk2ctuzbghb17s4.ll
-3 openjdk/lowMemoryDetector.ll
-14 rust-analyzer-rs/5fgtm3ees9sdsrsg.ll
-30 rust-analyzer-rs/44ayynfm08lnhjsw.ll

@github-actions
Copy link
Contributor

The provided patch contains a variety of changes across multiple benchmarks, primarily focused on improving optimization and code generation. The major changes can be summarized as follows:

  1. Enhanced Memory Access Safety and Optimization: Several bcmp calls are updated to include noundef, dereferenceable(N), and constant i64 length arguments instead of dynamic values. This allows LLVM to better optimize string comparisons by enabling constant folding and eliminating unnecessary bounds checks.

  2. Improved PHI Node Labeling in Control Flow: Many PHI nodes have their predecessor block labels updated (e.g., from .critedge.thread138 to .critedge.thread140) to reflect updated control flow structures, likely due to loop unrolling or CFG simplification during optimization.

  3. Reduction of Redundant Exception Handling Blocks: In several files (ceres, sentencepiece, folly, etc.), exception landing pads and associated cleanup blocks (like .noexc*) are renumbered, indicating improved exception handling flow, possibly from better inlining or dead block elimination.

  4. Optimization of Boolean/String Comparisons: In arrow/optimized/string.ll, a bcmp call is replaced with a direct load and icmp against the ASCII value '0' (48), turning a full string comparison into a single-byte check—likely resulting from constant propagation and simplification.

  5. Refinement of Loop and PHI Constructs: Multiple loops show updated induction variables and PHI nodes (e.g., changing %lr.ph to %lr.ph.next) reflecting improved loop versioning or unswitching, enhancing opportunities for vectorization and reducing branch overhead.

These changes collectively suggest aggressive optimization passes such as loop unrolling, constant propagation, dead code elimination, and improved alias analysis, leading to more efficient and safer low-level code.

model: qwen-plus-latest
CompletionUsage(completion_tokens=382, prompt_tokens=86344, total_tokens=86726, completion_tokens_details=None, prompt_tokens_details=None)

@dtcxzyw dtcxzyw closed this Sep 11, 2025
@dtcxzyw dtcxzyw deleted the test-run17644208841 branch September 14, 2025 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants