#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *);
void usage(void) {
  printf(
      "-h          print this help and exit\n"
      "-p <num>    TCP port number to listen on (default: 11210)\n"
      "-t <num>    number of threads to use (default: 4)\n"
      "-T          set distinct cpu affinity for threads, round-robin\n"
      "-s <server> memcache server to connect to at backend\n"
      "-u <users>  number of test users to generate.\n"
      "-d <num>    mean (normal distribution) of allocation per-request "
      "(default: 0)\n"
      "-D <num>    stdev (normal distribution) of allocation per-request "
      "(default: 0)\n"
      "-r <num>    mean (normal distribution) of response-time (default: 0)\n"
      "-R <num>    stdev (normal distribution) of response-time (default: 0)\n"
      "-C <num>    response-time delay cutoff (below this, no delay, default: "
      "0)\n"
      "-v          verbose (print errors/warnings while in event loop)\n"
      "-vv         very verbose (also print client commands/reponses)\n"
      "-vvv        extremely verbose (also print internal state "
      "transitions)\n");
  return;
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<usage>:
lea    0xee9(%rip),%rdi
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [875 x i8] c"-h print this help and exit\0A-p <num> TCP port number to listen on (default: 11210)\0A-t <num> number of threads to use (default: 4)\0A-T set distinct cpu affinity for threads, round-robin\0A-s <server> memcache server to connect to at backend\0A-u <users> number of test users to generate.\0A-d <num> mean (normal distribution) of allocation per-request (default: 0)\0A-D <num> stdev (normal distribution) of allocation per-request (default: 0)\0A-r <num> mean (normal distribution) of response-time (default: 0)\0A-R <num> stdev (normal distribution) of response-time (default: 0)\0A-C <num> response-time delay cutoff (below this, no delay, default: 0)\0A-v verbose (print errors/warnings while in event loop)\0A-vv very verbose (also print client commands/reponses)\0A-vvv extremely verbose (also print internal state transitions)\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([875 x i8], [875 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [874 x i8] c"-h print this help and exit\0A-p <num> TCP port number to listen on (default: 11210)\0A-t <num> number of threads to use (default: 4)\0A-T set distinct cpu affinity for threads, round-robin\0A-s <server> memcache server to connect to at backend\0A-u <users> number of test users to generate.\0A-d <num> mean (normal distribution) of allocation per-request (default: 0)\0A-D <num> stdev (normal distribution) of allocation per-request (default: 0)\0A-r <num> mean (normal distribution) of response-time (default: 0)\0A-R <num> stdev (normal distribution) of response-time (default: 0)\0A-C <num> response-time delay cutoff (below this, no delay, default: 0)\0A-v verbose (print errors/warnings while in event loop)\0A-vv very verbose (also print client commands/reponses)\0A-vvv extremely verbose (also print internal state transitions)\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([874 x i8], [874 x i8]* @str, i64 0, i64 0))
ret void
}