PIPS
|
#include <stdio.h>
#include "linear.h"
#include "genC.h"
#include "ri.h"
#include "effects.h"
#include "misc.h"
#include "ri-util.h"
#include "effects-util.h"
#include "text.h"
#include "text-util.h"
#include "constants.h"
#include "boolean.h"
#include "vecteur.h"
#include "contrainte.h"
#include "sc.h"
#include "conversion.h"
Go to the source code of this file.
Functions | |
void | look_for_nested_loop_statements (statement s, statement(*loop_transformation)(list, bool(*)(statement)), bool(*loop_predicate)(statement)) |
Package generation (for the hyperplane transformation?) More... | |
statement | look_for_inner_loops (loop l, list sl, statement(*loop_transformation)(list, bool(*)(statement)), bool(*loop_predicate)(statement)) |
FI: I do not understand how debug levels are managed... More... | |
void | look_for_nested_loops_unstructured (unstructured u, statement(*loop_transformation)(list, bool(*)(statement)), bool(*loop_predicate)(statement)) |
oid look_for_nested_loops_unstructured(unstructured u) search the nested loops contained in the unstructured u More... | |
statement look_for_inner_loops | ( | loop | l, |
list | sl, | ||
statement(*)(list, bool(*)(statement)) | loop_transformation, | ||
bool(*)(statement) | loop_predicate | ||
) |
FI: I do not understand how debug levels are managed...
They should be factored out.
check that i is a block
SG: added to cope with empty statements
i is an inner loop, append it to the list of loops
here are no more nested loops
FI: I do not understand this piece of code. I expect a look_for_nested_loop_statements().
sl | l |
Definition at line 166 of file look_for_nested_loops.c.
References b1, CAR, CDR, CONS, control_statement, debug_off, debug_on, empty_statement_or_continue_p(), ENDP, forloop_body, instruction_block, instruction_block_p, instruction_forloop, instruction_loop, instruction_loop_p, instruction_tag, instruction_test, instruction_unstructured, instruction_whileloop, is_instruction_block, is_instruction_call, is_instruction_forloop, is_instruction_goto, is_instruction_loop, is_instruction_test, is_instruction_unstructured, is_instruction_whileloop, look_for_inner_loops(), look_for_nested_loop_statements(), loop_body, pips_internal_error, POP, STATEMENT, statement_instruction, statement_undefined, test_false, test_true, unstructured_control, and whileloop_body.
Referenced by look_for_inner_loops(), and look_for_nested_loop_statements().
void look_for_nested_loop_statements | ( | statement | s, |
statement(*)(list, bool(*)(statement)) | loop_transformation, | ||
bool(*)(statement) | loop_predicate | ||
) |
Package generation (for the hyperplane transformation?)
void look_for_nested_loop_statements(statement s) search the nested loops in the statement s
pips_debug(9, "Before transformation:\n");
debug_on("ZERO_DEBUG_LEVEL");
print_statement(s);
}
debug_on("ZERO_DEBUG_LEVEL");
print_statement(new_s);
SG: added to cope with empty statements
Definition at line 56 of file look_for_nested_loops.c.
References b1, CAR, CDR, CONS, empty_statement_or_continue_p(), ENDP, forloop_body, ifdebug, instruction_block, instruction_forloop, instruction_loop, instruction_tag, instruction_test, instruction_unstructured, instruction_whileloop, is_instruction_block, is_instruction_call, is_instruction_forloop, is_instruction_goto, is_instruction_loop, is_instruction_test, is_instruction_unstructured, is_instruction_whileloop, look_for_inner_loops(), look_for_nested_loop_statements(), look_for_nested_loops_unstructured(), loop_body, NIL, pips_assert, pips_debug, pips_internal_error, POP, STATEMENT, statement_consistent_p(), statement_instruction, statement_undefined, test_false, test_true, and whileloop_body.
Referenced by global_parallelization(), interactive_loop_transformation(), look_for_inner_loops(), look_for_nested_loop_statements(), look_for_nested_loops_unstructured(), and strip_mine().
void look_for_nested_loops_unstructured | ( | unstructured | u, |
statement(*)(list, bool(*)(statement)) | loop_transformation, | ||
bool(*)(statement) | loop_predicate | ||
) |
oid look_for_nested_loops_unstructured(unstructured u) search the nested loops contained in the unstructured u
Definition at line 298 of file look_for_nested_loops.c.
References CONTROL_MAP, control_statement, debug_off, debug_on, gen_free_list(), look_for_nested_loop_statements(), NIL, and unstructured_control.
Referenced by look_for_nested_loop_statements().