#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 mpc_show_usage(void) {
  printf("Usage: mpc [-hvfr] [-l log file] [-L log level] "
         "\x0d\x0a"
         "           [-c concurrency] [-u url file] [-m http method]"
         "\x0d\x0a"
         "           [-R result file] [-M result mark string] "
         "\x0d\x0a"
         "           [-a specified address] [-t run time]"
         "\x0d\x0a"
         "\x0d\x0a"
         "Options:"
         "\x0d\x0a"
         "  -h, --help            : this help"
         "\x0d\x0a"
         "  -v, --version         : show version and exit"
         "\x0d\x0a"
         "  -C, --conf=S          : configuration file"
         "\x0d\x0a"
         "  -u, --url-file        : url file"
         "\x0d\x0a"
         "  -a, --address=S       : use address specified instead of DNS"
         "\x0d\x0a"
         "  -f, --follow-location : follow 302 redirect"
         "\x0d\x0a"
         "  -r, --replay          : replay the url file"
         "\x0d\x0a"
         "  -l, --log-file=S      : log file"
         "\x0d\x0a"
         "  -L, --log-level=S     : log level"
         "\x0d\x0a"
         "  -c, --concurrency=N   : concurrency"
         "\x0d\x0a"
         "  -m, --http-method=S   : http method GET, HEAD"
         "\x0d\x0a"
         "  -R, --result-file=S   : show result in a file"
         "\x0d\x0a"
         "  -M, --result-mark=S   : result file mark string"
         "\x0d\x0a"
         "  -t, --run-time=Nm     : timed testing where \"m\" is modifer"
         "\x0d\x0a"
         "                          S(second), M(minute), H(hour), D(day)"
         "\x0d\x0a"
         "\x0d\x0a");
}


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

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

LLVM IR (-O0):
@.str = [942 x i8] c"Usage: mpc [-hvfr] [-l log file] [-L log level] \0D\0A [-c concurrency] [-u url file] [-m http method]\0D\0A [-R result file] [-M result mark string] \0D\0A [-a specified address] [-t run time]\0D\0A\0D\0AOptions:\0D\0A -h, --help : this help\0D\0A -v, --version : show version and exit\0D\0A -C, --conf=S : configuration file\0D\0A -u, --url-file : url file\0D\0A -a, --address=S : use address specified instead of DNS\0D\0A -f, --follow-location : follow 302 redirect\0D\0A -r, --replay : replay the url file\0D\0A -l, --log-file=S : log file\0D\0A -L, --log-level=S : log level\0D\0A -c, --concurrency=N : concurrency\0D\0A -m, --http-method=S : http method GET, HEAD\0D\0A -R, --result-file=S : show result in a file\0D\0A -M, --result-mark=S : result file mark string\0D\0A -t, --run-time=Nm : timed testing where \22m\22 is modifer\0D\0A S(second), M(minute), H(hour), D(day)\0D\0A\0D\0A\00"
define void @mpc_show_usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([942 x i8], [942 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [941 x i8] c"Usage: mpc [-hvfr] [-l log file] [-L log level] \0D\0A [-c concurrency] [-u url file] [-m http method]\0D\0A [-R result file] [-M result mark string] \0D\0A [-a specified address] [-t run time]\0D\0A\0D\0AOptions:\0D\0A -h, --help : this help\0D\0A -v, --version : show version and exit\0D\0A -C, --conf=S : configuration file\0D\0A -u, --url-file : url file\0D\0A -a, --address=S : use address specified instead of DNS\0D\0A -f, --follow-location : follow 302 redirect\0D\0A -r, --replay : replay the url file\0D\0A -l, --log-file=S : log file\0D\0A -L, --log-level=S : log level\0D\0A -c, --concurrency=N : concurrency\0D\0A -m, --http-method=S : http method GET, HEAD\0D\0A -R, --result-file=S : show result in a file\0D\0A -M, --result-mark=S : result file mark string\0D\0A -t, --run-time=Nm : timed testing where \22m\22 is modifer\0D\0A S(second), M(minute), H(hour), D(day)\0D\0A\0D\00"
define void @mpc_show_usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([941 x i8], [941 x i8]* @str, i64 0, i64 0))
ret void
}