Skip to content

[Experiment] late fsub#128761

Closed
EgorBo wants to merge 1 commit into
dotnet:mainfrom
EgorBo:late-fsub-experiment
Closed

[Experiment] late fsub#128761
EgorBo wants to merge 1 commit into
dotnet:mainfrom
EgorBo:late-fsub-experiment

Conversation

@EgorBo
Copy link
Copy Markdown
Member

@EgorBo EgorBo commented May 29, 2026

No description provided.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 29, 2026 12:01
@github-actions github-actions Bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label May 29, 2026
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds an experimental SSA-based late forward substitution pass to RyuJIT, running after VN copy propagation to replace single-use SSA local stores with their pure value trees and remove the now-dead store.

Changes:

  • Adds optLateForwardSub and statement-level substitution logic in forwardsub.cpp.
  • Wires the new phase into the optimization pipeline and phase list.
  • Adds a debug config knob and a memory allocator kind for the pass.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/coreclr/jit/forwardsub.cpp Implements the late SSA-based forward substitution pass and legality checks.
src/coreclr/jit/compiler.cpp Invokes the new phase after VN copy propagation.
src/coreclr/jit/compiler.h Declares the new compiler phase helpers.
src/coreclr/jit/compphases.h Registers the new phase name.
src/coreclr/jit/jitconfigvalues.h Adds JitNoLateForwardSub debug configuration.
src/coreclr/jit/compmemkind.h Adds CMK_ForwardSub for temporary pass allocations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants