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

Fix various oracle check failures #47289

Merged
merged 2 commits into from
Oct 24, 2022
Merged

Fix various oracle check failures #47289

merged 2 commits into from
Oct 24, 2022

Conversation

Keno
Copy link
Member

@Keno Keno commented Oct 22, 2022

Found while debugging other miscompiles. These are both overcounts, so shouldn't have caused any bugs (just sub-optimalities), but it's generally good to fix these anyway so that the oracle check becomes more useful for finding actual issues.

@Keno Keno added the don't squash Don't squash merge label Oct 22, 2022
@@ -337,6 +337,16 @@ function foreachssa(@specialize(f), @nospecialize(stmt))
end
end

function foreachanyssa(@specialize(f), @nospecialize(stmt))
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
function foreachanyssa(@specialize(f), @nospecialize(stmt))
function foreach_anyssa(@specialize(f), @nospecialize(stmt))

maybe?

Copy link
Member Author

Choose a reason for hiding this comment

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

Probably makes sense just to spell these as foreach(f, anyssas(stmt)) and foreach(f, ssas(stmt)) rather than making separate functions.

Copy link
Member Author

Choose a reason for hiding this comment

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

Actually, scratch that. The compiler isn't currently good enough to do that without allocations. I'll just do what you suggested here.

Keno added 2 commits October 24, 2022 04:04
Also make the oracle check work while there are still new_new_nodes,
which helps generate oracle check failures closer to where the
actual issue is.
We weren't accounting for the removed use when inlining a constant
argtype into a GotoIfNot node.
@Keno Keno force-pushed the kf/oraclefailures branch from 8b93bae to b809e27 Compare October 24, 2022 04:13
@Keno Keno merged commit 1e31390 into master Oct 24, 2022
@Keno Keno deleted the kf/oraclefailures branch October 24, 2022 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
don't squash Don't squash merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants