-
Notifications
You must be signed in to change notification settings - Fork 5.3k
JIT: Improve consistency around indir flags; directly copy flags in gtCloneExpr
#97541
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
Conversation
…gtCloneExpr` - Switch `GT_STORE_DYN_BLK` to be on the same plan as other indirs; add a `gtNewStoreDynBlkNode` and use `gtInitializeIndirNode` to set its flags correctly. Add support for it to `GenTree::SetIndirExceptionFlags`. Remove conservative flag setting from its constructor. - Fix propagation of `GTF_EXCEPT` from `GT_CMPXCHG`'s data source inside `GenTree::SetIndirExceptionFlags` - Set flags directly from the source node in `gtCloneExpr` Fix dotnet#97524
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue Details
Fix #97524
|
Diff results for #97541Throughput diffsThroughput diffs for linux/arm64 ran on windows/x64MinOpts (+0.00% to +0.01%)
Throughput diffs for linux/x64 ran on windows/x64MinOpts (+0.00% to +0.02%)
Throughput diffs for osx/arm64 ran on windows/x64MinOpts (+0.00% to +0.01%)
Throughput diffs for windows/arm64 ran on windows/x64MinOpts (+0.00% to +0.01%)
Throughput diffs for windows/x64 ran on windows/x64Overall (+0.01%)
MinOpts (+0.00% to +0.03%)
FullOpts (+0.01%)
Details here Throughput diffs for linux/arm ran on windows/x86Overall (+0.00% to +0.01%)
MinOpts (+0.00% to +0.02%)
FullOpts (+0.00% to +0.01%)
Throughput diffs for windows/x86 ran on windows/x86Overall (+0.01%)
MinOpts (+0.01% to +0.03%)
FullOpts (+0.00% to +0.01%)
Details here Throughput diffs for linux/arm64 ran on linux/x64Overall (+0.03% to +0.05%)
MinOpts (+0.00% to +0.08%)
FullOpts (+0.04% to +0.05%)
Throughput diffs for linux/x64 ran on linux/x64Overall (+0.03% to +0.06%)
MinOpts (+0.00% to +0.09%)
FullOpts (+0.04% to +0.06%)
Details here |
|
/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress, Fuzzlyn |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
cc @dotnet/jit-contrib PTAL @EgorBo @SingleAccretion |
| assert(data->IsInitVal() || data->OperIs(GT_IND)); | ||
|
|
||
| GenTreeStoreDynBlk* store = new (this, GT_STORE_DYN_BLK) GenTreeStoreDynBlk(addr, data, dynamicSize); | ||
| store->gtFlags |= GTF_ASG; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: it's already set in GenTreeStoreDynBlk ctror
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed that in this PR (just to make it consistent with gtNewStoreBlkNode)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, I am blind
GT_STORE_DYN_BLKto be on the same plan as other indirs; add agtNewStoreDynBlkNodeand usegtInitializeIndirNodeto set its flags correctly. Add support for it toGenTree::SetIndirExceptionFlags. Remove conservative flag setting from its constructor.GTF_EXCEPTfromGT_CMPXCHG's data source insideGenTree::SetIndirExceptionFlagsgtCloneExprFix #97524