Hello All: The changes are made in the patch to update the heuristics for loop invariant for address arithemetic at RTL Level. The heuristics are updated with the consideration of single def and use for register pressure calculation instead Of ignoring it and also to update the estimated register pressure cost along with the check of actual uses with Address uses.
With the above change, gains are seen in the Geomean for Mibench/EEMBC
benchmarks for microblaze target. No
Regression is seen in deja GNU regressions tests for microblaze.
Please let us know your feedback.
commit 039b95028c93f99fc1da7fa255f9b5fff4e17223
Author: Ajit Kumar Agarwal <ajitkum@xhdspdgnu.(none)>
Date: Wed Mar 4 15:46:45 2015 +0530
[Patch] OPT: Update heuristics for loop-invariant for address arithmetic.
The changes are made in the patch to update the heuristics
for loop invariant for address arithmetic. The heuristics is
changed to incorporate the single def and use in the register
pressure calculation in order to move the invariant out of
loop. The heuristics are further changed to not to use the
check for addr uses with actual uses. Also changes are done in
the heuristics of estimated register pressure cost.
ChangeLog:
2015-03-04 Ajit Agarwal <[email protected]>
* loop-invariant.c (gain_for_invariant): update the
heuristics for estimate_reg_pressure_cost.
(get_inv_cost): Remove the check for addr uses with
actual uses. Add the single def and use in the register
pressure for invariants.
Signed-off-by:Ajit Agarwal [email protected]
Thanks & Regards
Ajit
0001-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch
Description: 0001-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch
