#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(
      "get/set scheduling policies - v"
      "1.3.0"
      ", GPL'd, NO WARRANTY\n"
      "USAGE: schedtool PIDS                    - query PIDS\n"
      "       schedtool [OPTIONS] PIDS          - set PIDS\n"
      "       schedtool [OPTIONS] -e COMMAND    - exec COMMAND\n"
      "\n"
      "set scheduling policies:\n"
      "    -N                    for SCHED_NORMAL\n"
      "    -F -p PRIO            for SCHED_FIFO       only as root\n"
      "    -R -p PRIO            for SCHED_RR         only as root\n"
      "    -B                    for SCHED_BATCH\n"
      "    -I -p PRIO            for SCHED_ISO\n"
      "    -D                    for SCHED_IDLEPRIO\n"
      "    -E -t rt:dl[:pr]      for SCHED_DEADLINE   only as root\n"
      "       [ -f sSDRO ]\n"
      "\n"
      "    -M POLICY             for manual mode; raw number for POLICY\n"
      "    -p STATIC_PRIORITY    usually 1-99; only for FIFO or RR\n"
      "                          higher numbers means higher priority\n"
      "    -n NICE_LEVEL         set niceness to NICE_LEVEL\n"
      "    -a AFFINITY_MASK      set CPU-affinity to bitmask or list\n\n"
      "    -e COMMAND [ARGS]     start COMMAND with specified policy/priority\n"
      "    -r                    display priority min/max for each policy\n"
      "    -v                    be verbose\n"
      "\n");
}


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 = [1097 x i8] c"get/set scheduling policies - v1.3.0, GPL'd, NO WARRANTY\0AUSAGE: schedtool PIDS - query PIDS\0A schedtool [OPTIONS] PIDS - set PIDS\0A schedtool [OPTIONS] -e COMMAND - exec COMMAND\0A\0Aset scheduling policies:\0A -N for SCHED_NORMAL\0A -F -p PRIO for SCHED_FIFO only as root\0A -R -p PRIO for SCHED_RR only as root\0A -B for SCHED_BATCH\0A -I -p PRIO for SCHED_ISO\0A -D for SCHED_IDLEPRIO\0A -E -t rt:dl[:pr] for SCHED_DEADLINE only as root\0A [ -f sSDRO ]\0A\0A -M POLICY for manual mode; raw number for POLICY\0A -p STATIC_PRIORITY usually 1-99; only for FIFO or RR\0A higher numbers means higher priority\0A -n NICE_LEVEL set niceness to NICE_LEVEL\0A -a AFFINITY_MASK set CPU-affinity to bitmask or list\0A\0A -e COMMAND [ARGS] start COMMAND with specified policy/priority\0A -r display priority min/max for each policy\0A -v be verbose\0A\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1097 x i8], [1097 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [1096 x i8] c"get/set scheduling policies - v1.3.0, GPL'd, NO WARRANTY\0AUSAGE: schedtool PIDS - query PIDS\0A schedtool [OPTIONS] PIDS - set PIDS\0A schedtool [OPTIONS] -e COMMAND - exec COMMAND\0A\0Aset scheduling policies:\0A -N for SCHED_NORMAL\0A -F -p PRIO for SCHED_FIFO only as root\0A -R -p PRIO for SCHED_RR only as root\0A -B for SCHED_BATCH\0A -I -p PRIO for SCHED_ISO\0A -D for SCHED_IDLEPRIO\0A -E -t rt:dl[:pr] for SCHED_DEADLINE only as root\0A [ -f sSDRO ]\0A\0A -M POLICY for manual mode; raw number for POLICY\0A -p STATIC_PRIORITY usually 1-99; only for FIFO or RR\0A higher numbers means higher priority\0A -n NICE_LEVEL set niceness to NICE_LEVEL\0A -a AFFINITY_MASK set CPU-affinity to bitmask or list\0A\0A -e COMMAND [ARGS] start COMMAND with specified policy/priority\0A -r display priority min/max for each policy\0A -v be verbose\0A\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1096 x i8], [1096 x i8]* @str, i64 0, i64 0))
ret void
}