diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/graphite-clast-to-gimple.c | 19 |
2 files changed, 23 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8a7a08f..7d1b47b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2011-07-21 Sebastian Pop <sebastian.pop@amd.com> + * graphite-clast-to-gimple.c (clast_get_body_of_loop): Add fixme + comment. + +2011-07-21 Sebastian Pop <sebastian.pop@amd.com> + * graphite-clast-to-gimple.c (struct ivs_params): New. (clast_name_to_gcc): Use ivs_params to pass around parameters. (clast_to_gcc_expression): Same. diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c index 099109a..b7bfaa8 100644 --- a/gcc/graphite-clast-to-gimple.c +++ b/gcc/graphite-clast-to-gimple.c @@ -640,7 +640,24 @@ compute_type_for_level (poly_bb_p pbb, int level) } /* Walks a CLAST and returns the first statement in the body of a - loop. */ + loop. + + FIXME: This function should not be used to get a PBB in the STMT + loop in order to find out the iteration domain of the loop: the + counter example from Tobias is: + + | for (i = 0; i < 100; i++) + | { + | if (i == 0) + | S1; + | S2; + | } + + This function would return S1 whose iteration domain contains only + one point "i = 0", whereas the iteration domain of S2 has 100 points. + + This should be implemented using some functionality existing in + CLooG-ISL. */ static struct clast_user_stmt * clast_get_body_of_loop (struct clast_stmt *stmt) |