Skip to content

pre-commit: PR126414 #2109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

pre-commit: PR126414 #2109

wants to merge 3 commits into from

Conversation

dtcxzyw
Copy link
Owner

@dtcxzyw dtcxzyw commented Feb 9, 2025

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

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

dtcxzyw commented Feb 9, 2025

runner: ariselab-64c-v2
baseline: llvm/llvm-project@7c60725
patch: llvm/llvm-project#126414
sha256: 5cdb4eaa3974e95dd6017e4bd1cabfe06c4feee4367041dde0a26b08caaa60c7
commit: 19f36fa

616 files changed, 555484 insertions(+), 555903 deletions(-)

Improvements:
  aggressive-instcombine.NumInstrsReduced 58592 -> 58990 +0.68%
  vector-combine.NumVecBO 8977 -> 9011 +0.38%
  aggressive-instcombine.NumExprsReduced 19129 -> 19195 +0.35%
  instcombine.NumSunkInst 2723811 -> 2728871 +0.19%
  loop-instsimplify.NumSimplified 162364 -> 162623 +0.16%
  reassociate.NumChanged 4259140 -> 4261841 +0.06%
  sccp.NumDeadBlocks 728065 -> 728393 +0.05%
  licm.NumBOAssociationsHoisted 5728 -> 5730 +0.03%
  correlated-value-propagation.NumPhis 994865 -> 995203 +0.03%
  sccp.NumInstRemoved 1994800 -> 1995282 +0.02%
Regressions:
  bdce.NumSimplified 5996 -> 5736 -4.34%
  adce.NumRemoved 91012 -> 90683 -0.36%
  simplifycfg.NumSinkCommonInstrs 700432 -> 698928 -0.21%
  instcombine.NumConstProp 123606 -> 123342 -0.21%
  instcombine.NumExpand 2058 -> 2055 -0.15%
  simplifycfg.NumSinkCommonCode 336720 -> 336286 -0.13%
  local.NumPHICSEs 155257 -> 155103 -0.10%
  gvn.NumGVNEqProp 341230 -> 340997 -0.07%
  instsimplify.NumReassoc 353711 -> 353518 -0.05%
  dse.NumFastOther 130789 -> 130720 -0.05%

8 16 bench/abseil-cpp/optimized/flat_hash_map_test.ll
12 16 bench/assimp/optimized/glTF2Importer.ll
13 17 bench/boost/optimized/approximately_equals.ll
18 18 bench/boost/optimized/graphml.ll
1 1 bench/c3c/optimized/sema_stmts.ll
13 15 bench/coreutils-rs/optimized/12t1ilskwpg6ujrn.ll
14 18 bench/coreutils-rs/optimized/jfj1amq69fu0agb.ll
27 28 bench/csmith/optimized/CVQualifiers.ll
6 7 bench/cvc5/optimized/cardinality_extension.ll
2 3 bench/cvc5/optimized/equality_engine.ll
7 8 bench/cvc5/optimized/inst_match_generator.ll
5 6 bench/cvc5/optimized/sygus_unif_rl.ll
1 2 bench/cvc5/optimized/theory_engine.ll
26 33 bench/cvc5/optimized/transcendental_solver.ll
1 2 bench/delta-rs/optimized/3qkwqfk85qralejq.ll
34 36 bench/delta-rs/optimized/55vh0ifmkuogw8lk.ll
4 7 bench/delta-rs/optimized/9v8xvedf69luuxb.ll
1 5 bench/flatbuffers/optimized/idl_gen_swift.ll
6 15 bench/flatbuffers/optimized/idl_parser.ll
4 4 bench/glslang/optimized/ShaderLang.ll
1 9 bench/gromacs/optimized/freeenergyperturbationdata.ll
1 5 bench/grpc/optimized/composite_credentials.ll
4 4 bench/grpc/optimized/hpack_parser.ll
5 22 bench/harfbuzz/optimized/hb-subset.ll
21 52 bench/hermes/optimized/Callable.ll
5 13 bench/hermes/optimized/JSArray.ll
1 2 bench/hyperscan/optimized/accel_dfa_build_strat.ll
29 39 bench/hyperscan/optimized/goughcompile_accel.ll
28 38 bench/hyperscan/optimized/goughcompile_reg.ll
34 36 bench/just-rs/optimized/3022oi333lxf39jd.ll
5 7 bench/llvm/optimized/InstrProfReader.ll
9 12 bench/llvm/optimized/Interp.ll
2 1 bench/llvm/optimized/LLParser.ll
17 24 bench/llvm/optimized/PDB.ll
2 4 bench/llvm/optimized/PDBFileBuilder.ll
2 6 bench/llvm/optimized/RangeConstraintManager.ll
11 16 bench/luau/optimized/Type.ll
8 9 bench/luau/optimized/TypeInfer.functions.test.ll
15 31 bench/mold/optimized/rust-demangle.ll
7 11 bench/nix/optimized/mercurial.ll
2 3 bench/nix/optimized/users.ll
42 78 bench/node/optimized/libnode.crypto_dh.ll
42 78 bench/node/optimized/libnode.crypto_dsa.ll
2 18 bench/node/optimized/libnode.crypto_keygen.ll
1 15 bench/node/optimized/libnode.queue.ll
2 4 bench/node/optimized/libnode.spawn_sync.ll
2 4 bench/ockam-rs/optimized/1145kugil9dl94a2.ll
23 25 bench/ockam-rs/optimized/2ugp26prskc4lvz4.ll
5 9 bench/opencv/optimized/detection_based_tracker.ll
21 32 bench/opencv/optimized/has_non_zero.dispatch.ll
5 11 bench/openjdk/optimized/compileBroker.ll
17 24 bench/openjdk/optimized/compilerDefinitions.ll
2 4 bench/openjdk/optimized/jvmci.ll
8 12 bench/openjdk/optimized/rdtsc_x86.ll
7 12 bench/openspiel/optimized/crowd_modelling_2d.ll
6 16 bench/openvdb/optimized/Merge.ll
21 37 bench/pbrt-v4/optimized/cameras.ll
1 10 bench/pbrt-v4/optimized/integrators.ll
4 8 bench/pbrt-v4/optimized/lights.ll
2 12 bench/pbrt-v4/optimized/parser.ll
2 4 bench/pbrt-v4/optimized/scene.ll
6 6 bench/php/optimized/zend_inference.ll
2 2 bench/php/optimized/zend_jit.ll
4 11 bench/postgres/optimized/index.ll
3 9 bench/postgres/optimized/snprintf.ll
26 27 bench/postgres/optimized/spgdoinsert.ll
3 10 bench/protobuf/optimized/printer.ll
1 4 bench/protobuf/optimized/text_format_decode_data.ll
5 10 bench/proxygen/optimized/HQFramedCodec.ll
5 7 bench/qemu/optimized/block_vmdk.ll
2 9 bench/qemu/optimized/hw_net_rocker_rocker.ll
6 5 bench/regex-rs/optimized/43rm3k0zg7aeemwj.ll
50 52 bench/ring-rs/optimized/33m8pf8xuidn6qk2.ll
10 20 bench/rocksdb/optimized/concurrent_arena.ll
11 22 bench/rocksdb/optimized/memtable.ll
20 20 bench/tokenizers-rs/optimized/58hth72z9dib25am.ll
18 20 bench/tree-sitter-rs/optimized/625td5bh6h6b3cx.ll
4 5 bench/vcpkg/optimized/binarycaching.ll
2 4 bench/vcpkg/optimized/downloads.ll
2 3 bench/velox/optimized/BaseVector.ll
2 18 bench/velox/optimized/LeadLag.ll
4 8 bench/verilator/optimized/V3AstNodes.ll
4 6 bench/verilator/optimized/V3OrderGraphBuilder.ll
1 2 bench/wireshark/optimized/packet-gsm_a_gm.ll
4 6 bench/z3/optimized/maxcore.ll
8 12 bench/z3/optimized/sat_parallel.ll
3 6 bench/z3/optimized/theory_dummy.ll
2 3 bench/zed-rs/optimized/1z1mutvtueodj7ida85oqfqbf.ll
12 13 bench/zed-rs/optimized/7ukwrxq2hh2vqucbwedxkpvcs.ll
12 13 bench/zed-rs/optimized/bc27zh41i1ia1dszunchw7cbt.ll

Copy link
Contributor

github-actions bot commented Feb 9, 2025

Here's a high-level summary of the major changes in the LLVM IR patch:

  1. Simplification of boolean operations:

    • Replaced truncations and phi nodes with direct boolean values (e.g., false, true) in several places, reducing complexity.
    • Changed icmp conditions from ne to eq or vice versa to simplify logic flow.
  2. Optimization of memory operations:

    • Removed unnecessary phi nodes for memory pointers and replaced them with direct loads/stores.
    • Altered store operations to use constant values instead of computed ones (e.g., storing 1 or 0 directly).
    • Adjusted getelementptr instructions to eliminate redundant calculations.
  3. Removal of intermediate variables:

    • Eliminated temporary variables like %frombool.i, %tobool.i.i, etc., by directly using the result of comparisons or other operations.
    • Simplified select instructions where possible, replacing them with simpler bitwise operations.
  4. Streamlining control flow:

    • Modified branch conditions to remove redundant checks (e.g., combining multiple br instructions into one).
    • Rearranged basic blocks to improve readability and reduce unnecessary jumps.
  5. Type adjustments:

    • Changed data types in some cases (e.g., from i8 to i1 for boolean flags) to better match usage and improve efficiency.
    • Adjusted structure definitions and removed unused comdat entries in certain benchmarks.

These changes generally aim to simplify the IR, reduce unnecessary computations, and optimize memory access patterns, leading to potentially more efficient machine code generation. The modifications focus on improving clarity and performance without altering the program's functionality.

model: qwen-plus-latest
CompletionUsage(completion_tokens=346, prompt_tokens=101002, total_tokens=101348, 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