25 #include "pips_config.h"
40 #include "resources.h"
197 list * lReadStats,
list * lWriteStats)
214 bool alreadyDone =
false;
245 bool alreadyDone =
false;
333 bool alreadyDone =
false;
384 bool writeFound =
false;
427 bool writeFound =
false;
468 list * lSupportedRef,
list * lUnSupportedRef)
473 pips_assert(
"*lSupportedRef != HASH_UNDEFINED_VALUE",
476 pips_assert(
"*lUnSupportedRef != HASH_UNDEFINED_VALUE",
534 transferSize, bufferSizeExp);
638 string new_module_name,
call make_call(entity a1, list a2)
language make_language_unknown(void)
expression copy_expression(expression p)
EXPRESSION.
statement copy_statement(statement p)
STATEMENT.
reference make_reference(entity a1, list a2)
void free_statement(statement p)
static reference ref
Current stmt (an integer)
#define WAIT_FOR_NEXT_STEP
statement HRE_distribute(statement stat, string new_module_name, const char *module_name)
void create_HRE_module(const char *new_module_name, const char *module_name, statement stat, entity new_fun)
hash_table gLoopToUnSupRef
statement make_wait_step_statement()
list make_loop_lStats_HRE(statement stat, entity transferSize, statement innerStat, entity newOuterInd, _UNUSED_ list lSupportedRef, _UNUSED_ hash_table htOffset, expression bufferSizeExp)
void replace_array_ref_with_fifos(list lRef, expression buffIndExp, entity ind, statement *newStat)
statement comEngine_generate_HRECode(statement externalized_code, string new_module_name, _UNUSED_ list l_in, _UNUSED_ list l_out, _UNUSED_ list l_params, _UNUSED_ list l_priv, const char *module_name, _UNUSED_ int hreMemSize)
expression get_fifo_from_ref(reference ref)
static statement generate_fifo_stat(reference curRef, expression buffIndExp, entity ind, bool bRead)
static void generate_scalar_variables()
void get_supportedRef_HRE(statement stat, list *lSupportedRef, list *lUnSupportedRef)
statement get_call_stat_HRE(statement stat)
list process_gLoopToSync_HRE(statement stat, list lInStats)
hash_table gRefToHREVar
comEngine_generate_HRECode.c
static void generate_fifo_stats(list lRef, expression buffIndExp, entity ind, list *lReadStats, list *lWriteStats)
statement generate_stat_from_ref_list_HRE(list lRef, statement stat)
entity get_HRE_buff_ent_from_ref(reference ref)
list generate_stat_from_ref_list_HRE_list(list lRef, list lInStats)
statement generate_code_test_HRE(statement stat)
void process_replacement_HRE(list lRef, expression buffIndExp, statement *stat)
list process_replacement_HRE_OutRef(list lRef, list lStats)
statement comEngine_generate_code(statement stat)
statement generate_code_function(statement stat, bool bCalledFromSeq)
void comEngine_replace_reference_in_stat(statement stat, reference ref, expression new)
statement make_transStat(statement stat, entity newOuterInd, entity transferSize, expression bufferSizeExp)
const char * module_name(const char *s)
Return the module part of an entity name.
bool get_bool_property(const string)
FC 2015-07-20: yuk, moved out to prevent an include cycle dependency include "properties....
statement make_block_statement(list)
Make a block statement from a list of statement.
void reset_current_module_entity(void)
Reset the current module entity.
entity set_current_module_entity(entity)
static.c
entity get_current_module_entity(void)
Get the entity of the current module.
list gen_make_list(int domain,...)
#define NIL
The empty list (nil in Lisp)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
list gen_nconc(list cp1, list cp2)
physically concatenates CP1 and CP2 but do not duplicates the elements
#define CAR(pcons)
Get the value of the first element of a list.
void gen_free_list(list l)
free the spine of the list
#define CDR(pcons)
Get the list less its first element.
#define MAP(_map_CASTER, _map_item, _map_code, _map_list)
Apply/map an instruction block on all the elements of a list (old fashioned)
test statement_test(statement)
Get the test of a statement.
hash_table hash_table_make(hash_key_type key_type, size_t size)
void * hash_get(const hash_table htp, const void *key)
this function retrieves in the hash table pointed to by htp the couple whose key is equal to key.
void hash_put(hash_table htp, const void *key, const void *val)
This functions stores a couple (key,val) in the hash table pointed to by htp.
void hash_table_free(hash_table htp)
this function deletes a hash table that is no longer useful.
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define HASH_MAP(k, v, code, ht)
#define HASH_UNDEFINED_VALUE
value returned by hash_get() when the key is not found; could also be called HASH_KEY_NOT_FOUND,...
#define PLUS_OPERATOR_NAME
#define call_to_statement(c)
#define make_empty_statement
An alias for make_empty_block_statement.
const char * entity_local_name(entity e)
entity_local_name modified so that it does not core when used in vect_fprint, since someone thought t...
entity make_empty_subroutine(const char *name, language l)
entity module_name_to_runtime_entity(const char *name)
similar to module_name_to_entity but generates a warning and a stub if the entity is not found
entity entity_intrinsic(const char *name)
FI: I do not understand this function name (see next one!).
expression reference_to_expression(reference r)
expression entity_to_expression(entity e)
if v is a constant, returns a constant call.
expression int_to_expression(_int i)
transform an int into an expression and generate the corresponding entity if necessary; it is not cle...
bool reference_equal_p(reference r1, reference r2)
expression call_to_expression(call c)
Build an expression that call a function or procedure.
void AddEntityToCurrentModule(entity)
Add a variable entity to the current module declarations.
entity make_new_scalar_variable_with_prefix(const char *, entity, basic)
Create a new scalar variable of type b in the given module.
basic basic_of_reference(reference)
Retrieves the basic of a reference in a newly allocated basic object.
#define expression_domain
newgen_execution_domain_defined
#define REFERENCE(x)
REFERENCE.
#define reference_undefined
#define reference_variable(x)
#define expression_undefined
#define statement_comments(x)
#define statement_undefined
#define STATEMENT(x)
STATEMENT.
The structure used to build lists in NewGen.