totalspectrum / spin2cpp

Tool to convert Parallax Propeller Spin code to PASM, C++ or C
Other
46 stars 17 forks source link

Add new simple opt pass to get rid of local-to-result moves in all cases #451

Open Wuerfel21 opened 3 weeks ago

Wuerfel21 commented 3 weeks ago

Behind experimental flag, but I think this is conceptually really safe.

Wuerfel21 commented 3 weeks ago

And as I say that it gums up the tests...

Wuerfel21 commented 3 weeks ago

OK, I think all the bugs have been fixed. Remaining expect fails are mostly noise and some rightfully removed MOVs.

Wuerfel21 commented 3 weeks ago

(forgot to mention, there's a bugfix for situations involving IsDeadAfter, cogwr and result registers in this)

Wuerfel21 commented 1 week ago

To clarify: This should be fine now. (but still test it yourself, 4 eyes etc etc) Also there's a bugfix in here that's been exposed by this work but is generally applicable.

(also behind experimental, so no immediate end-user explosion)

Wuerfel21 commented 1 week ago

(also just rebased it)