Peeling of once rolling loops limited?

Richard Guenther rguenth@tat.physik.uni-tuebingen.de
Wed Feb 25 18:09:00 GMT 2004


Hi!

Why is peeling of once rolling loops limited?  And why it is limited by 
 a parameter that is not even documented?  Shouldn't peeling a once 
rolling loop not always be an improvement?

unroll-loops.c:267
/* Decide whether the LOOP is once rolling and suitable for complete
   peeling.  */
static void
decide_peel_once_rolling (struct loop *loop, int flags ATTRIBUTE_UNUSED)
{
  if (rtl_dump_file)
    fprintf (rtl_dump_file, ";; Considering peeling once rolling loop\n");
  /* Is the loop small enough?  */
  if ((unsigned) PARAM_VALUE (PARAM_MAX_ONCE_PEELED_INSNS) < loop->ninsns)
    {
      if (rtl_dump_file)
        fprintf (rtl_dump_file, ";; Not considering loop, is too big\n");
      return;
    }
the above test should probably be removed together with all traces of 
the PARAM_MAX_ONCE_PEELED_INSNS param.

Thanks,
Richard.



More information about the Gcc mailing list