-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Spill tree temp large vectors around calls #22311
Conversation
@BruceForstall - this only fixes the GitHub_20657 case. The HFA tests in #22253 still fail - either reliably or sporadically. |
@@ -1840,8 +1840,7 @@ class RefPosition | |||
// A RefPosition refers to either an Interval or a RegRecord. 'referent' points to one | |||
// of these types. If it refers to a RegRecord, then 'isPhysRegRef' is true. If it | |||
// refers to an Interval, then 'isPhysRegRef' is false. | |||
// | |||
// Q: can 'referent' be NULL? | |||
// referent can never be null. |
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.
This is unrelated but I happened upon this, and by construction referent
is never null.
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.
Looks ok to me, though I'm not a great person to review LSRA changes
The code was there to handle lclVars, but there was an implicit assumption that non-lclVar large vector tree temps would never be live across a call. Fixes the GitHub_20657 failure in #22253
@CarolEidt Do you expect to merge this soon? Are you doing more testing or looking for more reviews? |
@BruceForstall - I plan to merge this as soon as I get a clean test run. I just removed an overly aggressive assert; hopefully this test run will be clean. |
@dotnet-bot test Ubuntu16.04 arm64 Cross Checked jitstress2_jitstressregs1 Build and Test |
1 similar comment
@dotnet-bot test Ubuntu16.04 arm64 Cross Checked jitstress2_jitstressregs1 Build and Test |
JIT\HardwareIntrinsics\X86\Avx2\Avx2_ro\Avx2_ro.exe timed out on the stress run, but passes locally. Retrying: |
@dotnet-bot test Ubuntu x64 Checked Innerloop Build and Test |
test OSX10.12 x64 Checked Innerloop Build and Test |
This time |
* Spill tree temp large vectors around calls The code was there to handle lclVars, but there was an implicit assumption that non-lclVar large vector tree temps would never be live across a call. Fixes the GitHub_20657 failure in dotnet/coreclr#22253 Commit migrated from dotnet/coreclr@070b5d7
The code was there to handle lclVars, but there was an implicit assumption that non-lclVar large vector tree temps would never be live across a call.
Fixes the GitHub_20657 failure in #22253