-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Missing GTF_ASG
and GTF_ALL_EFFECT
on GenTree nodes.
#13758
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
bug
Priority:3
Work that is nice to have
Milestone
Comments
sandreenko
changed the title
Missing flags on GenTree nodes.
Missing Nov 8, 2019
GTF_ASG
and GTF_ALL_EFFECT
on GenTree nodes.
This was referenced Jan 31, 2020
Moving this to future. |
jakobbotsch
added a commit
to jakobbotsch/runtime
that referenced
this issue
Jan 23, 2024
- Fix the propagation of `GTF_ASG` during call args morphing - Introduce `Compiler::gtHaveStoreInterference` that can check whether two trees interfere with each other due to a store in one tree that stores to a local read by the other tree - Use the new helper when checking for whether we should reverse `GTF_STOREIND` nodes - Use the new helper when deciding whether previous args need to be evaluated to temps because we see an argument with an embedded store (typically a call). Fix dotnet#13758
ghost
added
the
in-pr
There is an active PR which will close this issue when it is merged
label
Jan 23, 2024
jakobbotsch
added a commit
that referenced
this issue
Jan 25, 2024
…#97409) - Fix the propagation of `GTF_ASG` during call args morphing - Introduce `Compiler::gtMayHaveStoreInterference` that can check whether two trees interfere with each other due to a store in one tree that stores to a local read by the other tree - Use the new helper when checking for whether we should reverse `GT_STOREIND` nodes - Use the new helper when deciding whether previous args need to be evaluated to temps because we see an argument with an embedded store (typically a call now that we propagate flags correctly). - Use the new helpers when checking interference in `optRedundantRelop` Fix #13758
ghost
removed
the
in-pr
There is an active PR which will close this issue when it is merged
label
Jan 25, 2024
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
bug
Priority:3
Work that is nice to have
Sometimes we are missing
GTF_ASG
flag for calls when create a setup argument node infgArgInfo::EvalArgsToTemps()
. It creates an unwanted effect that call togtUpdateSideEffects(tree, stmt)
could change flags when the trees are unchanged:before calling
gtUpdateSideEffects(000055, stmt)
:after:
see that flags on [000065] have changed, but they should not.
The same happens with
GTF_ALL_EFFECT
on addr modes.The fix for it is simple and published in dotnet/coreclr#27732, however, the fix create 0.1% size regression because of another issue. So I will postpone it until another issue is fixed.
Along the way fix that we don't print
fgMorphTree block, stmt(after)
if only the flags were changed.category:correctness
theme:ir
skill-level:intermediate
cost:medium
The text was updated successfully, but these errors were encountered: