On 06/09/10 07:16, Yao Qi wrote:
I've put some ideas in this wiki page, https://wiki.linaro.org/Internal/People/YaoQi/Thumb2Optimize
We probably shouldn't post Internal links to this public list. Is there any reason this can't be done in the open?
Now for the page content ....
I think you should make clear that we're after _size_ optimizations in this case, if just for readability's sake.
1. This example (regardless of correctness) gains no size improvement.
2. This code is clearly an inlined memset. It might be that a branch instruction with constants and such is not (much) smaller. We should investigate what GCC does for different size writes.
3. This sounds like a nightmare for register allocation, but if you could make it happen then great :)
....
6. Is that an EEMBC function? We can't change those in the source. Are you proposing a -fwhole-program optimization? (Of course, enabling inlining at -Os for trivial functions like this might work without -fwhole-program or LTO, if it's in the same TU.)
Other ideas:
* https://bugs.launchpad.net/gcc-linaro/+bug/625233 * Investigate reduced alignment constraints?
Andrew