#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*/ TextPrintMsg(char *);
void ShowOptions(void) {
  TextPrintMsg("Usage: glbsp [options] input.wad ... [-o output.wad]\n"
               "\n"
               "General Options:\n"
               "  -q  -quiet         Quieter output, no level stats\n"
               "  -f  -fast          Reuse original nodes to build faster\n"
               "  -w  -warn          Show extra warning messages\n"
               "  -n  -normal        Forces the normal nodes to be rebuilt\n"
               "  -c  -factor ###    Sets the cost assigned to SEG splits\n"
               "  -p  -pack          Pack sidedefs (remove duplicates)\n"
               "  -xr -noreject      Don't clobber the REJECT map\n"
               "\n");
  TextPrintMsg("Advanced Options:\n"
               "  -v1 .. -v5         Version of GL-Nodes to use (1,2,3 or 5)\n"
               "  -m  -mergevert     Merge duplicate vertices\n"
               "  -y  -windowfx      Handle the 'One-Sided Window' trick\n"
               "  -u  -prunesec      Remove unused sectors\n"
               "  -b  -maxblock ###  Sets the BLOCKMAP truncation limit\n"
               "  -xn -nonormal      Don't add (if missing) the normal nodes\n"
               "  -xp -noprog        Don't show progress indicator\n"
               "  -xu -noprune       Never prune linedefs or sidedefs\n");
}


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

x86 assembly (clang, -O2):
<ShowOptions>:
push   %rax
lea    0xee8(%rip),%rdi
call   1030 <TextPrintMsg@plt>
lea    0x10a2(%rip),%rdi
pop    %rax
jmp    1030 <TextPrintMsg@plt>

LLVM IR (-O0):
@.str = [454 x i8] c"Usage: glbsp [options] input.wad ... [-o output.wad]\0A\0AGeneral Options:\0A -q -quiet Quieter output, no level stats\0A -f -fast Reuse original nodes to build faster\0A -w -warn Show extra warning messages\0A -n -normal Forces the normal nodes to be rebuilt\0A -c -factor ### Sets the cost assigned to SEG splits\0A -p -pack Pack sidedefs (remove duplicates)\0A -xr -noreject Don't clobber the REJECT map\0A\0A\00"
@.str.1 = [448 x i8] c"Advanced Options:\0A -v1 .. -v5 Version of GL-Nodes to use (1,2,3 or 5)\0A -m -mergevert Merge duplicate vertices\0A -y -windowfx Handle the 'One-Sided Window' trick\0A -u -prunesec Remove unused sectors\0A -b -maxblock ### Sets the BLOCKMAP truncation limit\0A -xn -nonormal Don't add (if missing) the normal nodes\0A -xp -noprog Don't show progress indicator\0A -xu -noprune Never prune linedefs or sidedefs\0A\00"
define void @ShowOptions() {
%1 = call i32 @TextPrintMsg(i8* getelementptr inbounds ([454 x i8], [454 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @TextPrintMsg(i8* getelementptr inbounds ([448 x i8], [448 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [454 x i8] c"Usage: glbsp [options] input.wad ... [-o output.wad]\0A\0AGeneral Options:\0A -q -quiet Quieter output, no level stats\0A -f -fast Reuse original nodes to build faster\0A -w -warn Show extra warning messages\0A -n -normal Forces the normal nodes to be rebuilt\0A -c -factor ### Sets the cost assigned to SEG splits\0A -p -pack Pack sidedefs (remove duplicates)\0A -xr -noreject Don't clobber the REJECT map\0A\0A\00"
@.str.1 = [448 x i8] c"Advanced Options:\0A -v1 .. -v5 Version of GL-Nodes to use (1,2,3 or 5)\0A -m -mergevert Merge duplicate vertices\0A -y -windowfx Handle the 'One-Sided Window' trick\0A -u -prunesec Remove unused sectors\0A -b -maxblock ### Sets the BLOCKMAP truncation limit\0A -xn -nonormal Don't add (if missing) the normal nodes\0A -xp -noprog Don't show progress indicator\0A -xu -noprune Never prune linedefs or sidedefs\0A\00"
define void @ShowOptions() {
%1 = tail call i32 @TextPrintMsg(i8* getelementptr inbounds ([454 x i8], [454 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 @TextPrintMsg(i8* getelementptr inbounds ([448 x i8], [448 x i8]* @.str.1, i64 0, i64 0))
ret void
}