-
Notifications
You must be signed in to change notification settings - Fork 13k
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
avoid computing liveness when possible #53168
avoid computing liveness when possible #53168
Conversation
In particular, we skip computing liveness for a variable X if all the regions in its type are known to outlive free regions.
e114ee5
to
3b7989d
Compare
@bors try Local experiments suggest this will be a big perf win, just as before. The diagnostics do degrade, I think, slightly. I think we could probably fix that. |
⌛ Trying commit 3b7989d with merge aea424935d9666ab3a7efc69c7e88452e460479c... |
☀️ Test successful - status-travis |
@rust-timer build aea424935d9666ab3a7efc69c7e88452e460479c |
Success: Queued aea424935d9666ab3a7efc69c7e88452e460479c with parent ccb550f, comparison URL. |
Perf is ready. The numbers look pretty good. |
I think I will close this in favor of #53177, which builds on it but does more. |
…g-values, r=pnkfelix optimize redundant borrows and escaping paths in NLL This builds on #53168 and adds a commit that addresses #53176 -- or at least I think it does. I marked this as WIP because I want to see the test results (and measure the performance). I also want to double check we're not adding in any unsoundness here.
…g-values, r=pnkfelix optimize redundant borrows and escaping paths in NLL This builds on #53168 and adds a commit that addresses #53176 -- or at least I think it does. I marked this as WIP because I want to see the test results (and measure the performance). I also want to double check we're not adding in any unsoundness here.
Second stab at #52713. This version avoids computing liveness for variables whose types contain only regions that are known to extend free regions (for any reason, maybe not just because they are returned).
Fixes #52713
r? @pnkfelix
cc @lqd