On Sat, 30 Jul 2016, Philipp Klaus Krause wrote:
> On 30.07.2016 10:02, Erik Petrich wrote: >> >> >> On Sat, 30 Jul 2016, alvin albrecht wrote: >> >>> >>> >>> Sometime after #9676 and up to and including #9682, I am seeing an >>> increase >>> in z80 binary sizes of 25% in some compiles. It seems to be connected to >>> increase spill to the stack and higher use of index registers in >>> accessing >>> stack variables. I will try to look closer to nail down what it is >>> but I am >>> wondering if anyone else is seeing this. >>> >>> >>> I can give a link to before and after list files showing asm generated by >>> #9676 vs #9692 for a particular case of a binary increasing from 39k >>> to 51k. >>> >>> https://drive.google.com/file/d/0B6XhJJ33xpOWLTJRTkgxRzNXQ2s/view?usp=shari >>> >>> ng >> >> Yes, I can reproduce this. It appears to be revision #9682 (the patch >> associated with bug #2467) where the spill location use increases. >> >> Erik > > Do we have a resonably small, self-contained C code example to reproduce > this? > > Philipp This is what I was looking at (adapted from near the beginning of Alvin's example): float RND0(void) { return 0; } float RND(float n) { return (n == 0.0) ? RND0() : RND0()*n+1.0; } The code for RND0() is just trivial filler and nothing unexpected happens there, but RND() suddenly uses a sloc instead of registers in revision #9682. Erik ------------------------------------------------------------------------------ _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user