aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tree-ssa/pr91579.c
blob: ee752be1a85fc70eee3d51a98061f30073152fe1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-tailr1" } */

typedef long unsigned int size_t;
typedef int (*compare_t)(const void *, const void *);

int partition (void *base, size_t nmemb, size_t size, compare_t cmp);

void
my_qsort (void *base, size_t nmemb, size_t size, compare_t cmp)
{
  int pt;
  if (nmemb > 1)
    {
      pt = partition (base, nmemb, size, cmp);
      my_qsort (base, pt + 1, size, cmp);
      my_qsort ((void*)((char*) base + (pt + 1) * size),
		nmemb - pt - 1, size, cmp);
    }
}

/* { dg-final { scan-tree-dump-not "cmp\[^\r\n\]*PHI" "tailr1" } } */