Start rework#16
Draft
dleiferives wants to merge 3 commits into
Draft
Conversation
I added the fields that I think that I will need to basic blocks and made the arguments to jump functions exist properly. So that will help with the later development. While I am focusing on #12 foremost, there is always the idea of the other things in the background. I think that I'm going to refactor all the functions to have trailing types that way when you're writing out the function it has the consistent naming convention across different things. Predominantly this is of the form link_bb instead of bb_link. But I also changed it from add_bb to create_bb because it is making the bb and not adding an existing thing to the list of bbs. I think that at some level this makes more sense. I really want to clean up the code, it reached a really messy state...
Was going to really quick go through and implement the skeleton generation for the cfg before going to bed. I had yet to think through the cases where we are going to have to do each expression expansion. I think that each statement should only produce a singular basic block. As increasing layers of internal recursion for macros are just going to push the requirements up to the block above them to then be parsed into this block. In this manner I think possibly a good idea would be to move around the statements or on the fly generate more statements before doing the instruction generation as this would allow us to split up the dependent macro case which is the entire reason for why I'm doing this rewrite of the exisitng cfg generation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I added the fields that I think that I will need to basic blocks and made the arguments to jump functions exist properly. So that will help with the later development.
While I am focusing on #12 foremost, there is always the idea of the other things in the background. I think that I'm going to refactor all the functions to have trailing types that way when you're writing out the function it has the consistent naming convention across different things. Predominantly this is of the form link_bb instead of bb_link. But I also changed it from add_bb to create_bb because it is making the bb and not adding an existing thing to the list of bbs. I think that at some level this makes more sense.
I really want to clean up the code, it reached a really messy state...