aboutsummaryrefslogtreecommitdiff
path: root/gcc/lambda.h
diff options
context:
space:
mode:
authorLaurynas Biveinis <laurynas.biveinis@gmail.com>2007-09-07 01:33:41 +0000
committerLaurynas Biveinis <lauras@gcc.gnu.org>2007-09-07 01:33:41 +0000
commitb9dd78fa1e85a6c0b2bc1256a529f5960e503d79 (patch)
tree90465e7e91a5775e8c20ea92e5e97726c297376d /gcc/lambda.h
parent0f996086cbf16283b2494ca36c7573abb5f06df7 (diff)
downloadgcc-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.h25
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);