-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
feed def_span
in resolver
#118633
feed def_span
in resolver
#118633
Conversation
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
feed `def_span` in resolver Fixes rust-lang#118552 This PR removes `provider.def_span` and instead introduces it during the definition collection process r? `@cjgillot`
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (167da5e): comparison URL. Overall result: ❌✅ regressions and improvements - ACTION NEEDEDBenchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis 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.
CyclesResultsThis 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.
Binary sizeResultsThis 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.
Bootstrap: 675.321s -> 675.595s (0.04%) |
I think this needs #115613 in order to not be a perf regression in some incremental cases |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this needs #115613 in order to not be a perf regression in some incremental cases
On the contrary, I think this is due to spans not being marked relative, as lowering does it.
9376503
to
7a8e550
Compare
This comment has been minimized.
This comment has been minimized.
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
feed `def_span` in resolver Fixes rust-lang#118552 This PR removes `provider.def_span` and instead introduces it during the definition collection process r? `@cjgillot`
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (e344b7c): comparison URL. Overall result: ❌✅ regressions and improvements - ACTION NEEDEDBenchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis 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.
CyclesResultsThis 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.
Binary sizeResultsThis 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.
Bootstrap: 675.831s -> 672.572s (-0.48%) |
Why on earth does it affect |
6043a9f
to
12376e0
Compare
path.span.find_ancestor_in_same_ctxt(item.span).unwrap_or(item.span) | ||
} | ||
_ => named_span(item.span, item.ident, item.kind.generics()), | ||
}, | ||
Node::Variant(variant) => named_span(variant.span, variant.ident, None), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only the parent of the constructor can enter Node::Variant(_) => xxxx
@@ -1227,16 +1228,19 @@ impl<'tcx> Resolver<'_, 'tcx> { | |||
// FIXME: remove `def_span` body, pass in the right spans here and call `tcx.at().create_def()` | |||
let def_id = self.tcx.create_def(parent, name, def_kind); | |||
|
|||
// Create the definition. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't actually deleted; rather, it's marked as removed in git and is consequently moved below (This is a result of moving self.tcx.untracked().source_span.push(span);
a few lines ahead)
☔ The latest upstream changes (presumably #118947) made this pull request unmergeable. Please resolve the merge conflicts. |
@bvanjoi : probably still needs perf triaging. thanks! @rustbot author |
@bvanjoi any updates on this? thanks |
This PR was intended to feed the span during resolution, but it unexpectedly caused a performance regression in @cjgillot Do you have any thoughts or suggestions regarding this? If not, I may consider closing it... (Perhaps we could rerun this performance test, as I have addressed the previous comments?) |
thanks let's give it a try @bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message
|
gah.. @bvanjoi you would need to resolve the conflicts so we can run another perf run |
Ping from triage: I'm closing this due to inactivity, Please reopen when you are ready to continue with this. @rustbot label: +S-inactive |
Fixes #118552
This PR removes
provider.def_span
and instead introduces it during the definition collection processr? @cjgillot