PoCC
Version 1.0
|
Go to the source code of this file.
Defines | |
#define | SCOPLIB_INT_T_IS_LONGLONG |
Functions | |
BEGIN_C_DECLS void | pocc_driver_codegen (scoplib_scop_p program, s_pocc_options_t *poptions, s_pocc_utils_options_t *puoptions) |
void * | pocc_codegen (void *program, s_pocc_utils_options_t *puoptions) |
#define SCOPLIB_INT_T_IS_LONGLONG |
BEGIN_C_DECLS 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, s_pocc_options::use_past, XFREE, and XMALLOC.
Referenced by main(), and pocc_driver_after_letsee().
void* pocc_codegen | ( | void * | program, |
s_pocc_utils_options_t * | puoptions | ||
) |