PoCC
Version 1.0
|
00001 /* 00002 * options.h: this file is part of the PoCC project. 00003 * 00004 * PoCC, the Polyhedral Compiler Collection package 00005 * 00006 * Copyright (C) 2009 Louis-Noel Pouchet 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public License 00010 * as published by the Free Software Foundation; either version 2.1 00011 * of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * The complete GNU General Public Licence Notice can be found as the 00019 * `COPYING.LESSER' file in the root directory. 00020 * 00021 * Author: 00022 * Louis-Noel Pouchet <Louis-Noel.Pouchet@inria.fr> 00023 * 00024 */ 00025 #ifndef POCC_SRC_OPTIONS_H 00026 # define POCC_SRC_OPTIONS_H 00027 00028 # include <stdio.h> 00029 00030 # if HAVE_CONFIG_H 00031 # include <pocc-utils/config.h> 00032 # endif 00033 00034 # include <pocc/options.h> 00035 # include "getopts.h" 00036 00037 # ifndef POCC_RELEASE_MODE 00038 # define POCC_NB_OPTS 74 00039 # else 00040 # define POCC_NB_OPTS 68 00041 # endif 00042 00043 # define POCC_OPT_HELP 0 00044 # define POCC_OPT_VERSION 1 00045 # define POCC_OPT_OUTFILE 2 00046 # define POCC_OPT_OUTFILE_SCOP 3 00047 # define POCC_OPT_CLOOGIFY_SCHED 4 00048 # define POCC_OPT_BOUNDED_CTXT 5 00049 # define POCC_OPT_DEFAULT_CTXT 6 00050 # define POCC_OPT_INSCOP_FAKEARRAY 7 00051 # define POCC_OPT_READ_SCOP_FILE 8 00052 00053 # define POCC_OPT_NO_CANDL 9 00054 # define POCC_OPT_CANDL_DEP_ISL_SIMP 10 00055 # define POCC_OPT_CANDL_DEP_PRUNE_DUPS 11 00056 00057 # define POCC_OPT_POLYFEAT 12 00058 # define POCC_OPT_POLYFEAT_RAR 13 00059 00060 # define POCC_OPT_TRASH 14 00061 # define POCC_OPT_VERBOSE 15 00062 # define POCC_OPT_QUIET 16 00063 00064 # define POCC_OPT_LETSEE 17 00065 # define POCC_OPT_LETSEE_SEARCHSPACE 18 00066 # define POCC_OPT_LETSEE_TRAVERSAL 19 00067 # define POCC_OPT_LETSEE_DRY_RUN 20 00068 # define POCC_OPT_LETSEE_NORMSPACE 21 00069 # define POCC_OPT_LETSEE_BOUNDS 22 00070 # define POCC_OPT_LETSEE_SCHEME_M1 23 00071 # define POCC_OPT_LETSEE_RTRIES 24 00072 # define POCC_OPT_LETSEE_PRUNE_PRECUT 25 00073 # define POCC_OPT_LETSEE_BACKTRACK_MULTI 26 00074 00075 # define POCC_OPT_PLUTO 27 00076 # define POCC_OPT_PLUTO_PARALLEL 28 00077 # define POCC_OPT_PLUTO_TILE 29 00078 # define POCC_OPT_PLUTO_L2TILE 30 00079 # define POCC_OPT_PLUTO_FUSE 31 00080 # define POCC_OPT_PLUTO_UNROLL 32 00081 # define POCC_OPT_PLUTO_UFACTOR 33 00082 # define POCC_OPT_PLUTO_POLYUNROLL 34 00083 # define POCC_OPT_PLUTO_PREVECTOR 35 00084 # define POCC_OPT_PLUTO_MULTIPIPE 36 00085 # define POCC_OPT_PLUTO_RAR 37 00086 # define POCC_OPT_PLUTO_RAR_CF 38 00087 # define POCC_OPT_PLUTO_LASTWRITER 39 00088 # define POCC_OPT_PLUTO_SCALPRIV 40 00089 # define POCC_OPT_PLUTO_BEE 41 00090 # define POCC_OPT_PLUTO_QUIET 42 00091 # define POCC_OPT_PLUTO_FT 43 00092 # define POCC_OPT_PLUTO_LT 44 00093 # define POCC_OPT_PLUTO_EXTERNAL_CANDL 45 00094 # define POCC_OPT_PLUTO_TILING_IN_SCATT 46 00095 # define POCC_OPT_PLUTO_BOUND_COEF 47 00096 00097 # define POCC_OPT_NOCODEGEN 48 00098 # define POCC_OPT_CLOOG_F 49 00099 # define POCC_OPT_CLOOG_L 50 00100 # define POCC_OPT_PRINT_CLOOG_FILE 51 00101 # define POCC_OPT_NO_PAST 52 00102 # define POCC_OPT_PAST_OPTIMIZE_LOOP_BOUND 53 00103 # define POCC_OPT_PRAGMATIZER 54 00104 00105 # define POCC_OPT_PTILE 55 00106 # define POCC_OPT_PTILE_FTS 56 00107 00108 # define POCC_OPT_PUNROLL 57 00109 # define POCC_OPT_PUNROLL_AND_JAM 58 00110 # define POCC_OPT_PUNROLL_SIZE 59 00111 00112 # define POCC_OPT_VECTORIZER 60 00113 00114 /* Devel-only options. */ 00115 # define POCC_OPT_VECT_MARK_PAR_LOOPS 61 00116 # define POCC_OPT_VECT_NO_KEEP_OUTER_PAR_LOOPS 62 00117 # define POCC_OPT_VECT_SINK_ALL_LOOPS 63 00118 # define POCC_OPT_STORCOMPACT 64 00119 # define POCC_OPT_AC_KEEP_OUTERPAR 65 00120 # define POCC_OPT_AC_KEEP_VECTORIZED 66 00121 00122 # ifndef POCC_RELEASE_MODE 00123 # define POCC_OPT_CODEGEN_TIMERCODE 67 00124 # define POCC_OPT_CODEGEN_TIMER_ASM 68 00125 # define POCC_OPT_CODEGEN_TIMER_PAPI 69 00126 # define POCC_OPT_COMPILE 70 00127 # define POCC_OPT_COMPILE_CMD 71 00128 # define POCC_OPT_RUN_CMD_ARGS 72 00129 # define POCC_OPT_PROGRAM_TIMEOUT 73 00130 # else 00131 # define POCC_OPT_CODEGEN_TIMERCODE 61 00132 # define POCC_OPT_CODEGEN_TIMER_ASM 62 00133 # define POCC_OPT_CODEGEN_TIMER_PAPI 63 00134 # define POCC_OPT_COMPILE 64 00135 # define POCC_OPT_COMPILE_CMD 65 00136 # define POCC_OPT_RUN_CMD_ARGS 66 00137 # define POCC_OPT_PROGRAM_TIMEOUT 67 00138 # endif 00139 00140 BEGIN_C_DECLS 00141 00142 extern 00143 int 00144 pocc_getopts(s_pocc_options_t* options, int argc, char** argv); 00145 00146 END_C_DECLS 00147 00148 #endif // POCC_SRC_OPTIONS_H