PIPS
loop.c File Reference
#include <stdio.h>
#include "linear.h"
#include "genC.h"
#include "misc.h"
#include "properties.h"
#include "ri.h"
#include "ri-util.h"
+ Include dependency graph for loop.c:

Go to the source code of this file.

Functions

void clean_enclosing_loops (void)
 
static void rloops_mapping_of_statement ()
 
static void rloops_mapping_of_unstructured (statement_mapping m, list loops, unstructured u)
 
static void rloops_mapping_of_statement (statement_mapping m, list loops, statement s)
 
statement_mapping loops_mapping_of_statement (statement stat)
 
static bool distributable_statement_p (statement stat, set region)
 
set distributable_loop (statement l)
 this functions checks if Kennedy's algorithm can be applied on the loop passed as argument. More...
 
bool index_private_p (loop lo)
 returns true if loop lo's index is private for this loop More...
 
set region_of_loop (statement l)
 this function returns the set of all statements belonging to the given loop even if the loop contains test, goto or unstructured control structures More...
 
void region_of_statement (statement stat, set region)
 Should be rewritten with a gen_recurse to deal with the recent RI... More...
 
list loop_private_variables_as_entites (loop obj, bool local, bool index)
 Get the variables local or private to a loop. More...
 
static void loop_sort_locals (loop l)
 
void sort_all_loop_locals (statement s)
 
bool loop_parallel_p (loop l)
 Test if a loop is parallel. More...
 
bool loop_sequential_p (loop l)
 Test if a loop is sequential. More...
 
bool parallel_loop_statement_p (statement s)
 Test if a statement is a parallel loop. More...
 
int depth_of_parallel_perfect_loop_nest (statement s)
 Compute the depth of a parallel perfect loop-nest. More...
 
int depth_of_perfect_loop_nest (statement s)
 Compute the depth of a perfect loop-nest. More...
 
statement get_first_inner_perfectly_nested_loop (statement stat)
 Return the inner loop in a perfect loop-nest. More...
 
bool perfectly_nested_loop_p (statement stat)
 Test if a statement is a perfect loop-nest. More...
 
statement perfectly_nested_loop_to_body (statement loop_nest)
 Extract the body of a perfectly nested loop body. More...
 
statement perfectly_nested_loop_to_body_at_depth (statement s, int depth)
 Extract the loop-body of a perfect loop-nest at a given depth. More...
 
entity perfectly_nested_loop_index_at_depth (statement s, int depth)
 Get the index of the loop at a given depth inside a loop-nest. More...
 
int loop_increment_value (loop l)
 
bool constant_step_loop_p (loop l)
 Test if a loop has a constant step loop. More...
 
bool normal_loop_p (loop l)
 Test if a loop does have a 1-increment step. More...
 
static void loop_update_statistics (loop l)
 
void number_of_sequential_and_parallel_loops (statement stat, int *pseq, int *ppar)
 Compute the number of parallel and sequential loops found in a statement and update given variables. More...
 
void print_number_of_loop_statistics (FILE *out, string msg, statement s)
 Compute the number of parallel and sequential loops found in a statement and output them on a stream with a message before. More...
 
void print_parallelization_statistics (const char *module, const char *msg, statement s)
 Print out the number of sequential versus parallel loops. More...
 
list copy_loops (list ll)
 Duplicate a loop list. More...
 
statement make_new_loop_statement (entity i, expression low, expression up, expression inc, statement b, execution e)
 This is an ad'hoc function designed for do_loop_unroll_with_epilogue(). More...
 
list statement_to_loop_statement_list (statement s)
 If statement s is a perfectly loop nest, return the corresponding loop list. More...
 
bool range_contains_at_least_one_point_p (range r)
 
bool loop_executed_at_least_once_p (loop l)
 Check if loop bound are constant and then if upper >= lower. More...
 
bool range_contains_nothing_p (range r)
 
bool loop_executed_never_p (loop l)
 Check if loop bound are constant and then if upper < lower. More...
 
bool index_of_a_loop_p (Variable v, list loops)
 Check if variable v is an index for an enclosing loop. More...
 

Variables

int Nbrdo
 loop.c More...
 
static int nseq
 To store the number of sequential and parallel loops. More...
 
static int npar