Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Nov 6, 2025

Link: llvm/llvm-project#166816
Requested by: @andjo403

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

zyw-bot commented Nov 6, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@50daf4d
patch: llvm/llvm-project#166816
sha256: d47c707e8a7d342e2f765b42bd17091c6f8ffd94ac6233465d47fa2c18b3a354
commit: 74cb78c

28 files changed, 10338 insertions(+), 9887 deletions(-)

Improvements:
  simplifycfg.NumBitMaps 2241 -> 2245 +0.18%
  instsimplify.NumExpand 292042 -> 292070 +0.01%
  function-attrs.NumNoUndefReturn 75010 -> 75013 +0.00%
  early-cse.NumCSELoad 7233828 -> 7233876 +0.00%
  simplifycfg.NumHoistCommonCode 839492 -> 839496 +0.00%
  early-cse.NumCSE 5560935 -> 5560959 +0.00%
  sroa.NumNewAllocas 27856522 -> 27856618 +0.00%
  early-cse.NumCSEGEP 13233934 -> 13233966 +0.00%
  dse.NumRemainingStores 43997592 -> 43997696 +0.00%
  mem2reg.NumSingleStore 58092495 -> 58092591 +0.00%
Regressions:
  simplifycfg.NumLookupTables 19514 -> 19510 -0.02%
  constmerge.NumIdenticalMerged 15626 -> 15623 -0.02%
  correlated-value-propagation.NumSelects 228086 -> 228078 -0.00%
  memdep.NumCacheNonLocalPtr 266910794 -> 266904258 -0.00%
  correlated-value-propagation.NumNNeg 96029 -> 96027 -0.00%
  instcombine.NumConstProp 157305 -> 157302 -0.00%
  reassociate.NumChanged 4984834 -> 4984740 -0.00%
  gvn.NumGVNInstr 149619 -> 149617 -0.00%
  gvn.NumGVNPRE 149619 -> 149617 -0.00%
  memdep.NumCacheCompleteNonLocalPtr 5349367 -> 5349323 -0.00%

+32 wasmedge/wasifunc.ll
+0 llvm/ASTReaderDecl.ll
-1 box2d/imgui_tables.ll
-1 llvm/X86ISelDAGToDAG.ll
-1 rust-analyzer-rs/2jyyuxshs9vnz9u0.ll
-2 libigl/convex_hull.ll
-2 libigl/coplanar.ll
-2 llvm/AArch64LegalizerInfo.ll
-2 llvm/ConstantFPRange.ll
-2 llvm/TargetLowering.ll
-2 opencv/cap_mjpeg_encoder.ll
-2 typst-rs/1ru1rhojhbz2vfey.ll
-3 llvm/CGExpr.ll
-4 z3/ast.ll
-6 libigl/intersect_other.ll
-6 typst-rs/2i78fvbm4wocuesi.ll
-6 z3/bv_decl_plugin.ll
-11 llvm/LegalizeDAG.ll

@github-actions
Copy link
Contributor

github-actions bot commented Nov 6, 2025

The provided diff modifies several LLVM IR files across different benchmarks. Below is a summary of up to 5 major changes, focusing on high-level transformations and ignoring formatting or renaming changes.

  1. Modification of Bit Manipulation Patterns:
    In multiple files (e.g., libigl/optimized/coplanar.ll, typst-rs/optimized/1ru1rhojhbz2vfey.ll), sequences involving zext, select, and or disjoint are replaced with more direct select instructions that encode combined bit patterns. For example, instead of constructing a value by OR-ing shifted components, the code now uses a single select with constants like 257 (which combines bits 0 and 8), simplifying bitfield setup.

  2. Simplification of Conditional Logic in Flag Setting:
    Files such as z3/optimized/ast.ll and z3/optimized/bv_decl_plugin.ll show reductions in flag construction logic. Previously, boolean conditions were extended and OR-ed into a bitfield through multiple steps; now, these are consolidated using fewer selects and direct constants (e.g., using 3 instead of combining 2 and 1 via zext and or).

  3. Refactoring of PHI Node Predecessors and Control Flow:
    Several functions (e.g., in opencv/optimized/cap_mjpeg_encoder.ll) modify PHI node predecessor labels due to control flow restructuring. Labels in PHI nodes are updated to reflect new block names resulting from loop unswitching or critical edge splitting, improving clarity and correctness after optimization.

  4. Improved Handling of Landingpad and Exception Propagation:
    In libigl/optimized/coplanar.ll and similar files, landingpad result handling is simplified. PHI nodes in cleanup blocks now correctly reference updated landingpad labels, ensuring proper exception propagation while reducing redundancy in phi entries.

  5. Optimization of Memory Access and Pointer Arithmetic:
    In wasmedge/optimized/wasifunc.ll, checks for memory bounds and null pointers are restructured to reduce redundant operations. The transformation introduces early exits based on simplified conditionals and improves pointer arithmetic by reordering and eliminating unnecessary truncations or extensions.

These changes collectively indicate an optimization pass focused on simplifying bit manipulation, tightening control flow, and improving exception handling and memory access patterns across various compiled benchmarks.

model: qwen-plus-latest
CompletionUsage(completion_tokens=500, prompt_tokens=72513, total_tokens=73013, 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants