This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH GCC]Refactor IVOPT.
- From: Martin LiÅka <mliska at suse dot cz>
- To: Bin Cheng <Bin dot Cheng at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: nd <nd at arm dot com>
- Date: Mon, 25 Apr 2016 16:49:35 +0200
- Subject: Re: [PATCH GCC]Refactor IVOPT.
- Authentication-results: sourceware.org; auth=none
- References: <DB5PR08MB11448195BF38888FA6AEC896E76E0 at DB5PR08MB1144 dot eurprd08 dot prod dot outlook dot com>
Hello.
Please consider application of the following patch, it fixes
a coding style issue and a memory leak.
Thanks,
Martin
>From 6afc975de0b6de76aa51b8c2ef741cd72c76dc75 Mon Sep 17 00:00:00 2001
From: marxin <mliska@suse.cz>
Date: Mon, 25 Apr 2016 13:50:41 +0200
Subject: [PATCH 1/4] Fix coding style and a memory leak in IVOPTS
gcc/ChangeLog:
2016-04-25 Martin Liska <mliska@suse.cz>
* tree-ssa-loop-ivopts.c (iv_ca_dump): Fix level of indentation.
(free_loop_data): Release vuses of groups.
---
gcc/tree-ssa-loop-ivopts.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index 18c1773..9314363 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -6311,15 +6311,15 @@ iv_ca_dump (struct ivopts_data *data, FILE *file, struct iv_ca *ivs)
ivs->cand_cost, ivs->cand_use_cost.cost, ivs->cand_use_cost.complexity);
bitmap_print (file, ivs->cands, " candidates: ","\n");
- for (i = 0; i < ivs->upto; i++)
+ for (i = 0; i < ivs->upto; i++)
{
struct iv_group *group = data->vgroups[i];
struct cost_pair *cp = iv_ca_cand_for_group (ivs, group);
if (cp)
- fprintf (file, " group:%d --> iv_cand:%d, cost=(%d,%d)\n",
- group->id, cp->cand->id, cp->cost.cost, cp->cost.complexity);
+ fprintf (file, " group:%d --> iv_cand:%d, cost=(%d,%d)\n",
+ group->id, cp->cand->id, cp->cost.cost, cp->cost.complexity);
else
- fprintf (file, " group:%d --> ??\n", group->id);
+ fprintf (file, " group:%d --> ??\n", group->id);
}
for (i = 1; i <= data->max_inv_id; i++)
@@ -7503,6 +7503,7 @@ free_loop_data (struct ivopts_data *data)
for (j = 0; j < group->vuses.length (); j++)
free (group->vuses[j]);
+ group->vuses.release ();
BITMAP_FREE (group->related_cands);
for (j = 0; j < group->n_map_members; j++)
--
2.8.1