Spelling - compiler
* account * achieved * advising * always * ambiguous * analysis * annotations * appropriate * build * candidates * cascading * category * character * clarification * compound * conceptually * constituent * consts * convenience * corresponds * debruijn * debug * debugable * debuggable * deterministic * discriminant * display * documentation * doesn't * ellipsis * erroneous * evaluability * evaluate * evaluation * explicitly * fallible * fulfill * getting * has * highlighting * illustrative * imported * incompatible * infringing * initialized * into * intrinsic * introduced * javascript * liveness * metadata * monomorphization * nonexistent * nontrivial * obligation * obligations * offset * opaque * opportunities * opt-in * outlive * overlapping * paragraph * parentheses * poisson * precisely * predecessors * predicates * preexisting * propagated * really * reentrant * referent * responsibility * rustonomicon * shortcircuit * simplifiable * simplifications * specify * stabilized * structurally * suggestibility * translatable * transmuting * two * unclosed * uninhabited * visibility * volatile * workaround Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
This commit is contained in:
parent
31656e7295
commit
e09d0d2a29
101 changed files with 159 additions and 159 deletions
|
@ -10,7 +10,7 @@ use rustc_middle::mir::patch::MirPatch;
|
|||
/// they are dropped from an aligned address.
|
||||
///
|
||||
/// For example, if we have something like
|
||||
/// ```ignore (ilustrative)
|
||||
/// ```ignore (illustrative)
|
||||
/// #[repr(packed)]
|
||||
/// struct Foo {
|
||||
/// dealign: u8,
|
||||
|
@ -25,7 +25,7 @@ use rustc_middle::mir::patch::MirPatch;
|
|||
/// its address is not aligned.
|
||||
///
|
||||
/// Instead, we move `foo.data` to a local and drop that:
|
||||
/// ```ignore (ilustrative)
|
||||
/// ```ignore (illustrative)
|
||||
/// storage.live(drop_temp)
|
||||
/// drop_temp = foo.data;
|
||||
/// drop(drop_temp) -> next
|
||||
|
|
|
@ -59,7 +59,7 @@ impl<'tcx> MirPass<'tcx> for AddRetag {
|
|||
let basic_blocks = body.basic_blocks.as_mut();
|
||||
let local_decls = &body.local_decls;
|
||||
let needs_retag = |place: &Place<'tcx>| {
|
||||
!place.has_deref() // we're not eally interested in stores to "outside" locations, they are hard to keep track of anyway
|
||||
!place.has_deref() // we're not really interested in stores to "outside" locations, they are hard to keep track of anyway
|
||||
&& may_contain_reference(place.ty(&*local_decls, tcx).ty, /*depth*/ 3, tcx)
|
||||
&& !local_decls[place.local].is_deref_temp()
|
||||
};
|
||||
|
|
|
@ -22,7 +22,7 @@ impl<'tcx> MirPass<'tcx> for ConstDebugInfo {
|
|||
fn run_pass(&self, _tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
|
||||
trace!("running ConstDebugInfo on {:?}", body.source);
|
||||
|
||||
for (local, constant) in find_optimization_oportunities(body) {
|
||||
for (local, constant) in find_optimization_opportunities(body) {
|
||||
for debuginfo in &mut body.var_debug_info {
|
||||
if let VarDebugInfoContents::Place(p) = debuginfo.value {
|
||||
if p.local == local && p.projection.is_empty() {
|
||||
|
@ -45,7 +45,7 @@ struct LocalUseVisitor {
|
|||
local_assignment_locations: IndexVec<Local, Option<Location>>,
|
||||
}
|
||||
|
||||
fn find_optimization_oportunities<'tcx>(body: &Body<'tcx>) -> Vec<(Local, Constant<'tcx>)> {
|
||||
fn find_optimization_opportunities<'tcx>(body: &Body<'tcx>) -> Vec<(Local, Constant<'tcx>)> {
|
||||
let mut visitor = LocalUseVisitor {
|
||||
local_mutating_uses: IndexVec::from_elem(0, &body.local_decls),
|
||||
local_assignment_locations: IndexVec::from_elem(None, &body.local_decls),
|
||||
|
|
|
@ -826,7 +826,7 @@ impl Visitor<'_> for CanConstProp {
|
|||
| NonMutatingUse(NonMutatingUseContext::AddressOf)
|
||||
| MutatingUse(MutatingUseContext::Borrow)
|
||||
| MutatingUse(MutatingUseContext::AddressOf) => {
|
||||
trace!("local {:?} can't be propagaged because it's used: {:?}", local, context);
|
||||
trace!("local {:?} can't be propagated because it's used: {:?}", local, context);
|
||||
self.can_const_prop[local] = ConstPropMode::NoPropagation;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -111,7 +111,7 @@ impl CoverageGraph {
|
|||
if predecessors.len() > 1 {
|
||||
"predecessors.len() > 1".to_owned()
|
||||
} else {
|
||||
format!("bb {} is not in precessors: {:?}", bb.index(), predecessors)
|
||||
format!("bb {} is not in predecessors: {:?}", bb.index(), predecessors)
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -351,7 +351,7 @@ impl<'a, 'tcx> ConstAnalysis<'a, 'tcx> {
|
|||
}
|
||||
(FlatSet::Bottom, _) | (_, FlatSet::Bottom) => (FlatSet::Bottom, FlatSet::Bottom),
|
||||
(_, _) => {
|
||||
// Could attempt some algebraic simplifcations here.
|
||||
// Could attempt some algebraic simplifications here.
|
||||
(FlatSet::Top, FlatSet::Top)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
//! of this is that such liveness analysis can report more accurate results about whole locals at
|
||||
//! a time. For example, consider:
|
||||
//!
|
||||
//! ```ignore (syntax-highliting-only)
|
||||
//! ```ignore (syntax-highlighting-only)
|
||||
//! _1 = u;
|
||||
//! // unrelated code
|
||||
//! _1.f1 = v;
|
||||
|
@ -360,7 +360,7 @@ struct FilterInformation<'a, 'body, 'alloc, 'tcx> {
|
|||
}
|
||||
|
||||
// We first implement some utility functions which we will expose removing candidates according to
|
||||
// different needs. Throughout the livenss filtering, the `candidates` are only ever accessed
|
||||
// different needs. Throughout the liveness filtering, the `candidates` are only ever accessed
|
||||
// through these methods, and not directly.
|
||||
impl<'alloc> Candidates<'alloc> {
|
||||
/// Just `Vec::retain`, but the condition is inverted and we add debugging output
|
||||
|
|
|
@ -24,7 +24,7 @@ use std::fmt;
|
|||
/// In general, the compiler cannot determine at compile time whether a destructor will run or not.
|
||||
///
|
||||
/// At a high level, this pass refines Drop to only run the destructor if the
|
||||
/// target is initialized. The way this is achievied is by inserting drop flags for every variable
|
||||
/// target is initialized. The way this is achieved is by inserting drop flags for every variable
|
||||
/// that may be dropped, and then using those flags to determine whether a destructor should run.
|
||||
/// Once this is complete, Drop terminators in the MIR correspond to a call to the "drop glue" or
|
||||
/// "drop shim" for the type of the dropped place.
|
||||
|
|
|
@ -1869,7 +1869,7 @@ fn check_must_not_suspend_ty<'tcx>(
|
|||
},
|
||||
)
|
||||
}
|
||||
// If drop tracking is enabled, we want to look through references, since the referrent
|
||||
// If drop tracking is enabled, we want to look through references, since the referent
|
||||
// may not be considered live across the await point.
|
||||
ty::Ref(_region, ty, _mutability) => {
|
||||
let descr_pre = &format!("{}reference{} to ", data.descr_pre, plural_suffix);
|
||||
|
|
|
@ -21,7 +21,7 @@ pub struct SsaLocals {
|
|||
|
||||
/// We often encounter MIR bodies with 1 or 2 basic blocks. In those cases, it's unnecessary to
|
||||
/// actually compute dominators, we can just compare block indices because bb0 is always the first
|
||||
/// block, and in any body all other blocks are always always dominated by bb0.
|
||||
/// block, and in any body all other blocks are always dominated by bb0.
|
||||
struct SmallDominators {
|
||||
inner: Option<Dominators<BasicBlock>>,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue