Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Dec 10, 2025

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

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

zyw-bot commented Dec 10, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@16aa79d
patch: llvm/llvm-project#167771
sha256: 2a39b64c5644b007fc95101f524e7961953d7b166d0dabc44ad4804cee37a4a8
commit: 2c8431f

129 files changed, 87063 insertions(+), 87197 deletions(-)

Improvements:
  simplifycfg.NumBitMaps 2245 -> 2246 +0.04%
  simplifycfg.NumLookupTablesHoles 2394 -> 2395 +0.04%
  correlated-value-propagation.NumNonNull 10869930 -> 10874315 +0.04%
  mem2reg.NumDeadAlloca 1963420 -> 1964171 +0.04%
  simple-loop-unswitch.NumCostMultiplierSkipped 17253 -> 17255 +0.01%
  correlated-value-propagation.NumNUW 571064 -> 571123 +0.01%
  correlated-value-propagation.NumAnd 44492 -> 44496 +0.01%
  instcombine.NumPHIsOfInsertValues 26429 -> 26431 +0.01%
  constmerge.NumIdenticalMerged 15653 -> 15654 +0.01%
  simplifycfg.NumFoldValueComparisonIntoPredecessors 512907 -> 512938 +0.01%
Regressions:
  bdce.NumRemoved 384222 -> 383427 -0.21%
  vector-combine.NumVecLoad 4291 -> 4288 -0.07%
  gvn.NumGVNLoad 1312960 -> 1312121 -0.06%
  instcombine.NumConstProp 168343 -> 168248 -0.06%
  mem2reg.NumLocalPromoted 549701 -> 549536 -0.03%
  licm.NumBOAssociationsHoisted 3516 -> 3515 -0.03%
  sroa.NumLoadsPredicated 14459 -> 14456 -0.02%
  licm.NumLoadStorePromoted 64161 -> 64150 -0.02%
  local.NumPHICSEs 185818 -> 185787 -0.02%
  gvn.NumGVNSimpl 4418808 -> 4418075 -0.02%

+18 openvdb/Prune.ll
+0 assimp/zip.ll
+0 ceres/block_sparse_matrix.ll
+0 cmake/cmComputeLinkDepends.ll
+0 faiss/Clustering.ll
+0 g2o/optimization_algorithm_dogleg.ll
+0 g2o/slam2d_linear.ll
+0 hdf5/sio_perf.ll
+0 libigl/directed_edge_orientations.ll
+0 libigl/eigs.ll
+0 libigl/null.ll
+0 llvm/MsgPackDocument.ll
+0 meshlab/edit_align.ll
+0 nlohmann_json/diag_on.ll
+0 ockam-rs/1411u8drt798uxi8.ll
+0 opencv/gfluidbackend.ll
+0 opencv/kernels_video.ll
+0 pbrt-v4/integrator.ll
+0 pbrt-v4/integrators.ll
+0 php/zip.ll
+0 proj/adams.ll
+0 proj/airocean.ll
+0 proj/datum_set.ll
+0 proj/geod_set.ll
+0 proj/helmert.ll
+0 proj/horner.ll
+0 proj/info.ll
+0 proj/tmerc.ll
+0 quickjs/qjsc.ll
+0 quickjs/quickjs-libc.ll
+0 typst-rs/2d3c2n5y91mtl0x0.ll
+0 typst-rs/d6l9ieo9tcw33dn.ll
+0 wasmtime-rs/4ab4rlryc5h7bf6z.ll
-30 proj/param.ll
-31 typst-rs/2i78fvbm4wocuesi.ll

@github-actions
Copy link
Contributor

This patch consists of numerous localized, mechanical changes across many LLVM IR files, primarily involving:

  1. Phi node predecessor updates: In phi instructions, the block names in the predecessor list are updated to reflect renamed or reordered basic blocks (e.g., .thread428.thread426, %.lr.ph75%.lr.ph76, %.loopexit513%.loopexit511). These are consistent with loop restructuring or optimization passes that rename loop headers or exit blocks.

  2. Call site argument and callee updates: Several tail call and invoke instructions have their callee operand updated from a loaded function pointer (%42, %66, %111) to a different loaded pointer (%43, %67, %112) — indicating a change in indirect call target resolution, likely due to improved interprocedural analysis or devirtualization.

  3. Load/store type and alignment fixes: Multiple instances where <4 x i8> vector loads/stores are replaced with scalar i32 or i64 equivalents (e.g., in ockam-rs, typst-rs, opencv), reflecting better type inference or memory layout assumptions (e.g., loading a 4-byte field as i32 instead of <4 x i8>). Also includes alignment adjustments (e.g., align 1align 4/8) for correctness.

  4. Control flow edge corrections: Branch targets and landing pad edges are updated to match new block names (e.g., %75%74, %119%120, %._crit_edge.i.i.i.i.i.i.i%._crit_edge.i.i.i.i.i.i.i), preserving exception handling and loop structure integrity after transformations.

  5. Dead code removal and instruction reordering: Minor cleanup such as removal of redundant inttoptr + ptrtoint sequences (e.g., nlohmann_json), elimination of unused alloca/stores (e.g., proj/param.ll), and reordering of store/call instructions (e.g., moving free() calls earlier in hdf5/sio_perf.ll).

All changes are low-level, optimization-driven, and preserve semantics — typical of post-optimization IR refinement (e.g., Loop Simplify, GVN, InstCombine, or SROA improvements). No high-level algorithmic or functional changes are introduced.

model: qwen-plus-latest
CompletionUsage(completion_tokens=546, prompt_tokens=101619, total_tokens=102165, 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