diff mbox series

IBM Z: Free bbs in s390_loop_unroll_adjust

Message ID 20211102173118.2373100-1-stefansf@linux.ibm.com
State New
Headers show
Series IBM Z: Free bbs in s390_loop_unroll_adjust | expand

Commit Message

Stefan Schulze Frielinghaus Nov. 2, 2021, 5:31 p.m. UTC
Bootstrapped and regtested on IBM Z.  Ok for mainline?

gcc/ChangeLog:

	* config/s390/s390.c (s390_loop_unroll_adjust): In case of early
	exit free bbs.
---
 gcc/config/s390/s390.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Andreas Krebbel Nov. 3, 2021, 7:19 a.m. UTC | #1
On 11/2/21 18:31, Stefan Schulze Frielinghaus wrote:
> Bootstrapped and regtested on IBM Z.  Ok for mainline?
> 
> gcc/ChangeLog:
> 
> 	* config/s390/s390.c (s390_loop_unroll_adjust): In case of early
> 	exit free bbs.

Ok. Thanks!

Andreas
Richard Biener Nov. 3, 2021, 8:16 a.m. UTC | #2
On Tue, Nov 2, 2021 at 6:33 PM Stefan Schulze Frielinghaus via
Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
>
> Bootstrapped and regtested on IBM Z.  Ok for mainline?

OK (obvious even).

Thanks,
Richard.

> gcc/ChangeLog:
>
>         * config/s390/s390.c (s390_loop_unroll_adjust): In case of early
>         exit free bbs.
> ---
>  gcc/config/s390/s390.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
> index b2f2f6417b3..510e7f58a3b 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))
> --
> 2.31.1
>
diff mbox series

Patch

diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index b2f2f6417b3..510e7f58a3b 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))