-
Couldn't load subscription status.
- Fork 13.9k
Open
Labels
A-codegenArea: Code generationArea: Code generationC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.I-compiletimeIssue: Problems and improvements with respect to compile times.Issue: Problems and improvements with respect to compile times.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
We might be spending a non-trivial amount of time creating FnAbis and adjusting them, so we should investigate caching them, similar to how we cache LLVM Types we compute from Rust Tys.
After #65947, this is what's left:
FnAbi::of_instance: takesty::Instance, easy to cache- we should be able to make this a query, like
layout_ofis
- we should be able to make this a query, like
FnAbi::of_fn_ptr: takesty::PolyFnSig, might be more expensive- well,
inputs_and_outputsis compared/hashed by pointer nowadays, isn't it? - creating LLVM
Types forfnpointers is already cached itself, but calls offnpointers also requireFnAbis - this is likely used less than
FnAbi::of_instance, so it's lower priority
- well,
Metadata
Metadata
Assignees
Labels
A-codegenArea: Code generationArea: Code generationC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.I-compiletimeIssue: Problems and improvements with respect to compile times.Issue: Problems and improvements with respect to compile times.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.