#ifndef FUNCTION_ANALYSIS #define FUNCTION_ANALYSIS(NAME, CREATE_PASS) #endif FUNCTION_ANALYSIS("polly-detect", ScopAnalysis()) FUNCTION_ANALYSIS("polly-function-scops", ScopInfoAnalysis()) #undef FUNCTION_ANALYSIS #ifndef FUNCTION_PASS #define FUNCTION_PASS(NAME, CREATE_PASS) #endif FUNCTION_PASS("polly-prepare", CodePreparationPass()) FUNCTION_PASS("print", ScopAnalysisPrinterPass(errs())) FUNCTION_PASS("print", ScopInfoPrinterPass(errs())) #undef FUNCTION_PASS #ifndef SCOP_ANALYSIS #define SCOP_ANALYSIS(NAME, CREATE_PASS) #endif SCOP_ANALYSIS("pass-instrumentation", PassInstrumentationAnalysis(PIC)) SCOP_ANALYSIS("polly-ast", IslAstAnalysis()) SCOP_ANALYSIS("polly-dependences", DependenceAnalysis()) #undef SCOP_ANALYSIS #ifndef SCOP_PASS #define SCOP_PASS(NAME, CREATE_PASS) #endif SCOP_PASS("polly-export-jscop", JSONExportPass()) SCOP_PASS("polly-import-jscop", JSONImportPass()) SCOP_PASS("print", IslAstPrinterPass(outs())) SCOP_PASS("print", DependenceInfoPrinterPass(outs())) SCOP_PASS("polly-codegen", CodeGenerationPass()) SCOP_PASS("polly-simplify", SimplifyPass()) SCOP_PASS("print", SimplifyPrinterPass(outs())) SCOP_PASS("polly-optree", ForwardOpTreePass()) SCOP_PASS("print", ForwardOpTreePrinterPass(outs())) SCOP_PASS("polly-delicm", DeLICMPass()) SCOP_PASS("print", DeLICMPrinterPass(outs())) SCOP_PASS("polly-prune-unprofitable", PruneUnprofitablePass()) SCOP_PASS("polly-opt-isl", IslScheduleOptimizerPass()) SCOP_PASS("print", IslScheduleOptimizerPrinterPass(outs())) SCOP_PASS("polly-dce", DeadCodeElimPass()) #undef SCOP_PASS