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

incr.comp.: Enable query result caching for many more queries #46556

Merged
merged 5 commits into from Dec 8, 2017

Conversation

Projects
None yet
4 participants
@michaelwoerister
Copy link
Contributor

michaelwoerister commented Dec 7, 2017

Newly cached queries are:

  • const_is_rvalue_promotable_to_static
  • trans_fulfill_obligation
  • optimized_mir
  • unsafety_check_result
  • borrowck
  • mir_borrowck
  • mir_const_qualif
  • contains_extern_indicator
  • def_symbol_name
  • symbol_name

This also includes the stricter Span hashing first mentioned in #46490, which will lead to more false positives in release builds but overall is more correct -- and necessary for caching MIR. Hopefully we will soon be able to reduce the rate of false positives again by factoring Span out of MIR.

r? @nikomatsakis

@nikomatsakis

This comment has been minimized.

Copy link
Contributor

nikomatsakis commented Dec 7, 2017

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 7, 2017

📌 Commit a16f296 has been approved by nikomatsakis

@nikomatsakis

This comment has been minimized.

Copy link
Contributor

nikomatsakis commented Dec 7, 2017

@bors p=1 -- incremental is high priority

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 8, 2017

⌛️ Testing commit a16f296 with merge 24ee46a...

bors added a commit that referenced this pull request Dec 8, 2017

Auto merge of #46556 - michaelwoerister:enable-query-caching, r=nikom…
…atsakis

incr.comp.: Enable query result caching for many more queries

Newly cached queries are:
* const_is_rvalue_promotable_to_static
* trans_fulfill_obligation
* optimized_mir
* unsafety_check_result
* borrowck
* mir_borrowck
* mir_const_qualif
* contains_extern_indicator
* def_symbol_name
* symbol_name

This also includes the stricter `Span` hashing first mentioned in #46490, which will lead to more false positives in release builds but overall is more correct -- and necessary for caching MIR. Hopefully we will soon be able to reduce the rate of false positives again by factoring `Span` out of MIR.

r? @nikomatsakis
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 8, 2017

💔 Test failed - status-travis

@kennytm

This comment has been minimized.

Copy link
Member

kennytm commented Dec 8, 2017

Legit.

[00:07:50] error[E0277]: the trait bound `core::option::Option<mir::ClosureRegionRequirements>: serialize::Decodable` is not satisfied
[00:07:50]    --> /checkout/src/librustc/ty/maps/config.rs:634:48
[00:07:50]     |
[00:07:50] 634 |                 tcx.on_disk_query_result_cache.try_load_query_result(tcx, id)
[00:07:50]     |                                                ^^^^^^^^^^^^^^^^^^^^^ the trait `serialize::Decodable` is not implemented for `core::option::Option<mir::ClosureRegionRequirements>`
[00:07:50] ...
[00:07:50] 642 | impl_disk_cacheable_query!(mir_borrowck, |def_id| def_id.is_local());
[00:07:50]     | --------------------------------------------------------------------- in this macro invocation
[00:07:50]     |
[00:07:50]     = help: the following implementations were found:
[00:07:50]               <core::option::Option<T> as serialize::Decodable>
[00:07:50] 
[00:07:50] error[E0277]: the trait bound `core::option::Option<mir::ClosureRegionRequirements>: serialize::Encodable` is not satisfied
[00:07:50]    --> /checkout/src/librustc/ty/maps/on_disk_cache.rs:213:13
[00:07:50]     |
[00:07:50] 213 |             encode_query_results::<mir_borrowck, _>(tcx, enc, qri)?;
[00:07:50]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serialize::Encodable` is not implemented for `core::option::Option<mir::ClosureRegionRequirements>`
[00:07:50]     |
[00:07:50]     = help: the following implementations were found:
[00:07:50]               <core::option::Option<T> as serialize::Encodable>
[00:07:50]     = note: required by `ty::maps::on_disk_cache::encode_query_results`
[00:07:50] 
[00:07:52] error: aborting due to 2 previous errors
[00:07:52] 
[00:07:52] error: Could not compile `rustc`.
[00:07:52] 

@michaelwoerister michaelwoerister force-pushed the michaelwoerister:enable-query-caching branch from a16f296 to 539e171 Dec 8, 2017

@michaelwoerister

This comment has been minimized.

Copy link
Contributor Author

michaelwoerister commented Dec 8, 2017

Rebased.

@bors r=nmatsakis

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 8, 2017

📌 Commit 539e171 has been approved by nmatsakis

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 8, 2017

⌛️ Testing commit 539e171 with merge 88fc3bc...

bors added a commit that referenced this pull request Dec 8, 2017

Auto merge of #46556 - michaelwoerister:enable-query-caching, r=nmats…
…akis

incr.comp.: Enable query result caching for many more queries

Newly cached queries are:
* const_is_rvalue_promotable_to_static
* trans_fulfill_obligation
* optimized_mir
* unsafety_check_result
* borrowck
* mir_borrowck
* mir_const_qualif
* contains_extern_indicator
* def_symbol_name
* symbol_name

This also includes the stricter `Span` hashing first mentioned in #46490, which will lead to more false positives in release builds but overall is more correct -- and necessary for caching MIR. Hopefully we will soon be able to reduce the rate of false positives again by factoring `Span` out of MIR.

r? @nikomatsakis
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 8, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: nmatsakis
Pushing 88fc3bc to master...

@bors bors merged commit 539e171 into rust-lang:master Dec 8, 2017

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details

@bors bors referenced this pull request Dec 8, 2017

Merged

trait alias infrastructure #45047

7 of 10 tasks complete

@michaelwoerister michaelwoerister referenced this pull request Dec 14, 2017

Closed

Tracking issue for "Red/Green" Dependency Tracking #42293

17 of 17 tasks complete

@michaelwoerister michaelwoerister referenced this pull request Jan 22, 2018

Open

Tracking Issue for Incremental Compilation 2018 #47660

20 of 32 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.