Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/tree-prof/cold_partition_label.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line source
/* Test case to check if function foo gets split and the cold function gets a label. */ /* { dg-require-effective-target freorder } */ /* { dg-options "-O2 -freorder-blocks-and-partition -save-temps -fdump-tree-optimized" } */ #define SIZE 10000 const char *sarr[SIZE]; const char *buf_hot; const char *buf_cold; __attribute__((noinline)) void foo (int path) { int i; if (path) { for (i = 0; i < SIZE; i++) sarr[i] = buf_hot; } else { for (i = 0; i < SIZE; i++) sarr[i] = buf_cold; } } int main (int argc, char *argv[]) { int i; buf_hot = "hello"; buf_cold = "world"; for (i = 0; i < 1000000; i++) foo (argc); return 0; } /* { dg-final-use { scan-assembler "foo\[._\]+cold\[\._\]+0" { target *-*-linux* *-*-gnu* } } } */ /* { dg-final-use { scan-assembler "size\[ \ta-zA-Z0-0\]+foo\[._\]+cold\[\._\]+0" { target *-*-linux* *-*-gnu* } } } */ /* { dg-final-use { scan-tree-dump-not "Invalid sum" "optimized"} } */