Skip to content
This repository was archived by the owner on Mar 17, 2026. It is now read-only.

pre-commit: PR177597#3368

Closed
zyw-bot wants to merge 3 commits intomainfrom
test-run21290338913
Closed

pre-commit: PR177597#3368
zyw-bot wants to merge 3 commits intomainfrom
test-run21290338913

Conversation

@zyw-bot
Copy link
Copy Markdown
Collaborator

@zyw-bot zyw-bot commented Jan 23, 2026

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

@github-actions github-actions bot mentioned this pull request Jan 23, 2026
@zyw-bot
Copy link
Copy Markdown
Collaborator Author

zyw-bot commented Jan 23, 2026

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@668d474
patch: llvm/llvm-project#177597
sha256: 7d60f720f33f24ebf979d65d071f44cf3ec7fb1a7c6eca6de3203e7a055a9d97
commit: 82ac716

29 files changed, 38131 insertions(+), 38155 deletions(-)

Improvements:
  licm.NumMovedCalls 36875 -> 36885 +0.03%
  capture-tracking.NumNotCapturedBefore 19382646 -> 19382976 +0.00%
  globaldce.NumFunctions 348338 -> 348339 +0.00%
  instcount.NumCallInst 39095246 -> 39095306 +0.00%
  scalar-evolution.NumExitCountsComputed 4044274 -> 4044280 +0.00%
  function-attrs.NumReadOnlyArg 1880669 -> 1880670 +0.00%
  instcount.NumBrInst 44047395 -> 44047415 +0.00%
  func-properties-stats.NumBasicBlockCount 58999170 -> 58999190 +0.00%
  instcount.TotalBlocks 58999170 -> 58999190 +0.00%
  scalar-evolution.NumExitCountsNotComputed 11932181 -> 11932185 +0.00%
Regressions:
  constraint-elimination.NumCondsRemoved 3351454 -> 3351263 -0.01%
  gvn.NumGVNInstr 149548 -> 149544 -0.00%
  gvn.NumGVNPRE 149548 -> 149544 -0.00%
  capture-tracking.NumCapturedBefore 16170751 -> 16170422 -0.00%
  instcount.NumAndInst 3894392 -> 3894336 -0.00%
  instcount.NumPtrToIntInst 2997822 -> 2997784 -0.00%
  instcombine.NumConstProp 168478 -> 168476 -0.00%
  simplifycfg.NumHoistCommonInstrs 2507432 -> 2507408 -0.00%
  early-cse.NumCSE 5556153 -> 5556102 -0.00%
  licm.NumHoisted 5290925 -> 5290885 -0.00%

+8 mold/input-sections.cc.X86_64.ll
-3 darktable/FileReader.ll
-3 php/ZendAccelerator.ll
-6 darktable/ChecksumFile.ll
-6 darktable/Cr2Decoder.ll
-6 darktable/rawspeed-identify.ll
-6 ruby/vm.ll
-8 php/zend_shared_alloc.ll
-16 darktable/RawImage.ll

@github-actions
Copy link
Copy Markdown
Contributor

Here's a concise summary of the major changes in this LLVM IR diff:

  1. Replacement of manual alignment checks with llvm.assume alignment metadata: Across multiple files (ChecksumFile.ll, Cr2Decoder.ll, FileReader.ll, RawImage.ll, rawspeed-identify.ll, ZendAccelerator.ll, vm.ll), sequences computing pointer alignment via ptrtoint + and + icmp are replaced with direct llvm.assume(i1 true) [ "align"(ptr, i64 N) ]. This simplifies IR and enables better optimization by conveying alignment assumptions more directly to the optimizer.

  2. Refinement of no-alias scope usage in XXH3 hash functions: In input-sections.cc.X86_64.ll, new llvm.experimental.noalias.scope.decl intrinsics are added, and existing !noalias and !alias.scope metadata on loads/stores in XXH3 accumulation loops are updated to reference newly declared scopes (e.g., !555, !563, !574). This improves alias analysis precision for vectorized memory operations.

  3. Fixes to phi node predecessor lists: Several phi instructions in rawspeed-identify.ll and ChecksumFile.ll had incorrect predecessor blocks listed (e.g., %475%472, %91%88, %95%92). These were corrected to match the actual control-flow predecessors, ensuring IR validity and correct SSA semantics.

  4. Cleanup of redundant or obsolete llvm.assume calls and TBAA metadata: In ZendAccelerator.ll and vm.ll, redundant alignment checks (e.g., ptrtoint/and/icmp) are removed entirely, replaced solely by llvm.assume with alignment metadata. Additionally, some outdated or unused llvm.assume calls (e.g., in zend_shared_alloc.ll) and stale !tbaa references are removed or updated.

  5. Consistent attribute and metadata index updates across TBB-related code: In input-sections.cc.X86_64.ll, numerous function attributes, loop metadata IDs (e.g., !572!573, !612!613), and TBAA node references (e.g., !602!603, !631!632) are incremented to reflect structural changes in the module’s metadata hierarchy, maintaining consistency after prior transformations.

These changes collectively improve IR clarity, strengthen optimization hints (especially around alignment and aliasing), and fix correctness issues in control-flow and metadata, primarily targeting performance-critical hashing and memory management code.

model: qwen-plus-latest
CompletionUsage(completion_tokens=596, prompt_tokens=52486, total_tokens=53082, completion_tokens_details=None, prompt_tokens_details=None)

@nikic
Copy link
Copy Markdown

nikic commented Jan 23, 2026

/close

@github-actions github-actions bot closed this Jan 23, 2026
@dtcxzyw dtcxzyw deleted the test-run21290338913 branch January 25, 2026 14:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants