Dávid Balatoni

Results 46 comments of Dávid Balatoni

I suspect it's the fault of `(sp8 >= 0) && (sp8 < 3)`

Increasing the max_count on line 899 of if_statements.py `values = bounds.values(max_count=1)` to the number of of immediate fallthroughs (implicit cases) you want makes m2c generate the correct output. I wonder...

This approach on its own creates false positives though.

TODO: There's a bug that causes the copy to go onto `->unk0` instead of the argument. Another example is `sp8[0] = lbl_8011E300;` instead of `sp8 = lbl_8011E300;`.

We do support addresses not starting at 0 now, but I wonder if that causes false positives on -O4.

It also seems to make no difference whether we manually call `dest.type.unify(source.type)` in the code. It probably already happens somewhere else.

Apropos: opening a function takes the same amount of time.

As I'm probably the only one using --reg-vars and doing it properly is tricky, I'd prefer working on my other ideas first! I'll come back to this soon.

Maybe we should check that we have the same symbol on the left and right split?