Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

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

Link: llvm/llvm-project#159942
Requested by: @fhahn

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

zyw-bot commented Dec 1, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@dec77e4
patch: llvm/llvm-project#159942
sha256: 0e093b5ac6db24711a1b1c1ea544340c0e2bc2d20ba6f77e6434df415b97567b
commit: 2944717

225 files changed, 52746 insertions(+), 53221 deletions(-)

Improvements:
  correlated-value-propagation.NumAnd 44491 -> 44608 +0.26%
  indvars.NumElimExt 298807 -> 299049 +0.08%
  indvars.NumElimCmp 55036 -> 55076 +0.07%
  indvars.NumElimIdentity 1864 -> 1865 +0.05%
  indvars.NumWidened 244864 -> 244990 +0.05%
  indvars.NumElimIV 250544 -> 250669 +0.05%
  instsimplify.NumReassoc 801689 -> 801824 +0.02%
  loop-delete.NumBackedgesBroken 43385 -> 43389 +0.01%
  indvars.NumLFTR 319470 -> 319498 +0.01%
  instcombine.NumConstProp 155480 -> 155486 +0.00%
Regressions:
  correlated-value-propagation.NumMinMax 11981 -> 11958 -0.19%
  correlated-value-propagation.NumSMinMax 9120 -> 9111 -0.10%
  adce.NumBranchesRemoved 23188 -> 23186 -0.01%
  correlated-value-propagation.NumShlNSW 117069 -> 117061 -0.01%
  correlated-value-propagation.NumShlNW 269541 -> 269525 -0.01%
  correlated-value-propagation.NumShlNUW 152472 -> 152464 -0.01%
  indvars.NumReplaced 69106 -> 69104 -0.00%
  instcombine.NegatorNumTreesNegated 47472 -> 47471 -0.00%
  gvn.NumGVNSimpl 4415377 -> 4415296 -0.00%
  instcombine.NegatorNumInstructionsNegatedSuccess 59029 -> 59028 -0.00%

+3 llvm/X86CallingConv.ll
+3 openssl/hkdf.ll
+3 sdl/SDL_test_fuzzer.ll
+3 wireshark/packet-umts_rlc.ll
+1 linux/virtio_blk.ll
+0 abseil-cpp/charconv_bigint.ll
+0 abseil-cpp/time_zone_info.ll
+0 clamav/filtering.ll
+0 eastl/EAString.ll
+0 ffmpeg/iff.ll
+0 ffmpeg/mpeg4videodec.ll
+0 ffmpeg/rka.ll
+0 freetype/sfnt.ll
+0 libquic/url_parse.ll
+0 linux/e100.ll
+0 linux/groups.ll
+0 meilisearch-rs/1wnbkg3u8l6dyln4.ll
+0 meshlab/mainwindow_RunTime.ll
+0 opencv/convolution.ll
+0 pola-rs/9q9n1s2mf6dwmafgbo3deymin.ll
+0 protobuf/command_line_interface.ll
+0 protobuf/descriptor.ll
+0 protobuf/feature_resolver.ll
+0 protobuf/map.ll
+0 protobuf/message_builder.ll
+0 proxygen/CodecProtocol.ll
+0 proxygen/ParseURL.ll
+0 tls-rs/49b6dhrgmsskmdw3.ll
+0 tree-sitter-rs/22d6a9i5y5n3b962.ll
+0 wasmtime-rs/26trd4atg57wyjbd.ll
-1 cmake/zstd_lazy.ll
-1 cpython/longobject.ll
-1 ffmpeg/hdrenc.ll
-1 minetest/cavegen.ll
-1 opencv/hough.ll
-2 coreutils-rs/2f3glk4ls3rn2ei2.ll
-2 ffmpeg/fic.ll
-2 ffmpeg/mpeg4videoenc.ll
-2 image-rs/244uszkx0e8t5ie1.ll
-2 meilisearch-rs/55beptyn1v6yeqaz.ll
-2 opencv/conv_winograd_f63.ll
-2 openusd/restoration.ll
-2 ropey-rs/5d7dflnnetgxg8sm.ll
-3 mold/filetype.cc.X86_64.ll
-4 darktable/locallaplacian.ll
-4 duckdb/constant_time.ll
-4 mini-lsm-rs/1m9jerzd56wr2irm.ll
-4 mitsuba3/aov.ll
-4 quiche-rs/6ul87t4hcbwe4e6ac6zvtugwa.ll
-4 quinn-rs/8ainv6dkvux55w82mlbamtdp2.ll
-5 faiss/test_pq_encoding.ll
-5 graphviz/emit.ll
-6 duckdb/ub_duckdb_common.ll
-6 just-rs/15cobjmzhaiu6jpj.ll
-6 openusd/detokenize.ll
-6 quiche-rs/5mpaolm7cvr2o8dlnrbly6hk7.ll
-7 ffmpeg/dnxhdenc.ll
-7 wireshark/packet-epl.ll
-8 opencv/dwt.ll
-8 wasmtime-rs/5079e95b7v1wxko.ll
-9 hwloc/lstopo-ascii.ll
-9 llvm/DWARFGdbIndex.ll
-9 ockam-rs/gotvfwvqrrp4xgl.ll
-9 protobuf/enum.ll
-9 uv-rs/anqe374630sb0db7siy3xwbqk.ll
-9 wireshark/packet-z3950.ll
-11 boost/instantiate_re2c_lexer.ll
-16 wolfssl/sp_int.ll
-23 folly/RecordIO.ll

@github-actions
Copy link
Contributor

github-actions bot commented Dec 1, 2025

The provided diff contains numerous changes across multiple LLVM IR files. After filtering out non-interesting changes (such as formatting, comments, reordering, and renaming), the following are the major transformations observed:

  1. Loop Induction Variable Updates: In several files (charconv_bigint.ll, time_zone_info.ll, zstd_lazy.ll), the loop induction variables in phi nodes were updated to reference the correct predecessor block. For example, %indvars.iv.i.i = phi i64 [ 0, %.lr.ph.i.i ], [ %indvars.iv.next.i.i, %108 ] was changed to use %109 instead of %108, ensuring the correct control flow path is referenced.

  2. Phi Node Predecessor Adjustments: Multiple instances show adjustments in phi node predecessors, such as changing %120 = phi i32 [ %105, %104 ], [ %105, %._crit_edge.i.i ], [ %119, %116 ] to [ %105, %105 ], which likely reflects a correction in control flow or optimization pass output.

  3. Elimination of Redundant Basic Blocks and Instructions: In instantiate_re2c_lexer.ll, redundant blocks like .lr.ph.preheader were removed, and direct branching to .lr.ph was introduced. This simplifies the control flow and removes unnecessary intermediate steps.

  4. Use of Saturated Arithmetic Intrinsics: In dwt.ll and convolution.ll, calls to @llvm.smax.i32 and @llvm.umax.i32 were replaced with @llvm.usub.sat.i32, indicating a shift towards using saturated arithmetic operations for better overflow handling.

  5. Simplification of Loop Exit Conditions: In filtering.ll, the phi node in .loopexit had one of its incoming values updated from %thread1334 to %thread1333, suggesting a refinement in how exit conditions are handled, possibly due to loop optimization or dead code elimination.

These changes collectively indicate improvements in loop handling, control flow accuracy, and the use of more appropriate intrinsics for arithmetic operations, leading to potentially more efficient and correct code generation.

model: qwen-plus-latest
CompletionUsage(completion_tokens=479, prompt_tokens=108648, total_tokens=109127, 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