From: Aditya Kumar Date: Thu, 21 Jan 2016 02:13:24 +0000 (+0000) Subject: fix memory leak in scop-detection X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=eaca025e57accd92cabab3eaf09d5a27e056d184;p=gcc.git fix memory leak in scop-detection * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): Free dom and loops. (scop_detection::loop_body_is_valid_scop): Free bbs. Co-Authored-By: Sebastian Pop From-SVN: r232655 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ca0bb510d99..3d9efe2679f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-01-21 Aditya Kumar + Sebastian Pop + + * graphite-scop-detection.c + (scop_detection::harmful_loop_in_region): Free dom and loops. + (scop_detection::loop_body_is_valid_scop): Free bbs. + 2016-01-21 Aditya Kumar Sebastian Pop diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index 68b9f4df863..d1b0fec1d4b 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -1088,7 +1088,11 @@ scop_detection::harmful_loop_in_region (sese_l scop) const any loop fully contained in the scop: other bbs are checked below in loop_is_valid_in_scop. */ if (harmful_stmt_in_bb (scop, bb)) - return true; + { + dom.release (); + BITMAP_FREE (loops); + return true; + } } } @@ -1104,13 +1108,14 @@ scop_detection::harmful_loop_in_region (sese_l scop) const if (!loop_is_valid_in_scop (loop, scop)) { + dom.release (); BITMAP_FREE (loops); return true; } } - BITMAP_FREE (loops); dom.release (); + BITMAP_FREE (loops); return false; } @@ -1503,7 +1508,10 @@ scop_detection::loop_body_is_valid_scop (loop_p loop, sese_l scop) const basic_block bb = bbs[i]; if (harmful_stmt_in_bb (scop, bb)) - return false; + { + free (bbs); + return false; + } } free (bbs);