-
Notifications
You must be signed in to change notification settings - Fork 15
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
Move phi to rvsdg #784
base: master
Are you sure you want to change the base?
Move phi to rvsdg #784
Conversation
I tried to make the naming of context variables consistent with lambda. For the actual fixpoint variables they are akin to theta (without an input as it is infinite recursion without a real "beginning"), I am not really happy about "recref" but it is at least a bit close to what it represents. I dared rename "recursion variables" to "fixpoint variables" as I think that "recursion is on call" while phi represents the conceptual fixpoint graph reached by dissolving and infinitely "unrolling" a phi structure. I can certainly be convinced to keep the name "RecVar" or similar, so feel free to comment if you would rather insist on that. |
40bcfcc
to
fef6967
Compare
class PhiBuilder; | ||
|
||
/** | ||
* \brief Phi node represents the fixpoint of mutually recursive definitions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: represent
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand the typo -- "phi node" is singular, so "represents" sounds correct, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess my problem is that it was not a proper sentence. Either "A phi node represents..." or "Phi nodeS represent the fixpoint...."
Rename phi::node to comply with the naming scheme used for other node classes. Move it to rvsdg as it is a general-purpose vehicle to represent the fixpoint of recursive (function) definitions, and there is nothing specific to llvm within it.
@caleridas I think you missed some review comments from the first round. |
Rename phi::node to comply with the naming scheme used for other node classes. Move it to rvsdg as it is a general-purpose vehicle to represent the fixpoint of recursive (function) definitions, and there is nothing specific to llvm within it.