Skip to content
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

Working expression optimization, and some improvements to branch-level source coverage #78267

Merged
merged 12 commits into from
Nov 6, 2020

Commits on Nov 6, 2020

  1. Configuration menu
    Copy the full SHA
    c7747cc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c7ae4c2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b502064 View commit details
    Browse the repository at this point in the history
  4. Adds coverage graphviz

    richkadel committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    3291d28 View commit details
    Browse the repository at this point in the history
  5. Injecting expressions in place of counters where helpful

    Implementing the Graph traits for the BasicCoverageBlock
    graph.
    
    optimized replacement of counters with expressions plus new BCB graphviz
    
    * Avoid adding coverage to unreachable blocks.
    * Special case for Goto at the end of the body. Make it non-reportable.
    
    Improved debugging and formatting options (from env)
    
    Don't automatically add counters to BCBs without CoverageSpans. They may
    still get counters but only if there are dependencies from
    other BCBs that have spans, I think.
    
    Make CodeRegions optional for Counters too. It is
    possible to inject counters (`llvm.instrprof.increment` intrinsic calls
    without corresponding code regions in the coverage map. An expression
    can still uses these counter values.
    
    Refactored instrument_coverage.rs -> instrument_coverage/mod.rs, and
    then broke up the mod into multiple files.
    
    Compiling with coverage, with the expression optimization, works on
    the json5format crate and its dependencies.
    
    Refactored debug features from mod.rs to debug.rs
    richkadel committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    198ba3b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5545c56 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1973f84 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a7d9565 View commit details
    Browse the repository at this point in the history
  9. fix cross-platform test bugs

    More portable way to make python 2/3 portable.
    
    Strip Args line (with hardcoded paths) from debug counters output.
    
    Ignore diff failures from llvm-cov debug output files ("counters"
    files), since generic function instantiations will appear in those files
    with mangled names. (Sadly, the demangler is apparently not applied to
    the debug output.)
    richkadel committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    cdbce10 View commit details
    Browse the repository at this point in the history
  10. rename some tests to avoid exceeding windows path limits

    And restored missing error message from llvm-cov show
    
    And since some CI builds disable LLVM assertions (which disables the
    --debug option in llvm-cov show), I check to see if LLVM assertions are
    disabled, and if so, I don't add --debug and don't check the counter
    file diffs.
    richkadel committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    8fc697f View commit details
    Browse the repository at this point in the history
  11. Fix sed command for Mac

    add -e between -i and quoted script
    
    I had tested on my mac but forgot I had aliased sed=gsed. My bad.
    richkadel committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    430dcb6 View commit details
    Browse the repository at this point in the history
  12. Disable the spanview tests on MacOS for now

    And even though CI should now pass for MacOS, the llvm-cov show --debug
    flag does not work when developing outside of CI, so I'm disabling it
    for MacOS by default.
    richkadel committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    68014e6 View commit details
    Browse the repository at this point in the history