Home | History | Annotate | Download | only in runtime
      1 #include <inttypes.h>
      2 #include <stdint.h>
      3 #include <stdio.h>
      4 
      5 struct BlockProfileInfo {
      6   uint64_t Counter;
      7   const char *const BlockName;
      8 } __attribute__((aligned(8)));
      9 
     10 extern const struct BlockProfileInfo *__Sz_block_profile_info;
     11 
     12 static const char SubzeroLogo[] =
     13     "\n"
     14     "\n"
     15     "__________________________________________________________________________"
     16     "____________________________\n"
     17     " _____/\\\\\\\\\\\\\\\\\\\\\\__________________/"
     18     "\\\\\\_______________________________________________________________\n"
     19     "  "
     20     "___/\\\\\\/////////\\\\\\_______________\\/"
     21     "\\\\\\_______________________________________________________________\n"
     22     "   "
     23     "__\\//\\\\\\______\\///________________\\/"
     24     "\\\\\\_______________________________________________________________\n"
     25     "    "
     26     "___\\////\\\\\\__________/\\\\\\____/\\\\\\_\\/\\\\\\_________/"
     27     "\\\\\\\\\\\\\\\\\\\\\\_____/\\\\\\\\\\\\\\\\___/\\\\/\\\\\\\\\\\\\\____/"
     28     "\\\\\\\\\\____\n"
     29     "     "
     30     "______\\////\\\\\\______\\/\\\\\\___\\/\\\\\\_\\/\\\\\\\\\\\\\\\\\\__\\///"
     31     "////\\\\\\/____/\\\\\\/////\\\\\\_\\/\\\\\\/////\\\\\\_/\\\\\\///"
     32     "\\\\\\__\n"
     33     "      "
     34     "_________\\////\\\\\\___\\/\\\\\\___\\/\\\\\\_\\/\\\\\\////\\\\\\______/"
     35     "\\\\\\/_____/\\\\\\\\\\\\\\\\\\\\\\__\\/\\\\\\__\\///__/\\\\\\__\\//"
     36     "\\\\\\_\n"
     37     "       "
     38     "__/\\\\\\______\\//\\\\\\__\\/\\\\\\___\\/\\\\\\_\\/\\\\\\__\\/\\\\\\____/"
     39     "\\\\\\/______\\//\\\\///////___\\/\\\\\\_______\\//\\\\\\__/\\\\\\__\n"
     40     "        "
     41     "_\\///\\\\\\\\\\\\\\\\\\\\\\/___\\//\\\\\\\\\\\\\\\\\\__\\/"
     42     "\\\\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\\\\\\\\__\\//\\\\\\\\\\\\\\\\\\\\_\\/"
     43     "\\\\\\________\\///\\\\\\\\\\/___\n"
     44     "         "
     45     "___\\///////////______\\/////////___\\/////////___\\///////////____\\/////"
     46     "/////__\\///___________\\/////_____\n"
     47     "          "
     48     "__________________________________________________________________________"
     49     "____________________________\n"
     50     "\n"
     51     "\n";
     52 
     53 void __Sz_profile_summary() {
     54   printf("%s", SubzeroLogo);
     55   for (const struct BlockProfileInfo **curr = &__Sz_block_profile_info;
     56        *curr != NULL; ++curr) {
     57     printf("%" PRIu64 "\t%s\n", (*curr)->Counter, (*curr)->BlockName);
     58   }
     59   fflush(stdout);
     60 }
     61