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

pre-commit: PR185080 - #3542

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

pre-commit: PR185080#3542
zyw-bot wants to merge 3 commits into
mainfrom
test-run22796936086

Conversation

@zyw-bot

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

Copy link
Copy Markdown
Collaborator

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

zyw-bot commented Mar 7, 2026

Copy link
Copy Markdown
Collaborator Author

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@4d08284
patch: llvm/llvm-project#185080
sha256: 5d39698c923d9e26a03b278d41366af3b8bdc6c9d55468315a6a611b6c6a4901
commit: 1dbd815

18091 files changed, 45797123 insertions(+), 44913937 deletions(-)

Improvements:
  licm.NumMovedCalls 38239 -> 64991 +69.96%
  instcombine.NumDeadInst 41840354 -> 46747747 +11.73%
  licm.NumLoadStorePromoted 62406 -> 67603 +8.33%
  adce.NumBranchesRemoved 23126 -> 24288 +5.02%
  instcombine.NumDeadStore 25948 -> 27203 +4.84%
  early-cse.NumCSELoad 7199885 -> 7534945 +4.65%
  assume-queries.NumUsefullAssumeQueries 2119 -> 2216 +4.58%
  instcombine.NumCombined 120234009 -> 125207712 +4.14%
  bdce.NumRemoved 378220 -> 393413 +4.02%
  assume-builder.NumAssumeBuilt 516009 -> 530522 +2.81%
Regressions:
  indvars.NumSimplifiedSDiv 78 -> 12 -84.62%
  sroa.NumLoadsSpeculated 316436 -> 74316 -76.51%
  correlated-value-propagation.NumSRems 1556 -> 1246 -19.92%
  correlated-value-propagation.NumAddNSW 215879 -> 187626 -13.09%
  correlated-value-propagation.NumSIToFP 1490 -> 1350 -9.40%
  simple-loop-unswitch.NumTrivial 3252 -> 3018 -7.20%
  correlated-value-propagation.NumAddNW 426742 -> 398222 -6.68%
  correlated-value-propagation.NumNSW 564567 -> 535293 -5.19%
  indvars.NumReplaced 69497 -> 65954 -5.10%
  simple-loop-unswitch.NumSwitches 1746 -> 1668 -4.47%

+42 fish-rs/0gmdype6iqmr04uqdmt3mv74e.ll
+33 double_conversion/fixed-dtoa.ll
+17 clamav/filestr.ll
+15 image-rs/5ez7udly19o3uj1p.ll
+14 clamav/recvol.ll
+13 fmt/color-test.ll
+13 proxygen/QPACKHeaderTable.ll
+12 box2d/sample_benchmark.ll
+12 csmith/DefaultOutputMgr.ll
+12 ozz-animation/raw_animation.ll
+12 pocketpy/frame.ll
+12 tinyrenderer/tgaimage.ll
+11 flatbuffers/idl_gen_php.ll
+10 ceres/corrector.ll
+10 elfshaker-rs/5i7gp8trw7ga4qy5ep3sc0r6h.ll
+10 hyperscan/rdfa.ll
+10 ozz-animation/import2ozz_anim.ll
+9 bullet3/btContactConstraint.ll
+9 eastl/EACallback.ll
+9 flatbuffers/idl_gen_lobster.ll
+8 glslang/InReadableOrder.ll
+8 libcxx/regex.ll
+8 libigl/svd3x3_sse.ll
+8 ncnn/batchnorm_x86.ll
+8 ncnn/rmsnorm.ll
+8 ncnn/statisticspooling.ll
+8 ocio/LookTransform.ll
+7 bullet3/btReducedDeformableBodyHelpers.ll
+7 ceres/block_random_access_dense_matrix.ll
+7 glog/striplog_unittest.ll
+7 nori/button.ll
+7 ocio/AllocationOp.ll
+7 quinn-rs/8ainv6dkvux55w82mlbamtdp2.ll
+6 eastl/EAGlobal.ll
+6 g2o/csparse_wrapper.ll
+6 influxdb-rs/54bldmpi534adbqh.ll
+6 lean4/io.ll
+6 libcxx/hash.ll
+6 libpng/pngerror.ll
+6 openexr/ImfStringAttribute.ll
+6 ozz-animation/skeleton_utils.ll
+6 tinyrenderer/our_gl.ll
+6 wireshark/packet-cops.ll
+5 bullet3/btBox2dShape.ll
+5 csmith/CrestExtension.ll
+5 darktable/ext_preprocess.ll
+5 darktable/generic.ll
+5 jsonnet/string_utils.ll
+5 libdeflate/adler32.ll
+5 libigl/is_planar.ll
+5 protobuf/writer.ll
+5 qemu/libqos-malloc.ll
+5 stb/stb_ds.ll
+5 typst-rs/1ewejz0ibz9296z1.ll
+5 yoga/PixelGrid.ll
+4 duckdb/strutil.ll
+4 g2o/robot_laser.ll
+4 ipopt/SensBuilder.ll
+4 jiff-rs/6mt2m2fpdn5bbog4b843jwzdh.ll
+4 protobuf/csharp_repeated_enum_field.ll
+4 quantlib/inflationindex.ll
+4 sentencepiece/wire_format_lite.ll
+3 actix-rs/409utvkjqyfhgg14.ll
+3 arrow/base64.ll
+3 proxygen/TraceEvent.ll
+3 ruby/ractor.ll
+3 spike/spike-dasm.ll
+3 verilator/V3Order.ll
+2 elfshaker-rs/dpdxzpr6vy50qrx8lokb5klbq.ll
+2 evmone/secp256k1.ll
+2 evmone/secp256r1.ll
+2 grpc/posix_engine_listener.ll
+2 libzmq/epoll.ll
+2 node/libnode.node_api.ll
+2 ripgrep-rs/2425miidforqaenw.ll
+2 tls-rs/1edtspt3qu76t3sp.ll
+1 abc/abcDetect.ll
+1 darktable/pixelpipe.ll
+1 diesel-rs/re13hpgqfsvf2ck.ll
+1 faiss/IndexBinary.ll
+1 ffmpeg/mpegtsenc.ll
+1 hermes/GeneratorPrototype.ll
+1 hermes/LEB128.ll
+1 ipopt/IpStdCInterface.ll
+1 libquic/json_writer.ll
+1 meshlab/filterscript.ll
+1 msdfgen/import-font.ll
+1 nix/fs-input-accessor.ll
+1 node/libnode.tracing_agent.ll
+1 ocio/GradingRGBCurve.ll
+1 oiio/fits_pvt.ll
+1 openspiel/breakthrough_test.ll
+1 openusd/primData.ll
+1 openusd/repr.ll
+1 openvdb/StreamCompression.ll
+1 re2/tostring.ll
+1 tokenizers-rs/27irl7jx21l1e8zq.ll
+1 verilator/V3Branch.ll
-1 graphviz/constraint.ll
-1 hermes/Utils.ll
-1 ropey-rs/1pm5yglvzoctacuo.ll
-1 uv-rs/6p4lthq2tpyyirp0pjfmw6wzy.ll
-2 meilisearch-rs/nd5rqkzol64hjfl.ll
-2 openssl/quic_port.ll
-3 graphviz/mainwindow.ll
-3 qdrant-rs/mhybccpg29luppt.ll
-5 ruby/builtin.ll
-6 sundials/arkode_splittingstep_coefficients.ll

@github-actions

github-actions Bot commented Mar 7, 2026

Copy link
Copy Markdown
Contributor

Here's a concise summary of the major changes in this LLVM IR diff:

  1. Widespread @llvm.assume Insertions: Hundreds of new @llvm.assume(i1 true) [ "nonnull"(ptr %X) ] calls were added across numerous benchmarks (e.g., abc, actix-rs, arrow, box2d, bullet3, ceres, clamav, csmith, darktable, double_conversion, elfshaker-rs, evmone, faiss, fish-rs, flatbuffers, fmt, g2o, glog, glslang, graphviz, grpc, hermes). These encode proven non-null pointer assumptions, enabling more aggressive optimization (e.g., eliminating null checks, enabling better alias analysis).

  2. Refinement of Memory Attributes: Function memory attributes were updated to be more precise, notably changing inaccessiblemem: none to inaccessiblemem: write (and similar variants) for many functions (e.g., @llvm.umax.i64, @llvm.umin.i64, @sqrt, @llvm.fmuladd.f32, @llvm.lifetime.*, @llvm.memset.*). This provides stronger guarantees to the optimizer about side effects.

  3. Addition of !nonnull and !noundef Metadata: Loads from pointers were annotated with !nonnull and !noundef metadata (e.g., load ptr, ptr %5, align 8, !tbaa !10, !nonnull !82, !noundef !82). This explicitly tells the optimizer that the loaded pointer is guaranteed non-null and its value is well-defined, complementing the @llvm.assume calls.

  4. Minor Phi Node Reordering: In several places (e.g., actix-rs, box2d, eastl), the order of incoming values in phi instructions was adjusted (e.g., moving %183, %173 to %183, %.lr.ph). While functionally equivalent, this likely reflects a change in the order of basic block predecessors or internal canonicalization.

  5. Cleanup of TBAA and Loop Metadata: Some !tbaa and !llvm.loop metadata identifiers were simplified or replaced with empty metadata (!{}) or distinct metadata with updated numbering (e.g., !8 = !{} instead of distinct !{!8, !5}). This is typically an internal cleanup or normalization step during IR generation or optimization passes.

model: qwen-plus-latest
CompletionUsage(completion_tokens=567, prompt_tokens=109595, total_tokens=110162, 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