Summary:
* Code size benchmark analysis.
* Linaro binary toolchain 2012.04 release.

Details:
1. Tuning the heuristic to assign register for copies.
  * Take the CONFLICT_HARD_REGS and HARD_REG_COSTS of copies into
account when conflict_costs is NULL in
update_conflict_hard_regno_costs, which handles the following case:

   a = ...
   ...
   b = a   // a can be assigned with r3 or r5 which have the same min_cost.
   ...     // b is conflicted with r3 or the cost of r3 is very high
   = b

   In this case, if a is assigned with r3, b can not be assigned with
r3, so the copy "b = a" can not be optimized. When taking the
CONFLICT_HARD_REGS or HARD_REG_COSTS of b into account, we can assign
a with r5.

2. Linaro binary toolchain 2012.04 release.
  * Update gdb/TOOLCHAIN_PKGVERSION/README to 2012.04.
  * Test workaround localization patch to fix lp:918926.
    * Local build and tests show the toolchain can find the
corresponding .mo file.
    * But if the host system does not have the corresponding font
packages, it will show some mess characters.
    * gdb does not have gdb.mo.

3. Investigate code size regressions in 4.7.
  * Loop invariant hoisting might increase register pressure, which
leads to much more spilling.

Plans:
* Finalize Linaro binary toolchain 2012.04 release
* Investigate other code size regressions in 4.7.

Planed leaves:
* Labor Day’s holiday: April 30 and May 1.

Best regards!
-Zhenqiang

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to