Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Jan 5, 2026

@github-actions github-actions bot mentioned this pull request Jan 5, 2026
@zyw-bot
Copy link
Collaborator Author

zyw-bot commented Jan 5, 2026

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@7f9a00e
patch: llvm/llvm-project#174473
sha256: 76c04273f17964d7c6827265bb633e21846ec91f8adaae91ba6abd0ce7472beb
commit: e7c44bd

800 files changed, 1051816 insertions(+), 1050847 deletions(-)

Improvements:
  simplifycfg.NumLookupTablesHoles 2395 -> 2437 +1.75%
  simplifycfg.NumBitMaps 2244 -> 2273 +1.29%
  simplifycfg.NumLookupTables 19600 -> 19624 +0.12%
  simplifycfg.NumHoistCommonInstrs 2507702 -> 2509508 +0.07%
  constmerge.NumIdenticalMerged 15654 -> 15665 +0.07%
  instcount.NumAndInst 3894843 -> 3895552 +0.02%
  jump-threading.NumFolds 2541922 -> 2542362 +0.02%
  jump-threading.NumThreads 2694374 -> 2694815 +0.02%
  simplifycfg.NumFoldBranchToCommonDest 747839 -> 747961 +0.02%
  simple-loop-unswitch.NumBranches 104888 -> 104903 +0.01%
Regressions:
  simple-loop-unswitch.NumSwitches 1736 -> 1722 -0.81%
  instcount.NumSwitchInst 624500 -> 623870 -0.10%
  simplifycfg.NumFoldValueComparisonIntoPredecessors 512832 -> 512682 -0.03%
  instcount.NumFreezeInst 68107 -> 68093 -0.02%
  instcount.NumOrInst 1151866 -> 1151713 -0.01%
  instcombine.NumFactor 45548 -> 45544 -0.01%
  instcombine.NumDeadInst 41020762 -> 41017706 -0.01%
  memdep.NumCacheDirtyNonLocalPtr 22164 -> 22163 -0.00%
  indvars.NumReplaced 69578 -> 69576 -0.00%
  indvars.NumSameSign 40280 -> 40279 -0.00%

+55 openjdk/g1CollectedHeap.ll
+24 nanobind/test_stl_bind_map.ll
+19 yara-x-rs/7kdrv2ks7wriy60c55s9rwzp3.ll
+19 zed-rs/7ytobmn0xkq5d7tylhffnrtk5.ll
+18 nuklear/unity.ll
+14 openjdk/graphKit.ll
+13 llvm/CodeGenDAGPatterns.ll
+12 llama.cpp/unicode.ll
+8 nanobind/test_make_iterator.ll
+8 openjdk/callGenerator.ll
+8 openjdk/library_call.ll
+8 wireshark/packet-cip.ll
+7 flatbuffers/idl_gen_rust.ll
+7 llvm/CSEInfo.ll
+7 lvgl/lv_textarea.ll
+7 nanobind/test_stl_bind_vector.ll
+6 wireshark/protobuf_lang_tree.ll
+4 flatbuffers/annotated_binary_text_gen.ll
+4 rocksdb/string_util.ll
+3 llvm/OpenMPKinds.ll
+3 postgres/command.ll
+3 slurm/launch.ll
+3 typst-rs/1ru1rhojhbz2vfey.ll
+2 assimp/ColladaLoader.ll
+2 chibicc/type.ll
+2 llvm/ItaniumDemangle.ll
+2 nanobind/test_callbacks.ll
+2 nanobind/test_holders.ll
+2 postgres/walreceiverfuncs.ll
+2 wasmtime-rs/4bsmuvpz9r22ks1w.ll
+1 cvc5/ceg_utils.ll
+1 hermes/ItaniumDemangle.ll
+1 linux/svcauth_gss.ll
+1 sdl/SDL_joystick.ll
+0 abseil-cpp/arg.ll
+0 arrow/decimal.ll
+0 assimp/XmlSerializer.ll
+0 coreutils-rs/3qc0yve8cevcl6aw.ll
+0 fmt/format-impl-test.ll
+0 fmt/os.ll
+0 folly/String.ll
+0 jemalloc/large.ll
+0 jiff-rs/9izaa421s43j4ihx0iahajgea.ll
+0 libcxx/header_exportable_declarations.ll
+0 lightgbm/tree.ll
+0 openjdk/ciInstanceKlass.ll
+0 openjdk/hb-ot-shaper-arabic.ll
+0 openusd/adapterManager.ll
+0 openusd/dataSourcePrim.ll
+0 pola-rs/1nb2gyhm0tinqn6ey8ai4djfd.ll
+0 postgres/parser.ll
+0 rust-analyzer-rs/kcxpblerbqo90m6.ll
+0 rustfmt-rs/4ext43viwbyeinhu.ll
+0 spdlog/bundled_fmtlib_format.ll
+0 typst-rs/2i78fvbm4wocuesi.ll
+0 typst-rs/4qskctz4kwc33g7b.ll
+0 typst-rs/d6l9ieo9tcw33dn.ll
+0 z3/add_bounds_tactic.ll
+0 z3/dl_cmds.ll
+0 z3/elim_unconstrained.ll
-1 assimp/ObjFileParser.ll
-1 duckdb/src_backend_parser_scansup.ll
-1 llvm/SemaFunctionEffects.ll
-1 opencv/gcpubackend.ll
-1 openjdk/threadService.ll
-1 pola-rs/4k9mmppgjee0j2w63yqma6wuu.ll
-1 tokenizers-rs/1k9vblvd5jyd3qmf.ll
-1 uv-rs/4geuf6q2je9x06sx9nzr61rkq.ll
-1 yara-x-rs/6lvluxz0xcnue8xe38nauwxln.ll
-2 llvm/CallEvent.ll
-2 llvm/Core.ll
-2 llvm/DeclCXX.ll
-2 llvm/SemaExprMember.ll
-2 llvm/UnsafeBufferUsage.ll
-3 folly/LogName.ll
-4 flatbuffers/idl_gen_php.ll
-4 hermes/BigIntSupport.ll
-4 llvm/TargetRegisterInfo.ll
-4 openjdk/synchronizer.ll
-5 abc/gtest-all.ll
-5 abseil-cpp/gtest-all.ll
-5 hermes/gtest-all.ll
-5 hyperscan/gtest-all.ll
-7 zxing/Content.ll
-17 assimp/X3DImporter_Postprocess.ll

@github-actions
Copy link
Contributor

github-actions bot commented Jan 5, 2026

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

  1. Switch Optimization via Bit Manipulation: Multiple functions now replace explicit switch instructions with arithmetic/bitwise operations (e.g., add, and, icmp, lshr, trunc, zext) to compute branch conditions—especially for small integer ranges (e.g., ASCII character classification, enum dispatch). This pattern avoids switch tables and enables more aggressive constant folding and simplification.

  2. Elimination of Redundant Switch Blocks: Several functions remove intermediate switch.early.test blocks and merge control flow directly into successor blocks (e.g., .thread, %for.inc, %_ZN...exit). This reduces CFG complexity, removes unnecessary phi nodes, and simplifies dominance relationships.

  3. Cleanup of freeze Instructions: Loads followed by freeze (e.g., %.fr = freeze i8 %14) are removed, and subsequent uses now refer directly to the loaded value (%14). This reflects improved handling of undefined behavior and memory model assumptions, reducing instruction count and improving readability.

  4. Phi Node Updates for Control Flow Merges: Phi node incoming block lists are updated to reflect new control flow paths (e.g., replacing %switch.early.test with %15, %_ZN...exit, or %thread-pre-split). Some phis also have corrected operand indices (e.g., %119%117) due to predecessor reordering or removal.

  5. TBAA Metadata Adjustments: Several !tbaa annotations are updated to reference different metadata nodes (e.g., !354!359, !384!354), indicating refined type-based alias analysis modeling—likely reflecting better struct field layout inference or ABI-aware alignment assumptions.

These changes collectively reflect backend optimizations focused on control-flow simplification, switch lowering, memory model tightening, and alias analysis refinement—consistent with modern LLVM passes like SimplifyCFG, JumpThreading, CoroSplit, and TBAA-aware GVN.

model: qwen-plus-latest
CompletionUsage(completion_tokens=446, prompt_tokens=108780, total_tokens=109226, completion_tokens_details=None, prompt_tokens_details=None)

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