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

Aaron/lesson6 tasks #5

Open
wants to merge 22 commits into
base: aaron/lesson5-tasks
Choose a base branch
from
Open

Conversation

atucker
Copy link
Owner

@atucker atucker commented Mar 4, 2022

Code for Lesson 6!

atucker added 22 commits March 1, 2022 13:26
…rder to implement the phi labeling correctly, since that's what tells me what blocks might have assigned to a variable
…ith our control flow for variable renaming. This may be fixable by just building a lookup table of all of our names for each variable coming out of a block, but that seems a little hacky, so I'm going to try the class pseudocode
…ll use my reachability definitions in writing the phi nodes. Unfortunately I started fixing things to handle arguments without committing first, and that code wound up touching surprisingly many things so I can't really split it into two commits at this point
…e -- if the definition is coming from anything other than the entry block, we can just add another phi entry for the entry block that says to set it to undefined if the entry block is the most recently exectued. That way, all defined variables still get defined, and all undefined variables are still undefined
…that I can implement ssa on a function level
…ld be undefined, so actually add the __undefined behavior rather than asserting false
…ecessor to the tree before asking if its there
…er to the block that's running. If we're in the entry block and trying to talk about an argument, we need to create a new entry block to talk about, and otherwise we need to point to our successors instead of the block that's currently running
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.

1 participant