diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-15 21:55:05 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-15 21:55:05 +0000 |
commit | 19af51e20b15338d03fb374aa95dbebf8c7b6484 (patch) | |
tree | 3a80fb5ba141a335e30a28fc364cb58ee7216972 /gcc/tree-loop-linear.c | |
parent | faf86058f40e175ce0b87338c8f860f9168e4935 (diff) | |
download | gcc-19af51e20b15338d03fb374aa95dbebf8c7b6484.tar.gz |
* tree-predcom.c (filter_suitable_components): Free all refs in
act->refs vector before calling release_component.
(add_ref_to_chain): Free ref if not adding it to chain->refs.
* tree-data-ref.c (free_subscripts): Free all subscript objects.
* tree-loop-linear.c (linear_transform_loops): Initialize
lambda_obstack only after calling perfect_loop_nest_depth.
Goto free_and_continue instead of just continue for later failures.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140376 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-loop-linear.c')
-rw-r--r-- | gcc/tree-loop-linear.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-loop-linear.c b/gcc/tree-loop-linear.c index 7e5f298be16..a97433bf909 100644 --- a/gcc/tree-loop-linear.c +++ b/gcc/tree-loop-linear.c @@ -333,12 +333,12 @@ linear_transform_loops (void) lambda_loopnest before, after; lambda_trans_matrix trans; struct obstack lambda_obstack; - gcc_obstack_init (&lambda_obstack); depth = perfect_loop_nest_depth (loop_nest); if (depth == 0) continue; + gcc_obstack_init (&lambda_obstack); VEC_truncate (tree, oldivs, 0); VEC_truncate (tree, invariants, 0); VEC_truncate (tree, lambda_parameters, 0); @@ -347,12 +347,12 @@ linear_transform_loops (void) dependence_relations = VEC_alloc (ddr_p, heap, 10 * 10); if (!compute_data_dependences_for_loop (loop_nest, true, &datarefs, &dependence_relations)) - continue; + goto free_and_continue; lambda_collect_parameters (datarefs, &lambda_parameters); if (!lambda_compute_access_matrices (datarefs, lambda_parameters, loop_nest->num)) - continue; + goto free_and_continue; if (dump_file && (dump_flags & TDF_DETAILS)) dump_ddrs (dump_file, dependence_relations); |