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

JIT: profile updates for return merges and tail calls #48773

Merged
merged 7 commits into from
Mar 2, 2021

Commits on Feb 25, 2021

  1. JIT: profile updates for return merges and tail calls

    Stop trying to update the common return block profile data during return
    merging, as it is not yet known which return blocks will become tail calls.
    Start updating constant return block profile data during return merging
    as this is when we transform the flow.
    
    Update the common return block profile data during return merging in
    morph (adding more countss) and when creating tail calls (removing counts).
    
    Update profile consistency checker to handle switches properly and to use
    tolerant compares.
    
    Add extra dumping when solving for edge weights or adjusting flow edge
    weights to help track down where errors are coming from.
    
    Add new FMT_WT formatting string for profile weights, and start using it
    in fgprofile.
    
    handle constant return merges too
    AndyAyersMS committed Feb 25, 2021
    Configuration menu
    Copy the full SHA
    d78d2e7 View commit details
    Browse the repository at this point in the history
  2. Fix non-PGO return merge weights (basically, don't set them).

    Update FMT_WT to %g so we don't see huge digit strings.
    AndyAyersMS committed Feb 25, 2021
    Configuration menu
    Copy the full SHA
    ccac6e4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    899dda1 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2021

  1. Properly update edge weights when creating a preheader.

    Also fix dump output from `setEdgeWeights` and pass in the destination
    of the edge.
    AndyAyersMS committed Feb 26, 2021
    Configuration menu
    Copy the full SHA
    33870e6 View commit details
    Browse the repository at this point in the history
  2. Handle the more complex tail call profile fixup where two blocks must…

    … have
    
    their counts updated.
    AndyAyersMS committed Feb 26, 2021
    Configuration menu
    Copy the full SHA
    581f923 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2021

  1. review feedback

    AndyAyersMS committed Mar 2, 2021
    Configuration menu
    Copy the full SHA
    a8bda5f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7569715 View commit details
    Browse the repository at this point in the history