diff options
Diffstat (limited to 'meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch')
-rw-r--r-- | meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch new file mode 100644 index 0000000000..8f5bed52a6 --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch @@ -0,0 +1,47 @@ +From a28768eec0a9d5137196bed8e8c6d284cf4c3cbc Mon Sep 17 00:00:00 2001 +From: Mahesh Bodapati <mbodapat@xilinx.com> +Date: Tue, 17 Jan 2017 17:33:31 +0530 +Subject: [PATCH 23/54] [Patch] OPT: Update heuristics for loop-invariant for + address arithme. .tic. + +The changes are made in the patch to update the heuristics +for loop invariant for address arithmetic. The heuristics is +changed to calculate the estimated register pressure cost when +ira based register pressure is not enabled. The estimated +register pressure cost modifies the existing calculation cost +associated to perform the Loop invariant code motion for address +arithmetic. + +ChangeLog: +2015-06-17 Ajit Agarwal <ajitkum@xilinx.com> + Nagaraju Mekala <nmekala@xilinx.com> + + * loop-invariant.c (gain_for_invariant): update the + heuristics for estimate_reg_pressure_cost. + +Signed-off-by:Ajit Agarwal ajitkum@xilinx.com + Nagaraju Mekala nmekala@xilinx.com +--- + gcc/loop-invariant.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c +index bd31a51..8e22ca0 100644 +--- a/gcc/loop-invariant.c ++++ b/gcc/loop-invariant.c +@@ -1466,10 +1466,8 @@ gain_for_invariant (struct invariant *inv, unsigned *regs_needed, + + if (! flag_ira_loop_pressure) + { +- size_cost = (estimate_reg_pressure_cost (new_regs[0] + regs_needed[0], +- regs_used, speed, call_p) +- - estimate_reg_pressure_cost (new_regs[0], +- regs_used, speed, call_p)); ++ size_cost = estimate_reg_pressure_cost (regs_needed[0], ++ regs_used, speed, call_p); + } + else if (ret < 0) + return -1; +-- +2.7.4 + |