Optionally enable LLVM profile continuous mode#15782
Merged
ckolli5 merged 1 commit intobazelbuild:release-5.3.0from Jun 30, 2022
ckolli5:ck/cherrypick-15166
Merged
Optionally enable LLVM profile continuous mode#15782ckolli5 merged 1 commit intobazelbuild:release-5.3.0from ckolli5:ck/cherrypick-15166
ckolli5 merged 1 commit intobazelbuild:release-5.3.0from
ckolli5:ck/cherrypick-15166
Conversation
LLVM's profile instrumentation offers a continuous mode in which counters are continuously synced to a file rather than being dumped once in an exit hook. This is useful for coverage runs that include binaries that exit abnormally (e.g. in failure tests), but may require additional compiler flags and can negatively impact runtime performance and memory usage. Enabling continuous mode requires adding the "%c" modifier to the value of the LLVM_PROFILE_FILE environment variable. With this commit, the collect_coverage.sh script adds the modifier if the test environment has the variable LLVM_PROFILE_CONTINUOUS_MODE set. This allows both all and individual tests to use continuous mode by setting the variable, either via --test_env or the env attribute. Closes #15166. PiperOrigin-RevId: 454558752 Change-Id: Id03d00d0644742e336feab41ea479d7d8527f6c4
fmeum
added a commit
to fmeum/bazel
that referenced
this pull request
Jul 2, 2022
LLVM's profile instrumentation offers a continuous mode in which counters are continuously synced to a file rather than being dumped once in an exit hook. This is useful for coverage runs that include binaries that exit abnormally (e.g. in failure tests), but may require additional compiler flags and can negatively impact runtime performance and memory usage. Enabling continuous mode requires adding the "%c" modifier to the value of the LLVM_PROFILE_FILE environment variable. With this commit, the collect_coverage.sh script adds the modifier if the test environment has the variable LLVM_PROFILE_CONTINUOUS_MODE set. This allows both all and individual tests to use continuous mode by setting the variable, either via --test_env or the env attribute. Closes bazelbuild#15166. PiperOrigin-RevId: 454558752 Change-Id: Id03d00d0644742e336feab41ea479d7d8527f6c4 Co-authored-by: Fabian Meumertzheim <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LLVM's profile instrumentation offers a continuous mode in which
counters are continuously synced to a file rather than being dumped
once in an exit hook. This is useful for coverage runs that include
binaries that exit abnormally (e.g. in failure tests), but may require
additional compiler flags and can negatively impact runtime performance
and memory usage.
Enabling continuous mode requires adding the "%c" modifier to the value
of the LLVM_PROFILE_FILE environment variable. With this commit, the
collect_coverage.sh script adds the modifier if the test environment has
the variable LLVM_PROFILE_CONTINUOUS_MODE set. This allows both all and
individual tests to use continuous mode by setting the variable, either
via --test_env or the env attribute.
Closes #15166.
PiperOrigin-RevId: 454558752
Change-Id: Id03d00d0644742e336feab41ea479d7d8527f6c4