[PATCH][modulo-sched] Minor cosmetic change

Ayal Zaks ZAKS@il.ibm.com
Mon Sep 17 14:13:00 GMT 2007


Revital1 Eres/Haifa/IBM wrote on 17/09/2007 10:05:32:

> Hello,
>
> This patch contains a minor cosmetic change mentioned in -
> http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01800.html.
>
> Tested on ppc64 (only C due to recent failure with mainline on ppc).
>
> OK for mainline?
>

ok, with minor comment below.
Ayal.

> :ADDPATCH middle-end (modulo-sched):

> Thanks,
> Revital
>
> 2007-09-17  Ayal Zaks  <zaks@il.ibm.com>
>             Revital Eres  <eres@il.ibm.com>
>
>         * modulo-sched.c (doloop_register_get): Rewrite the loop which
>         checks whether the count_reg is found outside the control part.
>
> Index: modulo-sched.c
> ===================================================================
> --- modulo-sched.c      (revision 128513)
> +++ modulo-sched.c      (working copy)
> @@ -286,8 +286,7 @@
>  doloop_register_get (rtx head ATTRIBUTE_UNUSED, rtx tail
ATTRIBUTE_UNUSED)
>  {
>  #ifdef HAVE_doloop_end
> -  rtx reg, condition, insn;
> -  bool found = false;
> +  rtx reg, condition, insn, first_insn_not_to_check;
>
>    if (!JUMP_P (tail))
>      return NULL_RTX;
> @@ -309,25 +308,18 @@
>       until the decrement.  We assume the control part consists of
>       either a single (parallel) branch-on-count or a (non-parallel)
>       branch immediately preceded by a single (decrement) insn.  */
> -  for (insn = head; insn != PREV_INSN (tail); insn = NEXT_INSN (insn))
> -    if ((found = reg_mentioned_p (reg, insn)) == true)
> -      break;
> -  if (found)
> -    {
> -      if (dump_file)
> -        fprintf (dump_file, "SMS count_reg found outside control\n");
> +  first_insn_not_to_check = (GET_CODE (PATTERN (tail)) == PARALLEL ?
tail
> +                             : PREV_INSN (tail));
>
> -      return NULL_RTX;
> -    }
> -  /* One last check in case the do-loop pattern is parallel.  */
> -  if (GET_CODE (PATTERN (tail)) == PARALLEL)
> -    if (reg_mentioned_p (reg, PREV_INSN (tail)))
> +  for (insn = head; insn != first_insn_not_to_check; insn = NEXT_INSN
(insn))
> +    if (reg_mentioned_p (reg, insn))
>        {
>          if (dump_file)
>            fprintf (dump_file, "SMS count_reg found outside control\n");
>

May as well dump the insn and the reg that it mentions.

>          return NULL_RTX;
>        }
> +
>    return reg;
>  #else
>    return NULL_RTX;



More information about the Gcc-patches mailing list