+2004-09-16 Daniel Berlin <dberlin@dberlin.org>
+
+ * cfgloop.h (duplicate_loop): Add prototype.
+ * cfgloopmanip.c (duplicate_loop): Make non-static.
+ * lambda-code.c (perfect_nestify): Factor out test whether
+ we can handle this loop into separate function.
+ Call it.
+ (can_convert_to_perfect_nest): New function.
+ (replace_uses_of_x_with_y): Add modify_stmt call.
+ * tree-loop-linear.c (linear_transform_loops): Call
+ rewrite_into_loop_closed_ssa and free_df.
+
+2004-09-16 Daniel Berlin <dberlin@dberlin.org>
+
+ * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
+ loop invariant as well.
+ (perfect_nestify): new function.
+ (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
+ upper bounds, and steps.
+ Set outerinductionvar properly.
+ (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
+ parameters.
+ Return NULL if we need a perfect loop and can't make one.
+ (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
+ (not_interesting_stmt): New function.
+ (phi_loop_edge_uses_def): Ditto.
+ (stmt_uses_phi_result): Ditto.
+ (stmt_is_bumper_for_loop): Ditto.
+ (perfect_nest_p): Ditto.
+ (nestify_update_pending_stmts): Ditto.
+ (replace_uses_of_x_with_y): Ditto.
+ (stmt_uses_op): Ditto.
+ (perfect_nestify): Ditto.
+ * lambda-mat.c (lambda_matrix_id_p): New function.
+ * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
+ * lambda.h: Update prototypes.
+ * tree-loop-linear (linear_transform_loop): Use new
+ perfect_nest_p. Detect and ignore identity transform.
+ * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
+
+2004-09-16 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-loop-linear.c (gather_interchange_stats): Add more comments.
+ Gather also strides of accessed data. Pass in the data references
+ array.
+ (try_interchange_loops): Add a new heuristic for handling the temporal
+ locality. Pass in the data references array.
+ (linear_transform_loops): Pass the data references array to
+ try_interchange_loops.
+
+2004-09-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/invoke.texi: Fix typos. Follow spelling conventions.
+
+2004-09-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ * doc/c-tree.texi (Classes): Remove index entries for
+ TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
+
+2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * fold-const.c (fold): Fold difference of addresses.
+ (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
+ get_inner_reference.
+ * tree-ssa-loop-ivopts.c (peel_address): Removed.
+ (ptr_difference_const): Moved to fold-const.c.
+ (split_address_cost): Use get_inner_reference instead of peel_address.
+ (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
+ * tree.h (ptr_difference_const): Export.
+
+ * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
+ variable type to the dump. Fix indentation.
+ (idx_find_step): Handle nonconstant array_ref_element_size and
+ array_ref_low_bound.
+ (idx_record_use): Handle array_ref_element_size and
+ array_ref_low_bound.
+ (find_interesting_uses_stmt): Handle memory = nontrivial_expression
+ statements correctly.
+ (get_computation_at, iv_value): Do not unshare expressions here.
+ (rewrite_use_outer): Unshare the expression before it is emitted
+ to code.
+ * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
+ Moved to tree.c.
+ * tree.c (unsigned_type_for, signed_type_for): Moved from
+ tree-ssa-loop-niter.c. Use langhooks.
+ * tree.h (signed_type_for): Export.
+
+2004-09-16 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
+ prototype.
+
2004-09-15 Andrew Pinski <pinskia@physics.uc.edu>
PR target/11572