Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upMake more passes incremental #51487
Conversation
rust-highfive
assigned
michaelwoerister
Jun 11, 2018
rust-highfive
added
the
S-waiting-on-review
label
Jun 11, 2018
This comment was marked as outdated.
This comment was marked as outdated.
|
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
This comment has been minimized.
This comment has been minimized.
|
Thanks, @Zoxc! I'll probably find some time to review this later this week. |
Zoxc
force-pushed the
Zoxc:incr-passes
branch
from
cb03d55
to
6293950
Jun 11, 2018
This comment was marked as outdated.
This comment was marked as outdated.
|
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
michaelwoerister
reviewed
Jun 15, 2018
| @@ -608,6 +609,80 @@ impl<'hir> Map<'hir> { | |||
| &self.forest.krate.attrs | |||
| } | |||
|
|
|||
| pub fn visit_module_item_likes<V>(&self, module: DefId, visitor: V) | |||
This comment has been minimized.
This comment has been minimized.
michaelwoerister
Jun 15, 2018
•
Contributor
You can call this just visit_module_items. "item-likes" is a term that includes hir::Item, hir::ImplItem, and hir::TraitItem, the last two of which are not top-level items.
This comment has been minimized.
This comment has been minimized.
|
|
pietroalbini
added
S-waiting-on-author
and removed
S-waiting-on-review
labels
Jun 25, 2018
This comment has been minimized.
This comment has been minimized.
|
Just to confirm, the new queries work at the module- instead of the item-level in order to make tracking less granular, right? Or is there another reason? |
michaelwoerister
reviewed
Jul 2, 2018
| let node_id = self.as_local_node_id(module).unwrap(); | ||
|
|
||
| // Read the module so we'll be re-executed if new items appear in the module | ||
| self.read(node_id); |
This comment has been minimized.
This comment has been minimized.
michaelwoerister
Jul 2, 2018
Contributor
This doesn't actually work as intended yet (see #40876). We should try and see if we can make this work properly.
This comment has been minimized.
This comment has been minimized.
Zoxc
Jul 2, 2018
Author
Contributor
I was thinking of adding a HIRModule dep-node. That would reduce the dep nodes used by the passes too.
This comment has been minimized.
This comment has been minimized.
michaelwoerister
Jul 2, 2018
Contributor
I was thinking of adding a HIRModule dep-node.
So that the hash of the HIRModule dep-node would be a combination of the hashes of the module's items?
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
michaelwoerister
Jul 2, 2018
Contributor
OK, maybe. I've just opened #51982 though, which should fix the problem. If that works out, we can use the existing solution in this PR.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Yeah, I want to avoid most the overhead of queries for these cheaper passes. |
This comment has been minimized.
This comment has been minimized.
|
OK, makes sense. We might want to apply this approach to other passes too. |
michaelwoerister
reviewed
Jul 2, 2018
| }; | ||
|
|
||
| // We can't krate() since that adds a dependency on the whole crate | ||
| self.forest.krate.visit_all_item_likes(&mut filter); |
This comment has been minimized.
This comment has been minimized.
michaelwoerister
Jul 2, 2018
Contributor
This seems a bit roundabout to me. It always visits all items in the entire crate and then filters out everything except the items in the given module, right? But we have the list of contained items right there in hir::Mod::item_ids.
This comment has been minimized.
This comment has been minimized.
|
Ping from triage @Zoxc! It's been a while since we heard from you, will you have time to work on this again? |
This comment has been minimized.
This comment has been minimized.
stokhos
commented
Jul 20, 2018
|
Ping from triage @Zoxc! It's been a while since we heard from you, any progress? |
TimNN
added
S-inactive-closed
and removed
S-waiting-on-author
labels
Jul 24, 2018
This comment has been minimized.
This comment has been minimized.
|
Ping from triage, @Zoxc: we haven't heard from you in a while, so we are closing this PR for now. Thanks for your contribution and please re-open this PR if you work on it again. |
TimNN
closed this
Jul 24, 2018
Zoxc
reopened this
Dec 30, 2018
Zoxc
force-pushed the
Zoxc:incr-passes
branch
from
6293950
to
aa3c7d7
Dec 30, 2018
This comment has been minimized.
This comment has been minimized.
|
@bors try |
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Dec 30, 2018
This comment has been minimized.
This comment has been minimized.
|
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
@rust-timer build 6c428b0 |
This comment has been minimized.
This comment has been minimized.
rust-timer
commented
Dec 30, 2018
|
Success: Queued 6c428b0 with parent 0e6f898, comparison URL. |
bors
added
S-waiting-on-bors
and removed
S-waiting-on-review
labels
Jan 12, 2019
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Jan 12, 2019
bors
referenced this pull request
Jan 12, 2019
Merged
Add lint for copyright headers to 'tidy' tool #57520
This comment has been minimized.
This comment has been minimized.
|
|
bors
added
S-waiting-on-review
and removed
S-waiting-on-bors
labels
Jan 13, 2019
This comment has been minimized.
This comment has been minimized.
|
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
This comment has been minimized.
This comment has been minimized.
|
Hm, Apple builders seem to not be happy but at a glance this doesn’t regress CI time comparing to other PRs. Let’s try one more time before summoning someone more knowledgeable from infra... @bors retry |
bors
added
S-waiting-on-bors
and removed
S-waiting-on-review
labels
Jan 13, 2019
Xanewok
referenced this pull request
Jan 13, 2019
Merged
Always calculate glob map but only for glob uses #57392
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Jan 13, 2019
This comment has been minimized.
This comment has been minimized.
|
|
bors
merged commit e69c2c7
into
rust-lang:master
Jan 13, 2019
1 check passed
bors
referenced this pull request
Jan 13, 2019
Merged
rustc: Remove platform intrinsics crate #57416
Zoxc
deleted the
Zoxc:incr-passes
branch
Jan 13, 2019
bors
referenced this pull request
Jan 13, 2019
Merged
Querify local `plugin_registrar_fn` and `proc_macro_decls_static` #57570
bors
added a commit
that referenced
this pull request
Jan 14, 2019
This comment has been minimized.
This comment has been minimized.
|
woah, this is a noticeable hit. |
Zoxc commentedJun 11, 2018
r? @michaelwoerister