Fix some link failures and typos

This commit is contained in:
Yuki Okushi 2020-12-12 05:57:33 +09:00 committed by Joshua Nelson
parent a6a9c67616
commit 1838d293f7
2 changed files with 10 additions and 10 deletions

View File

@ -75,7 +75,7 @@ code branches, and injects additional [`Coverage`][coverage-statement]
statements into the `BasicBlock`s.
A MIR `Coverage` statement is a virtual instruction that indicates a counter
should be incremented when its adjacent statemeents are executed, to count
should be incremented when its adjacent statements are executed, to count
a span of code ([`CodeRegion`][code-region]). It counts the number of times a
branch is executed, and also specifies the exact location of that code span in
the Rust source code.
@ -181,7 +181,7 @@ MIR `Statement` into some backend-specific action or instruction.
CoverageKind::Unreachable => {
...
```
_[code snippet trimmed for brevity]_
_code snippet trimmed for brevity_
> The function name `instrprof_increment()` is taken from the LLVM intrinsic
call of the same name ([`llvm.instrprof.increment`][llvm-instrprof-increment]),
@ -206,7 +206,7 @@ the last remaining step is to inject the LLVM IR variables that hold the
static data for the coverage map.
`rustc_codegen_llvm`'s [`compile_codegen_unit()`][compile-codegen-unit] calls
[`coverageinfo_finalze()`][coverageinfo-finalize],
[`coverageinfo_finalize()`][coverageinfo-finalize],
which delegates its implementation to the
[`rustc_codegen_llvm::coverageinfo::mapgen`][mapgen-finalize] module.
@ -247,9 +247,9 @@ pub fn finalize<'ll, 'tcx>(cx: &CodegenCx<'ll, 'tcx>) {
mapgen.write_coverage_mapping(expressions, counter_regions, coverage_mapping_buffer);
});
```
_[code snippet trimmed for brevity]_
_code snippet trimmed for brevity_
One noteable step, performed by `mapgen::finalize()` before processing the
One notable step, performed by `mapgen::finalize()` before processing the
`Instance`s and their `FunctionCoverage`s, is the call to
[`add_unreachable_functions()`][add-unreachable-coverage].
@ -262,7 +262,7 @@ The set of unreachable functions is computed via the set difference of all MIR
`DefId`s (`tcx` query `mir_keys`) minus the codegenned `DefId`s
(`tcx` query `collect_and_partition_mono_items`). `add_unreachable_functions()`
computes the set of unreachable functions, queries the `tcx` for the
previously-computed `CodeRegions`, for each unreachabe MIR, and adds those code
previously-computed `CodeRegions`, for each unreachable MIR, and adds those code
regions to one of the non-generic codegenned functions (non-generic avoids
potentially injecting the unreachable coverage multiple times for multiple
instantiations).
@ -382,7 +382,7 @@ fundamental control flow, with many of the same
For anyone that knows how to work with the [MIR, as a CFG][mir-dev-guide], the
`CoverageGraph` will be familiar, and can be used in much the same way.
The nodes of the `CoverageGraph` are `BasicCoverageBlock`s (BCBs), which
index into an `IndexVec` of `BasicCoverageBlockData`. This is analagous
index into an `IndexVec` of `BasicCoverageBlockData`. This is analogous
to the MIR CFG of `BasicBlock`s that index `BasicBlockData`.
Each `BasicCoverageBlockData` captures one or more MIR `BasicBlock`s,
@ -450,7 +450,7 @@ The nodes contain information in sections:
its `BasicCoverageBlockData`).
2. The first content section shows the assigned `Counter` or `Expression` for
each contiguous section of code. (There may be more than one `Expression`
incremented by the same `Counter` for discontigous sections of code representing
incremented by the same `Counter` for discontiguous sections of code representing
the same sequential actions.) Note the code is represented by the line and
column ranges (for example: `52:28-52:33`, representing the original source
line 52, for columns 28-33). These are followed by the MIR `Statement` or
@ -489,7 +489,7 @@ an initial set of `CoverageSpan`s from the `Span`s associated with each MIR
The final stage of `generate_coverage_spans()` is handled by
[`to_refined_spans()`][to-refined-spans], which iterates through the `CoverageSpan`s,
merges and de-duplicates them, and returns an optimial, minimal set of `CoverageSpan`s
merges and de-duplicates them, and returns an optimal, minimal set of `CoverageSpan`s
that can be used to assign coverage `Counter`s or `Expression`s, one-for-one.
An visual, interactive representation of the final `CoverageSpan`s can be

View File

@ -47,7 +47,7 @@ workflow to see how they interact.
[^note-instrument-coverage]: Note: `rustc` now supports front-end-based coverage
instrumentation, via the experimental option
[`-Z instrument-coverage`](../llvm-coverage-instrumentation), but using these
[`-Z instrument-coverage`](./llvm-coverage-instrumentation.md), but using these
coverage results for PGO has not been attempted at this time.
### Overall Workflow