diff options
author | Laurynas Biveinis <laurynas.biveinis@gmail.com> | 2007-09-07 01:33:41 +0000 |
---|---|---|
committer | Laurynas Biveinis <lauras@gcc.gnu.org> | 2007-09-07 01:33:41 +0000 |
commit | b9dd78fa1e85a6c0b2bc1256a529f5960e503d79 (patch) | |
tree | 90465e7e91a5775e8c20ea92e5e97726c297376d /gcc/lambda.h | |
parent | 0f996086cbf16283b2494ca36c7573abb5f06df7 (diff) | |
download | gcc-b9dd78fa1e85a6c0b2bc1256a529f5960e503d79.zip gcc-b9dd78fa1e85a6c0b2bc1256a529f5960e503d79.tar.gz gcc-b9dd78fa1e85a6c0b2bc1256a529f5960e503d79.tar.bz2 |
tree-loop-linear.c: Include obstack.h.
2007-09-06 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* tree-loop-linear.c: Include obstack.h.
(linear_transform_loops): New obstack lambda_obstack.
Initialize it, pass it to gcc_loopnest_to_lambda_loopnest,
lambda_loopnest_transform, lambda_loopnest_to_gcc_loopnest calls
and free afterwards.
* lambda.h (struct obstack): New forward declaration.
(lambda_linear_expression_new): New parameter of type struct
obstack *.
(lambda_loopnest_new): Likewise.
(lambda_loopnest_transform): Likewise.
(lambda_body_vector_new): Likewise.
(lambda_body_vector_compute_new): Likewise.
(gcc_loopnest_to_lambda_loopnest): Likewise.
(lambda_loopnest_to_gcc_loopnest): Likewise.
* lambda-code.c: Include obstack.h.
(lambda_lattice_new): New parameter lambda_obstack. Use it for
allocation of ret.
(lambda_body_vector_new): Likewise.
(lambda_linear_expression_new): Likewise.
(lambda_lattice_new): Likewise.
(lambda_loopnest_new): Likewise. Additionally use obstack to
allocate LN_LOOPS(ret).
(lambda_lattice_compute_base): New parameter lambda_obstack. Pass
it to lambda_lattice_new.
(lambda_body_vector_compute_new): New parameter lambda_obstack.
Pass it to lambda_body_vector_new.
(lambda_lattice_compute_base): New paramater lambda_obstack. Pass
it to lambda_lattice_new.
(compute_nest_using_fourier_motzkin): New parameter lambda_obstack.
Pass it to lambda_loopnest_new, lambda_linear_expression_new.
(lambda_compute_target_space): Likewise.
(lambda_compute_auxillary_space): New parameter lambda_obstack.
Pass it to lambda_lattice_compute_base and
compute_nest_using_fourieer_motzkin.
(lambda_loopnest_transform): New parameter lambda_obstack. Pass
it to lambda_lattice_compute_base, lambda_lattice_auxillary_space
and lambda_lattice_compute_target_space.
(gcc_tree_to_linear_expression): Nex parameter lambda_obstack.
Pass it to lambda_linear_expression_new.
(gcc_loop_to_lambda_loop): New parameter lambda_obstack. Pass it
to gcc_tree_to_linear_expression.
(gcc_loopnest_to_lambda_loopnest): New parameter lambda_obstack.
Pass it to gcc_loop_to_lambda_loop and lambda_loopnest_new.
(lambda_loopnest_to_gcc_loopnest): New parameter lambda_obstack.
Pass it to lambda_body_vector_new and
lambda_body_vector_compute_new.
* Makefile.in (tree-loop-linear.o): Add $(OBSTACK_H) dependency.
(lambda-code.o): Likewise.
From-SVN: r128219
Diffstat (limited to 'gcc/lambda.h')
-rw-r--r-- | gcc/lambda.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/gcc/lambda.h b/gcc/lambda.h index f2ac6f1..e7a75fd 100644 --- a/gcc/lambda.h +++ b/gcc/lambda.h @@ -97,7 +97,10 @@ typedef struct lambda_linear_expression_s #define LLE_DENOMINATOR(T) ((T)->denominator) #define LLE_NEXT(T) ((T)->next) -lambda_linear_expression lambda_linear_expression_new (int, int); +struct obstack; + +lambda_linear_expression lambda_linear_expression_new (int, int, + struct obstack *); void print_lambda_linear_expression (FILE *, lambda_linear_expression, int, int, char); @@ -137,8 +140,10 @@ typedef struct lambda_loopnest_s #define LN_DEPTH(T) ((T)->depth) #define LN_INVARIANTS(T) ((T)->invariants) -lambda_loopnest lambda_loopnest_new (int, int); -lambda_loopnest lambda_loopnest_transform (lambda_loopnest, lambda_trans_matrix); +lambda_loopnest lambda_loopnest_new (int, int, struct obstack *); +lambda_loopnest lambda_loopnest_transform (lambda_loopnest, + lambda_trans_matrix, + struct obstack *); struct loop; bool perfect_nest_p (struct loop *); void print_lambda_loopnest (FILE *, lambda_loopnest, char); @@ -190,17 +195,19 @@ void lambda_matrix_vector_mult (lambda_matrix, int, int, lambda_vector, lambda_vector); bool lambda_trans_matrix_id_p (lambda_trans_matrix); -lambda_body_vector lambda_body_vector_new (int); -lambda_body_vector lambda_body_vector_compute_new (lambda_trans_matrix, - lambda_body_vector); +lambda_body_vector lambda_body_vector_new (int, struct obstack *); +lambda_body_vector lambda_body_vector_compute_new (lambda_trans_matrix, + lambda_body_vector, + struct obstack *); void print_lambda_body_vector (FILE *, lambda_body_vector); lambda_loopnest gcc_loopnest_to_lambda_loopnest (struct loop *, VEC(tree,heap) **, - VEC(tree,heap) **); + VEC(tree,heap) **, + struct obstack *); void lambda_loopnest_to_gcc_loopnest (struct loop *, VEC(tree,heap) *, VEC(tree,heap) *, - lambda_loopnest, lambda_trans_matrix); - + lambda_loopnest, lambda_trans_matrix, + struct obstack *); static inline void lambda_vector_negate (lambda_vector, lambda_vector, int); static inline void lambda_vector_mult_const (lambda_vector, lambda_vector, int, int); |