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 73 00039 # else 00040 # define POCC_NB_OPTS 67 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_USE_PAST 52 00102 # define POCC_OPT_PRAGMATIZER 53 00103 00104 # define POCC_OPT_PTILE 54 00105 # define POCC_OPT_PTILE_FTS 55 00106 00107 # define POCC_OPT_PUNROLL 56 00108 # define POCC_OPT_PUNROLL_AND_JAM 57 00109 # define POCC_OPT_PUNROLL_SIZE 58 00110 00111 # define POCC_OPT_VECTORIZER 59 00112 00113 /* Devel-only options. */ 00114 # define POCC_OPT_VECT_MARK_PAR_LOOPS 60 00115 # define POCC_OPT_VECT_NO_KEEP_OUTER_PAR_LOOPS 61 00116 # define POCC_OPT_VECT_SINK_ALL_LOOPS 62 00117 # define POCC_OPT_STORCOMPACT 63 00118 # define POCC_OPT_AC_KEEP_OUTERPAR 64 00119 # define POCC_OPT_AC_KEEP_VECTORIZED 65 00120 00121 # ifndef POCC_RELEASE_MODE 00122 # define POCC_OPT_CODEGEN_TIMERCODE 66 00123 # define POCC_OPT_CODEGEN_TIMER_ASM 67 00124 # define POCC_OPT_CODEGEN_TIMER_PAPI 68 00125 # define POCC_OPT_COMPILE 69 00126 # define POCC_OPT_COMPILE_CMD 70 00127 # define POCC_OPT_RUN_CMD_ARGS 71 00128 # define POCC_OPT_PROGRAM_TIMEOUT 72 00129 # else 00130 # define POCC_OPT_CODEGEN_TIMERCODE 60 00131 # define POCC_OPT_CODEGEN_TIMER_ASM 61 00132 # define POCC_OPT_CODEGEN_TIMER_PAPI 62 00133 # define POCC_OPT_COMPILE 63 00134 # define POCC_OPT_COMPILE_CMD 64 00135 # define POCC_OPT_RUN_CMD_ARGS 65 00136 # define POCC_OPT_PROGRAM_TIMEOUT 66 00137 # endif 00138 00139 BEGIN_C_DECLS 00140 00141 extern 00142 int 00143 pocc_getopts(s_pocc_options_t* options, int argc, char** argv); 00144 00145 END_C_DECLS 00146 00147 #endif // POCC_SRC_OPTIONS_H