Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Dec 5, 2025

Link: llvm/llvm-project#170835
Requested by: @nikic

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

zyw-bot commented Dec 5, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@2612dc9
patch: llvm/llvm-project#170835
sha256: 72705fff5769d1e96e260b0cdeb54bb09d836a47558f1ec701658e074c07d04d
commit: fc7189d

507 files changed, 1326968 insertions(+), 1261564 deletions(-)

Improvements:
  simple-loop-unswitch.NumCostMultiplierSkipped 17240 -> 17555 +1.83%
  local.NumPHICSEs 186111 -> 186743 +0.34%
  simple-loop-unswitch.NumBranches 104878 -> 105194 +0.30%
  instsimplify.NumSimplified 2467295 -> 2472421 +0.21%
  lcssa.NumLCSSA 15128817 -> 15146370 +0.12%
  gvn.NumGVNSimpl 4415379 -> 4420427 +0.11%
  local.NumRemoved 5303715 -> 5308837 +0.10%
  scalar-evolution.NumExitCountsNotComputed 11931824 -> 11938277 +0.05%
  gvn.NumGVNEqProp 427030 -> 427233 +0.05%
  mem2reg.NumPHIInsert 12839942 -> 12845402 +0.04%
Regressions:
  correlated-value-propagation.NumSDivs 16936 -> 11395 -32.72%
  instcombine.NumConstProp 168277 -> 159101 -5.45%
  correlated-value-propagation.NumSExt 47282 -> 46564 -1.52%
  correlated-value-propagation.NumSRems 1574 -> 1564 -0.64%
  simplifycfg.NumFoldBranchToCommonDest 748129 -> 743925 -0.56%
  correlated-value-propagation.NumAShrsConverted 3485 -> 3467 -0.52%
  indvars.NumSameSign 40295 -> 40097 -0.49%
  correlated-value-propagation.NumPhis 1237642 -> 1233030 -0.37%
  correlated-value-propagation.NumAddNUW 212244 -> 211468 -0.37%
  correlated-value-propagation.NumAddNW 428616 -> 427438 -0.27%

+6 llvm/RegAllocGreedy.ll
+4 boost/xml_grammar.ll
+4 verilator/V3OrderParallel.ll
+2 gromacs/tngio.ll
+2 meshlab/arap.ll
+2 meshlab/filter_parametrization.ll
+1 cxxopts/example.ll
+1 git/cache-tree.ll
+0 abc/abcExact.ll
+0 assimp/TriangulateProcess.ll
+0 brotli/compress_fragment.ll
+0 brotli/encode.ll
+0 casadi/cvodea.ll
+0 casadi/idaa.ll
+0 coremark/core_list_join.ll
+0 cpython/unicodeobject.ll
+0 duckdb/encode.ll
+0 duckdb/utf8proc.ll
+0 graphviz/blockpath.ll
+0 hwloc/topology-synthetic.ll
+0 libigl/exact_geodesic.ll
+0 libquic/s3_enc.ll
+0 linux/scsi.ll
+0 oiio/exrinput_c.ll
+0 openjdk/hb-blob.ll
+0 openjdk/hb-ot-layout.ll
+0 openssl/tls13encryptiontest.ll
+0 openusd/faceVertex.ll
+0 pola-rs/cztbx1zaxsgh33rhqav0blwq7.ll
+0 pola-rs/etaacdu7pg0nazmqnydgyjsn2.ll
+0 ruby/dir.ll
+0 ruff-rs/0jxokf4xx9lz4dh6x5yfoh8sv.ll
+0 ruff-rs/avzuiha0u13zvsyv1kglukilk.ll
+0 salsa-rs/bfvulplr01a8w79gvhbwzr5ai.ll
+0 sqlite/shell.ll
+0 sundials/cvodea.ll
+0 sundials/idaa.ll
+0 tev/StbiLdrImageSaver.ll
+0 wolfssl/benchmark.ll
-1 clamav/lzxd.ll
-1 clamav/mszipd.ll
-1 cpython/mpdecimal.ll
-1 ffmpeg/pngdec.ll
-1 llvm/SemaOverload.ll
-1 openjdk/check_classname.ll
-1 postgres/fastpath.ll
-1 qemu/virtio-pci.ll
-1 softposit-rs/5az6c15ag5q4gib5.ll
-1 typst-rs/5z4no3nnr5v1s13.ll
-2 bullet3/btContinuousConvexCollision.ll
-2 fmt/scan-test.ll
-2 hyperscan/ng_revacc.ll
-2 postgres/pl_gram.ll
-3 eastl/EASprintfCore.ll
-3 qemu/virtio.ll
-3 slurm/slurmdb_defs.ll
-4 abseil-cpp/distribution_test_util.ll
-4 clamav/tnef.ll
-4 cpython/longobject.ll
-4 git/tree-walk.ll
-4 llvm/ItaniumMangle.ll
-4 velox/BaseVector.ll
-4 zed-rs/3puy2qvhvlnhff2105q9h6j8i.ll
-6 postgres/fe-exec.ll
-6 velox/DenseHll.ll
-6 wireshark/androiddump.ll
-7 eastl/BenchmarkAlgorithm.ll
-8 git/walker.ll
-8 softposit-rs/4wrr62dd33canpwl.ll
-10 abseil-cpp/cord_rep_btree.ll
-13 llvm/APINotesReader.ll
-13 llvm/ASTReader.ll
-13 llvm/GlobalModuleIndex.ll
-15 lean4/name.ll

@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2025

Here's a concise summary of the major changes in this LLVM IR diff:

  1. Loop Header Preheader Adjustments: Multiple loops had their preheader references updated (e.g., %.lr.ph.us.preheader.i, %.lr.ph.us.preheader.i80) to correctly point to newly introduced or renamed preheaders, improving loop structure consistency.

  2. Phi Node Operand Updates: Phi instructions across several functions were updated to reference correct predecessor blocks and values—particularly after loop restructuring—ensuring accurate SSA form and dataflow (e.g., in cord_rep_btree.ll, core_list_join.ll, tnef.ll).

  3. Memory Allocation & Initialization Refactoring: In cord_rep_btree.ll, heap allocation (@_Znwm) and initialization logic was reordered: the allocation is now performed after a conditional branch, and stores to the allocated memory use the new pointer instead of an old one—improving correctness and enabling better optimization.

  4. Integer Arithmetic Refinements: Several places added nuw (no unsigned wrap) and/or nsw (no signed wrap) flags to arithmetic operations (e.g., shl, add, lshr) for stronger undefined-behavior guarantees and better optimization opportunities (e.g., shl nuw nsw, add nuw nsw, icmp samesign ult).

  5. Control Flow Simplification & Cleanup: Redundant basic blocks (e.g., .thread, .split, .lr.ph.i.i.i.i.i.i) were removed or merged; unnecessary branches and phi inputs were pruned (e.g., in eastl/BenchmarkAlgorithm.ll, fmt/scan-test.ll, git/tree-walk.ll), reducing IR complexity and improving readability.

These changes collectively reflect ongoing compiler optimizations—especially around loop canonicalization, memory safety, integer semantics, and control-flow simplification—without altering observable program behavior.

model: qwen-plus-latest
CompletionUsage(completion_tokens=408, prompt_tokens=111002, total_tokens=111410, completion_tokens_details=None, prompt_tokens_details=None)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants