JIT: Handle LCL_ADDR in TreeLifeUpdater#124472
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
There was a problem hiding this comment.
Pull request overview
This PR fixes a liveness tracking issue in the JIT's TreeLifeUpdater by adding handling for standalone GT_LCL_ADDR nodes. Previously, GTF_VAR_DEATH flags on GT_LCL_ADDR nodes were not being processed, causing the async transformation to conservatively treat these locals as live longer than necessary.
Changes:
- Added handling for
GT_LCL_ADDRnodes inTreeLifeUpdater<ForCodeGen>::UpdateLifeto properly process liveness flags
|
cc @dotnet/jit-contrib PTAL @AndyAyersMS |
AndyAyersMS
left a comment
There was a problem hiding this comment.
Functionally, this looks fine.
Maybe we could adopt a convention where at the invocations sites we note what the true and false method template parameters mean?
Or else use an enum class so we have more descriptive names?
Sounds reasonable to me... Maybe something for Copilot to do globally. |
We wouldn't handle
GTF_VAR_DEATHonLCL_ADDRnodes, which would cause us to keep thinking these were live in the async transformation. That wouldn't cause issues but it was conservative.