Skip to content

Conversation

@dtcxzyw
Copy link
Owner

@dtcxzyw dtcxzyw commented Apr 21, 2025

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

@github-actions github-actions bot mentioned this pull request Apr 21, 2025
@dtcxzyw
Copy link
Owner Author

dtcxzyw commented Apr 21, 2025

Diff mode

runner: ariselab-64c-v2
baseline: llvm/llvm-project@47ca7f1
patch: llvm/llvm-project#136558
sha256: 3d8c2e123b69cc1a9f276773f34067d45143e0c109b32fc8e27d2275c3ee7b30
commit: 8926079

151 files changed, 143313 insertions(+), 142053 deletions(-)

Improvements:
  correlated-value-propagation.NumSMinMax 5107 -> 5111 +0.08%
  globalsmodref-aa.NumNoMemFunctions 661806 -> 661849 +0.01%
  correlated-value-propagation.NumSubNUW 31711 -> 31713 +0.01%
  globalsmodref-aa.NumReadMemFunctions 1025542 -> 1025585 +0.00%
  licm.NumMovedCalls 25398 -> 25399 +0.00%
  correlated-value-propagation.NumSubNW 105092 -> 105094 +0.00%
  instcombine.NegatorTotalNegationsAttempted 19075294 -> 19075634 +0.00%
  instcombine.NegatorNumValuesVisited 19828477 -> 19828817 +0.00%
  licm.NumLoadPromoted 65900 -> 65901 +0.00%
  gvn.NumPRELoadMoved2CEPred 78304 -> 78305 +0.00%
Regressions:
  loop-simplifycfg.NumLoopExitsDeleted 2685 -> 2675 -0.37%
  loop-simplifycfg.NumTerminatorsFolded 8102 -> 8083 -0.23%
  move-auto-init.NumMoved 2634 -> 2632 -0.08%
  indvars.NumReplaced 60749 -> 60736 -0.02%
  adce.NumBranchesRemoved 20814 -> 20810 -0.02%
  dse.NumCFGChecks 520870 -> 520786 -0.02%
  correlated-value-propagation.NumMinMax 13358 -> 13356 -0.01%
  loop-simplify.NumNested 9545 -> 9544 -0.01%
  dse.NumCFGTries 47082 -> 47078 -0.01%
  globalopt.NumDeleted 853752 -> 853687 -0.01%

58 54 bench/abc/optimized/extraUtilMisc.ll
22 20 bench/abseil-cpp/optimized/damerau_levenshtein_distance.ll
2 1 bench/ceres/optimized/block_jacobi_preconditioner.ll
30 18 bench/coreutils-rs/optimized/505489it2i89bi1c.ll
10 8 bench/cpython/optimized/unicodeobject.ll
19 17 bench/darktable/optimized/Cr2Decompressor.ll
58 49 bench/darktable/optimized/PanasonicV4Decompressor.ll
9 10 bench/duckdb/optimized/format.ll
3 3 bench/harfbuzz/optimized/hb-subset-instancer-iup.ll
45 42 bench/icu/optimized/alphaindex.ll
35 29 bench/icu/optimized/collationsets.ll
85 76 bench/icu/optimized/dtptngen.ll
12 12 bench/icu/optimized/filteredbrk.ll
2 4 bench/icu/optimized/formattedval_sbimpl.ll
42 39 bench/icu/optimized/number_longnames.ll
12 12 bench/icu/optimized/numfmt.ll
1 2 bench/icu/optimized/numparse_impl.ll
119 107 bench/icu/optimized/plurfmt.ll
15 12 bench/icu/optimized/rbnf.ll
57 57 bench/icu/optimized/rbt_rule.ll
83 80 bench/icu/optimized/reslist.ll
51 45 bench/icu/optimized/selfmt.ll
12 9 bench/icu/optimized/smpdtfmt.ll
29 32 bench/icu/optimized/sprintf.ll
12 12 bench/icu/optimized/timezone.ll
17 17 bench/icu/optimized/tridpars.ll
16 13 bench/icu/optimized/tzfmt.ll
14 11 bench/icu/optimized/ucharstriebuilder.ll
12 9 bench/icu/optimized/uniset.ll
58 46 bench/icu/optimized/unistr.ll
28 28 bench/icu/optimized/unistr_case.ll
14 14 bench/icu/optimized/units_router.ll
12 12 bench/icu/optimized/uspoof_conf.ll
29 25 bench/libpng/optimized/pngrutil.ll
54 42 bench/libquic/optimized/url_parse.ll
17 14 bench/llvm/optimized/BTFParser.ll
23 30 bench/llvm/optimized/MachOObjectFile.ll
176 170 bench/meshlab/optimized/cube_style_precomputation.ll
8 7 bench/openblas/optimized/dorbdb1.ll
14 13 bench/openblas/optimized/dorbdb2.ll
1 3 bench/opencv/optimized/stringutils.ll
93 89 bench/openjdk/optimized/DrawLine.ll
84 80 bench/openjdk/optimized/DrawPath.ll
21 19 bench/openjdk/optimized/genArguments.ll
36 37 bench/openusd/optimized/mvref_common.ll
95 70 bench/recastnavigation/optimized/DetourLocalBoundary.ll
87 64 bench/recastnavigation/optimized/DetourPathCorridor.ll
19 8 bench/spike/optimized/vfwadd_vf.ll
16 8 bench/spike/optimized/vloxei16_v.ll
192 206 bench/sundials/optimized/arkode_interp.ll
84 78 bench/zed-rs/optimized/468j8mrahlfb4zd02cozu1ma6.ll

@github-actions
Copy link
Contributor

Based on the provided diff, here is a summary of up to five major changes in the LLVM IR:

  1. Replacement of llvm.smax.i32 with conditional logic and llvm.smin.i32:

    • In several files (e.g., filteredbrk.ll, formatedval_sbimpl.ll, tridpars.ll), the intrinsic function llvm.smax.i32 has been replaced with conditional logic (icmp slt) and a call to llvm.smin.i32. This change likely simplifies the computation by avoiding the use of a maximum function and instead calculating the minimum after adjusting for conditions.
  2. Adjustments in PHI nodes and control flow:

    • Multiple instances show adjustments in PHI nodes where values are being redefined or reassigned based on new predecessors or labels (e.g., plurfmt.ll, units_router.ll). For example, PHI node predecessors have been updated from %59 to %61, indicating a shift in how values are being merged across different basic blocks.
  3. Removal of llvm.smax.i32 declarations:

    • Declarations for llvm.smax.i32 have been removed from multiple files (e.g., filteredbrk.ll, numparse_impl.ll, reslist.ll). This indicates that the intrinsic function is no longer needed in these contexts, possibly due to optimizations replacing it with other constructs or removing its necessity altogether.
  4. Changes in memory operations and pointer handling:

    • Files like darktable/optimized/Cr2Decompressor.ll and darktable/optimized/PanasonicV4Decompressor.ll show changes in memory operations, such as modifying getelementptr calculations and pointer comparisons. These changes may improve memory access patterns or reduce redundant computations.
  5. Introduction of new basic blocks and conditional branches:

    • New basic blocks have been introduced in some cases (e.g., uspoof_conf.ll, unistr_case.ll), along with additional conditional branches (br i1). This could be part of an optimization strategy to better handle edge cases or improve branch prediction.

These changes generally aim to optimize the generated code by reducing unnecessary intrinsics, improving control flow, and refining memory operations, leading to potentially more efficient and maintainable LLVM IR.

model: qwen-plus-latest
CompletionUsage(completion_tokens=488, prompt_tokens=112849, total_tokens=113337, completion_tokens_details=None, prompt_tokens_details=None)

@dtcxzyw dtcxzyw closed this Apr 21, 2025
@dtcxzyw dtcxzyw deleted the test-run14571747421 branch May 18, 2025 09:31
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.

1 participant