Currently it is called twice, once with `allow_unstable` set to true and once with it set to false. This results in some duplicated work. Most notably, for the LLVM backend, `LLVMRustHasFeature` is called twice for every feature, and it's moderately slow. For very short running compilations on platforms with many features (e.g. a `check` build of hello-world on x86) this is a significant fraction of runtime. This commit changes `target_features_cfg` so it is only called once, and it now returns a pair of feature sets. This halves the number of `LLVMRustHasFeature` calls. |
||
|---|---|---|
| .. | ||
| callbacks.rs | ||
| errors.rs | ||
| interface.rs | ||
| lib.rs | ||
| limits.rs | ||
| passes.rs | ||
| proc_macro_decls.rs | ||
| queries.rs | ||
| tests.rs | ||
| util.rs | ||