Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Nov 3, 2025

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

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

zyw-bot commented Nov 3, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@1c094a1
patch: llvm/llvm-project#166102
sha256: a728f2ec901c34d7003ba1c0d7b60e383ddfa0ebe5e0106dbd714ca32298f30a
commit: 17f9c0d

3055 files changed, 1852214 insertions(+), 1857546 deletions(-)

Improvements:
  instsimplify.NumExpand 288771 -> 292250 +1.20%
  instcombine.NumFactor 45027 -> 45551 +1.16%
  bdce.NumSimplified 5770 -> 5796 +0.45%
  correlated-value-propagation.NumAnd 44197 -> 44332 +0.31%
  jump-threading.NumDupes 129641 -> 129960 +0.25%
  reassociate.NumAnnihil 767 -> 768 +0.13%
  vector-combine.NumVecBO 12933 -> 12945 +0.09%
  correlated-value-propagation.NumAShrsConverted 3484 -> 3487 +0.09%
  basicaa.SearchLimitReached 4771 -> 4775 +0.08%
  instcombine.NumConstProp 156985 -> 157107 +0.08%
Regressions:
  licm.NumBOAssociationsHoisted 3583 -> 3517 -1.84%
  instcombine.NumExpand 2703 -> 2683 -0.74%
  licm.NumFPAssociationsHoisted 541 -> 537 -0.74%
  loop-simplifycfg.NumLoopBlocksDeleted 6852 -> 6832 -0.29%
  simplifycfg.NumBitMaps 2237 -> 2231 -0.27%
  instcombine.NegatorNumNegationsFoundInCache 4715 -> 4703 -0.25%
  simplifycfg.NumLookupTables 19508 -> 19464 -0.23%
  adce.NumRemoved 95338 -> 95212 -0.13%
  constmerge.NumIdenticalMerged 15510 -> 15496 -0.09%
  reassociate.NumChanged 4988984 -> 4984525 -0.09%

+20 pcg-cpp/make-partytrick.ll
+15 boost/to_chars.ll
+12 libquic/hpack_header_table.ll
+10 pbrt-v4/noise.ll
+9 casadi/interpolant.ll
+9 ncnn/pooling_x86_avx512.ll
+9 stb/stb_ds.ll
+6 linux/timekeeping.ll
+6 ncnn/pooling_x86_avx.ll
+6 portaudio/pa_process.ll
+6 tokenizers-rs/5e69nv5s2wu1vtyr.ll
+4 git/config.ll
+4 linux/radix-tree.ll
+4 pola-rs/56y0q1nttgdkjvspd2zn6v52v.ll
+4 recastnavigation/RecastMeshDetail.ll
+3 arrow/api_vector.ll
+3 cpython/_testbuffer.ll
+3 draco/symbol_encoding.ll
+3 ffmpeg/mpegvideo_enc.ll
+3 hdf5/h5repack_refs.ll
+3 libsodium/pwhash_scryptsalsa208sha256_sse.ll
+3 linux/hda_jack.ll
+3 lvgl/lv_chart.ll
+3 qemu/tcg.ll
+3 quantlib/constantestimator.ll
+3 re2/onepass.ll
+3 wolfssl/internal.ll
+3 wolfssl/ssl.ll
+3 zxing/ODDataBarCommon.ll
+2 darktable/accelerators.ll
+2 graphviz/circpos.ll
+2 linux/cgroup.ll
+2 luajit/lib_ffi.ll
+2 openspiel/crowd_modelling_2d.ll
+2 openspiel/stones_and_gems.ll
+1 bdwgc/gc.ll
+1 coreutils-rs/2fxrwnovw97v41kk.ll
+1 coreutils-rs/3hxvjlp3c9mnf678.ll
+1 curl/url.ll
+1 hyperscan/rose_build_groups.ll
+1 ruby/time.ll
+1 sdl/e_fmod.ll
+1 sqlite/shell.ll
+1 tokio-rs/1rl1r5ea6bzd5c9z.ll
+1 wasmi-rs/81zenk7vnx5bb2cqs914cjtg3.ll
-1 abseil-cpp/cord.ll
-1 arrow/io_util.ll
-1 c3c/parse_global.ll
-1 ceres/dogleg_strategy.ll
-1 ceres/polynomial.ll
-1 clamav/scantree.ll
-1 cmake/cmNinjaTargetGenerator.ll
-1 coreutils-rs/x8pbloshhgr8d49.ll
-1 delta-rs/1rw3q64nilk4jthd.ll
-1 g2o/vertex_line2d.ll
-1 hermes/CodeBlock.ll
-1 libcxx/charconv.ll
-1 libquic/p224-64.ll
-1 mitsuba3/ralocal.ll
-1 msgpack/asio_send_recv.ll
-1 pola-rs/59h0xctzreekd1dj94rqcuqk4.ll
-1 postgres/buffile.ll
-1 proj/gridshift.ll
-1 qemu/pci.ll
-1 quinn-rs/7yqfzisqbnqsiwjrqtgcfuc30.ll
-1 raylib/rcore.ll
-1 ruby/ipsocket.ll
-1 softposit-rs/5az6c15ag5q4gib5.ll
-1 spike/processor.ll
-1 velox/Expr.ll
-1 wasmi-rs/cfqsonek5l7h839gg4bayo6fi.ll
-1 wireshark/text_import_regex.ll
-2 abc/saigRetMin.ll
-2 box2d/shape.ll
-2 clap-rs/3b4nqkxyl1xqdcre.ll
-2 fish-rs/dyi88lxblgjiro4rib5x24yy5.ll
-2 folly/IPAddressV4.ll
-2 folly/MacAddress.ll
-2 git/clean.ll
-2 hdf5/H5Tconv_integer.ll
-2 libquic/process_metrics_linux.ll
-2 luau/Compile.ll
-2 redis/rax.ll
-2 sentencepiece/strutil.ll
-2 spike/triggers.ll
-2 stb/stb_vorbis.ll
-2 typst-rs/2hy987uth4sp8yoc.ll
-2 velox/Type.ll
-2 wasmtime-rs/1zz7jsxv168dc7km.ll
-3 ffmpeg/avformat.ll
-3 gromacs/gmx_bundle.ll
-3 grpc/retry_service_config.ll
-3 minetest/CFileSystem.ll
-3 minetest/cavegen.ll
-3 slurm/topology_block.ll
-3 turborepo-rs/073xkjbb0bs34qvdns32a3q3u.ll
-3 wasmi-rs/5u9yytvr2y94asl5o7aafpnhk.ll
-3 wasmtime-rs/3flv1664rwe55t82.ll
-4 assimp/glTF2Exporter.ll
-4 assimp/glTFExporter.ll
-4 casadi/mx_function.ll
-4 curl/mprintf.ll
-4 darktable/gtk.ll
-4 icu/measunit_extra.ll
-4 luau/EmitInstructionX64.ll
-4 openssl/format_output.ll
-4 pola-rs/46cnv2sjhtz31ha66svwl7qte.ll
-4 proxygen/PersistentQuicTokenCache.ll
-4 ripgrep-rs/1en8ulv4lf1lnd4m.ll
-4 sdl/SDL_gpu_vulkan.ll
-5 clamav/dlp.ll
-5 darktable/Cr2Decoder.ll
-5 hdf5/H5MFaggr.ll
-5 jiff-rs/e4m488lukglmxlpbdqjrf7sst.ll
-5 luau/Builtins.ll
-5 open3d/PointCloudPlanarPatchDetection.ll
-6 icu/locid.ll
-6 libquic/activity_tracker.ll
-6 meshlab/ml_scene_gl_shared_data_context.ll
-6 openmpi/pmix_net.ll
-6 openssl/rsa_kmgmt.ll
-6 qemu/tcg-op-ldst.ll
-6 rust-analyzer-rs/2ajuxklycdgazr2a.ll
-6 rustfmt-rs/5genfix4t5066ss.ll
-6 typst-rs/40w6rezair915kkd.ll
-7 boost/topology.ll
-7 lief/CoreAuxv.ll
-7 meshlab/gltf_loader.ll
-7 mold/cmdline.cc.X86_64.ll
-7 nix/binary-cache-store.ll
-7 oiio/filesystem.ll
-7 open3d/NumpyIO.ll
-7 spike/spike-log-parser.ll
-7 yara-x-rs/98ju2vcu3mcgze6k61u00b6zf.ll
-8 glog/symbolize.ll
-8 grpc/rbac_service_config_parser.ll
-8 icu/rematch.ll
-8 luau/IrTranslateBuiltins.ll
-8 quest/QuEST_validation.ll
-8 rust-analyzer-rs/hajha7nvyoiczny.ll
-8 xgboost/context.ll
-9 luau/ConstraintSolver.ll
-9 open3d/Indexer.ll
-10 proxygen/QPACKEncoder.ll
-10 uv-rs/blga9afykac2ursvzy4lhyrgl.ll
-10 wireshark/data_printer.ll
-12 abseil-cpp/symbolize.ll
-14 llama.cpp/unicode.ll
-15 mitsuba3/virtmem.ll
-16 lief/ASN1Reader.ll
-18 proxygen/HTTPTransaction.ll
-22 wireshark/qcustomplot.ll

@github-actions
Copy link
Contributor

github-actions bot commented Nov 3, 2025

The provided diff consists of numerous small, localized changes across various benchmark files. Here is a summary of the most significant and recurring types of changes:

  1. Simplification of Branch Conditions: Multiple instances replace complex branch merge logic (e.g., or of two conditions) with simpler direct use of one condition. For example, in saigRetMin.ll, %brmerge = or i1 %.0.lcssa, %.not is replaced with br i1 %.0.lcssa, indicating that one operand dominates or the other was redundant.

  2. Optimization of PHI Nodes and Value Selection: Several functions eliminate unnecessary PHI nodes and conditional selects. In symbolize.ll, redundant phi values and an and operation are removed, simplifying control flow and reducing value tracking complexity.

  3. Improved Code Generation for Range/Or Patterns: Functions like cord.ll, io_util.ll, and hermes/CodeBlock.ll now directly compute combined values using or disjoint instead of separate loads and inserts into PHI nodes, reducing instruction count and improving clarity.

  4. Loop Exit and Critical Edge Handling: Many changes restructure loop exits by introducing new .loopexit blocks and redirecting branches to them, often merging cleanup paths. This improves control flow structure and enables better optimization (e.g., in casadi/interpolant.ll).

  5. Reduction of SROA Artifacts: Across multiple files (box2d, folly, grpc), struct field reconstruction via SROA (Scalar Replacement of Aggregates) is simplified—unnecessary or and insert operations are removed, returning single reconstructed values directly.

These changes reflect optimizations focused on reducing redundancy, simplifying control flow, and eliminating intermediate steps in value computation, likely resulting from improved static analysis or code generation passes.

model: qwen-plus-latest
CompletionUsage(completion_tokens=381, prompt_tokens=109754, total_tokens=110135, completion_tokens_details=None, prompt_tokens_details=None)

ret { i32, i32 } %7
%3 = icmp ult i64 %0, 154618822656
%.sroa.3937.0.i = select i1 %3, i64 %switch.idx.mult.i, i64 513
%5 = trunc i64 %.sroa.3937.0.i to i1
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dtcxzyw dtcxzyw closed this Nov 3, 2025
@dtcxzyw dtcxzyw deleted the test-run19039835211 branch November 3, 2025 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants