This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] speedup reg_overlap_mentioned_p


bonzini <paolo.bonzini@polimi.it> writes:

> +  for (;;)
> +    {
>    switch (GET_CODE (x))
>      {
> +        case STRICT_LOW_PART:
> +        case ZERO_EXTRACT:
> +        case SIGN_EXTRACT:
> +          /* Overly conservative.  */
> +          x = XEXP (x, 0);
> +          continue;
> +
>      case SUBREG:
>        regno = REGNO (SUBREG_REG (x));
>        if (regno < FIRST_PSEUDO_REGISTER)
> @@ -1578,10 +1583,14 @@
>        }
>  
>      default:
> -      break;
> +#ifdef ENABLE_CHECKING
> +          if (CONSTANT_P (x))
> +#endif
> +            return 0;
>      }
>  
>    abort ();
> +    }

This looks strange. Why do you add the for (;;) ?  I don't see a
reason for this...

Andreas
-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]