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 use def issues #629

Merged
merged 1 commit into from
Jun 26, 2021
Merged

Fix use def issues #629

merged 1 commit into from
Jun 26, 2021

Conversation

water111
Copy link
Collaborator

@water111 water111 commented Jun 26, 2021

This fixes two bugs that appear to fix all known use-def issues.

First, it fixes a bug where attempted structuring on the same vertex multiple times, resulting in env updates happening twice. Now these are cached. This was harmless but triggered error.

The second bug is a little more complicated. The structuring pass marks the (set! x #f) in the delay slot as not a def, and leaves the defs as the actual expressions that write. Of course, we may not find one in all cases because of move elimination.

This standardizes on the last non-eliminated set, not in a delay slot, as the result variable to use for a cond without an else.

We could possibly use something else if detecting this causes trouble, but this was easy to implement and easy to understand the debug output.

@coveralls
Copy link

Pull Request Test Coverage Report for Build 974841140

  • 39 of 39 (100.0%) changed or added relevant lines in 5 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.02%) to 69.335%

Totals Coverage Status
Change from base Build 974550887: 0.02%
Covered Lines: 36774
Relevant Lines: 53038

💛 - Coveralls

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