Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Jul 23, 2025

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

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

zyw-bot commented Jul 23, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@52737ea
patch: llvm/llvm-project#146714
sha256: 24b3f434850fdf7b1d5551b7796c6d73d349b972aab0bfce4b276a0abbec8a0d
commit: e93be17

2059 files changed, 1850402 insertions(+), 1861767 deletions(-)

Improvements:
  instsimplify.NumReassoc 839620 -> 865464 +3.08%
  licm.NumAddSubHoisted 1320 -> 1340 +1.52%
  loop-simplifycfg.NumLoopBlocksDeleted 6956 -> 6985 +0.42%
  instcombine.NumFactor 46711 -> 46897 +0.40%
  loop-simplifycfg.NumTerminatorsFolded 10613 -> 10643 +0.28%
  licm.NumIntAssociationsHoisted 4100 -> 4103 +0.07%
  instcombine.NumReassoc 286749 -> 286925 +0.06%
  instcombine.NegatorMaxInstructionsCreated 17172 -> 17181 +0.05%
  simplifycfg.NumLinearMaps 4156 -> 4157 +0.02%
  correlated-value-propagation.NumSICmps 64493 -> 64508 +0.02%
Regressions:
  reassociate.NumAnnihil 834 -> 832 -0.24%
  licm.NumGEPsHoisted 61079 -> 60965 -0.19%
  simple-loop-unswitch.NumTrivial 3543 -> 3539 -0.11%
  reassociate.NumFactor 3118 -> 3116 -0.06%
  instcombine.NumSunkInst 3566101 -> 3564060 -0.06%
  licm.NumSunk 281268 -> 281149 -0.04%
  instcombine.NumDeadInst 44262586 -> 44245061 -0.04%
  local.NumPHICSEs 204871 -> 204806 -0.03%
  instcombine.NegatorNumTreesNegated 51893 -> 51879 -0.03%
  instcombine.NegatorMaxDepthVisited 20673 -> 20669 -0.02%

15 14 bench/abc/optimized/acecRe.ll
12 10 bench/abc/optimized/giaIso2.ll
8 13 bench/abc/optimized/mvcUtils.ll
4 4 bench/abseil-cpp/optimized/exception_safety_testing_test.ll
3 4 bench/actix-rs/optimized/19s5ghr2x6s6bmh4.ll
16 16 bench/arrow/optimized/coo_converter.ll
7 11 bench/assimp/optimized/BlenderCustomData.ll
58 53 bench/assimp/optimized/BlenderLoader.ll
27 31 bench/assimp/optimized/MMDPmxParser.ll
7 6 bench/boost/optimized/area_geo.ll
27 28 bench/cmake/optimized/archive_read_support_format_7zip.ll
7 4 bench/cmake/optimized/cmList.ll
71 69 bench/coreutils-rs/optimized/4ws6541n7p4pbb05.ll
14 18 bench/cvc5/optimized/metakind.ll
12 8 bench/cvc5/optimized/trigger_term_info.ll
8 9 bench/darktable/optimized/fp_dng.ll
16 18 bench/darktable/optimized/imageop_math.ll
2 3 bench/darktable/optimized/introspection_liquify.ll
16 20 bench/diesel-rs/optimized/4dmkc4an6cvf22v6.ll
4 5 bench/draco/optimized/mesh_edgebreaker_decoder_impl.ll
4 5 bench/draco/optimized/mesh_edgebreaker_encoder_impl.ll
8 5 bench/eastl/optimized/TestExtra.ll
4 5 bench/eastl/optimized/TestRingBuffer.ll
15 21 bench/eastl/optimized/TestSegmentedVector.ll
9 10 bench/ffmpeg/optimized/dvbsub_parser.ll
2 1 bench/ffmpeg/optimized/mpeg.ll
50 54 bench/ffmpeg/optimized/rtpenc_h261.ll
11 12 bench/fish-rs/optimized/5o5xgybh9xo8acbeboom17uhq.ll
10 13 bench/fmt/optimized/base-test.ll
3 4 bench/fmt/optimized/color-test.ll
38 35 bench/foundations-rs/optimized/208outlkq19x3hykb3fof84u4.ll
4 5 bench/freetype/optimized/sfnt.ll
6 7 bench/git/optimized/color.ll
51 50 bench/git/optimized/packfile.ll
18 12 bench/graphviz/optimized/dthash.ll
20 15 bench/gromacs/optimized/lincs.ll
11 18 bench/gromacs/optimized/selvalue.ll
9 13 bench/grpc/optimized/legacy_channel_idle_filter.ll
23 24 bench/grpc/optimized/work_serializer.ll
15 12 bench/hermes/optimized/APInt.ll
8 12 bench/hermes/optimized/CodeBlock.ll
2 1 bench/hermes/optimized/HadesGC.ll
7 11 bench/hermes/optimized/JSONParser.ll
2 1 bench/hermes/optimized/RegExp.ll
13 11 bench/icu/optimized/datamap.ll
6 7 bench/icu/optimized/locavailable.ll
7 8 bench/icu/optimized/ulistformatter.ll
24 29 bench/jq/optimized/jv_dtoa.ll
43 40 bench/just-rs/optimized/bulvmt5gknxyhsd.ll
36 26 bench/lean4/optimized/expr.ll
1 1 bench/libuv/optimized/inet.ll
10 12 bench/lief/optimized/AArch64Feature.ll
5 6 bench/lief/optimized/DyldBindingInfo.ll
19 15 bench/lief/optimized/DynamicRelocationBase.ll
14 11 bench/lightgbm/optimized/network.ll
13 8 bench/lightgbm/optimized/sample_strategy.ll
8 10 bench/llvm/optimized/Decl.ll
13 8 bench/llvm/optimized/LoopLoadElimination.ll
12 11 bench/llvm/optimized/TemplateName.ll
14 11 bench/luajit/optimized/lj_opt_mem.ll
23 27 bench/luajit/optimized/lj_str.ll
15 13 bench/luau/optimized/lstrlib.ll
10 8 bench/meshlab/optimized/GLLogStream.ll
3 2 bench/meshlab/optimized/render_raster.ll
23 24 bench/mold/optimized/arch-arm32.ll
20 21 bench/mold/optimized/gc-sections.cc.X86_64.ll
16 17 bench/mold/optimized/input-sections.cc.X86_64.ll
18 22 bench/nanobind/optimized/test_functions.ll
24 16 bench/nanobind/optimized/test_stl_bind_vector.ll
8 10 bench/nix/optimized/attr-set.ll
8 9 bench/node/optimized/libnode.packet.ll
24 19 bench/openblas/optimized/dlaswp_ncopy.ll
16 13 bench/opencc/optimized/louds-trie.ll
5 4 bench/opencv/optimized/arg_layer.ll
8 7 bench/opencv/optimized/gather_layer.ll
12 11 bench/openjdk/optimized/barrierSetC2.ll
6 5 bench/openjdk/optimized/bytecodeStream.ll
13 17 bench/openjdk/optimized/handles.ll
42 38 bench/openjdk/optimized/shenandoahMark.ll
24 16 bench/openjdk/optimized/zMark.ll
9 8 bench/openspiel/optimized/leduc_poker.ll
2 2 bench/openssl/optimized/v3_utl.ll
6 8 bench/openvdb/optimized/Filter.ll
4 5 bench/openvdb/optimized/TopologyToLevelSet.ll
8 10 bench/php/optimized/ftp_fopen_wrapper.ll
8 12 bench/php/optimized/zend_inheritance.ll
7 8 bench/php/optimized/zend_ini.ll
30 38 bench/pola-rs/optimized/1qyqkb8vgycy6h5akbtqppixy.ll
15 19 bench/pola-rs/optimized/4uf3zemqcz1kz37kef2sjlzv9.ll
12 16 bench/pola-rs/optimized/5igj4k372mlhkf3aildnxq1ta.ll
6 7 bench/postgres/optimized/guc.ll
20 18 bench/postgres/optimized/ruleutils.ll
50 45 bench/proj/optimized/horner.ll
29 20 bench/protobuf/optimized/arena.ll
6 8 bench/protobuf/optimized/descriptor.ll
4 6 bench/proxygen/optimized/HTTPConnectorWithFizz.ll
12 8 bench/qemu/optimized/tcg.ll
23 25 bench/redis/optimized/ziplist.ll
9 10 bench/redis/optimized/zipmap.ll
9 29 bench/ripgrep-rs/optimized/3bctup5kmnkujhz5.ll
4 5 bench/rocksdb/optimized/compression_context_cache.ll
38 35 bench/ruff-rs/optimized/3962cj1utxtdqcwyobmnzow9t.ll
29 26 bench/ruff-rs/optimized/9ccn8a2meujd26g9852zxayje.ll
6 7 bench/rust-analyzer-rs/optimized/1213fy5h08xh684z.ll
20 21 bench/rust-analyzer-rs/optimized/59xtetyz59tgy0g8.ll
32 38 bench/salsa-rs/optimized/94dtk09x8ywmkbr4cvij0wkfj.ll
9 11 bench/sentencepiece/optimized/arena.ll
9 8 bench/slurm/optimized/numa.ll
38 36 bench/typst-rs/optimized/1ru1rhojhbz2vfey.ll
31 30 bench/uv-rs/optimized/32ql9ocq6kkdl5jg2dnp7csot.ll
44 41 bench/uv-rs/optimized/53w83c036esehszikh9jad1ng.ll
3 4 bench/wireshark/optimized/decode_as_model.ll
21 19 bench/z3/optimized/ddnf.ll
12 17 bench/z3/optimized/fix_dl_var_tactic.ll
24 14 bench/z3/optimized/nnf.ll
22 21 bench/z3/optimized/rlimit.ll
22 16 bench/z3/optimized/substitution_tree.ll
6 7 bench/zed-rs/optimized/0x2swxz4m93xo6c0jggy1zzvx.ll
11 13 bench/zed-rs/optimized/4q1bnadqr1o107uase7gmrd0k.ll
19 19 bench/zxing/optimized/BinaryBitmap.ll

@github-actions
Copy link
Contributor

The provided diff introduces several changes across multiple LLVM IR files, primarily focused on improving memory access patterns and loop optimizations. Here are the major changes:

  1. Improved Pointer Arithmetic and Bounds Checking: In several files, pointer arithmetic is replaced with index-based calculations to enhance safety and optimization. For example, in acecRe.ll, comparisons between pointers are replaced with comparisons of computed indices, which can be more easily optimized by the compiler.

  2. Enhanced Loop Optimization: Changes in files like gvcUtils.ll and BlenderCustomData.ll involve restructuring loops to eliminate redundant checks and improve loop induction variable handling. This includes moving pointer calculations out of loops and using phi nodes more effectively to manage loop states.

  3. Optimized Memory Access Patterns: In imageop_math.ll and dthash.ll, memory access patterns are optimized by precomputing addresses and using them in loops, reducing the overhead of repeated address calculations. This can lead to better cache utilization and reduced instruction count.

  4. Simplified Control Flow: Files such as color-test.ll and jv_dtoa.ll show simplifications in control flow, where complex conditional branches are streamlined. This reduces the number of basic blocks and can improve branch prediction and overall performance.

  5. Enhanced Data Structure Initialization: In BlenderCustomData.ll and MMDPmxParser.ll, the initialization of data structures is optimized by reducing the number of memory operations and ensuring that memory is initialized in a more efficient manner, often by leveraging precomputed offsets and sizes.

These changes collectively aim to improve the performance and efficiency of the generated code by optimizing memory access, loop structures, and control flow, while also enhancing the safety and predictability of pointer operations.

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

@dtcxzyw dtcxzyw closed this Jul 23, 2025
@dtcxzyw dtcxzyw deleted the test-run16467600264 branch August 2, 2025 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants