Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/sms-9.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves" } */ #include <stdlib.h> #include <stdarg.h> struct df_ref_info { unsigned int *begin; unsigned int *count; }; extern void *memset (void *s, int c, __SIZE_TYPE__ n); __attribute__ ((noinline)) int df_reorganize_refs_by_reg_by_insn (struct df_ref_info *ref_info, int num, unsigned int start) { unsigned int m = num; unsigned int offset = 77; unsigned int r; for (r = start; r < m; r++) { ref_info->begin[r] = offset; offset += ref_info->count[r]; ref_info->count[r] = 0; } return offset; } int main () { struct df_ref_info temp; int num = 100; unsigned int start = 5; int i, offset; temp.begin = malloc (100 * sizeof (unsigned int)); temp.count = malloc (100 * sizeof (unsigned int)); memset (temp.begin, 0, sizeof (unsigned int) * num); memset (temp.count, 0, sizeof (unsigned int) * num); for (i = 0; i < num; i++) temp.count[i] = i + 1; offset = df_reorganize_refs_by_reg_by_insn (&temp, num, start); if (offset != 5112) abort (); free (temp.begin); free (temp.count); return 0; }