Skip to content

pre-commit: PR149858 #2607

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from
Closed

pre-commit: PR149858 #2607

wants to merge 3 commits into from

Conversation

zyw-bot
Copy link
Collaborator

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

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

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

zyw-bot commented Jul 24, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@94aa08a
patch: llvm/llvm-project#149858
sha256: d949784d36971c99cba32ac66564a98cedadf40f40e8e655e41ebb1861fb6e1e
commit: 7dad413

30 files changed, 5028 insertions(+), 5141 deletions(-)

Improvements:
  licm.NumMovedCalls 34912 -> 34946 +0.10%
  instcombine.NumConstProp 163891 -> 163914 +0.01%
  licm.NumSunk 280859 -> 280890 +0.01%
  gvn.NumGVNBlocks 198441 -> 198452 +0.01%
  loop-delete.NumDeleted 116189 -> 116191 +0.00%
  simplifycfg.NumSinkCommonInstrs 836158 -> 836170 +0.00%
  simplifycfg.NumSpeculations 412794 -> 412798 +0.00%
  simplifycfg.NumSinkCommonCode 388893 -> 388896 +0.00%
  sccp.NumDeadBlocks 744336 -> 744341 +0.00%
  instcombine.NumSunkInst 3562866 -> 3562877 +0.00%
Regressions:
  instcombine.NumPHIsOfInsertValues 27153 -> 27147 -0.02%
  indvars.NumReplaced 72376 -> 72368 -0.01%
  loop-instsimplify.NumSimplified 182231 -> 182215 -0.01%
  bdce.NumRemoved 397403 -> 397384 -0.00%
  indvars.NumLFTR 332718 -> 332710 -0.00%
  memory-builtins.ObjectVisitorLoad 2480266 -> 2480218 -0.00%
  gvn.IsValueFullyAvailableInBlockNumSpeculationsMax 609218 -> 609207 -0.00%
  gvn.NumGVNSimpl 4741371 -> 4741316 -0.00%
  sccp.NumInstRemoved 2081635 -> 2081614 -0.00%
  correlated-value-propagation.NumNNeg 105075 -> 105074 -0.00%

1 1 bench/abc/optimized/acbFunc.ll
329 335 bench/abc/optimized/extraUtilMisc.ll
240 250 bench/abc/optimized/giaMinLut.ll
3 5 bench/abc/optimized/giaResub.ll
3 3 bench/abc/optimized/giaSimBase.ll
211 230 bench/box2d/optimized/imgui_draw.ll
14 14 bench/ffmpeg/optimized/elbg.ll
52 56 bench/hwloc/optimized/memattrs.ll
195 214 bench/imgui/optimized/imgui_draw.ll
99 105 bench/llvm/optimized/MachineFunctionSplitter.ll
34 40 bench/minetest/optimized/test_map.ll
40 36 bench/mitsuba3/optimized/x86rapass.ll
247 266 bench/nuklear/optimized/unity.ll
100 103 bench/php/optimized/pcre2_jit_compile.ll
19 20 bench/postgres/optimized/inherit.ll
16 17 bench/rocksdb/optimized/db_impl_compaction_flush.ll
34 32 bench/wireshark/optimized/packet-gsm_cbch.ll

Copy link
Contributor

The provided diff consists primarily of changes to metadata references (e.g., !tbaa and loop metadata like !llvm.loop) and minor reordering of basic blocks, which are typically non-functional changes resulting from compiler optimizations or metadata updates. After filtering out these non-interesting modifications, the following up to 5 major changes are identified:

  1. Reordering and restructuring of loop headers and preheaders: In several functions (e.g., @Extra_TruthCanonN, @Gia_ManSimEvalMaxValue), loop control logic is restructured—preheaders are split or renamed, and phi node operands are reordered. This suggests loop transformation optimizations such as unswitching or loop versioning, improving control flow or enabling further optimizations.

  2. Simplification of conditional exit blocks: In @Extra_TruthCanonN, the .lr.ph.preheader.i.us block is simplified by moving the @llvm.smax.i32 call out of the loop, reducing redundant computation. This indicates loop-invariant code motion or strength reduction.

  3. Modification of phi node operands in exit blocks: In functions like @Gia_RsbFindNodeToRemove.exit, the predecessor order in phi nodes is changed (e.g., from %lr.ph48 to %lr.ph47), reflecting altered control flow layout, possibly due to loop unrolling or tail duplication.

  4. Introduction of new preheader blocks with updated control flow: In @Gia_ManSimEvalMaxValue, a new .preheader.preheader block is introduced, redirecting control flow and restructuring loop initialization. This indicates loop optimization passes like loop splitting or versioning.

  5. Replacement of complex phi nodes with simpler initial values: In @Extra_TruthCanonN, the Extra_TruthPolarize.exit block is updated to use a direct phi from %2, simplifying the value flow and potentially enabling better constant propagation or dead code elimination.

These changes reflect loop optimization and control flow restructuring, likely resulting from passes such as loop unswitching, loop preheader insertion, and invariant code motion, aimed at improving performance through better loop handling and reduced redundancy.

model: qwen-plus-latest
CompletionUsage(completion_tokens=453, prompt_tokens=111134, total_tokens=111587, completion_tokens_details=None, prompt_tokens_details=None)

@nikic
Copy link

nikic commented Jul 24, 2025

/add-label reviewed
/close

@github-actions github-actions bot closed this Jul 24, 2025
@dtcxzyw dtcxzyw deleted the test-run16494690085 branch July 29, 2025 18:29
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