Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Jun 22, 2025

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

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

zyw-bot commented Jun 22, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@f51d873
patch: llvm/llvm-project#143683
sha256: 01efcc3f18053d8206edecfa4e387767589ae2d1b1fc67e0aacbdfe8e11c1a15
commit: 32f29b4

353 files changed, 336391 insertions(+), 329976 deletions(-)

Improvements:
  simplifycfg.NumSinkCommonInstrs 833616 -> 836143 +0.30%
  correlated-value-propagation.NumCmps 300406 -> 301088 +0.23%
  dse.NumFastOther 517196 -> 517702 +0.10%
  simplifycfg.NumSinkCommonCode 388689 -> 389018 +0.08%
  simplifycfg.NumSpeculations 412799 -> 413107 +0.07%
  memory-builtins.ObjectVisitorLoad 2476677 -> 2478369 +0.07%
  dse.NumFastStores 1198812 -> 1199572 +0.06%
  instcombine.NumSunkInst 3552825 -> 3554708 +0.05%
  dse.NumGetDomMemoryDefPassed 1409526 -> 1410249 +0.05%
  jump-threading.NumThreads 2949724 -> 2950762 +0.04%
Regressions:
  simplifycfg.NumHoistCommonInstrs 2480186 -> 2478052 -0.09%
  simplifycfg.NumHoistCommonCode 858877 -> 858165 -0.08%
  constraint-elimination.NumCondsRemoved 3573773 -> 3572788 -0.03%
  dse.NumRedundantStores 37628 -> 37620 -0.02%
  globalsmodref-aa.NumNoMemFunctions 812402 -> 812362 -0.00%
  globalsmodref-aa.NumReadMemFunctions 1242108 -> 1242068 -0.00%
  gvn.NumGVNInstr 159123 -> 159120 -0.00%
  gvn.NumGVNPRE 159123 -> 159120 -0.00%
  correlated-value-propagation.NumSelects 248476 -> 248472 -0.00%
  gvn.IsValueFullyAvailableInBlockNumSpeculationsMax 610399 -> 610391 -0.00%

62 57 bench/actix-rs/optimized/2wg1z1eatrkafji9.ll
62 57 bench/actix-rs/optimized/36qa1hw006t0trtl.ll
62 57 bench/actix-rs/optimized/520p8qtoxfmkvgyc.ll
1 1 bench/cmake/optimized/zstd_ldm.ll
62 57 bench/coreutils-rs/optimized/2y94il9ncyebrpt0.ll
50 50 bench/delta-rs/optimized/3w98mau10rb6qf7d.ll
16 19 bench/delta-rs/optimized/4say4x9grcidoih4.ll
62 57 bench/diesel-rs/optimized/3nv3xphjbq527f6u.ll
6 10 bench/duckdb/optimized/bignum.ll
5 5 bench/duckdb/optimized/ub_duckdb_storage_compression_roaring.ll
122 117 bench/egg-rs/optimized/208b1a9t1vdfvafq.ll
48 56 bench/graphviz/optimized/spring_electrical.ll
56 53 bench/html5ever-rs/optimized/1mf2h4bh94yx6is.ll
4 4 bench/hyperscan/optimized/mcclellancompile.ll
6 7 bench/hyperscan/optimized/ng_mcclellan.ll
7 7 bench/hyperscan/optimized/ng_misc_opt.ll
20 20 bench/image-rs/optimized/244uszkx0e8t5ie1.ll
32 42 bench/influxdb-rs/optimized/1qfvsl8a7jfomqbf.ll
58 53 bench/meilisearch-rs/optimized/7fmwz6nrtt7kwsj.ll
61 56 bench/mini-lsm-rs/optimized/1mavrvqu7b39yar1.ll
62 57 bench/mini-lsm-rs/optimized/2y1m09w3fogtr6jd.ll
43 44 bench/ockam-rs/optimized/59645ou3p4wsm5oz.ll
69 66 bench/pingora-rs/optimized/buvg05ofkihfrgtzxvq0wm8fb.ll
2 2 bench/pola-rs/optimized/1rsrmy2r4dk76n6ayk75n7qe2.ll
52 52 bench/qdrant-rs/optimized/14hho85eanhsaepf.ll
60 61 bench/qdrant-rs/optimized/1604xuzoa424d8h4.ll
60 55 bench/ripgrep-rs/optimized/f8chif48dhkcb7u.ll
60 44 bench/ruff-rs/optimized/9nvvpt1ezz0xq4qxcl2hj9bws.ll
52 49 bench/ruff-rs/optimized/dv3u0zj1g96ml2orvqzylystz.ll
49 46 bench/rust-analyzer-rs/optimized/2gfo4qfvfsgl8tkl.ll
51 48 bench/rust-analyzer-rs/optimized/3bcyxdd3fm70gs30.ll
52 49 bench/rust-analyzer-rs/optimized/635ry91nhs2ocdh.ll
101 93 bench/tikv-rs/optimized/5l8bi66t9fkz97f2037rofy4n.ll
60 58 bench/tree-sitter-rs/optimized/2xun21ofbsn7p9xn.ll
50 50 bench/turborepo-rs/optimized/3l7xg3ikfppult5o2lclnyys7.ll
50 50 bench/turborepo-rs/optimized/5acbtdg9xgmdrsj5fdxgf9kjz.ll
51 48 bench/uv-rs/optimized/1owd0gjazgnm3wlfvndm01xt6.ll
44 45 bench/uv-rs/optimized/4dcxzssfl4exl338cy92tfq1l.ll
45 46 bench/uv-rs/optimized/8hv30atg5watxkzkqbi6e75uu.ll
104 96 bench/wasmi-rs/optimized/3n432rns6m5cu25igp84708nl.ll
8 8 bench/wireshark/optimized/packet-bmc.ll
35 36 bench/wolfssl/optimized/random.ll
5 5 bench/yalantinglibs/optimized/channel.ll
44 45 bench/zed-rs/optimized/4fjzcqwe72s61qqj6jfld7d0e.ll
50 47 bench/zed-rs/optimized/8v0fi0zpujn3n5viw54gladc4.ll
44 45 bench/zed-rs/optimized/cn5tr75hwj0e1t163yn1kh0fu.ll

@github-actions
Copy link
Contributor

Here is a brief summary of up to 5 major changes in the patch:

  1. Simplified Zero-Length Check
    The original code checked if (x + 1) >> 4 == 0 by computing several intermediate values. This has been replaced with a direct check: x + 1 == 0. This simplifies logic and removes unnecessary shifts and masks, improving readability and potentially reducing instructions.

  2. Reordered PHI Nodes in Loop Latch Blocks
    Several loop latch blocks (e.g., .lr.ph.i, %16, %17) have had their PHI node order changed or restructured. This improves clarity and correctness when handling incoming values from multiple predecessors, aligning better with actual control flow.

  3. Memmove Speculation Using llvm.umax/umin Early
    In cases where memmove was conditionally called, the calls to llvm.umax.i64 and llvm.umin.i64 were moved earlier into dedicated exit blocks (threadXX). This allows speculative execution of memory copy size calculations before branching, possibly improving performance by enabling earlier instruction scheduling.

  4. Cleanup Landingpad and Unwind Labels Renaming
    Landingpad-based cleanup blocks now reference more consistent unwind labels and landingpads. For example, some previously used label %22 for landingpad resume, but now correctly use %23 or %24, aligning with new exception propagation paths.

  5. Swapped Load/Store Order with Aliasing Fixes
    In memory manipulation routines (e.g., swap loops), some load/store pairs were reordered or corrected to prevent aliasing violations. Specifically, indirect loads are now handled first before stores, and temporary registers are used to ensure safe memory access under LLVM's aliasing model.

These changes mainly focus on correctness, reducing computation overhead in critical path checks, and optimizing memmove/copy patterns in preparation for rehashing — all while maintaining alignment and lifetime annotations for safety and optimization opportunities.

model: qwen-plus-latest
CompletionUsage(completion_tokens=417, prompt_tokens=116022, total_tokens=116439, completion_tokens_details=None, prompt_tokens_details=None)

@dtcxzyw dtcxzyw closed this Jun 22, 2025
@dtcxzyw dtcxzyw deleted the test-run15803918157 branch June 30, 2025 11:31
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.

2 participants