When I first checked out the new XC8 I was a little set off. My code needed many changes to compile and that is never fun and then the code was huge. I started doing some research and found many blogs talking about the free version of the compiler inserting code that isn’t needed to add bloat. Everyone figured this was a tactic to get users to buy the pro version. Every problem listed by others has been addressed in the next release. I found that the compiler was setting the BSR multiple times. So I contacted PR rather than tech support to point out this and all the negative articles. Rest assured this is not intentional. The compiler has some bugs to work out and the problems are being worked out. The next release fixes the problem I found.
I almost went to Atmel ATMega32 instead of the PIC18F but I can’t find an ATMega that can provide the same ram and flash as the PIC. The GCC didn’t do any better job of optimizing either. I did find that SDCC was terrible at optimizations. I will admit my code is huge but the XC8 does the job in free mode with the erros and does an awesome job in pro mode.