Santiago Pastorino
bf1ca2e4b0
Make local_def_id_to_hir_id query directly returh HirId
2022-01-29 08:40:23 -03:00
Santiago Pastorino
5a299a9903
Make local_def_id_to_hir_id return MaybeOwner<()>
2022-01-28 15:13:01 -03:00
Santiago Pastorino
d17eb78cf8
Separate hir_owner query into two queries to avoid using extensive data on incr comp most of the time
2022-01-28 14:58:27 -03:00
Camille GILLOT
a0bcce4884
Store def_id_to_hir_id as variant in hir_owner.
...
If hir_owner is Owner(_), the LocalDefId is pointing to an owner, so the ItemLocalId is 0.
If the HIR node does not exist, we store Phantom.
Otherwise, we store the HirId associated to the LocalDefId.
2022-01-27 10:46:40 -03:00
Camille GILLOT
80132c3ce4
Store hir_id_to_def_id in OwnerInfo.
2022-01-25 15:05:19 -03:00
Cameron Steffen
be6d6934b6
Fix Visitor::NestedFilter in Clippy
2022-01-16 16:02:36 -06:00
Cameron Steffen
45db716902
Replace NestedVisitorMap with NestedFilter
2022-01-16 16:02:36 -06:00
Camille GILLOT
d9c6e70c57
Do not ICE when accesing large LocalDefId.
2022-01-15 21:26:25 +01:00
Camille GILLOT
67727aa7c3
Reduce use of local_def_id_to_hir_id.
2022-01-15 21:26:25 +01:00
Camille GILLOT
ebcc847369
Make ty_param_owner return a LocalDefId.
2022-01-15 21:26:24 +01:00
Camille GILLOT
60064726ae
Return a LocalDefId in get_parent_item.
2022-01-15 21:26:20 +01:00
Camille GILLOT
5a123c265b
Add fast path to opt_local_def_id.
2022-01-15 21:17:34 +01:00
Vadim Petrochenkov
4b03fd910c
rustc_middle: Rename Export to ModChild and add some comments
...
Also rename `module_exports`/`export_map` to `module_reexports`/`reexport_map` for clarity.
2022-01-09 09:22:07 +08:00
Deadbeef
84b1d859c8
Revert "Auto merge of #91491 - spastorino:revert-91354, r=oli-obk"
...
This reverts commit ff2439b7b9bafcfdff86b7847128014699df8442, reversing
changes made to 2a9e0831d6603d87220cedd1b1293e2eb82ef55c.
2021-12-12 12:34:46 +08:00
Santiago Pastorino
85b723c4e6
Revert "Auto merge of #91354 - fee1-dead:const_env, r=spastorino"
...
This reverts commit 18bb8c61a975fff6424cda831ace5b0404277145, reversing
changes made to d9baa361902b172be716f96619b909f340802dea.
2021-12-03 10:11:21 -03:00
bors
18bb8c61a9
Auto merge of #91354 - fee1-dead:const_env, r=spastorino
...
Cleanup: Eliminate ConstnessAnd
This is almost a behaviour-free change and purely a refactoring. "almost" because we appear to be using the wrong ParamEnv somewhere already, and this is now exposed by failing a test using the unstable `~const` feature.
We most definitely need to review all `without_const` and at some point should probably get rid of many of them by using `TraitPredicate` instead of `TraitRef`.
This is a continuation of https://github.com/rust-lang/rust/pull/90274 .
r? `@oli-obk`
cc `@spastorino` `@ecstatic-morse`
2021-12-02 11:48:58 +00:00
Oli Scherer
e37947f097
Re-use constness_for_typeck instead of rolling it ourselves
2021-11-29 21:19:46 +08:00
Oli Scherer
721ffd14c3
Add constness to ParamEnv
...
This now causes a lot of queries to be executed twice, as reveal_all forces NotConst
2021-11-29 21:19:46 +08:00
Camille GILLOT
5fb4648757
Take a LocalDefId in expect_*item.
2021-11-28 21:09:45 +01:00
Gary Guo
02c1774cd3
Give inline const separate DefKind
2021-11-07 03:59:06 +00:00
Camille GILLOT
6f6fa8b954
Use SortedMap in HIR.
2021-10-21 23:08:57 +02:00
Camille GILLOT
6e98688e68
Replace FnLikeNode by FnKind.
2021-10-19 23:31:51 +02:00
Camille GILLOT
05eb6f36f1
Cleanup dead code in hir::map::blocks.
2021-10-19 23:10:09 +02:00
bors
bd41e09da3
Auto merge of #89124 - cjgillot:owner-info, r=michaelwoerister
...
Index and hash HIR as part of lowering
Part of https://github.com/rust-lang/rust/pull/88186
~Based on https://github.com/rust-lang/rust/pull/88880 (see merge commit).~
Once HIR is lowered, it is later indexed by the `index_hir` query and hashed for `crate_hash`. This PR moves those post-processing steps to lowering itself. As a side objective, the HIR crate data structure is refactored as an `IndexVec<LocalDefId, Option<OwnerInfo<'hir>>>` where `OwnerInfo` stores all the relevant information for an HIR owner.
r? `@michaelwoerister`
cc `@petrochenkov`
2021-10-18 19:53:05 +00:00
Vadim Petrochenkov
a6808335d4
rustc_span: Ident::invalid -> Ident::empty
...
The equivalent for `Symbol`s was renamed some time ago (`kw::Invalid` -> `kw::Empty`), and it makes sense to do the same thing for `Ident`s.
2021-10-17 23:20:30 +03:00
Camille GILLOT
7a209bb7a5
Justify untracked access.
2021-10-12 20:53:29 +02:00
Camille GILLOT
12b39e5912
Make naming more explicit.
2021-10-11 22:36:37 +02:00
Camille GILLOT
0431fdb113
Compute full HIR hash during lowering.
2021-10-10 00:05:49 +02:00
Camille GILLOT
41e80b85cf
Directly use AttributeMap inside OwnerInfo.
2021-10-10 00:05:35 +02:00
Camille GILLOT
1c7f85f17c
Perform indexing during lowering.
...
Do not access DefId<->HirId maps before they are initialized.
2021-10-09 23:47:59 +02:00
Camille GILLOT
c09eaea484
Make index_hir incremental.
2021-10-09 23:14:59 +02:00
Camille GILLOT
ed3c8e86cb
Hash during lowering.
2021-10-09 19:44:55 +02:00
Camille GILLOT
457de08487
Forbid hashing HIR outside of indexing.
2021-10-09 18:38:28 +02:00
Camille GILLOT
cd1ace488f
Use an IndexVec for bodies.
2021-10-09 14:01:09 +02:00
Camille GILLOT
48a339ddbb
Store lowering outputs per owner.
2021-10-09 11:56:29 +02:00
Camille GILLOT
54c3299b3a
Remove eval_always for HIR queries.
...
They depend on `hir_crate` and `index_hir`.
2021-10-07 23:12:28 +02:00
Camille GILLOT
02025d86ac
Remove re-export.
2021-10-03 16:08:54 +02:00
Camille Gillot
77c300285c
Apply suggestions from code review
...
Co-authored-by: Oli Scherer <github35764891676564198441@oli-obk.de>
2021-09-30 17:40:17 +02:00
Camille GILLOT
faa7d4221b
Do not pass hir::Crate to lints.
2021-09-30 17:39:54 +02:00
Camille GILLOT
abc57f63ad
Move body_owners to tcx.hir().
2021-09-29 23:16:48 +02:00
Camille GILLOT
db9fea508a
Avoid more invocations of hir_crate query.
2021-09-29 23:16:47 +02:00
the8472
9f50c87267
Rollup merge of #89078 - camsteffen:map-ref, r=cjgillot
...
Cleanup: Remove needless reference in ParentHirIterator
It forces an intermediate binding of `Map` which is a Copy type.
2021-09-21 22:54:00 +02:00
Camille GILLOT
d7795d302a
Do not store visibility in *ItemRef.
2021-09-20 00:29:53 +02:00
bors
7b5f95270f
Auto merge of #88703 - cjgillot:lazymod, r=petrochenkov
...
Gather module items after lowering.
This avoids having a non-local analysis inside lowering.
By implementing `hir_module_items` using a visitor, we make sure that iterations and visitors are consistent.
2021-09-19 16:13:42 +00:00
Cameron Steffen
7c8f4f7eab
Remove needless hir Map ref
2021-09-18 15:55:34 -05:00
Camille GILLOT
d60bbde7e2
Do not preallocate UseTree HirIds.
2021-09-18 14:41:50 +02:00
Camille GILLOT
91575f89cc
Use non-recursive algorithm in non-parallel compiler.
2021-09-12 16:33:18 +02:00
Camille GILLOT
6bbb0792ea
Use boxed slice instead of BTreeSet.
2021-09-12 16:33:17 +02:00
Camille GILLOT
fa6f5adf73
Gather module items after lowering.
2021-09-12 16:33:16 +02:00
Manish Goregaokar
bb5ca58d29
Rollup merge of #88677 - petrochenkov:exportid, r=davidtwco
...
rustc: Remove local variable IDs from `Export`s
Local variables can never be exported.
2021-09-12 03:44:53 -07:00