OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [autopar/] [pr49580.c] - Rev 689

Compare with Previous | Blame | View Log

/* PR debug/49580 */
/* { dg-do compile } */
/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details" } */
 
#include <stdarg.h>
#include <stdlib.h>
 
#define N 1600
 
unsigned int ub[N];
unsigned char reg_has_output_reload[N];
unsigned int uc[N];
 
 __attribute__ ((noinline)) 
 void main2 (unsigned int regno, unsigned int n_reloads)
 {
  unsigned int nr=0; 
 
  if (regno> ub[regno])
    nr=regno;
  else
    nr=ub[nr];
 
  while (nr-- > 0)
    if (n_reloads == 0 || reg_has_output_reload[regno + nr] == 0)
      ub[regno + nr] = 0;
}
 
int main (void)
{ 
  main2 (799, 0);
  return 0;
}
 
 
/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */
/* { dg-final { cleanup-tree-dump "parloops" } } */
 
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.