Command Line Options

--------------------------------------------------------------------------------
UTILITY
--------------------------------------------------------------------------------
-debug_parser_input
    Print a single preprocessed input file before sending to parser and exit

-debug_preprocessor_input
    Print a single pre-annotated input file before sending to preprocessor and exit

-dump-options
    Create file options.cetus with default options

-dump-system-options
    Create system wide file options.cetus with default options

-expand-all-header
    Expand all header file #includes into code

-expand-user-header
    Expand user (non-standard) header file #includes into code

-help
    Print this message

-load-options
    Load options from file options.cetus

-macro
    Sets macros for the specified names with comma-separated list (no space is allowed). e.g., -macro=ARCH=i686,OS=linux

-outdir=dirname
    Set the output directory name (default is cetus_output)

-parser=parsername
    Name of parser to be used for parsing source file

-preprocessor=command
    Set the preprocessor command to use

-preserve-KR-function
    Preserves K&R-style function declaration

-skip-procedures=proc1,proc2,...
    Causes all passes that observe this flag to skip the listed procedures

-verbosity=N
    Degree of status messages (0-4) that you wish to see (default is 0)

-version
    Print the version information

--------------------------------------------------------------------------------
ANALYSIS
--------------------------------------------------------------------------------
-alias=N
    Specify level of alias analysis
      =0 disable alias analysis (assume no alias)
      =1 advanced interprocedural analysis (default)
         Uses interprocedural points-to analysis
      =2 assume no alias when points-to analysis is too conservative

-callgraph
    Print the static call graph to stdout

-ddt=N
    Perform Data Dependence Testing
      =1 banerjee-wolfe test (default)
      =2 range test

-parallelize-loops
    Annotate loops with Parallelization decisions
      =1 parallelizes outermost loops (default)
      =2 parallelizes every loop
      =3 parallelizes outermost loops with report
      =4 parallelizes every loop with report

-privatize
    Perform scalar/array privatization analysis

-range=N
    Specifies the accuracy of symbolic analysis with value ranges
      =0 disable range computation (minimal symbolic analysis)
      =1 enable local range computation (default)
      =2 enable inter-procedural computation (experimental)

-reduction=N
    Perform reduction variable analysis
      =1 enable only scalar reduction analysis (default)
      =2 enable array reduction analysis and transformation

--------------------------------------------------------------------------------
TRANSFORM
--------------------------------------------------------------------------------
-induction
    Perform induction variable substitution

-normalize-loops
    Normalize for loops so they begin at 0 and have a step of 1

-normalize-return-stmt
    Normalize return statements for all procedures

-profile-loops=N
    Inserts loop-profiling calls
      =1 every loop          =2 outermost loop
      =3 every omp parallel  =4 outermost omp parallel
      =5 every omp for       =6 outermost omp for

-teliminate-branch=N
    Eliminates unreachable branch targets
      =0 disable (default)
      =1 enable
      =2 leave old statements as comments

-tinline=mode=0|1|2|3|4:depth=0|1:pragma=0|1:debug=0|1:foronly=0|1:complement=0|1:functions=foo,bar,...
    (Experimental) Perform simple subroutine inline expansion tranformation
   mode
      =0 inline inside main function (default)
      =1 inline inside selected functions provided in the "functions" sub-option
      =2 inline selected functions provided in the "functions" sub-option, when invoked
      =3 inline according to the "inlinein" pragmas
      =4 inline according to both "inlinein" and "inline" pragmas
   depth
      =0 perform inlining recursively i.e. within callees (and their callees) as well (default)
      =1 perform 1-level inlining 
   pragma
      =0 do not honor "noinlinein" and "noinline" pragmas
      =1 honor "noinlinein" and "noinline" pragmas (default)
   debug
      =0 remove inlined (and other) functions if they are no longer executed (default)
      =1 do not remove the inlined (and other) functions even if they are no longer executed
   foronly
      =0 try to inline all function calls depending on other options (default)
      =1 try to inline function calls inside for loops only 
   complement
      =0 consider the functions provided in the command line with "functions" sub-option (default)
      =1 consider all functions except the ones provided in the command line with "functions" sub-option
   functions
      =[comma-separated list] consider the provided functions. 
      (Note 1: This sub-option is meaningful for modes 1 and 2 only) 
      (Note 2: It is used with "complement" sub-option to determine which functions should be considered.)

-tsingle-call
    Transform all statements so they contain at most one function call

-tsingle-declarator
    Transform all variable declarations so they contain at most one declarator

-tsingle-return
    Transform all procedures so they have a single return statement

--------------------------------------------------------------------------------
CODEGEN
--------------------------------------------------------------------------------
-ompGen=N
    Generate OpenMP pragma
      =1 comment out existing OpenMP pragmas (default)
      =2 remove existing OpenMP pragmas
      =3 remove existing OpenMP and Cetus pragmas
      =4 keep all pragmas

-profitable-omp=N
    Inserts runtime for selecting profitable omp parallel region (See the API documentation for more details)
      =0 disable
      =1 Model-based loop selection (default)
      =2 Profile-based loop selection