Skip to content

Start rework#16

Draft
dleiferives wants to merge 3 commits into
11-refactor-control-flow-graph-to-actually-compue-it-properlyfrom
12-produce-skeleton-cfg
Draft

Start rework#16
dleiferives wants to merge 3 commits into
11-refactor-control-flow-graph-to-actually-compue-it-properlyfrom
12-produce-skeleton-cfg

Conversation

@dleiferives

Copy link
Copy Markdown
Owner

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...

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.
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