Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Oct 27, 2025

Link: llvm/llvm-project#157559
Requested by: @nikic

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

zyw-bot commented Oct 27, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@d0a7411
patch: llvm/llvm-project#157559
sha256: 04b97c717c15114a834de3bf1ef833091efd94719793beae05bcca5b15acc910
commit: cfa0290

6673 files changed, 1641991 insertions(+), 1641103 deletions(-)

Improvements:
  correlated-value-propagation.NumAShrsRemoved 183 -> 185 +1.09%
  div-rem-pairs.NumHoisted 3241 -> 3251 +0.31%
  adce.NumRemoved 95135 -> 95337 +0.21%
  correlated-value-propagation.NumMinMax 12149 -> 12160 +0.09%
  instcombine.NumSunkInst 3400380 -> 3402375 +0.06%
  correlated-value-propagation.NumSICmps 62530 -> 62559 +0.05%
  jump-threading.NumDupes 129638 -> 129687 +0.04%
  correlated-value-propagation.NumAnd 44203 -> 44217 +0.03%
  correlated-value-propagation.NumPhis 1238621 -> 1238897 +0.02%
  correlated-value-propagation.NumSMinMax 9142 -> 9144 +0.02%
Regressions:
  instsimplify.NumReassoc 800558 -> 798857 -0.21%
  correlated-value-propagation.NumAddNUW 212256 -> 212075 -0.09%
  loop-simplify.NumNested 11696 -> 11689 -0.06%
  correlated-value-propagation.NumAddNW 432629 -> 432475 -0.04%
  simplifycfg.NumHoistCommonInstrs 2423224 -> 2422408 -0.03%
  correlated-value-propagation.NumNUW 571324 -> 571160 -0.03%
  correlated-value-propagation.NumSDivs 16935 -> 16931 -0.02%
  simplifycfg.NumHoistCommonCode 836704 -> 836512 -0.02%
  memdep.NumCacheDirtyNonLocalPtr 23076 -> 23071 -0.02%
  licm.NumMovedCalls 36917 -> 36911 -0.02%

+10 quantlib/garch.ll
+9 box2d/geometry.ll
+8 ffmpeg/silk.ll
+8 yalantinglibs/test_messages_proto3.pb.ll
+7 llvm/DwarfCompileUnit.ll
+6 assimp/BlenderTessellator.ll
+6 freetype/truetype.ll
+6 hermes/DebugInfo.ll
+6 lodepng/lodepng_util.ll
+6 mold/multi-glob.ll
+6 oiio/filesystem.ll
+6 spike/htif_pthread.ll
+5 openexr/internal_piz.ll
+5 quantlib/fftengine.ll
+4 clamav/encname.ll
+4 flac/options.ll
+4 jq/regerror.ll
+4 node/libnode.node_buffer.ll
+4 openusd/write.ll
+4 ruby/regerror.ll
+4 wolfssl/pwdbased.ll
+4 yyjson/yyjson.ll
+3 actix-rs/19s5ghr2x6s6bmh4.ll
+3 arrow/decimal.ll
+3 bullet3/MultiBodyTreeImpl.ll
+3 ceres/program.ll
+3 cmake/archive_cmdline.ll
+3 darktable/introspection_temperature.ll
+3 gromacs/enerdata_utils.ll
+3 gromacs/gmx_bar.ll
+3 gromacs/make_ndx.ll
+3 just-rs/1uppz7l1e89fp8n7.ll
+3 libigl/comb_frame_field.ll
+3 linux/alps.ll
+3 luajit/lj_ctype.ll
+3 luau/Parser.ll
+3 meshlab/filter_sdfgpu.ll
+3 ncnn/fold.ll
+3 nghttp2/nghttp2_hd.ll
+3 node/libnode.node_http2.ll
+3 nuttx/lib_strtold.ll
+3 ocio/CTFTransform.ll
+3 opencv/lrn_layer.ll
+3 postgres/gistscan.ll
+3 postgres/preptlist.ll
+3 wasmtime-rs/yijsgxkf5yj6ls1.ll
+3 wireshark/packet-smb.ll
+3 wireshark/to_str.ll
+3 z3/sat_probing.ll
+2 assimp/MakeVerboseFormat.ll
+2 faiss/IndexPQ.ll
+2 ffmpeg/jpegxl_parser.ll
+2 libwebp/picture_psnr_enc.ll
+2 openssl/asn_mime.ll
+2 rust-analyzer-rs/2bwlvqntjk72kr6f.ll
+2 wasmi-rs/0q3l37db1lfk5vitgppp099r5.ll
+1 cpp-httplib/httplib.ll
+1 darktable/CrwDecompressor.ll
+1 ffmpeg/aeval.ll
+1 folly/Random.ll
+1 git/submodule.ll
+1 openjdk/jcphuff.ll
+1 wireshark/packet-cops.ll
-1 abc/abcMerge.ll
-1 abc/giaMini.ll
-1 duckdb/ub_duckdb_core_functions_string.ll
-1 ocio/ConfigUtils.ll
-2 qemu/virtio.ll
-2 ruby/bignum.ll
-3 abseil-cpp/symbolize.ll
-3 casadi/einstein.ll
-3 ceres/schur_eliminator.ll
-3 cvc5/resolution_proofs_util.ll
-3 eastl/TestVectorMap.ll
-3 hermes/ISel.ll
-3 libcxx/abi_tag_on_virtual.ll
-3 libevent/http.ll
-3 libigl/hausdorff.ll
-3 libquic/bio.ll
-3 libsodium/core_ed25519.ll
-3 libwebp/webpinfo.ll
-3 lief/gcm.ll
-3 linux/chan.ll
-3 llvm/AsmMatcherEmitter.ll
-3 minetest/CMeshCache.ll
-3 open3d/ControlGrid.ll
-3 opencv/perf_norm.ll
-3 openexr/ImfImage.ll
-3 openspiel/dynamic_routing_utils.ll
-3 proxygen/HTTP2PriorityQueue.ll
-3 rocksdb/compaction_job.ll
-3 rocksdb/fs_on_demand.ll
-3 rocksdb/import_column_family_job.ll
-3 ruff-rs/8lgogilf7vbskewz0a9izgnge.ll
-3 spike/processor.ll
-3 syn/ofvfd67uyaewjlc.ll
-3 xgboost/version.ll
-3 yosys/mutate.ll
-3 yosys/register.ll
-4 abc/extraUtilDsd.ll
-4 cvc5/sygus_grammar_red.ll
-4 linux/xfrm_policy.ll
-4 postgres/gistbuild.ll
-4 sundials/sunlinsol_spfgmr.ll
-6 eastl/BenchmarkTupleVector.ll
-6 hermes/ProfileAnalyzer.ll
-6 libcxx/header_exportable_declarations.ll
-6 minetest/CGUIEnvironment.ll
-6 minetest/COpenGLDriver.ll
-6 php/var_unserializer.ll
-8 git/pack-redundant.ll
-8 openmpi/bfrop_base_macro_backers.ll
-9 eastl/TestSList.ll
-9 lean4/equiv_manager.ll
-9 libphonenumber/generate_geocoding_data.ll
-9 qemu/tcg.ll
-9 vcpkg/commands.depend-info.ll

@github-actions
Copy link
Contributor

The provided patch contains numerous changes across multiple LLVM IR files, primarily focused on restructuring control flow and improving code generation. Here are the major changes:

  1. Control Flow Restructuring: Several functions have been modified to restructure their control flow by introducing new basic blocks (e.g., .preheader blocks) and adjusting phi nodes accordingly. This is evident in files like abcMerge.ll, extraUtilDsd.ll, and giaMini.ll, where loops now use preheaders for better optimization opportunities.

  2. Phi Node Adjustments: In many cases, phi nodes have been updated to reflect new control flow paths. For example, in assimp/optimized/BlenderTessellator.ll, phi nodes were adjusted after splitting critical edges or adding new predecessors to basic blocks.

  3. Critical Edge Splitting: Critical edges were split in several places to facilitate optimizations. This can be seen in box2d/optimized/geometry.ll and bullet3/optimized/MultiBodyTreeImpl.ll, where additional blocks were introduced to handle transitions between loop iterations and exits cleanly.

  4. Loop Optimization Enhancements: Loop-related transformations such as loop unrolling, vectorization, and induction variable simplification were enhanced. Files like arrow/optimized/decimal.ll show improved handling of induction variables and reduced redundant computations within loops.

  5. Memory Access Pattern Improvements: Memory access patterns were optimized in some instances by reordering loads/stores or eliminating unnecessary ones. For instance, in darktable/optimized/CrwDecompressor.ll, certain load instructions were moved out of loops or replaced with more efficient alternatives.

These changes collectively aim to improve performance through better utilization of CPU resources, reduced instruction count, and enhanced data locality.

model: qwen-plus-latest
CompletionUsage(completion_tokens=358, prompt_tokens=107281, total_tokens=107639, completion_tokens_details=None, prompt_tokens_details=None)

@nikic
Copy link

nikic commented Oct 29, 2025

/close

@github-actions github-actions bot closed this Oct 29, 2025
@dtcxzyw dtcxzyw deleted the test-run18855104894 branch October 29, 2025 12:33
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