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: Clean up inliner substitution #77176

Merged
merged 6 commits into from
Oct 21, 2022
Merged

Commits on Oct 18, 2022

  1. JIT: Clean up inliner substitution

    * Stop using GenTree::ReplaceWith
    * GenTreeRetExpr now directly contains its substitution members, which
      is a tree either from the inline candidate, a local (due to spill
      temps) or the call itself (due to inliner failure). In the former
      case, it also contains the BasicBlock the child tree comes from to
      ensure that its flags can be propagated once and for all during
      substitution.
    * Make various members strongly typed, e.g.
      GenTreeRetExpr::gtInlineCandidate is now a GenTreeCall*,
      InlineCandidateInfo::retExpr is now a GenTreeRetExpr*. This is
      possible since we are no longer using GenTree::ReplaceWith.
    jakobbotsch committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    5f164ff View commit details
    Browse the repository at this point in the history
  2. Nit

    jakobbotsch committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    177fe72 View commit details
    Browse the repository at this point in the history
  3. Fix build

    jakobbotsch committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    82b6655 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2022

  1. Propagate BB flags properly on inline failures

    When we fail to inline, the substitution will be the call itself, so we
    should propagate flags from the basic block containing the call. In
    particular this can be a problem with RET_EXPR chains.
    jakobbotsch committed Oct 19, 2022
    Configuration menu
    Copy the full SHA
    37086f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    802ac66 View commit details
    Browse the repository at this point in the history
  3. More comments

    jakobbotsch committed Oct 19, 2022
    Configuration menu
    Copy the full SHA
    0177368 View commit details
    Browse the repository at this point in the history