-
Notifications
You must be signed in to change notification settings - Fork 4
BasilIR.cf update from obasil: phi, var load/store, named params #591
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
base: main
Are you sure you want to change the base?
Conversation
This reverts commit 1cd5318.
|
ci failing is definitely a line ending problem |
I would prefer round brackets, square brackets are used to give the impression of a sequence of nonatomic operations, phis don't have evaluation order etc it seems odd, the phi list is semantically the same as a simulassign and i wanted the syntax to point to that. Instead the ambiguity could be fixed by moving the phi list before the block's statement list, this gives the impression of block parameters which I don't hate. |
| assign | ||
| } | ||
|
|
||
| simulAssign.assignments :+= (phiVar -> predVar) |
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.
LGTM
|
you want this? any suggestions for the indentation? or maybe |
|
The first option, indentation can be the same as it already is. |
compared to obasil, changes the phi block syntax to use square brackets to avoid ambiguity with simulassign statement.
see src/test/scala/ir/ParserTest.scala to learn the effect of phi blocks and named call params. these get lowered into sbasil simul assigns and unnamed params.