On 03/23/2015 10:35 AM, Ajit Kumar Agarwal wrote:
Hello All:
Did you get a chance to look at the below patch.
Thanks & Regards
Ajit
-----Original Message-----
From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-ow...@gcc.gnu.org] On
Behalf Of Ajit Kumar Agarwal
Sent: Wednesday, March 04, 2015 3:57 PM
To: vmaka...@redhat.com; GCC Patches
Cc: Vinod Kathail; Shail Aditya Gupta; Vidhumouli Hunsigida; Nagaraju Mekala
Subject: [Patch] OPT: Update heuristics for loop-invariant for address
arithmetic.
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 <ajit...@xilinx.com>
* 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.
This work should probably be coordinated with the Intel folks who are
looking to change if/when LICM for address expressions.
See the thread:
[PATCH, PR target/65103, 2/3] Propagate address constants into loops for
i386
jeff