Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

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

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

zyw-bot commented Dec 8, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@863a4e4
patch: llvm/llvm-project#167771
sha256: 8125e24db6d247a746769a8c3348836ed89a1e887ce0fa36654ef34e0e064059
commit: 8baa98c

145 files changed, 93098 insertions(+), 93245 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%
  sroa.NumVectorized 697857 -> 697970 +0.02%
  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%
Regressions:
  bdce.NumRemoved 384222 -> 383427 -0.21%
  vector-combine.NumVecLoad 4291 -> 4288 -0.07%
  gvn.NumGVNLoad 1312961 -> 1312122 -0.06%
  instcombine.NumConstProp 168345 -> 168244 -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
+2 open3d/Geometry3D.ll
+0 assimp/zip.ll
+0 ceres/block_sparse_matrix.ll
+0 cmake/cmComputeLinkDepends.ll
+0 faiss/Clustering.ll
+0 g2o/edge_project_xyz.ll
+0 g2o/optimizable_graph.ll
+0 g2o/optimization_algorithm_dogleg.ll
+0 g2o/slam2d_linear.ll
+0 hdf5/sio_perf.ll
+0 libigl/eigs.ll
+0 llvm/MsgPackDocument.ll
+0 meshlab/edit_align.ll
+0 meshlab/shell.ll
+0 nlohmann_json/diag_on.ll
+0 nori/accel.ll
+0 ockam-rs/1411u8drt798uxi8.ll
+0 opencv/gfluidbackend.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
-2 open3d/VoxelGrid.ll
-30 proj/param.ll
-31 typst-rs/2i78fvbm4wocuesi.ll

@github-actions
Copy link
Contributor

github-actions bot commented Dec 8, 2025

This patch contains a series of targeted LLVM IR modifications across many benchmarks, primarily focused on improving correctness and consistency in control flow and dataflow. The major changes are:

  1. Phi node predecessor updates: Multiple .phi instructions have their predecessor block lists updated to reflect accurate control flow edges—e.g., replacing %thread428 with %thread426, %72 with %73, or %59 with %58. These are critical for SSA form validity and ensure phi operands correspond to actual incoming edges.

  2. Loop header and loop exit block corrections: Several loops have their loop headers (e.g., %.lr.ph75%.lr.ph76, %.lr.ph146%.lr.ph143) and loop exit blocks (e.g., %.loopexit513%.loopexit511) adjusted. These changes align with loop canonicalization and preserve correct loop-carried dependencies.

  3. Store/load type and alignment refinements: In multiple places (e.g., ockam-rs, open3d, openvdb), <4 x i8> loads/stores are replaced with i32, and double bitcasts are reordered or eliminated. This improves type safety, enables better optimization, and fixes potential miscompilations from vector-to-scalar mismatches.

  4. Vector arithmetic refactoring: In g2o, meshlab, and nori, scalar operations feeding vector computations (e.g., fadd, fmul) are now consistently built via insertelement + shufflevector instead of legacy bitcast + shufflevector. This improves readability, enables more aggressive vector optimizations, and avoids undefined behavior from improper bitcasts.

  5. Exception handling and landing pad consistency: In cmake, typst-rs, and quickjs, landing pad phi nodes and unwind edges are updated to reference correct predecessor blocks (e.g., %75%74, %150%145). This ensures exception propagation remains semantically correct after transformations.

All changes are mechanical but essential for correctness: they fix stale CFG edges, update types to match actual memory layout, and modernize vector code patterns—all without altering program semantics.

model: qwen-plus-latest
CompletionUsage(completion_tokens=489, prompt_tokens=113217, total_tokens=113706, 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