Skip to content
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

Eliminate xblock liveness for shifts #3548

Merged
merged 14 commits into from
Apr 8, 2024

Conversation

alyssarosenzweig
Copy link
Collaborator

The last one~

@Sonicadvance1
Copy link
Member

This PR causes Steam to crash early. Will need to bisect to find out why.

@alyssarosenzweig alyssarosenzweig force-pushed the ra/shifts-rework branch 3 times, most recently from d3daec5 to 4147e95 Compare April 3, 2024 17:41
@alyssarosenzweig
Copy link
Collaborator Author

This PR causes Steam to crash early. Will need to bisect to find out why.

I've split the PR up into atomic commits that are as small as is reasonable. I don't think I fixed whatever the bug is (and I did audit instcountci without finding any fault), but this should make the bisect results much more useful.

@Sonicadvance1
Copy link
Member

Looks like the first commit that breaks Steam is OpcodeDispatcher: use _ShiftFlags for SHL

@alyssarosenzweig alyssarosenzweig force-pushed the ra/shifts-rework branch 2 times, most recently from d6e7edd to 0a2f391 Compare April 4, 2024 14:55
@Sonicadvance1
Copy link
Member

With latest changes this still crashes. First commit breaking steam is still OpcodeDispatcher: use _ShiftFlags for SHL

@alyssarosenzweig alyssarosenzweig force-pushed the ra/shifts-rework branch 2 times, most recently from 3ca5570 to 75216fa Compare April 5, 2024 20:17
This is something the new shift flag code will do. Backporting the opt since
that's stalled and this reduces the diff.

Signed-off-by: Alyssa Rosenzweig <[email protected]>
otherwise we might have the wrong input NZCV.

Signed-off-by: Alyssa Rosenzweig <[email protected]>
this failed on an earlier version of the series that otherwise passed ci.

Signed-off-by: Alyssa Rosenzweig <[email protected]>
Signed-off-by: Alyssa Rosenzweig <[email protected]>
we'll hit this with _ShiftFlags.

Signed-off-by: Alyssa Rosenzweig <[email protected]>
Generates flags for a variable shift as a dedicated IR op. This lets us optimize
around it (without generating control flow, relying on deferred flag infra,
etc). And it neatly solves our RA problem for shifts.

Signed-off-by: Alyssa Rosenzweig <[email protected]>
all the variable shift impls need to do this dance, make it common.

Signed-off-by: Alyssa Rosenzweig <[email protected]>
Copy link
Member

@Sonicadvance1 Sonicadvance1 left a comment

Choose a reason for hiding this comment

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

Congrats! it no longer explodes!

@Sonicadvance1 Sonicadvance1 merged commit cbfa426 into FEX-Emu:main Apr 8, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants