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

remove obsolete givens from regionck #107376

Merged
merged 4 commits into from
Mar 15, 2023
Merged

Conversation

aliemjay
Copy link
Member

@aliemjay aliemjay commented Jan 27, 2023

Fixes #106567

r? @lcnr (feel free to reassign)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 27, 2023
@aliemjay aliemjay marked this pull request as draft January 27, 2023 16:43
@aliemjay
Copy link
Member Author

blocked on #105982

@rustbot label S-blocked -S-waiting-on-review

@rustbot rustbot added S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 27, 2023
@rust-log-analyzer

This comment has been minimized.

@lcnr
Copy link
Contributor

lcnr commented Feb 1, 2023

is this still blocked on #105982 now?

@aliemjay
Copy link
Member Author

aliemjay commented Feb 1, 2023

Nope.
@rustbot label -S-blocked

@rustbot rustbot removed the S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work. label Feb 1, 2023
@aliemjay
Copy link
Member Author

aliemjay commented Feb 1, 2023

Fixes #106567

@rustbot review

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 1, 2023
@aliemjay aliemjay marked this pull request as ready for review February 1, 2023 11:58
Copy link
Contributor

@lcnr lcnr left a comment

Choose a reason for hiding this comment

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

r=me after dealing with the comments

also, this now fixes #106567 i think edit: as you've said in the previous comment. please add that to the description

// of *every* relationship that arises here,
// but presently we do not.)
if r_a.is_free_or_static() && r_b.is_free() {
self.region_relation.add(r_a, r_b)
Copy link
Contributor

Choose a reason for hiding this comment

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

can you still make this an exhaustive match on r_a?

Comment on lines 92 to 98
match *r {
ty::ReVar(_) if self.resolve_to_universal => self
.infcx
.inner
.borrow_mut()
.unwrap_region_constraints()
.opportunistic_resolve_region(TypeFolder::tcx(self), r),
Copy link
Contributor

Choose a reason for hiding this comment

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

cna we always use opportunistic_resolve_region here?

@lcnr
Copy link
Contributor

lcnr commented Feb 15, 2023

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 15, 2023
@bors
Copy link
Contributor

bors commented Feb 16, 2023

☔ The latest upstream changes (presumably #108096) made this pull request unmergeable. Please resolve the merge conflicts.

@aliemjay
Copy link
Member Author

aliemjay commented Feb 16, 2023

blocked on #108121
@rustbot label -S-waiting-on-author S-Blocked

@rustbot
Copy link
Collaborator

rustbot commented Feb 16, 2023

Error: Label Swaiting-on-author can only be set by Rust team members

Please file an issue on GitHub at triagebot if there's a problem with this bot, or reach out on #t-infra on Zulip.

@rustbot rustbot added S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 16, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 8, 2023
always resolve to universal regions if possible

`RegionConstraintCollector::opportunistic_resolve_var`, which is used in canonicalization and projection logic, doesn't resolve the region var to an equal universal region. So if we have equated `'static == '1 == '2`, it doesn't resolve `'1` or `'2` to `'static`. Now it does!

Addresses review comment rust-lang#107376 (comment).

r? `@lcnr`
@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Mar 14, 2023
@bors
Copy link
Contributor

bors commented Mar 15, 2023

⌛ Testing commit 211fa45 with merge e84e5ff...

@bors
Copy link
Contributor

bors commented Mar 15, 2023

☀️ Test successful - checks-actions
Approved by: lcnr
Pushing e84e5ff to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 15, 2023
@bors bors merged commit e84e5ff into rust-lang:master Mar 15, 2023
@rustbot rustbot added this to the 1.70.0 milestone Mar 15, 2023
@aliemjay aliemjay deleted the remove-givens branch March 15, 2023 09:07
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (e84e5ff): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Warning ⚠: The following benchmark(s) failed to build:

  • webrender-2022

cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.6% [0.5%, 0.7%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.5%, -0.3%] 3
All ❌✅ (primary) 0.6% [0.5%, 0.7%] 3

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.6% [1.6%, 1.6%] 1
Improvements ✅
(primary)
-3.1% [-3.1%, -3.1%] 1
Improvements ✅
(secondary)
-3.4% [-3.8%, -3.1%] 2
All ❌✅ (primary) -3.1% [-3.1%, -3.1%] 1

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.1% [-4.7%, -3.5%] 4
All ❌✅ (primary) - - 0

@rustbot rustbot added the perf-regression Performance regression. label Mar 15, 2023
@@ -52,6 +53,10 @@ impl<'a, 'tcx: 'a> InferCtxtExt<'a, 'tcx> for InferCtxt<'tcx> {
body_id: LocalDefId,
ty: Ty<'tcx>,
) -> Vec<OutlivesBound<'tcx>> {
let ty = self.resolve_vars_if_possible(ty);
let ty = OpportunisticRegionResolver::new(self).fold_ty(ty);
Copy link
Contributor

Choose a reason for hiding this comment

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

is it still needed to fold twice here?

@Kobzol
Copy link
Contributor

Kobzol commented Mar 15, 2023

This PR broke compilation of webrender-2022 in the perf. suite.
I got this stacktrace out of it:

error: internal compiler error: /rustc/e84e5ff04a647ce28540300244a26ba120642eea/compiler/rustc_infer/src/infer/outlives/env.rs:145:26: add_outlives_bounds: unexpected regions

thread 'rustc' panicked at 'Box<dyn Any>', /rustc/e84e5ff04a647ce28540300244a26ba120642eea/compiler/rustc_errors/src/lib.rs:1644:9
stack backtrace:
   0:     0x7f5269f4151a - std::backtrace_rs::backtrace::libunwind::trace::hab17a96bd248950c
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f5269f4151a - std::backtrace_rs::backtrace::trace_unsynchronized::h2dd96cad48ba21dc
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f5269f4151a - std::sys_common::backtrace::_print_fmt::h38b10a2f9d2b2585
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f5269f4151a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h194193fb0b01617d
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f5269fa4c5e - core::fmt::write::hd9150a25fdbebf32
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/core/src/fmt/mod.rs:1232:17
   5:     0x7f5269f34275 - std::io::Write::write_fmt::h3837df0e41e13e0e
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/io/mod.rs:1684:15
   6:     0x7f5269f412e5 - std::sys_common::backtrace::_print::h8a5cae525f1be897
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7f5269f412e5 - std::sys_common::backtrace::print::h49b97caefe2bba8a
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7f5269f4405f - std::panicking::default_hook::{{closure}}::h2a3da047f4b2da03
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/panicking.rs:271:22
   9:     0x7f5269f43d9b - std::panicking::default_hook::hc971a327b2a9d145
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/panicking.rs:290:9
  10:     0x7f526d244045 - rustc_driver_impl[6fa38601416e453]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7f5269f4489d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8520e136aebea51a
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/alloc/src/boxed.rs:2002:9
  12:     0x7f5269f4489d - std::panicking::rust_panic_with_hook::h93b4e29d3ec3eadc
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/panicking.rs:696:13
    Checking webrender_api v0.61.0 (/tmp/.tmp2jNQeL/webrender_api)
  13:     0x7f526d7a27a1 - std[45927792e1219606]::panicking::begin_panic::<rustc_errors[d7b71bcef7ff042a]::ExplicitBug>::{closure#0}
  14:     0x7f526d79dc46 - std[45927792e1219606]::sys_common::backtrace::__rust_end_short_backtrace::<std[45927792e1219606]::panicking::begin_panic<rustc_errors[d7b71bcef7ff042a]::ExplicitBug>::{closure#0}, !>
  15:     0x7f526d744536 - std[45927792e1219606]::panicking::begin_panic::<rustc_errors[d7b71bcef7ff042a]::ExplicitBug>
  16:     0x7f526d7eeea6 - std[45927792e1219606]::panic::panic_any::<rustc_errors[d7b71bcef7ff042a]::ExplicitBug>
  17:     0x7f526d7eb726 - <rustc_errors[d7b71bcef7ff042a]::HandlerInner>::bug::<&alloc[f3ac33a76f945683]::string::String>
  18:     0x7f526d7eb3f0 - <rustc_errors[d7b71bcef7ff042a]::Handler>::bug::<&alloc[f3ac33a76f945683]::string::String>
  19:     0x7f526d7d77fb - rustc_middle[7f2c9dc76d3467a6]::util::bug::opt_span_bug_fmt::<rustc_span[a2f01ea7f179d208]::span_encoding::Span>::{closure#0}
  20:     0x7f526d7d625a - rustc_middle[7f2c9dc76d3467a6]::ty::context::tls::with_opt::<rustc_middle[7f2c9dc76d3467a6]::util::bug::opt_span_bug_fmt<rustc_span[a2f01ea7f179d208]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  21:     0x7f526d7d6226 - rustc_middle[7f2c9dc76d3467a6]::ty::context::tls::with_context_opt::<rustc_middle[7f2c9dc76d3467a6]::ty::context::tls::with_opt<rustc_middle[7f2c9dc76d3467a6]::util::bug::opt_span_bug_fmt<rustc_span[a2f01ea7f179d208]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  22:     0x7f526d7d7746 - rustc_middle[7f2c9dc76d3467a6]::util::bug::opt_span_bug_fmt::<rustc_span[a2f01ea7f179d208]::span_encoding::Span>
  23:     0x7f526b9389f3 - rustc_middle[7f2c9dc76d3467a6]::util::bug::bug_fmt
  24:     0x7f526c14d855 - <rustc_infer[219913fda715446f]::infer::outlives::env::OutlivesEnvironment>::with_bounds::<core[33bcc9bae161e6d]::iter::adapters::flatten::Flatten<core[33bcc9bae161e6d]::iter::adapters::map::Map<indexmap[52bde976a34d3203]::set::IntoIter<rustc_middle[7f2c9dc76d3467a6]::ty::Ty>, <rustc_infer[219913fda715446f]::infer::InferCtxt as rustc_trait_selection[a330fa3a60fd254]::traits::outlives_bounds::InferCtxtExt>::implied_bounds_tys::{closure#0}>>>
  25:     0x7f526b3050e0 - rustc_hir_analysis[afd80bd0636fe849]::check::compare_impl_item::compare_method_predicate_entailment
  26:     0x7f526b2ff061 - rustc_hir_analysis[afd80bd0636fe849]::check::compare_impl_item::compare_impl_method
  27:     0x7f526b2f1a67 - rustc_hir_analysis[afd80bd0636fe849]::check::check::check_mod_item_types
  28:     0x7f526c88023e - rustc_query_system[c5524b2d21c39947]::query::plumbing::try_execute_query::<rustc_query_impl[79380581a3052c55]::queries::check_mod_item_types, rustc_query_impl[79380581a3052c55]::plumbing::QueryCtxt>
  29:     0x7f526c87fdc3 - <rustc_query_impl[79380581a3052c55]::Queries as rustc_middle[7f2c9dc76d3467a6]::ty::query::QueryEngine>::check_mod_item_types
  30:     0x7f526b5dacb4 - <rustc_session[63828082f6106403]::session::Session>::time::<(), rustc_hir_analysis[afd80bd0636fe849]::check_crate::{closure#6}>
  31:     0x7f526b5d7bf8 - rustc_hir_analysis[afd80bd0636fe849]::check_crate
  32:     0x7f526b5cf942 - rustc_interface[920696c1fd270c1b]::passes::analysis
  33:     0x7f526ca5cbec - rustc_query_system[c5524b2d21c39947]::query::plumbing::try_execute_query::<rustc_query_impl[79380581a3052c55]::queries::analysis, rustc_query_impl[79380581a3052c55]::plumbing::QueryCtxt>
  34:     0x7f526ca5c8e0 - <rustc_query_impl[79380581a3052c55]::Queries as rustc_middle[7f2c9dc76d3467a6]::ty::query::QueryEngine>::analysis
  35:     0x7f526c883a19 - <rustc_middle[7f2c9dc76d3467a6]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[6fa38601416e453]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>
  36:     0x7f526c44baf8 - rustc_span[a2f01ea7f179d208]::with_source_map::<core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>, rustc_interface[920696c1fd270c1b]::interface::run_compiler<core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>, rustc_driver_impl[6fa38601416e453]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  37:     0x7f526c442c5c - std[45927792e1219606]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[920696c1fd270c1b]::util::run_in_thread_pool_with_globals<rustc_interface[920696c1fd270c1b]::interface::run_compiler<core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>, rustc_driver_impl[6fa38601416e453]::run_compiler::{closure#1}>::{closure#0}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>
  38:     0x7f526c44268a - <<std[45927792e1219606]::thread::Builder>::spawn_unchecked_<rustc_interface[920696c1fd270c1b]::util::run_in_thread_pool_with_globals<rustc_interface[920696c1fd270c1b]::interface::run_compiler<core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>, rustc_driver_impl[6fa38601416e453]::run_compiler::{closure#1}>::{closure#0}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>::{closure#1} as core[33bcc9bae161e6d]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  39:     0x7f5269f4e793 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h81703dda3203ac5a
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/alloc/src/boxed.rs:1988:9
  40:     0x7f5269f4e793 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30492a21713d5868
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/alloc/src/boxed.rs:1988:9
  41:     0x7f5269f4e793 - std::sys::unix::thread::Thread::new::thread_start::h834788d019271333
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys/unix/thread.rs:108:17
"/home/kobzol/.rustup/toolchains/e84e5ff04a647ce28540300244a26ba120642eea/bin/rustc" ["--crate-name", "webrender_api", "--edition=2018", "webrender_api/src/lib.rs", "--error-format=json", "--json=diagnostic-rendered-ansi,artifacts,future-incompat", "--crate-type", "lib", "--emit=dep-info,metadata", "-C", "panic=abort", "-C", "embed-bitcode=no", "-C", "debuginfo=2", "-C", "metadata=a06d87f097185725", "-C", "extra-filename=-a06d87f097185725", "--out-dir", "/tmp/.tmp2jNQeL/target/debug/deps", "-L", "dependency=/tmp/.tmp2jNQeL/target/debug/deps", "--extern", "app_units=/tmp/.tmp2jNQeL/target/debug/deps/libapp_units-e681452e9dd8cc1f.rmeta", "--extern", "bitflags=/tmp/.tmp2jNQeL/target/debug/deps/libbitflags-0c06b3de9eeaffca.rmeta", "--extern", "byteorder=/tmp/.tmp2jNQeL/target/debug/deps/libbyteorder-b12ea949ed394b3d.rmeta", "--extern", "crossbeam_channel=/tmp/.tmp2jNQeL/target/debug/deps/libcrossbeam_channel-5cb9c8316425f592.rmeta", "--extern", "derive_more=/tmp/.tmp2jNQeL/target/debug/deps/libderive_more-46e888cbbc3b0572.so", "--extern", "euclid=/tmp/.tmp2jNQeL/target/debug/deps/libeuclid-3dade91424e2ce9f.rmeta", "--extern", "malloc_size_of_derive=/tmp/.tmp2jNQeL/target/debug/deps/libmalloc_size_of_derive-21d38c919dfc4e5a.so", "--extern", "peek_poke=/tmp/.tmp2jNQeL/target/debug/deps/libpeek_poke-e342700e96f26c4f.rmeta", "--extern", "serde=/tmp/.tmp2jNQeL/target/debug/deps/libserde-f35afb1b090c7b1f.rmeta", "--extern", "serde_bytes=/tmp/.tmp2jNQeL/target/debug/deps/libserde_bytes-5ab9bd8ae188611f.rmeta", "--extern", "serde_derive=/tmp/.tmp2jNQeL/target/debug/deps/libserde_derive-f27ea7983d9d2a1c.so", "--extern", "time=/tmp/.tmp2jNQeL/target/debug/deps/libtime-2cd048cec9905c10.rmeta", "--extern", "malloc_size_of=/tmp/.tmp2jNQeL/target/debug/deps/libwr_malloc_size_of-c8cdd12f12e44948.rmeta", "-Adeprecated", "-Aunknown-lints", "-Zincremental-verify-ich"]
exiting -- non-wrapped rustc
  42:     0x7f5269c75b43 - start_thread
                               at ./nptl/./nptl/pthread_create.c:442:8
  43:     0x7f5269d07a00 - clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  44:                0x0 - <unknown>

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.70.0-nightly (e84e5ff04 2023-03-15) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C panic=abort -C embed-bitcode=no -C debuginfo=2 -Z incremental-verify-ich

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [check_mod_item_types] checking item types in module `de`
#1 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `bincode` (lib)

@lcnr
Copy link
Contributor

lcnr commented Mar 15, 2023

@aliemjay can you look into that breakage and whether that's something we can quickly fix? otherwise we should probably revert this 🤔

lqd added a commit to lqd/rust that referenced this pull request Mar 15, 2023
@lqd
Copy link
Member

lqd commented Mar 15, 2023

I've prepared a draft revert just in case in #109183, and the bincode ICE in the webrender benchmark looks like this:

pub trait MapAccess {
    type Error;
    fn next_key_seed(&mut self) -> Option<Self::Error>;
}

struct Access<'a> {
    _marker: std::marker::PhantomData<&'a ()>,
}

impl<'a, 'b: 'a> MapAccess for Access<'a> {
    type Error = ();
    fn next_key_seed(&mut self) -> Option<Self::Error> {
        unimplemented!()
    }
}

Feel free to close the revert PR if we can land the fix soon.

It may be a simple fix since the 'b: 'a in the header seems to be key to the ICE, but it'd probably be safer to just revert and run this PR on crater anyways ?


update: the revert is now in the bors queue.

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 15, 2023
Revert rust-lang#107376 to fix potential `bincode` breakage and `rustc-perf` benchmark.

rust-lang#107376 caused `rustc-perf`'s `webrender` benchmark to break, by regressing on the `bincode-1.3.3` crate.

~~This PR is a draft revert in case we can't land a fix soon enough, and we'd like to land the revert instead~~

(Though I myself think it'd be safer to do the revert, and run crater when relanding rust-lang#107376.)

cc `@aliemjay`
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 16, 2023
Revert rust-lang#107376 to fix potential `bincode` breakage and `rustc-perf` benchmark.

rust-lang#107376 caused `rustc-perf`'s `webrender` benchmark to break, by regressing on the `bincode-1.3.3` crate.

~~This PR is a draft revert in case we can't land a fix soon enough, and we'd like to land the revert instead~~

(Though I myself think it'd be safer to do the revert, and run crater when relanding rust-lang#107376.)

cc `@aliemjay`
@pnkfelix
Copy link
Member

  • primary benchmark regressions were to bitmaps incr-full { check, debug, opt }
  • This was reverted in PR #109183; but the revert PR didn't register analogous reversal of the performance impact here.
  • The performance regression to bitmaps incr-full was swallowed by big gains registered by PR #109035
  • Marking as triaged.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Mar 21, 2023
Noratrieb added a commit to Noratrieb/rust that referenced this pull request Mar 28, 2023
remove obsolete `givens` from regionck

Revives rust-lang#107376. The only change is the last commit (rust-lang@2a3177a) which should fix the regression.

Fixes rust-lang#106567

r? `@lcnr`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

loss of implied bounds after normalization
9 participants