mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Spelling siloptimizer
* access * accessed * accesses * accessor * acquiring * across * activated * additive * address * addresses' * aggregated * analysis * and * appropriately * archetype * argument * associated * availability * barriers * because * been * beginning * belongs * beneficial * blocks * borrow * builtin * cannot * canonical * canonicalize * clazz * cleanup * coalesceable * coalesced * comparisons * completely * component * computed * concrete * conjunction * conservatively * constituent * construct * consuming * containing * covered * creates * critical * dataflow * declaration * defined * defining * definition * deinitialization * deliberately * dependencies * dependent * deserialized * destroy * deterministic * deterministically * devirtualizes * diagnostic * diagnostics * differentiation * disable * discipline * dominate * dominates * don't * element * eliminate * eliminating * elimination * embedded * encounter * epilogue * epsilon * escape * escaping * essential * evaluating * evaluation * evaluator * executing * existential * existentials * explicit * expression * extended * extension * extract * for * from * function * generic * guarantee * guaranteed * happened * heuristic * however * identifiable * immediately * implementation * improper * include * infinite * initialize * initialized * initializer * inside * instruction * interference * interferes * interleaved * internal * intersection * intractable * intrinsic * invalidates * irreducible * irrelevant * language * lifetime * literal * looks * materialize * meaning * mergeable * might * mimics * modification * modifies * multiple * mutating * necessarily * necessary * needsmultiplecopies * nonetheless * nothing * occurred * occurs * optimization * optimizing * original * outside * overflow * overlapping * overridden * owned * ownership * parallel * parameter * paths * patterns * pipeline * plottable * possible * potentially * practically * preamble * precede * preceding * predecessor * preferable * preparation * probably * projection * properties * property * protocol * reabstraction * reachable * recognized * recursive * recursively * redundant * reentrancy * referenced * registry * reinitialization * reload * represent * requires * response * responsible * retrieving * returned * returning * returns * rewriting * rewritten * sample * scenarios * scope * should * sideeffects * similar * simplify * simplifycfg * somewhat * spaghetti * specialization * specializations * specialized * specially * statistically * substitute * substitution * succeeds * successful * successfully * successor * superfluous * surprisingly * suspension * swift * targeted * that * that our * the * therefore * this * those * threshold * through * transform * transformation * truncated * ultimate * unchecked * uninitialized * unlikely * unmanaged * unoptimized key * updataflow * usefulness * utilities * villain * whenever * writes Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
// initializer annotated "array.uninitialized_intrinsic". This is done in
|
||||
// `run` method.
|
||||
//
|
||||
// 2. For every "array.uninintialized_intrinsic" initializer call, try
|
||||
// 2. For every "array.uninitialized_intrinsic" initializer call, try
|
||||
// extracting the elements with which the array is initialized, and classify
|
||||
// the uses of the array into incidental uses, forEach calls and uses that
|
||||
// can write into the array. If any of the following conditions hold, give
|
||||
@@ -47,7 +47,7 @@
|
||||
//
|
||||
// Secondly, the body closure uses @in_guaranteed convention for the
|
||||
// parameter. Therefore, an alloc_stack is created before the unrolled code
|
||||
// begins to hold the elements, and is destoryed once the unrolled code ends.
|
||||
// begins to hold the elements, and is destroyed once the unrolled code ends.
|
||||
//
|
||||
// Thirdly, the body closure throws. Hence, it has to be try_applied. This
|
||||
// means that we need to chain the try_applies in such a way that when the
|
||||
@@ -368,7 +368,7 @@ void ArrayInfo::getLastDestroys(
|
||||
for (SILInstruction *frontierInst : frontier) {
|
||||
// Skip frontier instructions at the start of a basic block as they do not
|
||||
// follow a destroy_value of the array. Note that the goal is to collect
|
||||
// the last destroys, which must always immediately preceed a frontier
|
||||
// the last destroys, which must always immediately precede a frontier
|
||||
// instruction as it marks the end of the use of the array.
|
||||
if (frontierInst == &frontierInst->getParent()->front())
|
||||
continue;
|
||||
@@ -409,7 +409,7 @@ static void removeForEachCall(TryApplyInst *forEachCall,
|
||||
/// that contains the forEach call.
|
||||
/// - store_borrow the element e_i into the alloc_stack A. Note that we
|
||||
/// can use the owned copy of e_i created in the previous step.
|
||||
/// - try_apply the forEach's body closure on the the alloc_stack A.
|
||||
/// - try_apply the forEach's body closure on the alloc_stack A.
|
||||
/// If i is not the last index, jump to b_i+1 in the normal case of the
|
||||
/// try_apply. If i is the last index of the array jump to the normal
|
||||
/// target of the forEach call. Jump to a new error block: err_i in the
|
||||
|
||||
Reference in New Issue
Block a user