Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Jun 21, 2025

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

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

zyw-bot commented Jun 21, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@77941eb
patch: llvm/llvm-project#145105
sha256: e016d06ca870030e5de80a3b34666cfc86cafded7f7e5a55582b35e7211d23b0
commit: 9e38822

836 files changed, 18094 insertions(+), 18014 deletions(-)

Improvements:
  instcombine.NegatorNumInstructionsNegatedSuccess 62477 -> 62480 +0.00%
  instcombine.NegatorNumInstructionsCreatedTotal 67572 -> 67575 +0.00%
  licm.NumGEPsHoisted 61466 -> 61468 +0.00%
  instcombine.NegatorTotalNegationsAttempted 22026787 -> 22027257 +0.00%
  instcombine.NegatorNumValuesVisited 22990867 -> 22991329 +0.00%
  instcombine.NegatorNumTreesNegated 50672 -> 50673 +0.00%
  instcombine.NumCombined 130240561 -> 130242643 +0.00%
  correlated-value-propagation.NumSICmps 65228 -> 65229 +0.00%
  correlated-value-propagation.NumAddNSW 280826 -> 280828 +0.00%
  correlated-value-propagation.NumShlNUW 162573 -> 162574 +0.00%
Regressions:
  correlated-value-propagation.NumSExt 51196 -> 51136 -0.12%
  indvars.NumElimExt 310103 -> 310084 -0.01%
  indvars.NumWidened 253271 -> 253263 -0.00%
  indvars.NumElimIV 259049 -> 259042 -0.00%
  simplifycfg.NumSinkCommonInstrs 833617 -> 833597 -0.00%
  simplifycfg.NumSinkCommonCode 388689 -> 388680 -0.00%
  loop-instsimplify.NumSimplified 196883 -> 196879 -0.00%
  gvn.NumGVNInstr 159126 -> 159123 -0.00%
  gvn.NumGVNPRE 159126 -> 159123 -0.00%
  correlated-value-propagation.NumPhiCommon 58385 -> 58384 -0.00%

25 26 bench/abc/optimized/absVta.ll
14 13 bench/abc/optimized/cbaBlast.ll
59 57 bench/abc/optimized/giaDup.ll
73 69 bench/abc/optimized/giaIf.ll
83 61 bench/abc/optimized/giaResub.ll
57 55 bench/abc/optimized/giaResub2.ll
51 49 bench/abc/optimized/ifDec16.ll
35 35 bench/abc/optimized/kitDsd.ll
46 47 bench/abc/optimized/lpkMulti.ll
30 29 bench/abc/optimized/wlcBlast.ll
4 4 bench/abseil-cpp/optimized/charconv.ll
1 1 bench/arrow/optimized/double-to-string.ll
6 7 bench/boost/optimized/console_buffer.ll
4 5 bench/c3c/optimized/file_utils.ll
7 7 bench/casadi/optimized/qrqp.ll
2 3 bench/clamav/optimized/str.ll
2 2 bench/cvc5/optimized/cadical.ll
100 116 bench/double_conversion/optimized/bignum.ll
8 8 bench/eastl/optimized/TestDeque.ll
49 49 bench/eastl/optimized/TestRingBuffer.ll
115 114 bench/ffmpeg/optimized/aacsbr_fixed.ll
26 28 bench/ffmpeg/optimized/avf_showcwt.ll
184 127 bench/ffmpeg/optimized/cbs.ll
18 18 bench/ffmpeg/optimized/mvdec.ll
46 42 bench/ffmpeg/optimized/network.ll
9 8 bench/ffmpeg/optimized/vf_atadenoise.ll
16 16 bench/folly/optimized/File.ll
3 4 bench/git/optimized/submodule.ll
67 66 bench/gromacs/optimized/do_fit.ll
6 6 bench/libphonenumber/optimized/unicodetext.ll
24 23 bench/libwebp/optimized/predictor_enc.ll
12 12 bench/lief/optimized/AArch64PAuth.ll
103 102 bench/llama.cpp/optimized/llama-vocab.ll
2 4 bench/llvm/optimized/LegalizerHelper.ll
15 15 bench/luau/optimized/isocline.ll
27 37 bench/lvgl/optimized/lv_draw_sw_mask.ll
12 16 bench/miniaudio/optimized/unity.ll
9 9 bench/ncnn/optimized/padding.ll
129 128 bench/ncnn/optimized/padding_x86.ll
13 13 bench/oiio/optimized/tiffoutput.ll
3 3 bench/openblas/optimized/dbdsqr.ll
17 19 bench/opencv/optimized/coded_stream.ll
4 4 bench/opencv/optimized/dxt.ll
10 8 bench/openjdk/optimized/javaThread.ll
34 38 bench/openssl/optimized/bio_b64.ll
106 122 bench/openusd/optimized/bignum.ll
5 5 bench/php/optimized/zend_ssa.ll
16 18 bench/postgres/optimized/inv_api.ll
11 13 bench/protobuf/optimized/coded_stream.ll
11 11 bench/raylib/optimized/rtextures.ll
14 14 bench/stb/optimized/stb_image_resize2.ll
48 48 bench/velox/optimized/DecimalVectorFunctions.ll
8 8 bench/wolfssl/optimized/tls.ll
24 25 bench/z3/optimized/nlarith_util.ll

@github-actions
Copy link
Contributor

Here's a high-level summary of the most significant changes in this patch:

  1. Addition of nuw (No Unsigned Wrap) flag to GEP instructions:
    Multiple instances of getelementptr (GEP) instructions now include the nuw flag, indicating that the pointer arithmetic is guaranteed not to wrap around unsigned. This change allows for better optimization opportunities by giving LLVM additional information about pointer bounds.

  2. Integer Extension Adjustments (sext/zext):
    Several uses of sext (sign extension) have been replaced with zext (zero extension), or vice versa, especially when converting between integer types. These changes reflect improved understanding of the data range and signedness, allowing more precise optimizations.

  3. Loop Phi Node Updates:
    In several loops, PHI nodes were updated to reference new predecessor blocks (e.g., %877 instead of %878). This indicates internal loop restructuring, possibly due to loop unrolling, peeling, or merging transformations.

  4. Memory Access Restructuring in Vec_IntPush/Vec_IntGrow.exit.i.sink.split:
    The PHI nodes and memory accesses in this region were restructured, including changes to alignment and base pointers used for stores. This suggests better handling of buffer growth logic, potentially reducing redundant checks or allocations.

  5. Improved Pointer Handling in If_CluFindGroup and Wlc_BlastDivider:
    There are notable changes in how pointers are derived and accessed, including use of zext and nuw flags. These changes likely improve alias analysis and allow for more aggressive pointer-based optimizations.

These changes primarily represent low-level optimizations, such as better type inference, improved pointer arithmetic, and enhanced loop structure — all aimed at performance improvements and correctness under well-defined behavior.

model: qwen-plus-latest
CompletionUsage(completion_tokens=381, prompt_tokens=111862, total_tokens=112243, completion_tokens_details=None, prompt_tokens_details=None)

%.val153.val = load ptr, ptr %135, align 8, !tbaa !10
%146 = getelementptr inbounds i32, ptr %.val153.val, i64 %145
br label %147
%147 = zext nneg i32 %146 to i64
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regression.

@dtcxzyw dtcxzyw closed this Jun 21, 2025
@dtcxzyw dtcxzyw deleted the test-run15796065892 branch June 30, 2025 11: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.

2 participants