OSDN Git Service

2004-09-16 Frank Ch. Eigler <fche@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 34f011a..1c3e9dd 100644 (file)
@@ -1,3 +1,143 @@
+2004-09-16  Frank Ch. Eigler  <fche@redhat.com>
+
+       * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
+
+2004-09-16 Jeff Law  <law@redhat.com>
+
+       * tree-into-ssa.c (block_defs_stack): New toplevel varray.
+       (rewrite_block_data): Remove, no longer used.
+       (rewrite_initialize_block_local_data): Remove, no longer used.
+       (rewrite_initialize_block): Mark parameters as unused as needed.
+       Change references to the block local block_defs to be block_defs_stack.
+       Push a marker onto the block_defs_stack.
+       (ssa_rewrite_initialize_block): Similarly.
+       (rewrite_stmt, ssa_rewrite_stmt): Similarly.
+       (ssa_register_new_def): No longer needs varray argument.  Use
+       block_defs_stack instead.  No longer handle possibly null block_defs
+       varray.  Reverse order of items we push on the stack to make it
+       easier to identify our marker.
+       (register_new_def): No longer handle possibly null block_defs
+       varray.
+       (rewrite_finalize_block): Revamp to look for markers in the global
+       block_defs_stack varray rather than wiping a block local varray.
+       Mark arguments as unused as needed.
+       (ssa_rewrite_finalize_block): Similarly.
+       (rewrite_into_ssa): Update initialization of dom walker structure
+       to reflect that we don't need block local data anymore.  Initialize
+       the block_defs_stack varray.
+       (rewrite_ssa_into_ssa): Similarly.
+       * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
+       (struct dom_walk_data): Kill block_defs field.
+       (tree_ssa_dominator_optimize): Initialize block_defs_stack.
+       (thread_across_edge): Use the global block_defs_stack instead of
+       the old block_defs varray.
+       (dom_opt_initialize_block_local_data): Update now that we don't have
+       block_defs field to check anymore.
+       (dom_opt_initialize_block): Push a marker onto block_defs_stack.
+       (restore_currdefs_to_original_value): Use the new block_defs_stack
+       instead of a block local varray.
+       (dom_opt_finalize_block): Similarly.
+       (record_equivalencs_from_phis): Similarly.
+       (optimize_stmt, register_definitions_for_stmt): Similarly.
+
+2004-09-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/17517
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't 
+       coalesce same-root variables without checking for abnormal PHI usage.
+
+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
 
 2004-09-13  Kenneth Zadeck  <Kenneth.Zadeck@NaturalBridge.com>
 
-
        * tree-ssa-operands.c (get_call_expr_operands): Added parm to
        add_call_clobber_ops and add_call_read_ops.
        (add_call_clobber_ops, add_call_read_ops): Added code to reduce