Skip to content
This repository was archived by the owner on Mar 17, 2026. It is now read-only.

pre-commit: PR183692 - #3525

Open
zyw-bot wants to merge 3 commits into
mainfrom
test-run22572736662
Open

pre-commit: PR183692#3525
zyw-bot wants to merge 3 commits into
mainfrom
test-run22572736662

Conversation

@zyw-bot

@zyw-bot zyw-bot commented Mar 2, 2026

Copy link
Copy Markdown
Collaborator

Link: llvm/llvm-project#183692
Requested by: @imkiva

@github-actions github-actions Bot mentioned this pull request Mar 2, 2026
@zyw-bot

zyw-bot commented Mar 2, 2026

Copy link
Copy Markdown
Collaborator Author

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@61faf7d
patch: llvm/llvm-project#183692
sha256: dc6495e4e9b7b6a69db6808cfe323b85ae730e97ae90bd8af493bab0abdbb064
commit: 50ce19f

2211 files changed, 1059683 insertions(+), 1056664 deletions(-)

Improvements:
  tailcallelim.NumAccumAdded 151 -> 158 +4.64%
  instsimplify.NumExpand 291246 -> 293745 +0.86%
  jump-threading.NumDupes 132931 -> 133337 +0.31%
  tailcallelim.NumEliminated 8674 -> 8697 +0.27%
  instcombine.NegatorNumNegationsFoundInCache 4017 -> 4025 +0.20%
  tailcallelim.NumRetDuped 15424 -> 15447 +0.15%
  simplifycfg.NumLookupTablesHoles 2401 -> 2403 +0.08%
  instcount.NumFCmpInst 317376 -> 317542 +0.05%
  simplifycfg.NumSpeculations 395476 -> 395670 +0.05%
  bdce.NumSExt2ZExt 4087 -> 4089 +0.05%
Regressions:
  instcombine.NumExpand 2699 -> 2628 -2.63%
  licm.NumBOAssociationsHoisted 3463 -> 3412 -1.47%
  correlated-value-propagation.NumAnd 44240 -> 43670 -1.29%
  licm.NumFPAssociationsHoisted 537 -> 532 -0.93%
  simplifycfg.NumBitMaps 2240 -> 2228 -0.54%
  reassociate.NumFactor 3084 -> 3068 -0.52%
  bdce.NumSimplified 5815 -> 5801 -0.24%
  simple-loop-unswitch.NumCostMultiplierSkipped 17222 -> 17198 -0.14%
  loop-instsimplify.NumSimplified 182139 -> 181928 -0.12%
  dse.NumCFGChecks 641061 -> 640372 -0.11%

+34 nori/screen.ll
+26 protobuf/time_util.ll
+15 assimp/LWOMaterial.ll
+12 actix-rs/1ghd7r3h0kcgux6d.ll
+12 pola-rs/cztbx1zaxsgh33rhqav0blwq7.ll
+8 cvc5/partial_model.ll
+8 pugixml/pugixml.ll
+8 typst-rs/avdrw26ojy6f9qt.ll
+6 gromacs/colvargrid.ll
+6 hdf5/H5MFaggr.ll
+6 openjdk/xBarrierSetC1.ll
+6 pingora-rs/24oggy68gf6cx0i1vzuuyyts4.ll
+5 duckdb/ub_duckdb_storage_statistics.ll
+5 pola-rs/e5h141x44lxp1jgda4wn9g2mb.ll
+4 git/url.ll
+4 hyperscan/multibit_build.ll
+4 recastnavigation/RecastMeshDetail.ll
+4 uv-rs/cytct23blftf7o2jvmn4wn2y4.ll
+3 box2d/TaskScheduler.ll
+3 casadi/cvodes.ll
+3 casadi/scpgen.ll
+3 libuv/linux.ll
+3 luau/LValue.ll
+3 mitsuba3/bitmap.ll
+3 openblas/dlaein.ll
+3 quest/QuEST_validation.ll
+3 sundials/cvode.ll
+3 uv-rs/7khc3ibab4pxgcl4we6absvwc.ll
+3 uv-rs/by1v971b2x3q41gbdp63esm9c.ll
+3 z3/sat_xor_finder.ll
+3 zed-rs/8n2fsvz9zbnw9ojg9jkj0503g.ll
+2 curl/easy.ll
+2 ffmpeg/indeo4.ll
+2 grpc/tls_security_connector.ll
+2 influxdb-rs/380gcqze52ow6205.ll
+2 tokenizers-rs/1k9vblvd5jyd3qmf.ll
+2 wasmtime-rs/16qf4j2oevjc61uc.ll
+2 wasmtime-rs/26trd4atg57wyjbd.ll
+2 wireshark/packet-sctp.ll
+1 coreutils-rs/31vrb73337u20kex.ll
+1 coreutils-rs/jiqj5u7teuhb0o0.ll
+1 git/object-name.ll
+1 hdf5/H5EAcache.ll
+1 influxdb-rs/1s5ibqekmzia6ibu.ll
+1 qdrant-rs/1sx1pjpbst7gikiv.ll
+1 redis/expire.ll
+1 zed-rs/9wvbl62ry9kmh1ntb1bvaauiz.ll
-1 abc/bmcFx.ll
-1 abc/giaSimBase.ll
-1 boost/buffer_variable_width.ll
-1 boost/search_path.ll
-1 bullet3/btSoftBodyHelpers.ll
-1 ffmpeg/cmdutils.ll
-1 gromacs/residuetypes.ll
-1 linux/drm_dp_mst_topology.ll
-1 linux/mlock.ll
-1 lvgl/lv_image_decoder.ll
-1 meshlab/ml_scene_gl_shared_data_context.ll
-1 oiio/imagecache.ll
-1 openblas/dsyevx.ll
-1 openjdk/os_linux.ll
-1 openspiel/go_board.ll
-1 openssl/ssl_test.ll
-1 openusd/parserHelpers.ll
-1 php/php_reflection.ll
-1 php/streamsfuncs.ll
-1 protobuf/descriptor.ll
-1 proxygen/HTTPSession.ll
-1 quantlib/lognormalfwdrateeulerconstrained.ll
-1 raylib/rmodels.ll
-1 recastnavigation/imgui.ll
-1 sundials/arkode_sprk.ll
-1 wireshark/packet-cdp.ll
-1 wireshark/packet-eth.ll
-2 darktable/camera_control.ll
-2 ffmpeg/format.ll
-2 hermes/ItaniumDemangle.ll
-2 hermes/SimpleStackPromotion.ll
-2 lvgl/lv_table.ll
-2 openusd/stitch.ll
-2 slurm/scontrol.ll
-2 verilator/V3MergeCond.ll
-2 wireshark/packet-isis-lsp.ll
-2 wolfssl/sp_int.ll
-2 z3/qe_bool_plugin.ll
-3 boost/area.ll
-3 glslang/PpScanner.ll
-3 minetest/COpenGLDriver.ll
-3 nori/imagepanel.ll
-3 opencv/nms.ll
-3 openusd/spline.ll
-3 pingora-rs/9p340cni5ef4byzbq5uzx23g8.ll
-3 rocksdb/backup_engine.ll
-3 soc-simulator/Vmycpu_top___024root__DepSet_hcf0db31f__0.ll
-3 soc-simulator/Vmycpu_top___024root__DepSet_hcf0db31f__0__Slow.ll
-4 abc/abcCas.ll
-4 casadi/optistack_internal.ll
-4 faiss/gtest-all.ll
-4 fmt/gmock-gtest-all.ll
-4 git/show-branch.ll
-4 hermes/gtest-all.ll
-4 hyperscan/gtest-all.ll
-4 openusd/testSdfHardToReach.ll
-4 pbrt-v4/image.ll
-4 spike/csrs.ll
-4 verilator/V3Clean.ll
-5 abseil-cpp/gtest-all.ll
-5 draco/obj_encoder.ll
-5 ffmpeg/af_amerge.ll
-5 hyperscan/ng_region_redundancy.ll
-5 luau/TypeChecker2.ll
-5 oiio/psdinput.ll
-5 ruff-rs/bzh9h554ycapgq7g6ci0s8oxl.ll
-6 quantlib/tcopulapolicy.ll
-7 delta-rs/4zvphat0q9a964bz.ll
-7 openjdk/classFileParser.ll
-8 image-rs/244uszkx0e8t5ie1.ll
-9 open3d/blob.ll
-10 quinn-rs/8uwd9uga0xtfvdqnd2p3u31ot.ll
-10 zed-rs/8mr81aw0ctvqdrbyiysor7awe.ll
-12 image-rs/2ndzmzcdt55acj4k.ll
-14 hermes/MicrosoftDemangle.ll
-14 jsonnet/vm.ll
-15 harfbuzz/hb-subset-plan.ll
-16 pbrt-v4/filters.ll
-18 minetest/pointabilities.ll

@github-actions

github-actions Bot commented Mar 2, 2026

Copy link
Copy Markdown
Contributor

Here is a concise summary of the major changes in the LLVM IR diff:

  1. Control Flow Simplification and Branch Target Updates: Multiple br instructions had their destination basic blocks updated (e.g., %66%63, %414%407) to reflect restructured control flow, often due to loop optimizations or critical edge elimination.

  2. Phi Node Restructuring and Reduction: Several phi nodes were simplified—redundant incoming values removed, unnecessary phi operands eliminated (e.g., replacing multi-operand phis with fewer or constant operands), and some phis moved or split across newly introduced loop exit blocks (e.g., .loopexit, .loopexit132). This reflects improved SSA construction after loop transformations.

  3. Loop Exit and Critical Edge Optimization: New loop-exit blocks (e.g., %63, %._crit_edge, %._crit_edge.i.i.i) were introduced or repurposed, often replacing .critedge or .preheader-style blocks. Phi nodes were updated to feed from these new exits, improving loop-carried dependency modeling.

  4. Redundant Comparison and Logic Elimination: Several patterns involving chained or/and of comparisons (e.g., %or.cond = or i1 %a, %b; br i1 %or.cond) were replaced with direct branching on one operand (e.g., br i1 %a), eliminating unnecessary boolean logic and simplifying control flow.

  5. Floating-Point Computation Reordering and FMA Use: In casadi and image-rs, floating-point sequences were refactored: fdiv + fmul combinations were replaced with fmuladd, and redundant phi-based intermediate values were removed (e.g., merging %.034.lcssa and %316 into a single fmul). This improves numerical stability and enables hardware FMA instruction selection.

These changes collectively indicate aggressive loop optimization, control-flow simplification, and arithmetic strength reduction—consistent with high-level passes like LoopRotate, LoopSimplify, SLPVectorizer, and InstCombine.

model: qwen-plus-latest
CompletionUsage(completion_tokens=457, prompt_tokens=106991, total_tokens=107448, completion_tokens_details=None, prompt_tokens_details=None)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants