Skip to content

Conversation

@dtcxzyw
Copy link
Owner

@dtcxzyw dtcxzyw commented Feb 19, 2025

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

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

dtcxzyw commented Feb 19, 2025

runner: buildkitsandbox
baseline: llvm/llvm-project@1c02c8f
patch: llvm/llvm-project#127763
sha256: e92fef5c19f9fdc72a708bea8487d6cdd2b42f826485d51a2ed4d7beb539d1f1
commit: c7c3737

8058 files changed, 3103326 insertions(+), 3112063 deletions(-)

Improvements:
  correlated-value-propagation.NumSRems 1242 -> 1957 +57.57%
  correlated-value-propagation.NumReturns 203 -> 237 +16.75%
  correlated-value-propagation.NumAShrsConverted 4035 -> 4424 +9.64%
  correlated-value-propagation.NumSICmps 48127 -> 51578 +7.17%
  correlated-value-propagation.NumSMinMax 4646 -> 4871 +4.84%
  correlated-value-propagation.NumSIToFP 1557 -> 1631 +4.75%
  instcombine.NegatorNumNegationsFoundInCache 4056 -> 4245 +4.66%
  correlated-value-propagation.NumSubNUW 27953 -> 29215 +4.51%
  correlated-value-propagation.NumSDivs 17512 -> 18290 +4.44%
  correlated-value-propagation.NumMinMax 10215 -> 10647 +4.23%
Regressions:
  loop-simplifycfg.NumLoopBlocksDeleted 11703 -> 5353 -54.26%
  loop-simplifycfg.NumTerminatorsFolded 9637 -> 8164 -15.28%
  indvars.NumSimplifiedSRem 26 -> 25 -3.85%
  indvars.NumElimRem 184 -> 179 -2.72%
  gvn.NumGVNPRE 136214 -> 134426 -1.31%
  simplifycfg.NumSinkCommonInstrs 710668 -> 705378 -0.74%
  instcombine.NumConstProp 126191 -> 125439 -0.60%
  bdce.NumRemoved 322948 -> 321644 -0.40%
  simplifycfg.NumSinkCommonCode 334152 -> 332942 -0.36%
  dse.NumRedundantStores 32678 -> 32564 -0.35%

5 3 bench/abc/optimized/bmcMulti.ll
2 1 bench/abc/optimized/cuddGenCof.ll
4 2 bench/abseil-cpp/optimized/cordz_handle_test.ll
12 16 bench/actix-rs/optimized/4pmtvrahn6eloepe.ll
11 19 bench/arrow/optimized/value_parsing.ll
5 6 bench/assimp/optimized/OFFLoader.ll
2 6 bench/assimp/optimized/Q3DLoader.ll
1 5 bench/assimp/optimized/SkeletonMeshBuilder.ll
5 6 bench/box2d/optimized/imgui_tables.ll
7 8 bench/brotli/optimized/brotli_bit_stream.ll
28 20 bench/brotli/optimized/compress_fragment.ll
4 11 bench/bullet3/optimized/btKinematicCharacterController.ll
6 12 bench/bullet3/optimized/btSoftMultiBodyDynamicsWorld.ll
6 12 bench/casadi/optimized/code_generator.ll
2 7 bench/casadi/optimized/cs_compress.ll
6 4 bench/ceres/optimized/dogleg_strategy.ll
12 9 bench/clamav/optimized/XzDec.ll
5 6 bench/clamav/optimized/rs.ll
13 8 bench/cmake/optimized/cmSystemTools.ll
2 3 bench/cmake/optimized/zstd_compress.ll
2 4 bench/coreutils-rs/optimized/52j8pvnsrfusu9z8.ll
13 6 bench/coreutils-rs/optimized/qcad8r5ga44hvbl.ll
4 8 bench/cpython/optimized/posixmodule.ll
9 7 bench/csmith/optimized/Probabilities.ll
11 7 bench/csmith/optimized/Variable.ll
33 36 bench/curl/optimized/keylog.ll
10 13 bench/cvc5/optimized/candidate_rewrite_filter.ll
4 6 bench/cvc5/optimized/monomial_bounds_check.ll
8 11 bench/cvc5/optimized/sygus_interpol.ll
4 7 bench/darktable/optimized/colordata.ll
9 10 bench/delta-rs/optimized/20d38kflwyye7r28.ll
6 9 bench/delta-rs/optimized/ji6jbkbato2odt0.ll
11 7 bench/draco/optimized/attribute_quantization_transform.ll
3 9 bench/eastl/optimized/TestFixedVector.ll
9 21 bench/eastl/optimized/TestLruCache.ll
21 9 bench/entt/optimized/benchmark.ll
4 5 bench/flac/optimized/lpc.ll
26 30 bench/flatbuffers/optimized/java_generator.ll
42 43 bench/g2o/optimized/vertex_intrinsics.ll
9 6 bench/git/optimized/kwset.ll
22 24 bench/glslang/optimized/SpvBuilder.ll
1 2 bench/graphviz/optimized/pca.ll
5 7 bench/graphviz/optimized/shapes.ll
2 9 bench/gromacs/optimized/domdec_vsite.ll
4 10 bench/gromacs/optimized/trxio.ll
11 17 bench/grpc/optimized/channelz.ll
9 11 bench/grpc/optimized/event_log.ll
5 15 bench/grpc/optimized/parsing.ll
17 22 bench/harfbuzz/optimized/gsubgpos-context.ll
10 19 bench/harfbuzz/optimized/hb-subset-cff-common.ll
12 19 bench/hdf5/optimized/H5FDint.ll
12 18 bench/hermes/optimized/BytecodeGenerator.ll
6 9 bench/hermes/optimized/Passes.ll
10 24 bench/hermes/optimized/String.ll
16 13 bench/hyperscan/optimized/ComponentRepeat.ll
14 17 bench/hyperscan/optimized/mcclellancompile.ll
22 13 bench/hyperscan/optimized/mcsheng_compile.ll
4 5 bench/icu/optimized/normalizer2impl.ll
6 3 bench/image-rs/optimized/8143hfqbwzfmz2f.ll
4 12 bench/imgui/optimized/imgui_draw.ll
12 11 bench/ipopt/optimized/IpCompoundMatrix.ll
31 23 bench/jq/optimized/lexer.ll
10 22 bench/libevent/optimized/event_tagging.ll
9 11 bench/libjpeg-turbo/optimized/rdtarga.ll
7 8 bench/libjpeg-turbo/optimized/wrbmp.ll
2 7 bench/libsodium/optimized/aead_aes256gcm_aesni.ll
18 30 bench/libsodium/optimized/aegis128l_soft.ll
2 6 bench/libuv/optimized/proctitle.ll
16 18 bench/libwebp/optimized/muxinternal.ll
14 15 bench/lief/optimized/gcm.ll
15 12 bench/llama.cpp/optimized/common.ll
5 9 bench/luau/optimized/DenseHash.test.ll
12 9 bench/lvgl/optimized/lv_flex.ll
3 5 bench/lvgl/optimized/lv_refr.ll
14 11 bench/meshlab/optimized/action_searcher.ll
6 7 bench/meshlab/optimized/layerDialog.ll
5 13 bench/minetest/optimized/mesh_compare.ll
8 9 bench/mitsuba3/optimized/string.ll
6 11 bench/ncnn/optimized/c_api.ll
12 13 bench/ncnn/optimized/softmax.ll
32 40 bench/nix/optimized/print-ambiguous.ll
16 38 bench/nlohmann_json/optimized/unit-conversions.ll
11 12 bench/nlohmann_json/optimized/unit-regression1.ll
19 9 bench/ockam-rs/optimized/1145kugil9dl94a2.ll
9 26 bench/oiio/optimized/exif.ll
7 11 bench/openblas/optimized/dlarrj.ll
9 4 bench/openblas/optimized/dlatm7.ll
19 17 bench/opencc/optimized/louds-trie.ll
34 17 bench/openexr/optimized/ImfHeader.ll
12 10 bench/openexr/optimized/ImfRleCompressor.ll
7 3 bench/openjdk/optimized/codeHeapState.ll
7 10 bench/openjdk/optimized/parallelCleaning.ll
1 3 bench/openjdk/optimized/threadControl.ll
5 12 bench/openspiel/optimized/corr_dist_test.ll
14 11 bench/openvdb/optimized/AttributeArrayString.ll
2 6 bench/openvdb/optimized/Stream.ll
6 32 bench/pbrt-v4/optimized/plytool.ll
5 10 bench/pbrt-v4/optimized/stbimage.ll
11 17 bench/php/optimized/logical_filters.ll
11 4 bench/php/optimized/php_crypt_r.ll
7 13 bench/php/optimized/phpdbg_help.ll
5 10 bench/protobuf/optimized/message_field.ll
5 6 bench/protobuf/optimized/padding_optimizer.ll
7 11 bench/qemu/optimized/fdt.ll
7 11 bench/qemu/optimized/tcg.ll
2 9 bench/quantlib/optimized/fdmlinearoplayout.ll
0 14 bench/quantlib/optimized/liborforwardmodel.ll
25 24 bench/re2/optimized/dfa.ll
27 33 bench/re2/optimized/prefilter_tree.ll
7 12 bench/redis/optimized/redis-benchmark.ll
4 5 bench/redis/optimized/redis-cli.ll
1 5 bench/rocksdb/optimized/xxhash.ll
4 14 bench/rust-analyzer-rs/optimized/4fo6e09jeifrbt47.ll
8 9 bench/rust-analyzer-rs/optimized/kcxpblerbqo90m6.ll
20 18 bench/slurm/optimized/job_report_functions.ll
7 5 bench/snappy/optimized/snappy.ll
6 8 bench/stat-rs/optimized/2ao4u4y4ndqxwz8u.ll
26 31 bench/stockfish/optimized/evaluate_nnue.ll
30 23 bench/sundials/optimized/ida.ll
34 29 bench/sundials/optimized/idas.ll
7 4 bench/tinympc/optimized/tiny_api.ll
3 4 bench/tokenizers-rs/optimized/40hmx6rev8evi2bx.ll
7 9 bench/tokenizers-rs/optimized/5e69nv5s2wu1vtyr.ll
22 34 bench/tokio-rs/optimized/1rl1r5ea6bzd5c9z.ll
3 8 bench/tree-sitter-rs/optimized/22d6a9i5y5n3b962.ll
8 9 bench/typst-rs/optimized/2i78fvbm4wocuesi.ll
4 8 bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll
3 6 bench/velox/optimized/VectorPrinter.ll
7 6 bench/verilator/optimized/V3Active.ll
14 21 bench/verilator/optimized/V3SchedPartition.ll
6 10 bench/wasmedge/optimized/proxy.ll
10 6 bench/wasmedge/optimized/wasifunc.ll
6 2 bench/wireshark/optimized/cosine.ll
7 11 bench/wireshark/optimized/packet-kafka.ll
4 6 bench/wolfssl/optimized/sha256.ll
10 6 bench/xgboost/optimized/comm.ll
8 13 bench/yosys/optimized/qwp.ll
0 7 bench/z3/optimized/ctx_simplify_tactic.ll
2 5 bench/zed-rs/optimized/9iau01omm5rr9yzc2t1pdns1t.ll
20 17 bench/zfp/optimized/decode1d.ll
29 23 bench/zfp/optimized/zfp.ll
34 18 bench/zstd/optimized/zstd_lazy.ll
19 21 bench/zstd/optimized/zstd_opt.ll

@github-actions
Copy link
Contributor

Here is a high-level summary of the major changes in the LLVM IR diffs:

  1. Type conversions and truncations:

    • Several instances of truncation from i64 to i32 or i16, followed by operations (add, mul, etc.) on the truncated values.
    • Conversion between different integer types using zext (zero-extension) and sext (sign-extension).
  2. Branch condition modifications:

    • Changes in branch conditions, such as replacing icmp sgt with icmp eq or icmp ult.
    • Introduction of new branches with phi nodes for better control flow management.
  3. Removal of unnecessary calls:

    • Removal of calls to functions like @llvm.umax.i64/i32 and @llvm.smax.i32 where simple type conversions suffice.
    • Elimination of select instructions where phi nodes can handle the same logic more efficiently.
  4. Memory operation enhancements:

    • Adjustments to llvm.memset and llvm.memcpy calls, including addition of noundef and dereferenceable attributes for improved safety and optimization.
    • Changes in memory alignment and access patterns, ensuring stricter adherence to alignment requirements.
  5. Phi node restructuring:

    • Reorganization of phi nodes to streamline data flow and reduce redundancy.
    • Simplification of complex phi node setups by removing unnecessary intermediate variables.

These changes generally aim at improving code efficiency, reducing unnecessary computations, enhancing memory access patterns, and simplifying control flow structures. The transformations likely result from optimizations applied during the LLVM IR generation or transformation phases, focusing on better utilization of resources and potentially improving runtime performance.

model: qwen-plus-latest
CompletionUsage(completion_tokens=320, prompt_tokens=104445, total_tokens=104765, completion_tokens_details=None, prompt_tokens_details=None)

@dtcxzyw dtcxzyw closed this Feb 19, 2025
@dtcxzyw dtcxzyw deleted the test-run13408042303 branch February 24, 2025 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant