aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/s390
diff options
context:
space:
mode:
authorStefan Schulze Frielinghaus <stefansf@linux.ibm.com>2021-11-03 09:39:27 +0100
committerStefan Schulze Frielinghaus <stefansf@linux.ibm.com>2021-11-03 09:39:27 +0100
commitea2ab805acdd023f1c43302723c1fa1349be9cca (patch)
tree7a52820b10ea27fd0f56926fb787921ba5564cce /gcc/config/s390
parent62af7d9402f551fa708125fafed2950d8912b25e (diff)
downloadgcc-ea2ab805acdd023f1c43302723c1fa1349be9cca.zip
gcc-ea2ab805acdd023f1c43302723c1fa1349be9cca.tar.gz
gcc-ea2ab805acdd023f1c43302723c1fa1349be9cca.tar.bz2
IBM Z: Free bbs in s390_loop_unroll_adjust
gcc/ChangeLog: * config/s390/s390.c (s390_loop_unroll_adjust): In case of early exit free bbs.
Diffstat (limited to 'gcc/config/s390')
-rw-r--r--gcc/config/s390/s390.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index b2f2f64..510e7f5 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -15400,7 +15400,10 @@ s390_loop_unroll_adjust (unsigned nunroll, struct loop *loop)
|| (GET_CODE (SET_SRC (set)) == COMPARE
&& GET_MODE (XEXP (SET_SRC (set), 0)) == BLKmode
&& GET_MODE (XEXP (SET_SRC (set), 1)) == BLKmode)))
- return 1;
+ {
+ free (bbs);
+ return 1;
+ }
FOR_EACH_SUBRTX (iter, array, PATTERN (insn), NONCONST)
if (MEM_P (*iter))