Uh oh!
There was an error while loading. Please reload this page.
Remove _all_ codegen dependencies on rustc_mir 🎉 - #61062
Conversation
rust-highfive
commented
May 23, 2019
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 |
mark-i-m
commented
May 23, 2019
All tests passing locally now :) |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
cc @oli-obk Surely this could be somewhere that miri would also benefit from?
There was a problem hiding this comment.
since librustc_monomorphize is a dependency of librustc_mir, that should be easy enough
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
eddyb
commented
May 23, 2019
Looks like the non-reexport items are mostly extension traits. We should figure out a way to break the dependency without necessarily moving the code out of |
mark-i-m
commented
May 23, 2019
@eddyb I think I addressed most of your review concerns.
I thought about this a bit. It might also be possible to move them to |
mark-i-m
commented
May 23, 2019
In fact, that may also enable moving parts of |
Uh oh!
There was an error while loading. Please reload this page.
eddyb
commented
May 23, 2019
@mark-i-m I quickly looked at it, and both |
mark-i-m
commented
May 23, 2019
@eddyb yes, but that trait uses this one. |
eddyb
commented
May 24, 2019
@mark-i-m Yes, but not in a way which needs |
mark-i-m
commented
May 24, 2019
@eddyb Done. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
eddyb
left a comment
There was a problem hiding this comment.
Since all the changes seemed to have been a success, can we keep monomorphize in rustc_mir now, and still get the benefits of codegen not depending on rustc_mir 😁?
mark-i-m
commented
May 24, 2019
@eddyb Yes, I will move monomorphize back to rustc_mir. However, there is still one there is still one dependency from |
mark-i-m
commented
May 24, 2019
|
eddyb
commented
May 24, 2019
r? @oli-obk for |
rustc_mirmark-i-m
commented
Jun 3, 2019
@eddyb Rebased and addressed nit. Unfortunately, someone added another dependency on rustc_mir in the meantime (on |
mark-i-m
commented
Jun 3, 2019
Also, I'm glad to address nits, but if we could do it in a followup PR, that would be great, as this rebase was painful... |
oli-obk
commented
Jun 3, 2019
@bors r=eddyb,oli-obk p=1
|
bors
commented
Jun 3, 2019
📌 Commit 0f822d7 has been approved by |
bors
commented
Jun 3, 2019
Remove _all_ codegen dependencies on `rustc_mir` 🎉 ~This code is pretty self-contained. It has no references to the rest of `rustc_mir`. Moving it to its own crate means that almost all of the references from `rustc_codegen_*` to `rustc_mir` are instead moved to `rustc_monomorphize`, which should help improve compile times for the compiler a bit...~ With the help of eddyb and oli-obk, all of the dependencies of `librustc_codegen_*` on `librustc_mir` have been removed: - dependencies on `rustc_mir::monomorphize` were moved to `rustc::mir::mono` - `rustc_mir::const_eval::const_field` is made into a query. - `rustc_mir::interpret::type_name` is made into a query. This should help reduce compile time when working on `rustc_mir` 🕐 cc #47849 r? @eddyb
bors
commented
Jun 3, 2019
☀️ Test successful - checks-travis, status-appveyor |
eddyb
commented
Jun 3, 2019
@oli-obk We should probably put miri intrinsics behind |
oli-obk
commented
Jun 3, 2019
so... const fns with zero arguments and constants become indistinguishable? |
This code is pretty self-contained. It has no references to the rest ofrustc_mir. Moving it to its own crate means that almost all of the references fromrustc_codegen_*torustc_mirare instead moved torustc_monomorphize, which should help improve compile times for the compiler a bit...With the help of eddyb and oli-obk, all of the dependencies of
librustc_codegen_*onlibrustc_mirhave been removed:rustc_mir::monomorphizewere moved torustc::mir::monorustc_mir::const_eval::const_fieldis made into a query.rustc_mir::interpret::type_nameis made into a query.This should help reduce compile time when working on
rustc_mir🕐cc #47849
r? @eddyb