Conversation
|
|
|
r? @mejrs rustbot has assigned @mejrs. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
CodegenContext will in the future be serialized and deserialized into a different rustc instance when -Zno-link/-Zlink-only is used. A separate incr comp session has to be used for both rustc invocations.
Previously we would copy post LTO artifacts into the incr comp cache for fat LTO despite them never getting used. Also the pre LTO bitcode didn't get tracked and thus determine_cgu_reuse believed it had to regenerate bitcode for all CGUs even when all CGUs would be green.
bc690ff to
980f03b
Compare
| if !self.check_config(cfg) { | ||
| debug!("check_attr: config does not match, ignoring attr"); | ||
| return; | ||
| continue; |
There was a problem hiding this comment.
This caused us to skip all assertions after the first one with a cfg that doesn't match. Surprisingly nothing regressed by the lack of test coverage since the introduction of this bug.
Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com>
| }; | ||
|
|
||
| // FIXME include pre-LTO bitcode in workproduct tracking | ||
| // FIXME add separate incr comp session for post-LTO outputs to use during link step |
There was a problem hiding this comment.
How important are these FIXMEs? Are you planning to fix them?
There was a problem hiding this comment.
I'm working on a follow up PR to do this.
|
@bors r=nnethercote |
Fix incremental compilation for fat LTO Previously we would copy post-LTO artifacts into the incr comp cache for fat LTO despite them never getting used. Also the pre-LTO bitcode didn't get tracked and thus `determine_cgu_reuse` believed it had to regenerate bitcode for all CGUs even when all CGUs would be green. Also move incr comp session dirs out of `CodegenContext`. `CodegenContext` will in the future be serialized and deserialized into a different rustc instance when `-Zno-link`/`-Zlink-only` is used. A separate incr comp session has to be used for both rustc invocations. Part of rust-lang/compiler-team#908
Fix incremental compilation for fat LTO Previously we would copy post-LTO artifacts into the incr comp cache for fat LTO despite them never getting used. Also the pre-LTO bitcode didn't get tracked and thus `determine_cgu_reuse` believed it had to regenerate bitcode for all CGUs even when all CGUs would be green. Also move incr comp session dirs out of `CodegenContext`. `CodegenContext` will in the future be serialized and deserialized into a different rustc instance when `-Zno-link`/`-Zlink-only` is used. A separate incr comp session has to be used for both rustc invocations. Part of rust-lang/compiler-team#908
…uwer Rollup of 13 pull requests Successful merges: - #163317 (Fix incremental compilation for fat LTO) - #163582 (Reapply "bootstrap: Enable rustdoc mergeable CCI for std and internal docs") - #151793 (Add mul_add_relaxed methods for floating-point types) - #162782 (Fix rustdoc ICE caused by mishandling of ambiguity errors) - #163010 (Miri can do dirfd now) - #163535 (Improve `DocStrings` perf) - #163576 (Fix `TypeOutlives` fast-path) - #163587 (Several small span improvements) - #163612 (fix `ValidateBoundVars`) - #163632 (bump rustc-build-sysroot) - #163635 (Revert note about signum of NaN) - #163644 (Add mailmap entry) - #163651 (Remove variants from `feature-gate-autodiff-use` test)
|
💔 I suspect this PR failed tests as part of a rollup After fixing the problem, consider running a try job for the failed job before re-approving. Link to failure: #163650 (comment) @bors try jobs=test-x86_64-mingw-1 |
|
This pull request was unapproved. This PR was contained in a rollup (#163656), which was unapproved. |
This comment has been minimized.
This comment has been minimized.
Fix incremental compilation for fat LTO try-job: test-x86_64-mingw-1
|
💔 Test for e4021fc failed: CI. Failed job:
|
|
The job Click to see the possible cause of the failure (guessed by this bot) |
Previously we would copy post-LTO artifacts into the incr comp cache for fat LTO despite them never getting used. Also the pre-LTO bitcode didn't get tracked and thus
determine_cgu_reusebelieved it had to regenerate bitcode for all CGUs even when all CGUs would be green.Also move incr comp session dirs out of
CodegenContext.CodegenContextwill in the future be serialized and deserialized into a different rustc instance when-Zno-link/-Zlink-onlyis used. A separate incr comp session has to be used for both rustc invocations.Part of rust-lang/compiler-team#908