Skip to content

Conversation

zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Oct 7, 2025

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

zyw-bot commented Oct 7, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@b94a66d
patch: llvm/llvm-project@main...fhahn:llvm-project:ic-fold-alignment-assumption-into-load-tmp
sha256: eb0ee6e756a72f703e79f7c610163a3b89a297ac2580a95010fb538c4b3908b9
commit: 7009025

1883 files changed, 788183 insertions(+), 749748 deletions(-)

Improvements:
  alignment-from-assumptions.NumMemIntAlignChanged 1 -> 2 +100.00%
  alignment-from-assumptions.NumLoadAlignChanged 32 -> 37 +15.62%
  simplifycfg.NumSpeculations 408318 -> 408679 +0.09%
  licm.NumSunk 279084 -> 279218 +0.05%
  licm.NumMovedCalls 35314 -> 35330 +0.05%
  correlated-value-propagation.NumSelects 232594 -> 232677 +0.04%
  instcombine.NumDeadInst 42409883 -> 42423078 +0.03%
  simplifycfg.NumLinearMaps 4173 -> 4174 +0.02%
  dse.NumCFGSuccess 8646 -> 8648 +0.02%
  scalar-evolution.NumExitCountsNotComputed 12319081 -> 12321436 +0.02%
Regressions:
  dse.NumFastOther 510551 -> 510174 -0.07%
  simplifycfg.NumHoistCommonInstrs 2516213 -> 2515045 -0.05%
  simplifycfg.NumHoistCommonCode 870739 -> 870351 -0.04%
  correlated-value-propagation.NumPhis 1286558 -> 1286267 -0.02%
  instcombine.NumDeadStore 26946 -> 26943 -0.01%
  instcombine.NumSunkInst 3498943 -> 3498644 -0.01%
  gvn.NumPRELoadMoved2CEPred 83940 -> 83937 -0.00%
  globalsmodref-aa.NumReadMemFunctions 1214915 -> 1214890 -0.00%
  adce.NumRemoved 98462 -> 98460 -0.00%
  globalopt.NumDeleted 1076733 -> 1076717 -0.00%

+115 influxdb-rs/45ep097lxkbdotle.ll
+108 influxdb-rs/55ksfxb2g8gj9lwh.ll
+46 foundations-rs/b0xh3itut9mfgawhehftenjye.ll
+43 meilisearch-rs/4llghrvh6vzci59o.ll
+38 yara-x-rs/6lvluxz0xcnue8xe38nauwxln.ll
+34 tokio-rs/27wc5j4mui8auwxp.ll
+32 foundations-rs/7zdc97sa0ogd517y2re7ok0yw.ll
+29 tokio-rs/3komhj9d9wikzvkw.ll
+26 meilisearch-rs/48hhebymxr5ff2nk.ll
+25 meilisearch-rs/2vln1wcrdf8krbw1.ll
+24 turborepo-rs/74s3x9u7hld928rwmttmetb1y.ll
+23 smol-rs/45vbdutx5dtz1hlf.ll
+23 syn/3r5osr990qsnm7hf.ll
+22 tokio-rs/4brh9kql6tjayli1.ll
+21 image-rs/5ez7udly19o3uj1p.ll
+17 tokio-rs/2hdl8fhrgv40yx9z.ll
+16 tls-rs/2xhpv4vf07do7r8g.ll
+15 mini-lsm-rs/2j7sj03n10nloiwr.ll
+14 influxdb-rs/3k3vgyqcou07q2z6.ll
+14 just-rs/23nlf67cmm9na4ci.ll
+13 syn/3e28wvtnspuupgei.ll
+12 fish-rs/13v7qjk9d4erkgv5w97enxlzt.ll
+12 syn/2tga7oe2tfdpj05w.ll
+11 meilisearch-rs/2bqmf34tdvo23w8l.ll
+10 tls-rs/59h61akxu6z29dlt.ll
+9 fish-rs/1f6psxxy03bde21s751lsgfn2.ll
+9 fish-rs/djai6kkt8m7zi9lpt05bwt9kh.ll
+9 image-rs/34r8dryqmufipcqz.ll
+9 rustfmt-rs/3xcdaapyewyrfogi.ll
+9 wasmi-rs/cfqsonek5l7h839gg4bayo6fi.ll
+8 influxdb-rs/k4rb82tj7t3tvne.ll
+7 clap-rs/3b4nqkxyl1xqdcre.ll
+7 clap-rs/421wxj3t0b5xgmkw.ll
+7 influxdb-rs/4kb3gpg2ia525kiq.ll
+7 mini-lsm-rs/59xebgypolxascxr.ll
+7 quinn-rs/7i3tllkclkw46e2nqel8doaek.ll
+6 fish-rs/8zxt2gjt68ikxu18thf3foa45.ll
+6 regex-rs/476ym8x7jfk1k219.ll
+6 rustfmt-rs/4arc02n7xt9gqo2v.ll
+5 foundations-rs/3mkcuilt3qj76iejlx2uremig.ll
+5 quinn-rs/ey4dcuzpw4qgb9sgokuatlt89.ll
+4 quinn-rs/em94uyxz0wp9gccfab963606p.ll
+4 stat-rs/20o1n4zmlkej35p7.ll
+4 syn/19z3k5eqgbxjiezn.ll
+4 tree-sitter-rs/1an3e3vgwrgy9kls.ll
+3 image-rs/2s4mh02dvph60euq.ll
+3 jiff-rs/diij60a8h6gwjom97cm6sfirq.ll
+3 meilisearch-rs/2eqafq69fd46y14a.ll
+3 quiche-rs/06b42xxedqi52uuzk83asr46k.ll
+3 salsa-rs/0re58vbodfo9fw2ucr33a7vsy.ll
+3 turborepo-rs/avd1ga9yb4qq5g7sdqftppd4q.ll
+3 typst-rs/4m3ebbqd1xx21e5m.ll
+3 yara-x-rs/ehd2m88swoa0hwh8k90dxhn2z.ll
+2 elfshaker-rs/9g25xiovadbzz8leri5a9ttiq.ll
+2 foundations-rs/dn9au2q3g3wlvvn47oahet6lo.ll
+2 jiff-rs/6v5jz1tl6zqdv4zpvzdoaqaiw.ll
+2 quinn-rs/7yqfzisqbnqsiwjrqtgcfuc30.ll
+2 wasmi-rs/ea5tp1pyhuh13c18hcvvnv9jv.ll
+1 actix-rs/1cyxz7f31jo1m8z1.ll
+1 fish-rs/2jegnuo3b7uy1oojff5kt8alk.ll
+1 fish-rs/5o5xgybh9xo8acbeboom17uhq.ll
+1 fish-rs/czs708r0zvy58e2j6rsq7a88i.ll
+1 regex-rs/3ixfkxlmcuecmmus.ll
+1 yara-x-rs/3fq4tzir3w26vuap941fml3yt.ll
+0 darktable/introspection_sharpen.ll
+0 turborepo-rs/5oyfkcp83qeshlhfpeq645wiv.ll
+0 yara-x-rs/aqllqyzrtxqplivthssual6c8.ll
-1 darktable/brush.ll
-1 darktable/ellipse.ll
-1 llvm/ASTContext.ll
-2 libcxx/path.ll
-2 llvm/ASTImporter.ll
-3 libcxx/thread.ll
-3 llvm/SemaLambda.ll
-5 libcxx/operations.ll

Copy link
Contributor

github-actions bot commented Oct 7, 2025

The changes primarily involve the addition of llvm.assume intrinsics with alignment metadata across multiple benchmark files. These assumptions inform the optimizer that specific pointers are aligned to certain boundaries (e.g., 8-byte or 4-byte), enabling more aggressive optimizations such as vectorization, better memory access code generation, and elimination of alignment checks.

Key changes include:

  1. Introduction of call void @llvm.assume(i1 true) [ "align"(ptr %x, i64 N) ] in various functions to assert pointer alignment, especially before memory operations.
  2. Replacement of direct loads/stores with sequences involving alignment assumptions, enhancing optimization opportunities.
  3. Use of llvm.assume after pointer extractions or calculations to reinforce alignment properties for subsequent uses.
  4. Alignment assertions on PHI node results and function parameters to propagate alignment information through control flow.
  5. Updates to metadata usage, particularly alignment-related metadata in load/store instructions alongside new llvm.assume calls.

These modifications aim to improve performance by allowing the compiler to generate more efficient code based on guaranteed alignment properties.

model: qwen-plus-latest
CompletionUsage(completion_tokens=220, prompt_tokens=102358, total_tokens=102578, completion_tokens_details=None, prompt_tokens_details=None)

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