driver-codegen.c File Reference


Functions

static void pocc_driver_codegen_post_processing (FILE *body_file, s_pocc_options_t *poptions)
static int pocc_driver_codegen_program_finalize (s_pocc_options_t *poptions)
void pocc_driver_codegen (scoplib_scop_p program, s_pocc_options_t *poptions, s_pocc_utils_options_t *puoptions)

Function Documentation

static void pocc_driver_codegen_post_processing ( FILE *  body_file,
s_pocc_options_t poptions 
) [static]

static int pocc_driver_codegen_program_finalize ( s_pocc_options_t poptions  )  [static]

void pocc_driver_codegen ( scoplib_scop_p  program,
s_pocc_options_t poptions,
s_pocc_utils_options_t puoptions 
)

Generate code for transformed scop.

(1) Create fake tile iterators inside the .scop: polyhedral tiling performed by Pluto does not update the iterators list. (2) Generate statement macros. (3) Convert the .scop to CloogProgram structure. (4) Generate declaration for the new iterators. (5) Generate polyhedral scanning code with CLooG algorithm (6) Call pocc_driver_clastops, to generate AST-based code and pretty-print it. (7) Final post-processing using PoCC internal scripts (timer code, unrolling, etc.) and full code generation.

References s_pocc_options::cloog_f, s_pocc_options::cloog_l, s_pocc_options::cloog_options, EXIT_FAILURE, s_pocc_options::output_file, s_pocc_options::output_file_name, POCC_CLOOG_UNDEF, pocc_driver_cloog(), pocc_driver_codegen_post_processing(), pocc_driver_codegen_program_finalize(), pocc_error(), s_pocc_options::quiet, XFREE, and XMALLOC.

Referenced by main(), and pocc_driver_after_letsee().


Generated on Mon Mar 7 16:27:33 2011 for PoCC by  doxygen 1.5.6