Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

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

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

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

zyw-bot commented Sep 24, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@92e5060
patch: llvm/llvm-project#157559
sha256: ed1fb2cf2a2dd30e5e86222308ef0cdfe253ba3d190e9d44c4c4018e12023d1b
commit: 20d46df

6639 files changed, 1632548 insertions(+), 1631769 deletions(-)

Improvements:
  correlated-value-propagation.NumAShrsRemoved 183 -> 185 +1.09%
  div-rem-pairs.NumHoisted 3308 -> 3318 +0.30%
  correlated-value-propagation.NumMinMax 12496 -> 12507 +0.09%
  jump-threading.NumDupes 139276 -> 139329 +0.04%
  instcombine.NumSunkInst 3498553 -> 3499767 +0.03%
  correlated-value-propagation.NumAnd 46752 -> 46766 +0.03%
  correlated-value-propagation.NumSMinMax 9215 -> 9217 +0.02%
  adce.NumRemoved 98696 -> 98713 +0.02%
  instcombine.NumSel 33334 -> 33338 +0.01%
  correlated-value-propagation.NumMulNUW 61322 -> 61328 +0.01%
Regressions:
  loop-load-elim.NumLoopLoadEliminted 1883 -> 1853 -1.59%
  build-libcalls.NumWriteOnly 148 -> 147 -0.68%
  aggressive-instcombine.NumInstrsReduced 68512 -> 68120 -0.57%
  adce.NumBranchesRemoved 23740 -> 23660 -0.34%
  aggressive-instcombine.NumExprsReduced 20569 -> 20508 -0.30%
  instsimplify.NumReassoc 829924 -> 828129 -0.22%
  memcpyopt.NumMoveToCpy 16288 -> 16254 -0.21%
  dse.NumCompletePartials 25306 -> 25260 -0.18%
  loop-idiom.NumMemSet 39779 -> 39711 -0.17%
  licm.NumIntAssociationsHoisted 4085 -> 4080 -0.12%

ncnn/rnn.ll fail
zxing/DMDetector.ll fail
opencv/reduce_layer.ll fail

+12 mold/cmdline.cc.X86_64.ll
+10 quantlib/garch.ll
+9 box2d/geometry.ll
+8 ffmpeg/silk.ll
+8 yalantinglibs/test_messages_proto3.pb.ll
+7 llvm/DwarfCompileUnit.ll
+6 assimp/BlenderTessellator.ll
+6 freetype/truetype.ll
+6 hermes/DebugInfo.ll
+6 lodepng/lodepng_util.ll
+6 mold/multi-glob.ll
+6 oiio/filesystem.ll
+6 opencv/darknet_io.ll
+6 spike/htif_pthread.ll
+5 openexr/internal_piz.ll
+5 quantlib/fftengine.ll
+4 clamav/encname.ll
+4 flac/options.ll
+4 jq/regerror.ll
+4 node/libnode.node_buffer.ll
+4 openusd/write.ll
+4 ruby/regerror.ll
+4 wolfssl/pwdbased.ll
+4 yyjson/yyjson.ll
+3 actix-rs/19s5ghr2x6s6bmh4.ll
+3 arrow/decimal.ll
+3 bullet3/MultiBodyTreeImpl.ll
+3 ceres/program.ll
+3 cmake/archive_cmdline.ll
+3 darktable/introspection_temperature.ll
+3 gromacs/enerdata_utils.ll
+3 gromacs/gmx_bar.ll
+3 gromacs/make_ndx.ll
+3 just-rs/1uppz7l1e89fp8n7.ll
+3 libigl/comb_frame_field.ll
+3 linux/alps.ll
+3 luajit/lj_ctype.ll
+3 luau/Parser.ll
+3 meshlab/filter_sdfgpu.ll
+3 ncnn/fold.ll
+3 nghttp2/nghttp2_hd.ll
+3 node/libnode.node_http2.ll
+3 nuttx/lib_strtold.ll
+3 ocio/CTFTransform.ll
+3 opencv/lrn_layer.ll
+3 postgres/gistscan.ll
+3 postgres/preptlist.ll
+3 wasmtime-rs/yijsgxkf5yj6ls1.ll
+3 wireshark/packet-smb.ll
+3 wireshark/to_str.ll
+3 z3/sat_probing.ll
+2 assimp/MakeVerboseFormat.ll
+2 faiss/IndexPQ.ll
+2 ffmpeg/jpegxl_parser.ll
+2 libwebp/picture_psnr_enc.ll
+2 openssl/asn_mime.ll
+1 cpp-httplib/httplib.ll
+1 darktable/CrwDecompressor.ll
+1 ffmpeg/aeval.ll
+1 folly/Random.ll
+1 git/submodule.ll
+1 openjdk/jcphuff.ll
+1 wireshark/packet-cops.ll
-1 abc/abcMerge.ll
-1 abc/giaMini.ll
-1 duckdb/ub_duckdb_core_functions_string.ll
-1 ocio/ConfigUtils.ll
-2 qemu/virtio.ll
-2 ruby/bignum.ll
-3 abseil-cpp/symbolize.ll
-3 casadi/einstein.ll
-3 ceres/schur_eliminator.ll
-3 cvc5/resolution_proofs_util.ll
-3 eastl/TestVectorMap.ll
-3 hermes/ISel.ll
-3 libcxx/abi_tag_on_virtual.ll
-3 libigl/hausdorff.ll
-3 libquic/bio.ll
-3 libsodium/core_ed25519.ll
-3 libwebp/webpinfo.ll
-3 lief/gcm.ll
-3 linux/chan.ll
-3 llvm/AsmMatcherEmitter.ll
-3 minetest/CMeshCache.ll
-3 open3d/ControlGrid.ll
-3 opencv/perf_norm.ll
-3 openexr/ImfImage.ll
-3 openspiel/dynamic_routing_utils.ll
-3 proxygen/HTTP2PriorityQueue.ll
-3 rocksdb/compaction_job.ll
-3 rocksdb/fs_on_demand.ll
-3 rocksdb/import_column_family_job.ll
-3 ruff-rs/8lgogilf7vbskewz0a9izgnge.ll
-3 spike/processor.ll
-3 syn/ofvfd67uyaewjlc.ll
-3 xgboost/version.ll
-3 yosys/mutate.ll
-3 yosys/register.ll
-4 abc/extraUtilDsd.ll
-4 cvc5/sygus_grammar_red.ll
-4 linux/xfrm_policy.ll
-4 postgres/gistbuild.ll
-4 sundials/sunlinsol_spfgmr.ll
-6 eastl/BenchmarkTupleVector.ll
-6 hermes/ProfileAnalyzer.ll
-6 libcxx/header_exportable_declarations.ll
-6 minetest/CGUIEnvironment.ll
-6 minetest/COpenGLDriver.ll
-6 php/var_unserializer.ll
-8 git/pack-redundant.ll
-8 openmpi/bfrop_base_macro_backers.ll
-9 eastl/TestSList.ll
-9 lean4/equiv_manager.ll
-9 libphonenumber/generate_geocoding_data.ll
-9 qemu/tcg.ll
-9 vcpkg/commands.depend-info.ll

@github-actions
Copy link
Contributor

The provided patch includes numerous changes across multiple LLVM IR files. After filtering out non-interesting changes (e.g., formatting, comments, reordering), the major changes are summarized below:

  1. Redundant load elimination and PHI node restructuring: In several files (e.g., abcMerge.ll, giaMini.ll), redundant loads of values like %.val110 and %.0145 were removed, and associated PHI nodes were simplified or restructured to reduce unnecessary computations. This improves code efficiency by avoiding redundant memory operations.

  2. Loop control flow optimization: Multiple instances involve restructuring loop exits and preheaders (e.g., in decimal.ll, sygus_grammar_red.ll). New .loopexit blocks were introduced to separate loop exit logic, improving clarity and enabling better optimization opportunities by isolating critical paths.

  3. Memory operation simplification: In files like assimp/BlenderTessellator.ll and darktable/CrwDecompressor.ll, redundant getelementptr and load instructions were eliminated, and memmove/memset calls were optimized by moving them after relevant pointer calculations, reducing instruction count and improving data locality.

  4. Pointer arithmetic and PHI node optimization: Files such as box2d/geometry.ll and bullet3/MultiBodyTreeImpl.ll show improved handling of vector extractions and insertions by deferring them until necessary, reducing intermediate values and simplifying PHI node usage in exit blocks.

  5. Conditional branch and PHI node coalescing: In git/pack-redundant.ll and gromacs/gmx_bar.ll, conditional branches that led to similar outcomes were merged, and PHI nodes were updated to reflect fewer incoming values, streamlining control flow and reducing complexity at merge points.

These changes collectively enhance performance by reducing redundant operations, simplifying control flow, and improving memory access patterns.

model: qwen-plus-latest
CompletionUsage(completion_tokens=401, prompt_tokens=107319, total_tokens=107720, completion_tokens_details=None, prompt_tokens_details=None)

@nikic
Copy link

nikic commented Oct 27, 2025

/close

@github-actions github-actions bot closed this Oct 27, 2025
@dtcxzyw dtcxzyw deleted the test-run17988443614 branch October 29, 2025 12:33
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