My experience with -fwhole-program -fcombine has been less than stellar. I have seen a 25% code reduction, which is great! But I have also seen up to 25% code *increase*, which is really bad. I would have thought that, at the very least, they would ensure that the code size would not increase. But because of this wide range of results, I can't always rely on those switches, which is a real shame.
I think that ad hoc and embedded-inappropriate inlining heuristics are entirely to blame here. Both llvm and gcc use speed-focused inlining where code bloat is an afterthought. For a target like AVR it won't be hard to improve this.
John _______________________________________________ AVR-GCC-list mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avr-gcc-list
