Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

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

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

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

zyw-bot commented Oct 11, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@e6b49ce
patch: llvm/llvm-project#159942
sha256: 6cf4017043cf15ece320494db0ed1a0213ae34da85810a0e3d9e449744f77624
commit: ad9a734

334 files changed, 76323 insertions(+), 77873 deletions(-)

Improvements:
  indvars.NumElimIdentity 1852 -> 1869 +0.92%
  correlated-value-propagation.NumAnd 44214 -> 44331 +0.26%
  indvars.NumElimExt 298975 -> 299218 +0.08%
  indvars.NumElimCmp 55117 -> 55159 +0.08%
  indvars.NumWidened 244994 -> 245120 +0.05%
  indvars.NumElimIV 250652 -> 250777 +0.05%
  memcpyopt.NumCpyToSet 10942 -> 10944 +0.02%
  instsimplify.NumReassoc 801068 -> 801203 +0.02%
  loop-delete.NumBackedgesBroken 43454 -> 43459 +0.01%
  indvars.NumLFTR 319121 -> 319148 +0.01%
Regressions:
  correlated-value-propagation.NumMinMax 12149 -> 11996 -1.26%
  correlated-value-propagation.NumSMinMax 9144 -> 9134 -0.11%
  adce.NumBranchesRemoved 23076 -> 23072 -0.02%
  correlated-value-propagation.NumShlNSW 117295 -> 117287 -0.01%
  correlated-value-propagation.NumShlNW 269915 -> 269899 -0.01%
  correlated-value-propagation.NumShlNUW 152620 -> 152612 -0.01%
  instcombine.NumSunkInst 3401545 -> 3401400 -0.00%
  adce.NumRemoved 95157 -> 95153 -0.00%
  globalopt.NumDeleted 1056554 -> 1056530 -0.00%
  globalsmodref-aa.NumNoMemFunctions 767679 -> 767662 -0.00%

+3 llvm/X86CallingConv.ll
+3 openssl/hkdf.ll
+3 wireshark/packet-umts_rlc.ll
+2 llvm/RISCVAsmBackend.ll
+1 box2d/imgui_draw.ll
+1 linux/virtio_blk.ll
+1 opencv/qrcode_encoder.ll
+0 abseil-cpp/time_zone_info.ll
+0 clamav/filtering.ll
+0 hermes/APFloat.ll
+0 jiff-rs/64cpubcqv6oka7uw3qzeepee9.ll
+0 libquic/url_parse.ll
+0 meilisearch-rs/1wnbkg3u8l6dyln4.ll
+0 meshlab/mainwindow_RunTime.ll
+0 protobuf/descriptor.ll
+0 protobuf/map.ll
+0 proxygen/ParseURL.ll
+0 qemu/sdhci-cmd.ll
+0 rocksdb/xxhash.ll
+0 tls-rs/49b6dhrgmsskmdw3.ll
+0 tree-sitter-rs/22d6a9i5y5n3b962.ll
+0 zed-rs/8n2fsvz9zbnw9ojg9jkj0503g.ll
+0 zed-rs/8v1arbgzeu88ynf653tketgap.ll
-1 cmake/zstd_lazy.ll
-1 cpython/longobject.ll
-1 ffmpeg/aacsbr.ll
-1 minetest/cavegen.ll
-1 opencv/hough.ll
-2 coreutils-rs/2f3glk4ls3rn2ei2.ll
-2 ffmpeg/fic.ll
-2 freetype/sfnt.ll
-2 image-rs/244uszkx0e8t5ie1.ll
-2 llvm/LegalizerHelper.ll
-2 llvm/Localizer.ll
-2 meilisearch-rs/55beptyn1v6yeqaz.ll
-2 opencv/conv_winograd_f63.ll
-2 openusd/restoration.ll
-2 pola-rs/95lxknjh1mq5kyihgiorx0gmt.ll
-2 ropey-rs/5d7dflnnetgxg8sm.ll
-3 arrow/array_dict.ll
-3 ffmpeg/takdec.ll
-3 memcached/hash.ll
-3 mold/filetype.cc.X86_64.ll
-3 wireshark/packet-lustre.ll
-4 cpython/Hacl_Hash_Blake2b.ll
-4 cpython/Hacl_Hash_Blake2s.ll
-4 darktable/locallaplacian.ll
-4 duckdb/constant_time.ll
-4 duckdb/ub_duckdb_storage_compression.ll
-4 mini-lsm-rs/1m9jerzd56wr2irm.ll
-4 mitsuba3/aov.ll
-4 pola-rs/2ak2he68xoikxcmzzopy2cplu.ll
-4 quiche-rs/6ul87t4hcbwe4e6ac6zvtugwa.ll
-4 quinn-rs/8ainv6dkvux55w82mlbamtdp2.ll
-5 darktable/dng_opcode.ll
-5 faiss/test_pq_encoding.ll
-5 graphviz/emit.ll
-5 lief/nist_kw.ll
-5 quickjs/libbf.ll
-5 wireshark/packet-uftp4.ll
-5 wolfssl/keys.ll
-6 just-rs/15cobjmzhaiu6jpj.ll
-6 openjdk/synchronizer.ll
-6 openusd/detokenize.ll
-6 quiche-rs/5mpaolm7cvr2o8dlnrbly6hk7.ll
-6 wireshark/packet-dsr.ll
-6 z3/mpz.ll
-7 ffmpeg/dnxhdenc.ll
-7 wireshark/packet-epl.ll
-8 eastl/TestExtra.ll
-8 opencv/dwt.ll
-8 wasmtime-rs/5079e95b7v1wxko.ll
-8 wireshark/packet-pgm.ll
-9 bdwgc/gc.ll
-9 ffmpeg/af_dynaudnorm.ll
-9 hwloc/lstopo-ascii.ll
-9 ockam-rs/gotvfwvqrrp4xgl.ll
-9 protobuf/enum.ll
-9 quinn-rs/em94uyxz0wp9gccfab963606p.ll
-9 uv-rs/anqe374630sb0db7siy3xwbqk.ll
-9 wireshark/packet-z3950.ll
-11 boost/instantiate_re2c_lexer.ll
-11 llvm/DWARFGdbIndex.ll
-16 eastl/TestVectorMap.ll
-23 folly/RecordIO.ll
-24 eastl/TestRingBuffer.ll
-32 assimp/FBXExportProperty.ll
-42 eastl/TestDeque.ll

@github-actions
Copy link
Contributor

Here is a summary of the major changes in the provided LLVM IR diff:

  1. Addition of nuw nsw flags to integer addition operations: Multiple instances of add i64 instructions have been updated to include nuw (No Unsigned Wrap) and nsw (No Signed Wrap) flags, indicating that the additions are guaranteed not to overflow. This allows for better optimization opportunities.

  2. Removal of unnecessary llvm.umax calls in loop bounds: Several loops previously used @llvm.umax(i64 %x, 1) to ensure a minimum trip count of 1. These were replaced with direct use of the original value (e.g., %x) after verifying it is already bounded, eliminating redundant comparisons and function calls.

  3. Simplification of pointer arithmetic and GEP chains: Some complex sequences involving getelementptr, shifts, and masks were simplified by removing redundant masking operations when the shift already ensures alignment (e.g., replacing shl; and 4294967288 with just shl when followed by lshr).

  4. Optimization of memset loop bounds: Uses of @llvm.umax to compute sizes for @llvm.memset were removed where the input was already known to be positive or non-zero, simplifying size calculations and reducing overhead.

  5. Improved loop induction variable handling: In several cases, loop preheaders were merged into the main loop body or critical edges, and phi nodes were adjusted to reflect more direct control flow, reducing branching and improving code layout.

These changes collectively improve performance by enabling more aggressive optimizations, reducing instruction count, and simplifying control flow and memory operations.

model: qwen-plus-latest
CompletionUsage(completion_tokens=359, prompt_tokens=106954, total_tokens=107313, completion_tokens_details=None, prompt_tokens_details=None)

@dtcxzyw dtcxzyw closed this Dec 10, 2025
@dtcxzyw dtcxzyw deleted the test-run18434978721 branch December 10, 2025 15:29
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.

3 participants