PIPS
|
Go to the source code of this file.
Functions | |
statement | make_write_loopbody (entity, expression, list) |
Warning! Do not modify this file that is automatically generated! More... | |
statement | make_read_loopbody (entity, entity, list) |
Makes the body of a "read" loop. More... | |
statement | region_to_loop_nest (effect, bool, entity, expression) |
expression | make_addition (expression, expression) |
Makes an addition expression from two expressions. More... | |
void | replace_indices_region (effect, list *, int, entity) |
statement | make_sequence_from_statement_list (list) |
Make a sequence from a statement list The equivalent of this function was already made somewhere else. More... | |
bool | regions_to_loops (char *) |
This phase replaces the body of a function by automatically generated loops where the read and write statements are representative of the original function. More... | |
expression make_addition | ( | expression | e1, |
expression | e2 | ||
) |
Makes an addition expression from two expressions.
e1 | 1 |
e2 | 2 |
Definition at line 175 of file regions_to_loops.c.
References CONS, EXPRESSION, gen_find_entity(), make_call_expression(), and NIL.
Referenced by regions_to_loops().
Makes the body of a "read" loop.
An assign statement is made using the variables generated and the array.
readVar | eadVar |
vl | l |
Definition at line 106 of file regions_to_loops.c.
References entity_to_expression(), gen_full_copy_list(), make_assign_statement(), make_reference(), pips_assert, reference_to_expression(), and statement_consistent_p().
Referenced by Psysteme_to_loop_nest().
Make a sequence from a statement list The equivalent of this function was already made somewhere else.
However when the list only has one element it returns that element instead of making a sequence of one element containing that element. This function always makes a sequence
Definition at line 243 of file regions_to_loops.c.
References CAR, gen_length(), make_block_statement(), make_block_with_stmt_if_not_already(), NIL, STATEMENT, and statement_undefined.
Referenced by regions_to_loops().
statement make_write_loopbody | ( | entity | v, |
expression | exp, | ||
list | vl | ||
) |
Warning! Do not modify this file that is automatically generated!
Modify src/Libs/regions_to_loops/regions_to_loops-local.h instead, to add your own modifications. header file built by cproto regions_to_loops-local.h cproto-generated files regions_to_loops.c
Warning! Do not modify this file that is automatically generated!
An assign statement is made using the array and the expression built using read variables. This allows to avoid dead code elimination.
exp | xp |
vl | l |
Definition at line 96 of file regions_to_loops.c.
References exp, gen_full_copy_list(), make_assign_statement(), make_reference(), pips_assert, reference_to_expression(), and statement_consistent_p().
Referenced by Psysteme_to_loop_nest().
statement region_to_loop_nest | ( | effect | , |
bool | , | ||
entity | , | ||
expression | |||
) |
bool regions_to_loops | ( | char * | module_name | ) |
This phase replaces the body of a function by automatically generated loops where the read and write statements are representative of the original function.
If the regions are not computable then the function is not modified.
module_name | odule_name |
Definition at line 261 of file regions_to_loops.c.
References add_declaration_statement(), CONS, db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, effects_to_list(), ENTITY, entity_to_expression(), entity_undefined, expression_undefined, filter_regions(), FOREACH, free_statement(), gen_car(), gen_full_copy_list(), gen_length(), gen_nconc(), gen_nreverse(), generic_effects_reset_all_methods(), get_current_module_entity(), int, local_name_to_top_level_entity(), make_addition(), make_integer_constant_entity(), make_new_module_variable(), make_sequence_from_statement_list(), module, module_name(), module_reorder(), NIL, pips_assert, POP, region_to_loop_nest(), regions_read_regions(), regions_write_regions(), replace_indices_region(), reset_current_module_entity(), reset_current_module_statement(), reset_ordering_to_statement(), reset_out_summary_effects_list(), reset_out_summary_regions_list(), set_current_module_entity(), set_current_module_statement(), set_methods_for_convex_effects(), set_ordering_to_statement(), STATEMENT, statement_consistent_p(), and statement_sequence_p().