Skip to content

Conversation

@dtcxzyw
Copy link
Owner

@dtcxzyw dtcxzyw commented Jun 14, 2025

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

@github-actions github-actions bot mentioned this pull request Jun 14, 2025
@dtcxzyw
Copy link
Owner Author

dtcxzyw commented Jun 14, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@2cb32e2
patch: llvm/llvm-project#143683
sha256: 2b4496e17d6687bc67f363fcd658be12f374496469d815b9a1758547224ab9ed
commit: 4b414da

358 files changed, 357913 insertions(+), 351449 deletions(-)

Improvements:
  simplifycfg.NumSinkCommonInstrs 833816 -> 836343 +0.30%
  correlated-value-propagation.NumCmps 300824 -> 301509 +0.23%
  dse.NumFastOther 517093 -> 517599 +0.10%
  simplifycfg.NumSinkCommonCode 389340 -> 389669 +0.08%
  simplifycfg.NumSpeculations 412893 -> 413201 +0.07%
  memory-builtins.ObjectVisitorLoad 2476943 -> 2478635 +0.07%
  dse.NumFastStores 1198183 -> 1198942 +0.06%
  instcombine.NumSunkInst 3554844 -> 3556880 +0.06%
  dse.NumGetDomMemoryDefPassed 1408823 -> 1409539 +0.05%
  jump-threading.NumThreads 2951034 -> 2952076 +0.04%
Regressions:
  simplifycfg.NumHoistCommonInstrs 2487830 -> 2485696 -0.09%
  simplifycfg.NumHoistCommonCode 864919 -> 864207 -0.08%
  constraint-elimination.NumCondsRemoved 3573870 -> 3572877 -0.03%
  sccp.NumInstRemoved 2107095 -> 2106632 -0.02%
  dse.NumRedundantStores 37600 -> 37592 -0.02%
  gvn.NumGVNInstr 159108 -> 159075 -0.02%
  gvn.NumGVNPRE 159108 -> 159075 -0.02%
  sccp.NumDeadBlocks 755120 -> 755012 -0.01%
  bdce.NumRemoved 395143 -> 395123 -0.01%
  globalsmodref-aa.NumNoMemFunctions 812841 -> 812806 -0.00%

13 17 bench/abc/optimized/wlcNtk.ll
62 57 bench/actix-rs/optimized/2wg1z1eatrkafji9.ll
62 57 bench/actix-rs/optimized/36qa1hw006t0trtl.ll
62 57 bench/actix-rs/optimized/520p8qtoxfmkvgyc.ll
9 5 bench/cmake/optimized/zstd_ldm.ll
62 57 bench/coreutils-rs/optimized/2y94il9ncyebrpt0.ll
65 46 bench/darktable/optimized/crx.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
7 11 bench/duckdb/optimized/bignum.ll
7 6 bench/duckdb/optimized/ub_duckdb_storage_compression_roaring.ll
48 56 bench/graphviz/optimized/spring_electrical.ll
56 53 bench/html5ever-rs/optimized/1mf2h4bh94yx6is.ll
5 5 bench/hyperscan/optimized/mcclellancompile.ll
7 7 bench/hyperscan/optimized/ng_misc_opt.ll
61 56 bench/image-rs/optimized/2mngkegtim1o10y3.ll
32 42 bench/influxdb-rs/optimized/1qfvsl8a7jfomqbf.ll
2 2 bench/lief/optimized/bignum_core.ll
1 1 bench/linux/optimized/mincore.ll
58 53 bench/meilisearch-rs/optimized/7fmwz6nrtt7kwsj.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
4 3 bench/pola-rs/optimized/1rsrmy2r4dk76n6ayk75n7qe2.ll
3 2 bench/pola-rs/optimized/byas2yzy27h8nly1lm4ekoo5u.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
28 44 bench/typst-rs/optimized/53ug9lwflkq7ucu8.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
24 16 bench/wireshark/optimized/packet-bmc.ll
10 7 bench/wolfssl/optimized/random.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's a high-level summary of up to 5 major changes in the patch:

  1. Simplification of Branch Conditions Based on Zero Checks
    Several functions now replace complex computations (like computing shl, and, and zext) with a simpler check for whether the input value is zero (icmp eq i64 %value, 0). This change reduces computation steps when checking for empty loops or edge cases.

  2. Elimination of Redundant PHI Nodes in Critical Edges
    PHI nodes that were previously used to merge values from multiple predecessors have been simplified by removing unnecessary entries, particularly after landingpad or unwind blocks. For example, in some functions, duplicate PHI entries pointing to the same block have been replaced with only one valid reference.

  3. Reorganization of Loop Structures and PHI Instructions
    Loops have been restructured to improve clarity and correctness. PHI instructions were updated to reflect new incoming edges, such as using self-referential PHI entries after loop header changes. This helps better model control flow and value propagation in loops.

  4. Use of samesign in Exit Condition Comparisons
    Some branches use icmp samesign ult instead of older icmp eq, which improves semantics during exit condition checks by ensuring comparisons respect sign while still maintaining correct control flow.

  5. Introduction of .thread Blocks for Handling Edge Cases
    New .thread blocks appear to handle error or cleanup paths more explicitly, often inserting assumptions (llvm.assume) about pointer non-nullness before calls to memmove. These thread blocks seem to be replacing earlier logic that computed padding values directly inside branching code.

These changes primarily focus on improving control flow, reducing redundant operations, and enhancing safety assumptions in memory and pointer operations, especially around exception handling and loop structures.

model: qwen-plus-latest
CompletionUsage(completion_tokens=377, prompt_tokens=114573, total_tokens=114950, completion_tokens_details=None, prompt_tokens_details=None)

@dtcxzyw dtcxzyw closed this Aug 2, 2025
@dtcxzyw dtcxzyw deleted the test-run15652860118 branch August 2, 2025 06: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.

1 participant