mcs51 code in device/lib
Also (though I don't know if this is the right place to report it) the library reorganisation broke the pdk15-stack-auto target. I suspect that some support routines written in assembler are now shared across all pdk targets even where the the .s files suitable for pdk14 are not suitable for pdk15-stack-auto.
In the last few months, we have seen a few LLM-ritten bug reports and patches by various users, and a lot of them by @cs99cjb. There also is https://sourceforge.net/p/sdcc/wiki/LLM%20policy/ now. Our capacity for reviewing patches is somewhat limited. So putting all the information from your work into the SDCC ticket trackers is probably too much for now. Maybe start with the ones in your "trivial fixes" category, since they should be easy to review? The information from the "already fixed in trunk"...
Looks like there is still an issue [bugs:#4252] reported a two hours ago.
Not a big surprise: peephole optimizer rules get tested via regression tests, where C code is compiled, so bugs in peephole optimizer rules that are not triggered by asm SDCC generates from C code tend to be harder to find.
Workaround: make the label global, i.e.: l_neg_l::
Looks good to me.
Looks ok to me.