PIPS
|
Conditional execution is used to mask the call to MakeSimpleIoInst2. More...
Modules | |
Statement predicate methods | |
detects a statement with no special effect... | |
Functions | |
void | statement_remove_extensions (statement s) |
That's all folks. More... | |
void | statement_remove_useless_label (statement s, bool *changed) |
remove the label of a statement if the statement is not unstructured. More... | |
bool | belong_to_statement (statement stmt, statement s, bool found_p) |
return true if s is enclosed in stmt NL: What is the difference with statement_in_statement_p? More... | |
entity | find_final_statement_label (statement s) |
Find the label associated with the last statement executed within s. More... | |
string | comment_sentinel (tag t) |
Start a single line comment. More... | |
Variables | |
list | add_statement_declarations_t::statement_to_all_included_declarations |
set | add_statement_declarations_t::cache |
list | entities_t::lents |
set | entities_t::sents |
statement | fswl::st |
statement matching condition More... | |
entity | fswl::key |
used for the condition More... | |
list | fswp::l |
const char * | fswp::begin |
statement | sb::searched_statement |
bool | sb::found_p |
statement | replace_statement_context::old_stat |
statement | replace_statement_context::new_stat |
bool | replace_statement_context::found_p |
Conditional execution is used to mask the call to MakeSimpleIoInst2.
It is preserved because the current validation suite does not include test cases covering its replacement.
include "syntax.h" // MakeSimpleIoInst2
return true if s is enclosed in stmt NL: What is the difference with statement_in_statement_p?
stmt | tmt |
found_p | ound_p |
Definition at line 4304 of file statement.c.
References belong_to_statement(), CAR, forloop_body, replace_statement_context::found_p, instruction_block, instruction_tag, instruction_test, is_instruction_block, is_instruction_call, is_instruction_forloop, is_instruction_loop, is_instruction_test, is_instruction_whileloop, loop_body, MAPL, STATEMENT, statement_forloop(), statement_instruction, statement_loop(), statement_ordering, statement_whileloop(), test_false, test_true, and whileloop_body.
Referenced by belong_to_statement().
Start a single line comment.
Definition at line 4420 of file statement.c.
References is_language_c, is_language_fortran, is_language_fortran95, and pips_internal_error.
Referenced by loop_test(), and whileloop_test().
Find the label associated with the last statement executed within s.
If empty blocks are allowed, we've recursed one statement too far.
There cannot be a final statement. The test itself is the final instruction.
Must be the label of the exit node.
fsl should be either a meaningful label or the empty label
Definition at line 4360 of file statement.c.
References CAR, control_statement, ENDP, entity_undefined, entity_undefined_p, find_final_statement_label(), gen_last(), instruction_block, instruction_loop, instruction_tag, instruction_unstructured, is_instruction_block, is_instruction_call, is_instruction_goto, is_instruction_loop, is_instruction_test, is_instruction_unstructured, list_undefined, loop_body, pips_internal_error, STATEMENT, statement_instruction, statement_label, and unstructured_exit.
Referenced by find_final_statement_label(), and full_loop_unroll().
void statement_remove_extensions | ( | statement | s | ) |
That's all folks.
purge a statement from its extensions
Definition at line 4263 of file statement.c.
References extensions_extension, gen_full_free_list(), NIL, and statement_extensions.
remove the label of a statement if the statement is not unstructured.
labels on fortran loops and Fortran return are also preserved
s | statement considered |
changed | hanged |
Definition at line 4275 of file statement.c.
References c_module_p(), entity_empty_label(), entity_empty_label_p(), fortran_return_statement_p(), get_bool_property(), get_current_module_entity(), instruction_loop, instruction_loop_p, instruction_unstructured_p, instruction_whileloop, instruction_whileloop_p, loop_label, statement_instruction, statement_label, and whileloop_label.
Referenced by stmt_rm_labels(), and stmt_rm_useless_label_rwt().
const char* fswp::begin |
Definition at line 3890 of file statement.c.
Referenced by find_statements_with_pragma(), and find_statements_with_pragma_walker().
set add_statement_declarations_t::cache |
Definition at line 3225 of file statement.c.
Referenced by add_statement_declarations(), and statement_to_declarations().
bool sb::found_p |
Definition at line 4049 of file statement.c.
Referenced by statement_in_statement_p(), and statement_in_statement_walker().
bool replace_statement_context::found_p |
Definition at line 4108 of file statement.c.
Referenced by belong_to_statement(), replace_statement_walker(), and statement_replace_in_root_statement().
entity fswl::key |
used for the condition
Definition at line 3779 of file statement.c.
Referenced by find_statements_with_label_walker().
list fswp::l |
Definition at line 3889 of file statement.c.
Referenced by find_statements_with_pragma(), and find_statements_with_pragma_walker().
list entities_t::lents |
Definition at line 3383 of file statement.c.
Referenced by add_loop_index_entity(), add_stat_called_user_entities(), add_stat_referenced_entities(), statement_to_called_user_entities(), and statement_to_referenced_entities().
statement replace_statement_context::new_stat |
Definition at line 4107 of file statement.c.
Referenced by replace_statement_walker(), and statement_replace_in_root_statement().
statement replace_statement_context::old_stat |
Definition at line 4106 of file statement.c.
Referenced by replace_statement_walker(), and statement_replace_in_root_statement().
statement sb::searched_statement |
Definition at line 4048 of file statement.c.
Referenced by statement_in_statement_p(), and statement_in_statement_walker().
set entities_t::sents |
Definition at line 3384 of file statement.c.
Referenced by add_loop_index_entity(), add_stat_called_user_entities(), add_stat_referenced_entities(), statement_to_called_user_entities(), and statement_to_referenced_entities().
statement fswl::st |
statement matching condition
Definition at line 3778 of file statement.c.
Referenced by find_statement_from_label(), and find_statements_with_label_walker().
list add_statement_declarations_t::statement_to_all_included_declarations |
Definition at line 3224 of file statement.c.
Referenced by add_statement_declarations(), and statement_to_declarations().