-
Notifications
You must be signed in to change notification settings - Fork 973
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
Dominator deadcode problem fix #1984
Conversation
ab43894
to
d75d8d8
Compare
3e2ed00
to
d75d8d8
Compare
2de8ab5
to
cee0c6b
Compare
8ae3ada
to
7a35d8f
Compare
2687867
to
0de7a25
Compare
a15e1fc
to
2687867
Compare
|
||
ret = set() | ||
for pred in node.fathers: | ||
ret = ret.union(pred.dominators) |
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.
Mhh I am confused, can you explain why are we doing the union over the predecessor dominators, and then their interaction?
It seem to me that this loop should be removed - unless I am missing something here
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.
It's the safest way to start set intersections. I could store the first set as the base and start intersecting all sets with that but the first set may not exist. So the safest way is to get every element from every set, and start to intersect every set with that big set
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.
gotcha that makes sense :)
thanks @Tiko7454 |
For visibility, there was an issue with the recent add of the vyper support (see #2171). We will investigate this further |
Fixes #1973 the way I mentioned in the bug report