PIPS
|
#include <stdlib.h>
#include <stdio.h>
#include <setjmp.h>
#include "genC.h"
#include "ri.h"
#include "constants.h"
#include "ri-util.h"
#include "misc.h"
#include "boolean.h"
#include "arithmetique.h"
#include "vecteur.h"
#include "contrainte.h"
#include "ray_dte.h"
#include "sommet.h"
#include "sg.h"
#include "sc.h"
#include "polyedre.h"
#include "union.h"
#include "matrix.h"
#include "complexity_ri.h"
#include "database.h"
#include "dg.h"
#include "parser_private.h"
#include "property.h"
#include "reduction.h"
#include "tiling.h"
#include "text.h"
#include "text-util.h"
#include "graph.h"
#include "paf_ri.h"
#include "paf-util.h"
#include "pipsdbm.h"
#include "resources.h"
#include "scheduling.h"
#include "array_dfg.h"
Go to the source code of this file.
Macros | |
#define | BDT_EXT ".bdt_file" |
Typedefs | |
typedef dfg_arc_label | arc_label |
lint More... | |
typedef dfg_vertex_label | vertex_label |
Functions | |
bool | print_bdt (const string module_name) |
================================================================= More... | |
bool | scheduling (const string mod_name) |
================================================================= More... | |
Variables | |
char | vcid_scheduling_scheduling [] = "$Id: scheduling.c 23065 2016-03-02 09:05:50Z coelho $" |
#define BDT_EXT ".bdt_file" |
Definition at line 81 of file scheduling.c.
typedef dfg_arc_label arc_label |
typedef dfg_vertex_label vertex_label |
Definition at line 79 of file scheduling.c.
=================================================================
void print_bdt(module_name): print the bdt of module name
AC 94/03/30
module_name | odule |
Definition at line 89 of file scheduling.c.
References BDT_EXT, concatenate(), db_get_current_workspace_directory(), db_get_memory_resource(), DB_PUT_FILE_RESOURCE, debug_off, debug_on, fprint_bdt(), fprintf(), free(), get_debug_level(), module_name(), safe_fclose(), safe_fopen(), strdup(), the_bdt, and user_log().
=================================================================
void scheduling(mod_name ): this is the main function to calculate the schedules of the node of a dfg. It first reverse the graph to have each node in function of its predecessors, then calculates the strongly connected components by the Trajan algorithm, then calls the function that really find the schedules.
AC 93/10/30
We get the required data: module entity, code, static_control, dataflow graph, timing function.
Read the DFG
mod_name | odule |
Definition at line 133 of file scheduling.c.
References adg_pure_dfg(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, dfg, dfg_find_sccs(), dfg_reverse_graph(), fprint_bdt_with_stat(), fprint_dfg(), fprint_sccs(), fprintf(), get_debug_level(), GET_STATEMENT_MAPPING, local_name_to_top_level_entity(), mod_stat, pips_internal_error, reset_current_module_entity(), reset_current_stco_map(), search_graph_bdt(), set_current_module_entity(), set_current_stco_map(), static_control_undefined, static_control_yes, strdup(), and STS.
char vcid_scheduling_scheduling[] = "$Id: scheduling.c 23065 2016-03-02 09:05:50Z coelho $" |
Definition at line 29 of file scheduling.c.