I downloaded and compiled the current 'next' branch to try out the modifications you made to notUsed().

I can report that SDCC is now successfully applying the rules in places I would expect. It's now applying in 6 places whereas before it was only 2. There are still a couple of places in my code where it's not applied, but I believe it is justified in not doing so for those; when the peephole optimiser is following the code I believe it is running into inline assembly (a simple "wdreset"), which aborts the scan and causes notUsed() to return false.

It's a shame that SDCC does not natively generate code to use t1sn.io/t0sn.io for single-bit IO register tests, because I don't believe the peephole optimiser's behaviour in respect of inline assembly causing rules not to be applied can (or should) be changed, and yet in my code I need these snippets of inline assembly.

Is there any scope for changing the PDK code generation to use t1sn.io/t0sn.io?

Regards,
Basil Hussain


_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to