#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 *, char *);
void print_help(void) {
  char *usage[] = {
      "cilkc usage:\n",
      "Filenames:\n",
      " *.cilk              cilk files.\n",
      " *.cilki             preprocessed (by cpp) cilk files.\n",
      " *.cilkc             C files produced by running cilk2c on cilk "
      "files.\n",
      " *.c *.o *.i *.a ... Anything else that doesn't parse as an argument is "
      "treated as a filename and is passed to the C compiler..\n",
      "Options to control when to stop:\n",
      " -E0                 produce .cilki files (preprocess, but do not run "
      "cilk2c).\n",
      " -E1                 produce .cilkc files (preprocess, and run cilk2c, "
      "but do not preprocess again.\n",
      " -E                  produce .i preprocessed files (preprocess, run "
      "cilk2c, preprocess again, and  preprocess any C files.\n",
      " -S                  produce .s assembly files.\n",
      " -c                  produce .o object files.\n",
      " -M                  produce dependency files suitable for make.\n",
      " -MM                 like -M but see the gcc manual for the "
      "difference.\n",
      " otherwise produce executable files.\n",
      "Options to control the output file names:\n",
      " -o <filename>       Specify the name of the output file.\n",
      " -save-temps         Save all the temporary files, like gcc -save-temps "
      "(may be gcc-specific).\n",
      "Options to control diagnostic output:\n",
      " -v1                 print to stderr the set of compiler commands that "
      "cilkc runs.\n",
      " -v2                 also pass -v to the compilers, and print their "
      "outputs.\n",
      " -v                  the same as -v2.\n",
      " -n                  Do not actually run the compiler commands.  Useful "
      "with -v1.\n",
      " -W<arg>             Specify warnings to print.  Particularly useful "
      "ones are -W, -Wall and -W5 when using gcc.\n",
      " -woff numberlist    Turns of certain warnings in the mipspro C "
      "compiler.\n",
      " -ansi               Pass -ansi to the C compiler.\n",
      " -pedantic           Pass -pedantic to the C compiler.\n",
      " -version            Print the version number and quit.\n",
      " -help               Print this help message and quit.\n",
      "Preprocessing options:\n",
      " -I <path>           Add <path> to the search path for included "
      "files.\n",
      " -include=<path>     Include filename <path> before preprocessing.\n",
      " -D<def>             Define a preprocessing macro.\n",
      " -A<def>             Define a preprocessing predicate.\n",
      " -Wp,<arg>           Pass <arg> to the preprocessor.\n",
      "Code generation options:\n",
      " -cilk-profile       produce profiling code.\n",
      " -cilk-span	      produce profiling code that also computes "
      "critical path (requires -cilk-profile).\n",
      " -cilk-debug         produce debugging code in the cilk output.\n",
      " -cilk-hint          produce hint code (not documented or really even "
      "supported).\n",
      " -nd                 produce nondeterminator code.  Almost works in "
      "9/2004.  Contact Jeremy Fineman (jfineman@theory.lcs.mit.edu) for "
      "details.\n",
      " -m<arg>             machine-specific options (passed to the "
      "preprocessor and the code generator.  gcc-specific).\n",
      " -g                  produce symbolic debugging information in the "
      "execugable.\n",
      " -O<arg>             specify an optimization level.\n",
      "Linking options:\n",
      " -l<libname>         use library <libname> .\n",
      " -L<path>            add <path> to the search path for libraries.\n",
      " -static             perform static linking.\n",
      " -Wl,<arg>           pass <arg> to the linker.\n",
      "Options to control input files:\n",
      " -x <lang>           Specify the language of the remaining files:  (gcc "
      "specific)\n",
      "                      <lang>        file type:\n",
      "                      none          use the filename suffix to "
      "determine its type.\n",
      "                      cilk         .cilk files\n",
      "                      cilki        .cilki files (preprocessed cilk "
      "files)\n",
      "                      cilkc        .cilkc files (C files preprocessed "
      "and then translated to C, need to be preprocessed again\n",
      "                      c            .c files\n",
      "                      objective-c   .m or .C files (objective c)\n",
      "                      c++           .cpp .cc .cxx (c++ files)\n",
      "                      c-header      .h files\n",
      "                      cpp-output    .i files (preprocessed c files)\n",
      "                      c++cpp-output .ii files (preprocessed c++ "
      "files)\n",
      "                      assembler     .s files\n",
      "                      assembler-with-cpp .S files\n",
      "Options to control the C compiler:\n",
      " -Wc,*                pass the * argument to the C compiler.  For "
      "example when using the mipspro compiler you could do\n",
      "                          -Wc,-use_readwrite_const    to put constants "
      "into readwrite memory, or\n",
      "                          -Wc,-Wa,-foo                which would pass "
      "-Wa,-foo to the C compiler, which in turn would pass -foo to the "
      "assembler.\n",
      "                               That is suppposed to be equivalent to "
      "just passing -Wa,-foo, but it may be subtly different.\n",
      "Any other argument is treated as a file to be linked (.o .a .so etc.)\n",
      0,
  };
  int i;
  for (i = 0; usage[i]; i++) {
    printf("%s", usage[i]);
  }
}


x86 assembly (clang, -O0):
<print_help>:
push   %rbp
mov    %rsp,%rbp
sub    $0x250,%rsp
lea    -0x240(%rbp),%rdi
lea    0x3aa7(%rip),%rsi
mov    $0x238,%edx
call   1040 <memcpy@plt>
movl   $0x0,-0x244(%rbp)
movslq -0x244(%rbp),%rax
cmpq   $0x0,-0x240(%rbp,%rax,8)
je     1192 <print_help+0x72>
movslq -0x244(%rbp),%rax
mov    -0x240(%rbp,%rax,8),%rsi
ff
lea    0x20cc(%rip),%rdi
call   1030 <printf@plt>
mov    -0x244(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x244(%rbp)
jmp    114d <print_help+0x2d>
add    $0x250,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help>:
push   %r15
push   %r14
push   %rbx
xor    %ebx,%ebx
lea    0x3ac2(%rip),%r15
lea    0x2120(%rip),%r14
cs nopw 0x0(%rax,%rax,1)
nop
mov    (%rbx,%r15,1),%rsi
mov    %r14,%rdi
call   1030 <printf@plt>
add    $0x8,%rbx
cmp    $0x230,%rbx
jne    1130 <print_help+0x20>
pop    %rbx
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
@.str = [14 x i8] c"cilkc usage:\0A\00"
@.str.1 = [12 x i8] c"Filenames:\0A\00"
@.str.2 = [34 x i8] c" *.cilk cilk files.\0A\00"
@.str.3 = [56 x i8] c" *.cilki preprocessed (by cpp) cilk files.\0A\00"
@.str.4 = [72 x i8] c" *.cilkc C files produced by running cilk2c on cilk files.\0A\00"
@.str.5 = [129 x i8] c" *.c *.o *.i *.a ... Anything else that doesn't parse as an argument is treated as a filename and is passed to the C compiler..\0A\00"
@.str.6 = [34 x i8] c"Options to control when to stop:\0A\00"
@.str.7 = [80 x i8] c" -E0 produce .cilki files (preprocess, but do not run cilk2c).\0A\00"
@.str.8 = [101 x i8] c" -E1 produce .cilkc files (preprocess, and run cilk2c, but do not preprocess again.\0A\00"
@.str.9 = [124 x i8] c" -E produce .i preprocessed files (preprocess, run cilk2c, preprocess again, and preprocess any C files.\0A\00"
@.str.10 = [49 x i8] c" -S produce .s assembly files.\0A\00"
@.str.11 = [47 x i8] c" -c produce .o object files.\0A\00"
@.str.12 = [66 x i8] c" -M produce dependency files suitable for make.\0A\00"
@.str.13 = [73 x i8] c" -MM like -M but see the gcc manual for the difference.\0A\00"
@.str.14 = [38 x i8] c" otherwise produce executable files.\0A\00"
@.str.15 = [43 x i8] c"Options to control the output file names:\0A\00"
@.str.16 = [59 x i8] c" -o <filename> Specify the name of the output file.\0A\00"
@.str.17 = [96 x i8] c" -save-temps Save all the temporary files, like gcc -save-temps (may be gcc-specific).\0A\00"
@.str.18 = [39 x i8] c"Options to control diagnostic output:\0A\00"
@.str.19 = [84 x i8] c" -v1 print to stderr the set of compiler commands that cilkc runs.\0A\00"
@.str.20 = [78 x i8] c" -v2 also pass -v to the compilers, and print their outputs.\0A\00"
@.str.21 = [39 x i8] c" -v the same as -v2.\0A\00"
@.str.22 = [83 x i8] c" -n Do not actually run the compiler commands. Useful with -v1.\0A\00"
@.str.23 = [113 x i8] c" -W<arg> Specify warnings to print. Particularly useful ones are -W, -Wall and -W5 when using gcc.\0A\00"
@.str.24 = [75 x i8] c" -woff numberlist Turns of certain warnings in the mipspro C compiler.\0A\00"
@.str.25 = [52 x i8] c" -ansi Pass -ansi to the C compiler.\0A\00"
@.str.26 = [56 x i8] c" -pedantic Pass -pedantic to the C compiler.\0A\00"
@.str.27 = [57 x i8] c" -version Print the version number and quit.\0A\00"
@.str.28 = [56 x i8] c" -help Print this help message and quit.\0A\00"
@.str.29 = [24 x i8] c"Preprocessing options:\0A\00"
@.str.30 = [72 x i8] c" -I <path> Add <path> to the search path for included files.\0A\00"
@.str.31 = [68 x i8] c" -include=<path> Include filename <path> before preprocessing.\0A\00"
@.str.32 = [52 x i8] c" -D<def> Define a preprocessing macro.\0A\00"
@.str.33 = [56 x i8] c" -A<def> Define a preprocessing predicate.\0A\00"
@.str.34 = [54 x i8] c" -Wp,<arg> Pass <arg> to the preprocessor.\0A\00"
@.str.35 = [26 x i8] c"Code generation options:\0A\00"
@.str.36 = [46 x i8] c" -cilk-profile produce profiling code.\0A\00"
@.str.37 = [101 x i8] c" -cilk-span\09 produce profiling code that also computes critical path (requires -cilk-profile).\0A\00"
@.str.38 = [65 x i8] c" -cilk-debug produce debugging code in the cilk output.\0A\00"
@.str.39 = [83 x i8] c" -cilk-hint produce hint code (not documented or really even supported).\0A\00"
@.str.40 = [144 x i8] c" -nd produce nondeterminator code. Almost works in 9/2004. Contact Jeremy Fineman (jfineman@theory.lcs.mit.edu) for details.\0A\00"
@.str.41 = [115 x i8] c" -m<arg> machine-specific options (passed to the preprocessor and the code generator. gcc-specific).\0A\00"
@.str.42 = [80 x i8] c" -g produce symbolic debugging information in the execugable.\0A\00"
@.str.43 = [53 x i8] c" -O<arg> specify an optimization level.\0A\00"
@.str.44 = [18 x i8] c"Linking options:\0A\00"
@.str.45 = [46 x i8] c" -l<libname> use library <libname> .\0A\00"
@.str.46 = [67 x i8] c" -L<path> add <path> to the search path for libraries.\0A\00"
@.str.47 = [46 x i8] c" -static perform static linking.\0A\00"
@.str.48 = [48 x i8] c" -Wl,<arg> pass <arg> to the linker.\0A\00"
@.str.49 = [33 x i8] c"Options to control input files:\0A\00"
@.str.50 = [83 x i8] c" -x <lang> Specify the language of the remaining files: (gcc specific)\0A\00"
@.str.51 = [48 x i8] c" <lang> file type:\0A\00"
@.str.52 = [84 x i8] c" none use the filename suffix to determine its type.\0A\00"
@.str.53 = [48 x i8] c" cilk .cilk files\0A\00"
@.str.54 = [75 x i8] c" cilki .cilki files (preprocessed cilk files)\0A\00"
@.str.55 = [127 x i8] c" cilkc .cilkc files (C files preprocessed and then translated to C, need to be preprocessed again\0A\00"
@.str.56 = [45 x i8] c" c .c files\0A\00"
@.str.57 = [66 x i8] c" objective-c .m or .C files (objective c)\0A\00"
@.str.58 = [63 x i8] c" c++ .cpp .cc .cxx (c++ files)\0A\00"
@.str.59 = [46 x i8] c" c-header .h files\0A\00"
@.str.60 = [69 x i8] c" cpp-output .i files (preprocessed c files)\0A\00"
@.str.61 = [72 x i8] c" c++cpp-output .ii files (preprocessed c++ files)\0A\00"
@.str.62 = [46 x i8] c" assembler .s files\0A\00"
@.str.63 = [51 x i8] c" assembler-with-cpp .S files\0A\00"
@.str.64 = [36 x i8] c"Options to control the C compiler:\0A\00"
@.str.65 = [120 x i8] c" -Wc,* pass the * argument to the C compiler. For example when using the mipspro compiler you could do\0A\00"
@.str.66 = [98 x i8] c" -Wc,-use_readwrite_const to put constants into readwrite memory, or\0A\00"
@.str.67 = [148 x i8] c" -Wc,-Wa,-foo which would pass -Wa,-foo to the C compiler, which in turn would pass -foo to the assembler.\0A\00"
@.str.68 = [125 x i8] c" That is suppposed to be equivalent to just passing -Wa,-foo, but it may be subtly different.\0A\00"
@.str.69 = [71 x i8] c"Any other argument is treated as a file to be linked (.o .a .so etc.)\0A\00"
@__const.print_help.usage = [71 x i8*] [i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i32 0, i32 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.2, i32 0, i32 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.4, i32 0, i32 0), i8* getelementptr inbounds ([129 x i8], [129 x i8]* @.str.5, i32 0, i32 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([101 x i8], [101 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.18, i32 0, i32 0), i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.19, i32 0, i32 0), i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.22, i32 0, i32 0), i8* getelementptr inbounds ([113 x i8], [113 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.26, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.27, i32 0, i32 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.28, i32 0, i32 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.30, i32 0, i32 0), i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.31, i32 0, i32 0), i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.32, i32 0, i32 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.33, i32 0, i32 0), i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.34, i32 0, i32 0), i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.35, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.36, i32 0, i32 0), i8* getelementptr inbounds ([101 x i8], [101 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.38, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.39, i32 0, i32 0), i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str.40, i32 0, i32 0), i8* getelementptr inbounds ([115 x i8], [115 x i8]* @.str.41, i32 0, i32 0), i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.42, i32 0, i32 0), i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.44, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.45, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.49, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.50, i32 0, i32 0), i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.52, i32 0, i32 0), i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.53, i32 0, i32 0), i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([127 x i8], [127 x i8]* @.str.55, i32 0, i32 0), i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.56, i32 0, i32 0), i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.58, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.59, i32 0, i32 0), i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.60, i32 0, i32 0), i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.62, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.63, i32 0, i32 0), i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.64, i32 0, i32 0), i8* getelementptr inbounds ([120 x i8], [120 x i8]* @.str.65, i32 0, i32 0), i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.67, i32 0, i32 0), i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.68, i32 0, i32 0), i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.69, i32 0, i32 0), i8* null]
@.str.70 = [3 x i8] c"%s\00"
define void @print_help() {
%1 = alloca [71 x i8*]
%2 = alloca i32
%3 = bitcast [71 x i8*]* %1 to i8*
store i32 0, i32* %2
br label %4
4: ; preds = %16, %0
%5 = load i32, i32* %2
%6 = sext i32 %5 to i64
%7 = getelementptr inbounds [71 x i8*], [71 x i8*]* %1, i64 0, i64 %6
%8 = load i8*, i8** %7
%9 = icmp ne i8* %8, null
br i1 %9, label %10, label %19
10: ; preds = %4
%11 = load i32, i32* %2
%12 = sext i32 %11 to i64
%13 = getelementptr inbounds [71 x i8*], [71 x i8*]* %1, i64 0, i64 %12
%14 = load i8*, i8** %13
%15 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.70, i64 0, i64 0), i8* %14)
br label %16
16: ; preds = %10
%17 = load i32, i32* %2
%18 = add nsw i32 %17, 1
store i32 %18, i32* %2
br label %4
19: ; preds = %4
ret void
}

LLVM IR (-O2):
@.str = [14 x i8] c"cilkc usage:\0A\00"
@.str.1 = [12 x i8] c"Filenames:\0A\00"
@.str.2 = [34 x i8] c" *.cilk cilk files.\0A\00"
@.str.3 = [56 x i8] c" *.cilki preprocessed (by cpp) cilk files.\0A\00"
@.str.4 = [72 x i8] c" *.cilkc C files produced by running cilk2c on cilk files.\0A\00"
@.str.5 = [129 x i8] c" *.c *.o *.i *.a ... Anything else that doesn't parse as an argument is treated as a filename and is passed to the C compiler..\0A\00"
@.str.6 = [34 x i8] c"Options to control when to stop:\0A\00"
@.str.7 = [80 x i8] c" -E0 produce .cilki files (preprocess, but do not run cilk2c).\0A\00"
@.str.8 = [101 x i8] c" -E1 produce .cilkc files (preprocess, and run cilk2c, but do not preprocess again.\0A\00"
@.str.9 = [124 x i8] c" -E produce .i preprocessed files (preprocess, run cilk2c, preprocess again, and preprocess any C files.\0A\00"
@.str.10 = [49 x i8] c" -S produce .s assembly files.\0A\00"
@.str.11 = [47 x i8] c" -c produce .o object files.\0A\00"
@.str.12 = [66 x i8] c" -M produce dependency files suitable for make.\0A\00"
@.str.13 = [73 x i8] c" -MM like -M but see the gcc manual for the difference.\0A\00"
@.str.14 = [38 x i8] c" otherwise produce executable files.\0A\00"
@.str.15 = [43 x i8] c"Options to control the output file names:\0A\00"
@.str.16 = [59 x i8] c" -o <filename> Specify the name of the output file.\0A\00"
@.str.17 = [96 x i8] c" -save-temps Save all the temporary files, like gcc -save-temps (may be gcc-specific).\0A\00"
@.str.18 = [39 x i8] c"Options to control diagnostic output:\0A\00"
@.str.19 = [84 x i8] c" -v1 print to stderr the set of compiler commands that cilkc runs.\0A\00"
@.str.20 = [78 x i8] c" -v2 also pass -v to the compilers, and print their outputs.\0A\00"
@.str.21 = [39 x i8] c" -v the same as -v2.\0A\00"
@.str.22 = [83 x i8] c" -n Do not actually run the compiler commands. Useful with -v1.\0A\00"
@.str.23 = [113 x i8] c" -W<arg> Specify warnings to print. Particularly useful ones are -W, -Wall and -W5 when using gcc.\0A\00"
@.str.24 = [75 x i8] c" -woff numberlist Turns of certain warnings in the mipspro C compiler.\0A\00"
@.str.25 = [52 x i8] c" -ansi Pass -ansi to the C compiler.\0A\00"
@.str.26 = [56 x i8] c" -pedantic Pass -pedantic to the C compiler.\0A\00"
@.str.27 = [57 x i8] c" -version Print the version number and quit.\0A\00"
@.str.28 = [56 x i8] c" -help Print this help message and quit.\0A\00"
@.str.29 = [24 x i8] c"Preprocessing options:\0A\00"
@.str.30 = [72 x i8] c" -I <path> Add <path> to the search path for included files.\0A\00"
@.str.31 = [68 x i8] c" -include=<path> Include filename <path> before preprocessing.\0A\00"
@.str.32 = [52 x i8] c" -D<def> Define a preprocessing macro.\0A\00"
@.str.33 = [56 x i8] c" -A<def> Define a preprocessing predicate.\0A\00"
@.str.34 = [54 x i8] c" -Wp,<arg> Pass <arg> to the preprocessor.\0A\00"
@.str.35 = [26 x i8] c"Code generation options:\0A\00"
@.str.36 = [46 x i8] c" -cilk-profile produce profiling code.\0A\00"
@.str.37 = [101 x i8] c" -cilk-span\09 produce profiling code that also computes critical path (requires -cilk-profile).\0A\00"
@.str.38 = [65 x i8] c" -cilk-debug produce debugging code in the cilk output.\0A\00"
@.str.39 = [83 x i8] c" -cilk-hint produce hint code (not documented or really even supported).\0A\00"
@.str.40 = [144 x i8] c" -nd produce nondeterminator code. Almost works in 9/2004. Contact Jeremy Fineman (jfineman@theory.lcs.mit.edu) for details.\0A\00"
@.str.41 = [115 x i8] c" -m<arg> machine-specific options (passed to the preprocessor and the code generator. gcc-specific).\0A\00"
@.str.42 = [80 x i8] c" -g produce symbolic debugging information in the execugable.\0A\00"
@.str.43 = [53 x i8] c" -O<arg> specify an optimization level.\0A\00"
@.str.44 = [18 x i8] c"Linking options:\0A\00"
@.str.45 = [46 x i8] c" -l<libname> use library <libname> .\0A\00"
@.str.46 = [67 x i8] c" -L<path> add <path> to the search path for libraries.\0A\00"
@.str.47 = [46 x i8] c" -static perform static linking.\0A\00"
@.str.48 = [48 x i8] c" -Wl,<arg> pass <arg> to the linker.\0A\00"
@.str.49 = [33 x i8] c"Options to control input files:\0A\00"
@.str.50 = [83 x i8] c" -x <lang> Specify the language of the remaining files: (gcc specific)\0A\00"
@.str.51 = [48 x i8] c" <lang> file type:\0A\00"
@.str.52 = [84 x i8] c" none use the filename suffix to determine its type.\0A\00"
@.str.53 = [48 x i8] c" cilk .cilk files\0A\00"
@.str.54 = [75 x i8] c" cilki .cilki files (preprocessed cilk files)\0A\00"
@.str.55 = [127 x i8] c" cilkc .cilkc files (C files preprocessed and then translated to C, need to be preprocessed again\0A\00"
@.str.56 = [45 x i8] c" c .c files\0A\00"
@.str.57 = [66 x i8] c" objective-c .m or .C files (objective c)\0A\00"
@.str.58 = [63 x i8] c" c++ .cpp .cc .cxx (c++ files)\0A\00"
@.str.59 = [46 x i8] c" c-header .h files\0A\00"
@.str.60 = [69 x i8] c" cpp-output .i files (preprocessed c files)\0A\00"
@.str.61 = [72 x i8] c" c++cpp-output .ii files (preprocessed c++ files)\0A\00"
@.str.62 = [46 x i8] c" assembler .s files\0A\00"
@.str.63 = [51 x i8] c" assembler-with-cpp .S files\0A\00"
@.str.64 = [36 x i8] c"Options to control the C compiler:\0A\00"
@.str.65 = [120 x i8] c" -Wc,* pass the * argument to the C compiler. For example when using the mipspro compiler you could do\0A\00"
@.str.66 = [98 x i8] c" -Wc,-use_readwrite_const to put constants into readwrite memory, or\0A\00"
@.str.67 = [148 x i8] c" -Wc,-Wa,-foo which would pass -Wa,-foo to the C compiler, which in turn would pass -foo to the assembler.\0A\00"
@.str.68 = [125 x i8] c" That is suppposed to be equivalent to just passing -Wa,-foo, but it may be subtly different.\0A\00"
@.str.69 = [71 x i8] c"Any other argument is treated as a file to be linked (.o .a .so etc.)\0A\00"
@__const.print_help.usage = [71 x i8*] [i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i32 0, i32 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.2, i32 0, i32 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.4, i32 0, i32 0), i8* getelementptr inbounds ([129 x i8], [129 x i8]* @.str.5, i32 0, i32 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([101 x i8], [101 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.18, i32 0, i32 0), i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.19, i32 0, i32 0), i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.20, i32 0, i32 0), i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.22, i32 0, i32 0), i8* getelementptr inbounds ([113 x i8], [113 x i8]* @.str.23, i32 0, i32 0), i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.24, i32 0, i32 0), i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.25, i32 0, i32 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.26, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.27, i32 0, i32 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.28, i32 0, i32 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.29, i32 0, i32 0), i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.30, i32 0, i32 0), i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.31, i32 0, i32 0), i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.32, i32 0, i32 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.33, i32 0, i32 0), i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.34, i32 0, i32 0), i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.35, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.36, i32 0, i32 0), i8* getelementptr inbounds ([101 x i8], [101 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.38, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.39, i32 0, i32 0), i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str.40, i32 0, i32 0), i8* getelementptr inbounds ([115 x i8], [115 x i8]* @.str.41, i32 0, i32 0), i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.42, i32 0, i32 0), i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.44, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.45, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.46, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.47, i32 0, i32 0), i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.48, i32 0, i32 0), i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.49, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.50, i32 0, i32 0), i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.52, i32 0, i32 0), i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.53, i32 0, i32 0), i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([127 x i8], [127 x i8]* @.str.55, i32 0, i32 0), i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.56, i32 0, i32 0), i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.58, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.59, i32 0, i32 0), i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.60, i32 0, i32 0), i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.62, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.63, i32 0, i32 0), i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.64, i32 0, i32 0), i8* getelementptr inbounds ([120 x i8], [120 x i8]* @.str.65, i32 0, i32 0), i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.67, i32 0, i32 0), i8* getelementptr inbounds ([125 x i8], [125 x i8]* @.str.68, i32 0, i32 0), i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.69, i32 0, i32 0), i8* null]
@.str.70 = [3 x i8] c"%s\00"
define void @print_help() {
br label %1
1: ; preds = %0, %1
%2 = phi i64 [ 0, %0 ], [ %6, %1 ]
%3 = getelementptr inbounds [71 x i8*], [71 x i8*]* @__const.print_help.usage, i64 0, i64 %2
%4 = load i8*, i8** %3
%5 = tail call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.70, i64 0, i64 0), i8* %4)
%6 = add nuw nsw i64 %2, 1
%7 = icmp eq i64 %6, 70
br i1 %7, label %8, label %1
8: ; preds = %1
ret void
}