Auto merge of #120931 - chenyukang:yukang-cleanup-hashmap, r=michaelwoerister
Clean up potential_query_instability with FxIndexMap and UnordMap From https://github.com/rust-lang/rust/pull/120485#issuecomment-1916437191 r? `@michaelwoerister`
This commit is contained in:
commit
fa9f77ff35
30 changed files with 122 additions and 139 deletions
|
@ -21,6 +21,7 @@ use rustc_middle::dep_graph::WorkProduct;
|
|||
use rustc_middle::middle::exported_symbols::{SymbolExportInfo, SymbolExportLevel};
|
||||
use rustc_session::config::{self, CrateType, Lto};
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
use std::ffi::{CStr, CString};
|
||||
use std::fs::File;
|
||||
use std::io;
|
||||
|
@ -787,7 +788,7 @@ pub unsafe fn optimize_thin_module(
|
|||
#[derive(Debug, Default)]
|
||||
pub struct ThinLTOKeysMap {
|
||||
// key = llvm name of importing module, value = LLVM cache key
|
||||
keys: FxHashMap<String, String>,
|
||||
keys: BTreeMap<String, String>,
|
||||
}
|
||||
|
||||
impl ThinLTOKeysMap {
|
||||
|
@ -797,7 +798,6 @@ impl ThinLTOKeysMap {
|
|||
let mut writer = io::BufWriter::new(file);
|
||||
// The entries are loaded back into a hash map in `load_from_file()`, so
|
||||
// the order in which we write them to file here does not matter.
|
||||
#[allow(rustc::potential_query_instability)]
|
||||
for (module, key) in &self.keys {
|
||||
writeln!(writer, "{module} {key}")?;
|
||||
}
|
||||
|
@ -806,7 +806,7 @@ impl ThinLTOKeysMap {
|
|||
|
||||
fn load_from_file(path: &Path) -> io::Result<Self> {
|
||||
use std::io::BufRead;
|
||||
let mut keys = FxHashMap::default();
|
||||
let mut keys = BTreeMap::default();
|
||||
let file = File::open(path)?;
|
||||
for line in io::BufReader::new(file).lines() {
|
||||
let line = line?;
|
||||
|
|
|
@ -403,7 +403,6 @@ fn codegenned_and_inlined_items(tcx: TyCtxt<'_>) -> DefIdSet {
|
|||
let mut result = items.clone();
|
||||
|
||||
for cgu in cgus {
|
||||
#[allow(rustc::potential_query_instability)]
|
||||
for item in cgu.items().keys() {
|
||||
if let mir::mono::MonoItem::Fn(ref instance) = item {
|
||||
let did = instance.def_id();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue