PIPS
|
#include <stdio.h>
#include <ctype.h>
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "effects.h"
#include "resources.h"
#include "misc.h"
#include "ri-util.h"
#include "effects-util.h"
#include "pipsdbm.h"
#include "text-util.h"
#include "properties.h"
#include "prettyprint.h"
#include "transformer.h"
#include "ray_dte.h"
#include "sommet.h"
#include "sg.h"
#include "polyedre.h"
#include "semantics.h"
#include "control.h"
#include "callgraph.h"
#include "phrase_tools.h"
#include "effects-generic.h"
#include "effects-simple.h"
#include "effects-convex.h"
#include "phrase_distribution.h"
#include "comEngine.h"
#include "phrase.h"
Go to the source code of this file.
Macros | |
#define | ALL_DECLS "PRETTYPRINT_ALL_DECLARATIONS" |
#define | STAT_ORDER "PRETTYPRINT_STATEMENT_NUMBER" |
Functions | |
static entity | make_new_symbolic_entity (string inName) |
static void | give_value_to_symbolic_entity (entity ent, intptr_t val) |
static void | update_max () |
static void | update_HRE_mapping_from_list (list lRef, bool supRef, int inc) |
static void | do_HRE_memory_mapping (statement stat) |
static void | do_HRE_memory_mapping_loop (statement stat) |
static void | do_HRE_memory_mapping_stat (statement stat) |
static bool | compute_HRE_memory_mapping (statement stat, int hreMemSize) |
static void | move_declarations (entity new_fun, statement stat) |
void | create_HRE_module (const char *new_module_name, const char *module_name, statement stat, entity new_fun) |
static void | comEngine_distribute_code (const char *module_name, string function_name, statement externalized_code, list l_in, list l_out, list l_params, list l_priv, graph dg) |
tatic void create_HRE_modules(statement externalized_code, string new_module_name, list l_in, list l_out, list l_params, list l_priv, const char* module_name, int hreMemSize) { } More... | |
void | comEngine_distribute (const char *module_name, statement module_stat, entity module) |
bool | phrase_comEngine_distributor (const char *module_name) |
#define ALL_DECLS "PRETTYPRINT_ALL_DECLARATIONS" |
Definition at line 280 of file comEngine_distribute.c.
#define STAT_ORDER "PRETTYPRINT_STATEMENT_NUMBER" |
Definition at line 281 of file comEngine_distribute.c.
module_name | odule_name |
module_stat | odule_stat |
module | odule |
Definition at line 469 of file comEngine_distribute.c.
References comEngine_distribute_code(), compute_distribution_context(), db_get_memory_resource(), dg, hash_get(), HASH_MAP, hash_table_free(), identify_analyzed_statements_to_distribute(), module, and module_name().
Referenced by phrase_comEngine_distributor().
|
static |
tatic void create_HRE_modules(statement externalized_code, string new_module_name, list l_in, list l_out, list l_params, list l_priv, const char* module_name, int hreMemSize) { }
Definition at line 363 of file comEngine_distribute.c.
References comEngine_feasability(), comEngine_generate_HRECode(), comEngine_generate_procCode(), compute_HRE_memory_mapping(), dg, entity_empty_label(), free_expression(), free_instruction(), gBufferSizeEnt, gen_free_list(), gEntToHREFifo, gIndToNum, gIsNewLoop, gLoopToRef, gLoopToSupRef, gLoopToSync, gLoopToToggleEnt, gLoopToUnSupRef, gRefToBuffSize, gRefToEff, gRefToFifo, gRefToFifoOff, gRefToHREFifo, gRefToInd, gRefToToggle, gStatToHtOffset, gStatToRef, gToggleToInc, HASH_MAP, hash_pointer, hash_table_free(), hash_table_make(), module_name(), NIL, printf(), statement_comments, statement_instruction, statement_label, statement_number, STATEMENT_NUMBER_UNDEFINED, and string_undefined.
Referenced by comEngine_distribute().
Definition at line 226 of file comEngine_distribute.c.
References do_HRE_memory_mapping(), entity_to_expression(), gBufferSize, gBufferSizeEnt, gCurBuff, gCurVar, give_value_to_symbolic_entity(), gMaxBuff, gMaxVar, and make_new_symbolic_entity().
Referenced by comEngine_distribute_code().
void create_HRE_module | ( | const char * | new_module_name, |
const char * | module_name, | ||
statement | stat, | ||
entity | new_fun | ||
) |
builds some kind of module / statement for the clone.
add some comments before the code.
give the clonee a user file.
new_module_name | ew_module_name |
module_name | odule_name |
stat | tat |
new_fun | ew_fun |
Definition at line 283 of file comEngine_distribute.c.
References ALL_DECLS, concatenate(), CONS, db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, entity_local_name(), free_statement(), get_bool_property(), get_current_module_entity(), is_sentence_formatted, make_sentence(), make_text_resource_and_free(), module_name(), module_name_to_entity(), move_declarations(), reset_current_module_entity(), SENTENCE, set_bool_property(), set_current_module_entity(), STAT_ORDER, strdup(), text_named_module(), and text_sentences.
Referenced by comEngine_generate_HRECode(), and fill_HRE_module().
|
static |
Definition at line 188 of file comEngine_distribute.c.
References do_HRE_memory_mapping_loop(), do_HRE_memory_mapping_stat(), instruction_sequence, instruction_tag, is_instruction_call, is_instruction_loop, is_instruction_sequence, is_instruction_test, MAP, pips_internal_error, sequence_statements, STATEMENT, and statement_instruction.
Referenced by compute_HRE_memory_mapping(), and do_HRE_memory_mapping_loop().
|
static |
Definition at line 151 of file comEngine_distribute.c.
References do_HRE_memory_mapping(), get_supportedRef_proc(), gStatToHtOffset, hash_pointer, hash_put(), hash_table_make(), loop_body, NIL, statement_loop(), update_HRE_mapping_from_list(), and update_max().
Referenced by do_HRE_memory_mapping().
|
static |
Definition at line 174 of file comEngine_distribute.c.
References gStatToRef, hash_get(), HASH_UNDEFINED_VALUE, update_HRE_mapping_from_list(), and update_max().
Referenced by do_HRE_memory_mapping().
Definition at line 104 of file comEngine_distribute.c.
References entity_initial, is_constant_int, is_value_constant, make_constant(), and make_value().
Referenced by compute_HRE_memory_mapping().
Definition at line 88 of file comEngine_distribute.c.
References concatenate(), is_basic_int, is_storage_rom, is_type_variable, is_value_unknown, make_basic(), make_entity, make_storage(), make_type(), make_value(), make_variable(), MODULE_SEP_STRING, NIL, strdup(), TOP_LEVEL_MODULE_NAME, and UU.
Referenced by compute_HRE_memory_mapping().
Definition at line 258 of file comEngine_distribute.c.
References code_declarations, CONS, ENTITY, entity_initial, entity_type, gen_free_list(), gen_nconc(), MAP, NIL, statement_declarations, type_area_p, type_statement_p, type_varargs_p, and value_code.
Referenced by create_HRE_module().
bool phrase_comEngine_distributor | ( | const char * | module_name | ) |
module_name | odule_name |
Definition at line 511 of file comEngine_distribute.c.
References comEngine_distribute(), compute_callees(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, dynamic_area, DYNAMIC_AREA_LOCAL_NAME, entity_undefined, entity_undefined_p, FindOrCreateEntity(), free_value_mappings(), gen_consistent_p(), get_regions_properties(), module, module_local_name(), module_name(), module_name_to_entity(), module_reorder(), module_to_value_mappings(), pips_assert, pips_debug, reset_cumulated_rw_effects(), reset_current_module_entity(), reset_current_module_statement(), reset_in_effects(), reset_out_effects(), reset_proper_rw_effects(), reset_rw_effects(), set_bool_property(), set_cumulated_rw_effects(), set_current_module_entity(), set_current_module_statement(), set_in_effects(), set_out_effects(), set_proper_rw_effects(), set_rw_effects(), and statement_consistent_p().
Definition at line 129 of file comEngine_distribute.c.
References gCurBuff, gCurVar, gRefToBuffSize, hash_put(), MAP, and REFERENCE.
Referenced by do_HRE_memory_mapping_loop(), and do_HRE_memory_mapping_stat().
|
static |
Definition at line 116 of file comEngine_distribute.c.
References gCurBuff, gCurVar, gMaxBuff, and gMaxVar.
Referenced by do_HRE_memory_mapping_loop(), and do_HRE_memory_mapping_stat().
int gBufferSize |
Definition at line 74 of file comEngine_distribute.c.
Referenced by compute_HRE_memory_mapping().
expression gBufferSizeEnt |
Definition at line 73 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), compute_HRE_memory_mapping(), generate_code(), and generate_code_loop().
|
static |
Definition at line 112 of file comEngine_distribute.c.
Referenced by compute_HRE_memory_mapping(), update_HRE_mapping_from_list(), and update_max().
|
static |
Definition at line 111 of file comEngine_distribute.c.
Referenced by compute_HRE_memory_mapping(), update_HRE_mapping_from_list(), and update_max().
hash_table gEntToHREFifo |
Definition at line 83 of file comEngine_distribute.c.
Referenced by alloc_new_slot(), comEngine_distribute_code(), find_or_create_slot(), and generate_ind_fifo_stat2().
entity gHREMemory |
Definition at line 72 of file comEngine_distribute.c.
hash_table gIndToNum |
Definition at line 80 of file comEngine_distribute.c.
Referenced by alloc_new_slot(), comEngine_distribute_code(), and generate_ind_fifo_stat2().
hash_table gIsNewLoop |
Definition at line 86 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), generate_code_loop(), make_seqStat(), and opt_loop_interchange_fill_lists().
hash_table gLoopToRef |
Definition at line 66 of file comEngine_distribute.c.
Referenced by attach_ref_to_loop(), comEngine_distribute_code(), generate_code_loop(), and get_supportedRef_proc().
hash_table gLoopToSupRef |
Definition at line 70 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), get_supportedRef_HRE(), get_supportedRef_proc(), and process_ref_lists().
hash_table gLoopToSync |
Definition at line 69 of file comEngine_distribute.c.
Referenced by check_for_conflict(), comEngine_distribute_code(), process_gLoopToSync_HRE(), and process_gLoopToSync_proc().
hash_table gLoopToToggleEnt |
Definition at line 82 of file comEngine_distribute.c.
Referenced by add_toggle_inc_statements(), comEngine_distribute_code(), fill_gLoopToToggleEnt(), generate_code_loop(), make_mmcd_stats_from_ref(), regenerate_toggles(), update_toggle_init_stats_list(), and usual_loop_tiling().
hash_table gLoopToUnSupRef |
Definition at line 71 of file comEngine_distribute.c.
Referenced by add_exec_mmcd(), comEngine_distribute_code(), find_or_create_newInd(), get_supportedRef_HRE(), get_supportedRef_proc(), and make_init_newInd_stat().
|
static |
Definition at line 114 of file comEngine_distribute.c.
Referenced by compute_HRE_memory_mapping(), and update_max().
|
static |
Definition at line 113 of file comEngine_distribute.c.
Referenced by compute_HRE_memory_mapping(), and update_max().
hash_table gRefToBuffSize |
Definition at line 79 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), and update_HRE_mapping_from_list().
hash_table gRefToEff |
Definition at line 68 of file comEngine_distribute.c.
Referenced by attach_ref_to_stat(), comEngine_distribute_code(), create_realFifo_proc(), generate_fifo_stats(), generate_fifo_stats2(), generate_mmcd_stats_from_ref(), generate_stat_from_ref_list_HRE(), and generate_stat_from_ref_list_HRE_list().
hash_table gRefToFifo |
Definition at line 75 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), compute_fifo_from_ref(), create_realFifo_proc(), fill_gLoopToToggleEnt(), generate_mmcd_stat_from_ref(), and get_toggleEnt_from_ref().
hash_table gRefToFifoOff |
Definition at line 76 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), create_realFifo_proc(), fill_gLoopToToggleEnt(), get_realFifoNum(), and get_toggleEnt_from_ref().
hash_table gRefToHREFifo |
Definition at line 77 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), comEngine_generate_procCode(), compute_fifo_from_ref(), generate_scalar_variables(), get_fifo_from_ref(), and get_realFifoNum().
hash_table gRefToInd |
Definition at line 81 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), generate_fifo_stat2(), and make_mmcd_stats_from_ref().
hash_table gRefToToggle |
Definition at line 84 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), generate_fifo_stat2(), make_mmcd_stats_from_ref(), and regenerate_toggles().
hash_table gStatToHtOffset |
Definition at line 78 of file comEngine_distribute.c.
Referenced by comEngine_distribute_code(), do_HRE_memory_mapping_loop(), and generate_code_loop().
hash_table gStatToRef |
Definition at line 67 of file comEngine_distribute.c.
Referenced by attach_ref_to_loop(), check_loop_distribution_feasability(), comEngine_distribute_code(), do_HRE_memory_mapping_stat(), generate_code_call(), generate_code_loop(), generate_code_test_HRE(), generate_code_test_proc(), process_code_seq(), and process_ref_list().
hash_table gToggleToInc |
Definition at line 85 of file comEngine_distribute.c.
Referenced by add_toggle_inc_statements(), comEngine_distribute_code(), fill_gLoopToToggleEnt(), get_toggleEnt_from_ref(), and regenerate_toggles().