diff options
| author | bors <bors@rust-lang.org> | 2021-09-21 07:52:15 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-09-21 07:52:15 +0000 |
| commit | 49c0861ed0fa1d95186d88df0cd4310103e70957 (patch) | |
| tree | fb23da19572256bcb13815197398368a8b862baf /compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp | |
| parent | e7958d35ca2c898a223efe402481e0ecb854310a (diff) | |
| parent | 11024b26bfc0930548ee717fb6d743d80a8e56f2 (diff) | |
| download | rust-49c0861ed0fa1d95186d88df0cd4310103e70957.tar.gz rust-49c0861ed0fa1d95186d88df0cd4310103e70957.zip | |
Auto merge of #87234 - cjgillot:lower-mono, r=petrochenkov
Lower only one HIR owner at a time Based on https://github.com/rust-lang/rust/pull/83723 Additional diff is here: https://github.com/cjgillot/rust/compare/ownernode...lower-mono Lowering is very tangled and has a tendency to intertwine the transformation of different items. This PR aims at simplifying the logic by: - moving global analyses to the resolver (item_generics_num_lifetimes, proc_macros, trait_impls); - removing a few special cases (non-exported macros and use statements); - restricting the amount of available information at any one time; - avoiding back-and-forth between different owners: an item must now be lowered all at once, and its parent cannot refer to its nodes. I also removed the sorting of bodies by span. The diagnostic ordering changes marginally, since definitions are pretty much sorted already according to the AST. This uncovered a subtlety in thir-unsafeck. (While these items could logically be in different PRs, the dependency between commits and the amount of conflicts force a monolithic PR.)
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
