-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 6 pull requests #100611
Rollup of 6 pull requests #100611
Conversation
…ng the `-C instrument-coverage` flag. Respond to PR comments.
emit the first 3 errors and duplicated diagnostic information using take of iterator for the first third return modified: compiler/rustc_typeck/src/check/coercion.rs new file: src/test/ui/typeck/issue-100285.rs new file: src/test/ui/typeck/issue-100285.stderr
…rochenkov when there are 3 or more return statements in the loop emit the first 3 errors and duplicated diagnostic information modified: compiler/rustc_typeck/src/check/coercion.rs new file: src/test/ui/typeck/issue-100285.rs new file: src/test/ui/typeck/issue-100285.stderr
…ut, r=wesleywiser Add support for generating unique profraw files by default when using `-C instrument-coverage` Currently, enabling the rustc flag `-C instrument-coverage` instruments the given crate and by default uses the naming scheme `default.profraw` for any instrumented profile files generated during the execution of a binary linked against this crate. This leads to multiple binaries being executed overwriting one another and causing only the last executable run to contain actual coverage results. This can be overridden by manually setting the environment variable `LLVM_PROFILE_FILE` to use a unique naming scheme. This PR adds a change to add support for a reasonable default for rustc to use when enabling coverage instrumentation similar to how the Rust compiler treats generating these same `profraw` files when PGO is enabled. The new naming scheme is set to `default_%m_%p.profraw` to ensure the uniqueness of each file being generated using [LLVMs special pattern strings](https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#running-the-instrumented-program). Today the compiler sets the default for PGO `profraw` files to `default_%m.profraw` to ensure a unique file for each run. The same can be done for the instrumented profile files generated via the `-C instrument-coverage` flag as well which LLVM has API support for. Linked Issue: rust-lang#100381 r? `@wesleywiser`
Update the minimum external LLVM to 13 With this change, we'll have stable support for LLVM 13 through 15 (pending release). For reference, the previous increase to LLVM 12 was rust-lang#90175. r? `@nagisa`
Add missing closing quote fixes rust-lang#100563
…h, r=compiler-errors Suggest adding an array length if possible fixes rust-lang#100448
…lfJung Rename Machine memory hooks to suggest when they run Some of the other memory hooks start with `before_` or `after_` to indicate that they run before or after a certain operation. These don't, so I was a bit confused as to when they are supposed to run. `memory_read` can be read two ways in English, "memory was read" or "this is a memory read" so without the prefix this was especially ambiguous.
@bors r+ rollup=never p=6 |
☀️ Test successful - checks-actions |
Tested on commit rust-lang/rust@8556e66. Direct link to PR: <rust-lang/rust#100611> 💔 miri on windows: test-pass → build-fail (cc @oli-obk @RalfJung). 💔 miri on linux: test-pass → build-fail (cc @oli-obk @RalfJung).
📌 Perf builds for each rolled up PR: In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (8556e66): comparison url. Instruction count
Max RSS (memory usage)Results
CyclesResults
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression Footnotes |
Remove backwards compat for LLVM 12 coverage format The minimum external LLVM was updated to 13 recently in rust-lang#100611, so this PR removes backwards compat with older coverage formats. I kept the version check and error message there, in accordance with this comment: rust-lang#91207 (comment)
Successful merges:
-C instrument-coverage
#100384 (Add support for generating unique profraw files by default when using-C instrument-coverage
)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup