Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

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

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

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

zyw-bot commented Nov 27, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@fb18f75
patch: llvm/llvm-project#167771
sha256: feefff018914882fe2906e13e3a68a8228ac2fa9a5768c6c8b30049a59928e2e
commit: 114508a

1672 files changed, 925904 insertions(+), 938873 deletions(-)

Improvements:
  bdce.NumSimplified 5795 -> 5816 +0.36%
  memcpyopt.NumCpyToSet 10940 -> 10953 +0.12%
  dse.NumCFGTries 54916 -> 54967 +0.09%
  dse.NumCFGChecks 635021 -> 635478 +0.07%
  simplifycfg.NumFoldValueComparisonIntoPredecessors 512831 -> 513087 +0.05%
  mem2reg.NumDeadAlloca 1963403 -> 1964316 +0.05%
  simplifycfg.NumFoldBranchToCommonDest 748129 -> 748467 +0.05%
  simplifycfg.NumBitMaps 2245 -> 2246 +0.04%
  simplifycfg.NumLookupTablesHoles 2393 -> 2394 +0.04%
  instcombine.NumFactor 45557 -> 45570 +0.03%
Regressions:
  instcombine.NumGlobalCopies 184204 -> 183372 -0.45%
  bdce.NumRemoved 384284 -> 382918 -0.36%
  globalsmodref-aa.NumNonAddrTakenGlobalVars 416312 -> 415531 -0.19%
  vector-combine.NumVecLoad 4291 -> 4288 -0.07%
  sroa.MaxPartitionsPerAlloca 206825 -> 206703 -0.06%
  instcombine.NumConstProp 155480 -> 155393 -0.06%
  correlated-value-propagation.NumNonNull 10870047 -> 10864164 -0.05%
  memcpyopt.NumStackMove 80837 -> 80796 -0.05%
  aggressive-instcombine.NumInstrsReduced 44996 -> 44976 -0.04%
  gvn.NumGVNLoad 1320135 -> 1319610 -0.04%

+14 zed-rs/bwf7odsfkes1o9vw37iz67e4b.ll
+12 just-rs/xt6bvrk4jdo7mpy.ll
+10 wasmtime-rs/cxg2cx8gn6v5trt.ll
+7 delta-rs/s2xrj2sh770tx8d.ll
+6 rust-analyzer-rs/2ztqi8ib9ngj9iz.ll
+6 zed-rs/f4wwu90a2y9t62jcyj6nqzu8v.ll
+5 elfshaker-rs/538k7v4jnxs1qgfredr4viqv4.ll
+5 yalantinglibs/channel.ll
+4 cpp-httplib/httplib.ll
+4 llama.cpp/json-schema-to-grammar.ll
+4 ockam-rs/3spcfx0kj7tua4em.ll
+4 velox/AllocationPool.ll
+3 grpc/channel_args.ll
+3 llvm/AttributorAttributes.ll
+3 rocksdb/internal_stats.ll
+3 tokenizers-rs/2mot01sr7ebui81b.ll
+2 cvc5/options_handler.ll
+2 diesel-rs/3t9haxhg11g45rod.ll
+2 mold/cmdline.cc.X86_64.ll
+2 nix/cgroup.ll
+2 node/libnode.node_buffer.ll
+2 ockam-rs/31s7w40jb5ho09e2.ll
+2 ockam-rs/7hitgxreqt236i.ll
+2 open3d/Geometry3D.ll
+2 recastnavigation/catch_amalgamated.ll
+2 syn/3e28wvtnspuupgei.ll
+2 wasmtime-rs/1zz7jsxv168dc7km.ll
+2 wasmtime-rs/2wry4odhn7m84bj2.ll
+2 wasmtime-rs/3hwarn3zl2ncla2z.ll
+2 wasmtime-rs/47jrn73ttlkllmrg.ll
+1 boost/default_filter_factory.ll
+1 ceres/schur_eliminator_d_d_d.ll
+1 cmake/cf-h2-proxy.ll
+1 cmake/zstdmt_compress.ll
+1 coreutils-rs/2oqtsf9adaj2wzr6.ll
+1 ffmpeg/avformat.ll
+1 g2o/edge_se2_pointxy_calib.ll
+1 libigl/polar_svd3x3.ll
+1 libigl/principal_curvature.ll
+1 lightgbm/linear_tree_learner.ll
+1 llvm/CVSymbolVisitor.ll
+1 llvm/LivePhysRegs.ll
+1 ockam-rs/4t3y03rrak2rtjym.ll
+1 open3d/TriangleMeshSimplification.ll
+1 opencv/function.pb.ll
+1 opencv/map_field.ll
+1 rayon-rs/42isjd4q974i3ftt.ll
+1 rocksdb/db_impl.ll
+0 abseil-cpp/cord_test.ll
+0 actix-rs/19s5ghr2x6s6bmh4.ll
+0 arrow/reader.ll
+0 clap-rs/thb07xvb2pkztra.ll
+0 hermes/ProfileAnalyzer.ll
+0 jemalloc/tcache.ll
+0 jq/regexec.ll
+0 miniaudio/unity.ll
+0 tev/Channel.ll
-1 rust-analyzer-rs/2j2fovrmererjnve.ll
-1 rust-analyzer-rs/4qhzdiok6f4mymhy.ll
-1 syn/3r5osr990qsnm7hf.ll
-2 delta-rs/31i6j0ayu6bevt9n.ll
-2 mini-lsm-rs/4vkix0mjdn2idd4b.ll
-2 ockam-rs/111eznecj9pn2lkp.ll
-2 regex-rs/3ixfkxlmcuecmmus.ll
-2 typst-rs/4sdr2z2pqpqxs72u.ll
-2 wasmtime-rs/22yyfxyxsnty4v9s.ll
-3 raylib/rcore.ll
-4 duckdb/fastcover.ll
-4 influxdb-rs/1zobaqtttt01ywwe.ll
-5 influxdb-rs/54bldmpi534adbqh.ll
-5 openusd/layer.ll
-8 tokio-rs/4zaq7yghb5wawieu.ll
-12 tokio-rs/2i86qkpybymk1snv.ll
-24 diesel-rs/3nhirlswgfgsoryk.ll
-27 tokio-rs/1rl1r5ea6bzd5c9z.ll
-30 proj/param.ll

@github-actions
Copy link
Contributor

The patch consists of multiple changes across various benchmarks, primarily focused on improving type handling and memory operations in LLVM IR. The major changes are:

  1. Pointer-to-integer conversions: Several instances replace store ptr null with store i64 0 and load ptr with load i64, followed by explicit ptrtoint and inttoptr conversions. This suggests improved handling of pointer values as integers when the actual pointer semantics aren't needed, potentially enabling better optimization.

  2. SROA (Scalar Replacement of Aggregates) improvements: Multiple changes show restructuring of SROA-optimized code, such as reordering phi nodes and adjusting variable types from pointers to integers where appropriate. This indicates more precise analysis of aggregate data structures.

  3. Memory initialization optimizations: Changes like replacing multiple small stores with a single larger memset or memcpy operation (e.g., in miniaudio and delta-rs) improve initialization efficiency by reducing the number of memory operations.

  4. Phi node restructuring: In several functions, phi nodes are reorganized with updated predecessor labels, suggesting improved control flow analysis that allows for better value tracking across basic blocks.

  5. Code generation improvements: The introduction of explicit ptrtoint/inttoptr pairs instead of direct pointer operations provides more opportunities for optimization while maintaining correctness, particularly in scenarios involving pointer arithmetic or storage.

These changes collectively indicate improvements in LLVM's optimization passes, particularly in SROA, memory access optimization, and type handling, resulting in more efficient code generation.

model: qwen-plus-latest
CompletionUsage(completion_tokens=323, prompt_tokens=114533, total_tokens=114856, completion_tokens_details=None, prompt_tokens_details=None)

@dtcxzyw
Copy link
Owner

dtcxzyw commented Nov 27, 2025

cc @YonahGoldberg

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