Skip to content

Commit

Permalink
Rollup merge of rust-lang#93234 - mati865:mir-transform-use-itertools…
Browse files Browse the repository at this point in the history
…, r=jackh726

rustc_mir_itertools: Avoid needless `collect` with itertools

I don't think this should have measurable perf impact (at least not on perf.rlo benchmarks), it's mostly for readability.
  • Loading branch information
matthiaskrgr authored Jan 23, 2022
2 parents a1645e5 + bc8cef1 commit eea833f
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 22 deletions.
5 changes: 1 addition & 4 deletions compiler/rustc_mir_transform/src/coverage/debug.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@
use super::graph::{BasicCoverageBlock, BasicCoverageBlockData, CoverageGraph};
use super::spans::CoverageSpan;

use itertools::Itertools;
use rustc_middle::mir::create_dump_file;
use rustc_middle::mir::generic_graphviz::GraphvizWriter;
use rustc_middle::mir::spanview::{self, SpanViewable};
Expand Down Expand Up @@ -739,7 +740,6 @@ pub(super) fn dump_coverage_graphviz<'tcx>(
)
}
})
.collect::<Vec<_>>()
.join("\n ")
));
}
Expand Down Expand Up @@ -768,7 +768,6 @@ fn bcb_to_string_sections<'tcx>(
.map(|expression| {
format!("Intermediate {}", debug_counters.format_counter(expression))
})
.collect::<Vec<_>>()
.join("\n"),
);
}
Expand All @@ -783,7 +782,6 @@ fn bcb_to_string_sections<'tcx>(
covspan.format(tcx, mir_body)
)
})
.collect::<Vec<_>>()
.join("\n"),
);
}
Expand All @@ -793,7 +791,6 @@ fn bcb_to_string_sections<'tcx>(
dependency_counters
.iter()
.map(|counter| debug_counters.format_counter(counter))
.collect::<Vec<_>>()
.join(" \n"),
));
}
Expand Down
10 changes: 2 additions & 8 deletions compiler/rustc_mir_transform/src/coverage/graph.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use super::Error;

use itertools::Itertools;
use rustc_data_structures::fx::FxHashMap;
use rustc_data_structures::graph::dominators::{self, Dominators};
use rustc_data_structures::graph::{self, GraphSuccessors, WithNumNodes, WithStartNode};
Expand Down Expand Up @@ -422,14 +423,7 @@ impl BasicCoverageBlockData {
}

pub fn id(&self) -> String {
format!(
"@{}",
self.basic_blocks
.iter()
.map(|bb| bb.index().to_string())
.collect::<Vec<_>>()
.join(ID_SEPARATOR)
)
format!("@{}", self.basic_blocks.iter().map(|bb| bb.index().to_string()).join(ID_SEPARATOR))
}
}

Expand Down
7 changes: 2 additions & 5 deletions compiler/rustc_mir_transform/src/coverage/spans.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use super::debug::term_type;
use super::graph::{BasicCoverageBlock, BasicCoverageBlockData, CoverageGraph, START_BCB};

use itertools::Itertools;
use rustc_data_structures::graph::WithNumNodes;
use rustc_middle::mir::spanview::source_range_no_file;
use rustc_middle::mir::{
Expand Down Expand Up @@ -169,11 +170,7 @@ impl CoverageSpan {
CoverageStatement::Statement(bb, _, index) => (bb, index),
CoverageStatement::Terminator(bb, _) => (bb, usize::MAX),
});
sorted_coverage_statements
.iter()
.map(|covstmt| covstmt.format(tcx, mir_body))
.collect::<Vec<_>>()
.join("\n")
sorted_coverage_statements.iter().map(|covstmt| covstmt.format(tcx, mir_body)).join("\n")
}

/// If the span is part of a macro, returns the macro name symbol.
Expand Down
5 changes: 1 addition & 4 deletions compiler/rustc_mir_transform/src/coverage/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ use super::spans;

use coverage_test_macros::let_bcb;

use itertools::Itertools;
use rustc_data_structures::graph::WithNumNodes;
use rustc_data_structures::graph::WithSuccessors;
use rustc_index::vec::{Idx, IndexVec};
Expand Down Expand Up @@ -232,11 +233,9 @@ fn print_mir_graphviz(name: &str, mir_body: &Body<'_>) {
mir_body
.successors(bb)
.map(|successor| { format!(" {:?} -> {:?};", bb, successor) })
.collect::<Vec<_>>()
.join("\n")
)
})
.collect::<Vec<_>>()
.join("\n")
);
}
Expand All @@ -262,11 +261,9 @@ fn print_coverage_graphviz(
basic_coverage_blocks
.successors(bcb)
.map(|successor| { format!(" {:?} -> {:?};", bcb, successor) })
.collect::<Vec<_>>()
.join("\n")
)
})
.collect::<Vec<_>>()
.join("\n")
);
}
Expand Down
3 changes: 2 additions & 1 deletion compiler/rustc_mir_transform/src/function_item_references.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use itertools::Itertools;
use rustc_errors::Applicability;
use rustc_hir::def_id::DefId;
use rustc_middle::mir::visit::Visitor;
Expand Down Expand Up @@ -197,7 +198,7 @@ impl<'tcx> FunctionItemRefChecker<'_, 'tcx> {
let ident = self.tcx.item_name(fn_id).to_ident_string();
let ty_params = fn_substs.types().map(|ty| format!("{}", ty));
let const_params = fn_substs.consts().map(|c| format!("{}", c));
let params = ty_params.chain(const_params).collect::<Vec<String>>().join(", ");
let params = ty_params.chain(const_params).join(", ");
let num_args = fn_sig.inputs().map_bound(|inputs| inputs.len()).skip_binder();
let variadic = if fn_sig.c_variadic() { ", ..." } else { "" };
let ret = if fn_sig.output().skip_binder().is_unit() { "" } else { " -> _" };
Expand Down

0 comments on commit eea833f

Please sign in to comment.