Skip to content
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

pre-commit: test PR101049 #1194

Closed
wants to merge 2 commits into from
Closed

pre-commit: test PR101049 #1194

wants to merge 2 commits into from

Conversation

dtcxzyw
Copy link
Owner

@dtcxzyw dtcxzyw commented Aug 14, 2024

Copy link
Contributor

baseline: llvm/llvm-project@80c5ccd
patch: llvm/llvm-project#101049
sha256: ce1fdaabdd963c4fa119ca9ccec98bc60fca80e49a9911bec8373d2b312a72ff
commit: aa1efe3
839 files changed, 1900707 insertions(+), 1908053 deletions(-)

Top 5 improvements:
  ripgrep-rs/4m87zogkrnv5oa3v.ll 662481921 633164661 -4.43%
  rust-analyzer-rs/18mvp67rh7l1u2ho.ll 44726073 44018932 -1.58%
  postgres/nbtcompare.ll 92477133 91089998 -1.50%
  coreutils-rs/217aku6h0yilfltd.ll 45609256 44964465 -1.41%
  regex-rs/gbxkn0az9l87aop.ll 976176040 963593790 -1.29%
Top 5 regressions:
  ockam-rs/on09w5afel7x9qz.ll 5283671829 5527978517 +4.62%
  wasmtime-rs/1tgax70bn3x2nad4.ll 1243933592 1257932127 +1.13%
  velox/SequenceVector.cpp.ll 5251674215 5308978662 +1.09%
  mini-lsm-rs/pew1bqmcl3zb6gg.ll 574214304 580309658 +1.06%
  rust-analyzer-rs/sa24v3l2255jmvb.ll 887906958 897188446 +1.05%

Overall: -0.01581201%

aa1efe3 pre-commit: Update
bench/abc/optimized/abcNames.c.ll
bench/abc/optimized/darBalance.c.ll
bench/abseil-cpp/optimized/str_split_test.cc.ll
bench/abseil-cpp/optimized/test_instance_tracker_test.cc.ll
bench/actix-rs/optimized/15fg5gcin7mnqwvl.ll
bench/actix-rs/optimized/1r6gdu4qz7y5u8vv.ll
bench/actix-rs/optimized/38w83wyqv1thu0n9.ll
bench/actix-rs/optimized/4i8sqy4dbcgvpe7w.ll
bench/actix-rs/optimized/52qe9gl98lnufrop.ll
bench/actix-rs/optimized/5dylu5g0crehei80.ll
bench/clap-rs/optimized/28kpmq8k0hu4re4f.ll
bench/clap-rs/optimized/421wxj3t0b5xgmkw.ll
bench/clap-rs/optimized/4bajo035z6e1d4qz.ll
bench/clap-rs/optimized/5651dp9k16h53y8x.ll
bench/clap-rs/optimized/rh1bh36cvgkzipt.ll
bench/coreutils-rs/optimized/1efo3swtygw8gpnj.ll
bench/coreutils-rs/optimized/1flp8pwnqh9xy7nf.ll
bench/coreutils-rs/optimized/2145dndjkhee8wnm.ll
bench/coreutils-rs/optimized/2l6nxvvz97tcra6u.ll
bench/coreutils-rs/optimized/3yps2piu92w2mpsu.ll
bench/coreutils-rs/optimized/42mdia1i938lxfrs.ll
bench/coreutils-rs/optimized/4dx3xgc2q0yp2q7n.ll
bench/coreutils-rs/optimized/4kgrj997pbefuahr.ll
bench/coreutils-rs/optimized/4xe0oi8s0z5yh0ce.ll
bench/cvc5/optimized/arith_utilities.cpp.ll
bench/cvc5/optimized/monomial_bounds_check.cpp.ll
bench/cvc5/optimized/soi_simplex.cpp.ll
bench/delta-rs/optimized/17fowff2nvfrfdbu.ll
bench/delta-rs/optimized/4say4x9grcidoih4.ll
bench/diesel-rs/optimized/re13hpgqfsvf2ck.ll
bench/git/optimized/pack-write.ll
bench/gromacs/optimized/simulatoralgorithm.cpp.ll
bench/html5ever-rs/optimized/1nd47j9hksokf3br.ll
bench/icu/optimized/erarules.ll
bench/icu/optimized/uarrsort.ll
bench/image-rs/optimized/1njpscpjlgoe3i07.ll
bench/image-rs/optimized/244uszkx0e8t5ie1.ll
bench/influxdb-rs/optimized/45ep097lxkbdotle.ll
bench/just-rs/optimized/1uppz7l1e89fp8n7.ll
bench/just-rs/optimized/4mdvpwvrpdu4jonv.ll
bench/libphonenumber/optimized/generate_geocoding_data.cc.ll
bench/linux/optimized/seq_prioq.ll
bench/meilisearch-rs/optimized/3boqjkyppnj30yn0.ll
bench/meilisearch-rs/optimized/448pbsgxvapmdmcd.ll
bench/meilisearch-rs/optimized/48hhebymxr5ff2nk.ll
bench/meshlab/optimized/filter_mesh_booleans.cpp.ll
bench/mini-lsm-rs/optimized/1p3sopfakd9d715u.ll
bench/mini-lsm-rs/optimized/1zm93ee80v61t4c3.ll
bench/mini-lsm-rs/optimized/2j7sj03n10nloiwr.ll
bench/mini-lsm-rs/optimized/2y1m09w3fogtr6jd.ll
bench/mini-lsm-rs/optimized/3m8k5ep4f562pm44.ll
bench/mini-lsm-rs/optimized/59xebgypolxascxr.ll
bench/node/optimized/libnode.node_sockaddr.ll
bench/ockam-rs/optimized/10k16szy9z0gnoyc.ll
bench/ockam-rs/optimized/14jhibpevwjs778a.ll
bench/ockam-rs/optimized/16eth4dr0rzwo5zh.ll
bench/ockam-rs/optimized/2r89va29k151cr5y.ll
bench/ockam-rs/optimized/31s7w40jb5ho09e2.ll
bench/ockam-rs/optimized/39zu1ift3djm93l6.ll
bench/ockam-rs/optimized/3mmfh9oxbbu2kjan.ll
bench/ockam-rs/optimized/5d08dby0hzbl8sgj.ll
bench/ockam-rs/optimized/z0rkq6s90lca7cm.ll
bench/openjdk/optimized/hb-face-builder.ll
bench/openjdk/optimized/hb-ot-math.ll
bench/openjdk/optimized/hb-ot-meta.ll
bench/openjdk/optimized/hb-ot-shape-normalize.ll
bench/openjdk/optimized/os_linux.ll
bench/openmpi/optimized/opal_graph.ll
bench/postgres/optimized/conv.ll
bench/postgres/optimized/nbtcompare.ll
bench/postgres/optimized/unicode_norm.ll
bench/protobuf/optimized/command_line_interface.cc.ll
bench/protobuf/optimized/descriptor_database.cc.ll
bench/protobuf/optimized/enum.cc.ll
bench/protobuf/optimized/file.cc.ll
bench/qdrant-rs/optimized/1qtu8dw3f0ctj9yc.ll
bench/qdrant-rs/optimized/242gbngcvruxs88t.ll
bench/qdrant-rs/optimized/49gep1elv33vxlrq.ll
bench/qdrant-rs/optimized/4t95zbgxlkfcsmos.ll
bench/qdrant-rs/optimized/mlg9lxn4zda3gwe.ll
bench/regex-rs/optimized/12jtvy3iayrg5nam.ll
bench/regex-rs/optimized/4c1ya9idnqcg8t0f.ll
bench/regex-rs/optimized/4qhif1ofea978syx.ll
bench/ring-rs/optimized/4prppzcttbsz5zvc.ll
bench/ripgrep-rs/optimized/161nqe0t1jf3za47.ll
bench/ripgrep-rs/optimized/4cq6nq4u7bbbs0et.ll
bench/ripgrep-rs/optimized/5ckxrdy9v0i8g3uf.ll
bench/ripgrep-rs/optimized/rwbxp5vay147miz.ll
bench/rocksdb/optimized/lock_request.cc.ll
bench/rocksdb/optimized/txnid_set.cc.ll
bench/rocksdb/optimized/wfg.cc.ll
bench/rust-analyzer-rs/optimized/18mvp67rh7l1u2ho.ll
bench/rust-analyzer-rs/optimized/1cf75p1eybr0uy0c.ll
bench/rust-analyzer-rs/optimized/1yf6pyfk8ihkfv63.ll
bench/rust-analyzer-rs/optimized/233tpdwe8f7eoneo.ll
bench/rust-analyzer-rs/optimized/2rdswb8f6bh7ph2o.ll
bench/rust-analyzer-rs/optimized/2w4lvnbcibp86ysy.ll
bench/rust-analyzer-rs/optimized/2zm9eul0ycl9zsz3.ll
bench/rust-analyzer-rs/optimized/39qzrxn3p3f1jz7v.ll

115: ; preds = %"_ZN71_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17hd2b066d5f3f3306aE.exit", %97
%.041 = phi ptr [ %26, %97 ], [ %spec.select, %"_ZN71_$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17hd2b066d5f3f3306aE.exit" ]
%.0.i45 = phi i8 [ %.0.i.i, %111 ], [ %..i, %108 ]
%112 = icmp eq i8 %.0.i45, 1
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not exactly a regression (previous IR looks worse?) but there is an optimization opportunity here: If we fold the icmp into the phi then the ucmp becomes an icmp and the other one folds to the zext argument.

%28 = icmp ult i64 %13, %17
%.neg.i.i.i = sext i1 %28 to i32
%29 = add nsw i32 %.neg.i.i.i, %27
%30 = icmp slt i32 %29, 0
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why this regresses, but it would get fixed by llvm/llvm-project#103833 anyway.

%136 = getelementptr inbounds i8, ptr %117, i64 56
%.0.i.i.i.i = call i8 @llvm.ucmp.i8.i64(i64 %126, i64 %123)
%.0.i.i50 = select i1 %129, i8 %.0.i.i.i.i, i8 %127
%130 = icmp eq i8 %.0.i.i50, -1
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regression.

bench/ring-rs/optimized/4prppzcttbsz5zvc.ll Show resolved Hide resolved
switch i8 %.0.i12.i, label %_ZN3mio4poll8Registry10deregister17h8db01216e80c6d9cE.exit [
i8 0, label %.critedge11.i
i8 -1, label %.critedge11.i
]
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regression.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this one would be handled by adding ConstantRange support for ucmp, so we see the result can only be 0 or -1 and eliminate the default case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants