OSDN Git Service

* tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c1e96f3..0b23912 100644 (file)
@@ -1,3 +1,431 @@
+2004-11-03  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
+       CEIL_MOD_EXPR.
+
+2004-11-03 Jeff Law  <law@redhat.com>
+
+       * stmt.c (expand_case): Speed up code to detect duplicate case
+       label targets and count unique case label targets.
+
+2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
+
+2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
+
+2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (find_taken_edge): Abort if we are given a
+       statement that is neither COND_EXPR nor SWITCH_EXPR.
+
+2004-11-02  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * fold-const.c (fold): Reassociate also (x - mult) + mult and
+       (mult - x) + mult.  Cast operands of expression after applying
+       distributive law to the correct types.  Apply distributive law
+       to a * c - b * c for all non-float types.
+
+2004-11-02  Geoffrey Keating  <geoffk@apple.com>
+
+       * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
+       because we don't want to run them now; instead, set them to
+       stmp-install-fixproto or stmp-install-fixinc.
+       * Makefile.in (stmp-install-fixproto): New.
+       (stmp-install-fixinc): New.
+       * configure: Regenerate.
+
+2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
+       of bitmap_xor.
+
+2004-11-02  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
+       (c_types_compatible_p): Move function definition...
+       * c-objc-common.c (c_types_compatible_p): ...here.
+       * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
+       c-lang.c.
+
+2004-11-02  Steven Bosscher  <stevenb@suse.de>
+
+       * cfgloop.h (struct loop): Update comment.
+       * cse.c (cse_main): Remove obsolete comment.
+
+       * expr.h (gen_cond_trap): Move prototype under functions provided
+       by optabs.c.
+       (canonicalize_condition, get_condition): Move to...
+       * rtl.h (canonicalize_condition, get_condition): ...here.
+       (branch_target_load_optimize): Add comment that this function is
+       in bt-load.c.
+       * loop.c (canonicalize_condition, get_condition): Move to...
+       * rtlanal.c (canonicalize_condition, get_condition): ...here.
+       * sched-deps.c (get_condition): Rename to sched_get_condition.
+       (add_dependence): Update this caller.
+2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/16808
+       * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
+       that the vops get marked for renaming.
+
+2004-11-02  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("movcc"): Set type attribute.
+
+2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-phinodes.c (add_phi_arg): Add an assertion that the
+       edge already exists.
+
+2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-phinodes.c (remove_phi_arg_num): Do not zero the
+       element that's being removed.
+
+2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
+       arguments using PENDING_STMT.
+       (thread_block): Call copy_phis_to_block after redirecting an
+       edge.
+
+2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
+       bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
+       bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
+       (bitmap_ior_and_compl_into): Produce bool.
+       (bitmap_union_of_diff): Rename to ...
+       (bitmap_ior_and_compl): ... here. Produce bool.
+       * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
+       bitmap_operation directly.
+       (bitmap_union_of_diff): Rename to ...
+       (bitmap_ior_and_compl): ... here. Return bool, use
+       bitmap_operation directly.
+       * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
+       (df_ru_transfer_function, df_lr_transfer_function): Likewise.
+       * global.c (modify_bb_reg_pav): Likewise.
+
+       * bitmap.h (bitmap_equal_p): Return bool.
+       (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
+       * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
+       (bitmap_intersect_p, bitmap_intersect_compl_p): New.
+       * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
+       bitmap_intersect_compl_p.
+       * ifcvt (dead_or_predicable): Likewise.
+
+2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR rtl-optimization/17104
+       * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
+       loads in zero_extend.
+
+2004-11-02  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR debug/18242
+       * toplev.c (debug_type_names): Remove "dwarf-1".
+
+2004-11-02  Ben Elliston  <bje@au.ibm.com>
+
+       * timevar.h (timevar_get): Remove. 
+       * timevar.c (timevar_get): Remove unused function.
+
+2004-11-02  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * doc/include/texinfo.tex: Update from Texinfo CVS.
+
+2004-11-02  Ben Elliston  <bje@au.ibm.com>
+
+       * cppdefault.h (cpp_SYSROOT): Remove.
+       * cppdefault.c (cpp_SYSROOT): Likewise.
+
+2004-11-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/16447
+       * tree-cfg.c (bsi_commit_one_edge_insert): Rename from 
+       bsi_commit_edge_inserts_1, and make funtion external.  Return new block.
+       (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
+       * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
+       * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
+       * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
+       (same_stmt_list_p): New.  Return TRUE if edge is to be forwarded.
+       (identical_copies_p): New.  Return true is two copies are the same.
+       (identical_stmt_lists_p): New.  Return true if stmt lists are the same.
+       (analyze_edges_for_bb): New.  Determine how best to insert edge stmts 
+       for a basic block.
+       (perform_edge_inserts): New.  Determine what to do with all stmts that
+       have been inserted on edges.
+       (remove_ssa_form):  Analyze and commit edges from here.
+
+2004-11-01  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR bootstrap/18232
+       * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
+       (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
+       (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
+       (EXECUTE_IF_AND_IN_BITMAP): Likewise.
+
+2004-11-01  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/18239
+       * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
+       parameter declarations.
+
+2004-11-01  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
+       (s390_secondary_input_reload_class)
+       (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
+       register.
+       (s390_expand_cmpmem): Enable cmpmem implementation.
+       * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
+       Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
+       (REG_CLASS_FROM_LETTER): New constraint 'c' added.
+       * config/s390/s390.md ("movcc"): New insn pattern.
+       * doc/md.texi: Document 'c' constraint for s390.
+
+2004-11-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/18064
+       * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
+       extension.
+
+2004-10-16  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/17672
+       Fix PR tree-optimization/18168
+       
+       * lambda-code.c (lambda_lattice_compute_base): Fix reversed
+       assert test.
+       (gcc_tree_to_linear_expression): Add extra to existing constant.
+       (depth_of_nest): Factor out function used in various places.
+       (gcc_loop_to_lambda_loop): Clean up code a little bit. No
+       functional changes.
+       (find_induction_var_from_exit_cond): Stop guessing, and just
+       get the right answer :).
+       (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
+       Print out message about result of attempt to create perfect nest.
+       (lbv_to_gcc_expression): Add type argument, use it to do math
+       and induction variable creation.
+       (lle_to_gcc_expression): Ditto.
+       (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
+       oldiv. Pass type argument to lle_to_gcc_expression and 
+       lbv_to_gcc_expression.
+       Reset number of iterations after transformation.
+       (perfect_nestify): Remove useless pre-allocation, and cleanup
+       a small amount.
+
+       * tree-data-ref.c (build_classic_dist_vector): Return false for
+       dependences completely outside of the loop nest we asked about.
+       (build_classic_dir_vector): Ditto.
+       (compute_data_dependences_for_loop): Only add dependence relations
+       inside the loop we asked about.
+       
+       * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
+       Compute immediate uses.
+       
+       * tree-optimize.c: Move linear_transform_loops to before ivcanon.
+       
+2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (thread_jumps): Fix a comment typo.
+
+2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (thread_jumps): Fix a comment typo.
+
+2004-10-31  Nicolas Pitre <nico@cam.org>
+
+       * config/arm/ieee754-sf.S (floatdisf): Fix regression with
+       values smaller than 2^32.
+
+2004-10-31 Jeff Law  <law@redhat.com>
+
+       * cfgloop.h (struct loop): Remove unused "nodes" field.
+       * timevar.def (TV_TREE_LOOP_BOUNDS): New.
+       * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
+       instead of calling flow_bb_inside_loop_p for every basic block
+       in the function.
+       * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
+
+2004-10-31  Graham Stott <graham.stott@btinternet.com>
+
+       * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo.  Use
+       INT_5_BITS instead of VAL_5_BITS_P.
+
+2004-10-31  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/14521
+       * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
+       for consistent quoting in diagnostic messages.
+       (expand_call_inline): Likewise.
+       * tree-optimize.c (tree_rest_of_compilation): Likewise.
+       * tree-ssa.c (warn_uninitialized_var): Likewise.
+       (warn_uninitialized_phi): Likewise.
+
+2004-10-31  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
+       mode check.
+
+2004-10-31  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c: Fix a comment typo.
+
+2004-10-31  Jason Merrill  <jason@redhat.com>
+
+       PR middle-end/17526
+       * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
+       aggregate types that are not BLKmode.
+
+2004-10-30  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-common.h (objc_lookup_ivar): Add second parameter to
+       prototype.
+       * c-typeck.c (build_external_ref): After looking up symbol,
+       pass it to objc_lookup_ivar() to decide whether it or the
+       ivar should be used, rather than deciding the issue locally.
+       * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
+       which is simply returned in the non-ObjC case.
+
+2004-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * sdbout.c (sdbout_symbol): Do not output type .def statements
+       for builtin types.
+
+2004-10-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * c-common.c (catenate_strings): New.
+       (c_parse_error): Use it.  Don't over-escape.
+
+2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
+       modify the for loop expressions for it.  Remove unnecessary casts.
+       (sh_expand_prologue): Declare reg as unsigned.
+       (sh_gimplify_va_arg_expr): Initinalize lab_over.
+       (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
+
+2004-10-30  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/invoke.texi (Darwin Options): Improve description of
+       how the subtype is chosen.
+
+2004-10-30  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/18096
+       * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
+       the stack adjustment, "size", is valid for Pmode.  If the stack
+       frame is too large, generate a trap insn and issue a warning.
+
+2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-dom.c: Fix comment typos.
+
+2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (prepare_move_operands): Use operands[0]
+       for the output rtl if no_new_pseudos is set.  Remove redundant
+       line.
+
+2004-10-30  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/16666
+       * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
+       determining whether to copy parameter types from a previous
+       prototype declaration.
+
+2004-10-29  Roger Sayle  <roger@eyesopen.com>
+
+       PR rtl-optimization/17581
+       * cselib.c (cselib_process_insn): The last instruction of a libcall
+       block, with the REG_RETVAL note, should be considered in the libcall.
+       * gcse.c (do_local_cprop): Allow constants to be propagated outside
+       of libcall blocks.
+       (adjust_libcall_notes): Use simplify_replace_rtx instead of
+       replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
+
+2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
+
+2004-10-29 Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (struct edge_info): New structure holding
+       edge equivalences and edge redirection information.
+       (get_eq_expr_value, record_dominating_conditions): Kill.
+       (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
+       Call record_edge_info.
+       (allocate_edge_info, free_edge_info): New.
+       (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
+       rather than cprop_into_phis.  Free all edge infos before threading
+       jumps.
+       (thread_across_edge): Allocate new edge info structures as needed
+       and store the redirection target into the edge info structure
+       instead of the edge's AUX field.
+       (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
+       (record_equivalence_from_incoming_edge): Lose unnecessary argument.
+       Revamp code which finds and records equivalences associated with
+       edges to use saved data in the edge_info structure.
+       (record_equivalencs_from_phis): Similarly.
+       (dom_opt_finalize_block): Revamp code which finds and records
+       equivalences associated with edges to use saved data in the
+       edge_info structure.
+       (build_and_record_new_cond): New function.
+       (record_conditions): Use build_and_record_new_cond to record
+       dominating conditions.
+       (record_edge_info): New function.
+       (record_range): Tighten test for conditions which create
+       useful range records.
+
+2004-10-29  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/i386/darwin.h (ASM_SPEC): Simplify.
+       (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
+       * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
+       (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
+       * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
+       (LINK_SPEC): Do pass -arch here.  Handle -force_cpusubtype_ALL
+       in all cases.  Pass the right -arch or -arch_only based on -mcpu.
+       (ASM_SPEC): Handle -force_cpusubtype_ALL.
+       * doc/invoke.texi (Darwin Options): Improve documentation for
+       Darwin linker (and libtool) switches.
+
+       * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
+
+2004-10-29  Stan Shebs  <shebs@apple.com>
+
+       * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
+
+2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-phinodes.c (allocate_phi_node): New.
+       (make_phi_node, resize_phi_node): Use it.
+
+2004-10-29  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
+       * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
+
+2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
+       the whole PHI node.
+       * tree.h (tree_phi_node): Tell the garbage collector to chase
+       num_args arguments.
+
+2004-10-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       * opts.c (decode_options): Lower the crossjump threshold for -Os.
+
+2004-10-29  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree.h (struct tree_ssa_name): Remove field 'equiv'.
+
 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
 
        * bitmap.h (bitmap_empty_p): New.