OSDN Git Service

* tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index dd448d1..0b23912 100644 (file)
@@ -1,3 +1,655 @@
+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.
+       (bitmap_and, bitmap_and_into, bitmap_and_compl,
+       bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
+       bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
+       operation macros.
+       (bitmap_ior_and_compl): Rename to ...
+       (bitmap_ior_and_compl_into): ... here.
+       * bitmap.c (bitmap_equal_p): Use bitmap_xor.
+       (bitmap_ior_and_compl): Rename to ...
+       (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
+       flag.
+       (bitmap_union_of_diff): Use renamed bitmap functions.
+       * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
+       XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
+       * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
+       * df.c (df_bb_rd_local_compute)
+       * flow.c (calculate_global_regs_live,
+       init_propagate_block_info): Likewise.
+       * ifcvt.c (find_if_case_1, find_if_case_2,
+       dead_or_predicable): Likewise.
+       * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
+       reset_conflicts, conflicts_between_webs): Likewise.
+       * ra-rewrite.c (reloads_to_loads, rewrite_program2,
+       detect_web_parts_to_rebuild): Likewise.
+       * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
+       * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
+       * tree-sra.c (decide_instantiations): Likewise.
+       * tree-ssa-alias.c (create_name_tags,
+       merge_pointed_to_info): Likewise.
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+       * tree-ssa-loop-im.c (move_computations): Likewise.
+       * tree-ssa-operands.c (get_call_expr_operands): Likewise.
+       * tree-ssa-pre.c (fini_pre): Likewise.
+       * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
+       * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
+       * tree-vectorizer.c (vectorize_loops): Likewise.
+
+2004-10-29  Nick Clifton  <nickc@redhat.com>
+
+       config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
+       adding the PIC register to the fixed_regs array, also add it
+       to the call_used_regs array.  
+
+2004-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
+       with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
+
+2004-10-28  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
+       (rewrite_blocks): Modify argument, and use it to decide which
+       function to call.
+       (rewrite_def_def_chains): Call rewrite_blocks with true here.
+       (rewrite_into_ssa): and call it with false here.
+       
+2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-phinodes.c (add_phi_arg): Turn an "if" that always
+       triggers into gcc_assert.
+
+2004-10-28  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/16728
+       * tree-flow.h (get_ptr_info): Declare.
+       * tree-ssa-alias.c (get_ptr_info): Make extern.
+       * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
+       alias information.
+
+2004-10-28  Stan Shebs  <shebs@apple.com>
+
+       * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
+       * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
+       case.
+
+2004-10-28  Frank Ch. Eigler  <fche@redhat.com>
+
+       * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
+       prevent their later unnecessary registration.
+       (mf_build_check_statement_for): Remove "addr" argument, and
+       related "__mf_value" generated code.  Update callers.
+       (mf_decl_eligible_p): New function, factored from mx_register_decls.
+       (mx_register_decls): Call it.
+       (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
+       to restore support for complex nested expressions.
+       (mudflap_enqueue_decl): Simplify.  Move registration call emission
+       out ...
+       (mudflap_finish_file): ... to here.
+       (mudflap_enqueue_constant): Remove dump code.
+
+2004-10-28  Zack Weinberg  <zack@codesourcery.com>
+
+       PR 18199
+       * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
+       (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
+       (dbxout_finish_complex_stabs): Update to match.
+       (dbxout_symbol_location): Call emit_pending_bincls_if_required
+       and FORCE_TEXT before DBX_STATIC_BLOCK_START.  Use
+       dbxout_begin_complex_stabs_noforcetext.
+       * xcoffout.h (DBX_FINISH_STABS): Restore special case for
+       N_GSYM, using new SYM parameter.  Correct logic for special
+       cases for N_FUN.
+
+       * varasm.c (function_section): If DECL is NULL_TREE, don't try
+       to do anything else.  Do not call get_insns if cfun or
+       cfun->emit are NULL.
+
+2004-10-28  Adam Nemet  <anemet@lnxw.com>
+
+       PR middle-end/18160
+       * c-typeck.c (c_mark_addressable): Issue error if address of a
+       register variable is taken.  Use "%qD" to print DECL_NAME.
+
+2004-10-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * opts.c (decode_options): Don't run PRE at -Os.
+
+2004-10-28  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (movqicc_internal): Allow exactly one
+       zero in the conditional.
+       (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
+
+2004-10-28  Richard Henderson  <rth@redhat.com>
+
+       * cse.c (memory_extend_rtx): Remove.
+       (cse_main): Don't set it.
+       (cse_insn): Use a local buffer instead.
+
+2004-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * profile.c (branch_prob): Call to init_edge_profiler added.
+       * rtl-profile.c (rtl_init_edge_profiler): New function.
+       (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
+       call to safe_insert_insn_on_edge.
+       (rtl_profile_hooks): rtl_init_edge_profiler added.
+       * tree-profile.c (tree_init_edge_profiler): New function.
+       (tree_profile_hooks): tree_init_edge_profiler added.
+       * value-prof.h (profile_hooks) init_edge_profiler prototype added.
+
+2004-10-28  Nick Clifton  <nickc@redhat.com>
+
+       * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
+       emit_jump_insn() to generate the return instruction.
+
+2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-phinodes.c: Remove trailing whitespace.
+
+2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-loop-ivopts.c: Fix a comment typo.
+       * doc/invoke.texi: Fix a typo.
+
+2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * Makefile.in (OBJS-common): Remove duplicates.
+
+2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * lambda-code.c (nestify_update_pending_stmts): Remove.
+       (perfect_nestify): Use flush_pending_stmts instead of
+       nestify_update_pending_stmts.
+       * tree-cfg.c (tree_make_forwarder_block): Use
+       flush_pending_stmts.
+       * tree-flow.h: Add a prototype for flush_pending_stmts.
+       * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
+       Use flush_pending_stmts.
+       (lv_update_pending_stmts): Remove.
+       (tree_ssa_loop_version): Use flush_pending_stmts instead of
+       lv_update_pending_stmts.
+       * tree-ssa.c (flush_pending_stmts): New.
+
+2004-10-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/15286
+       * final.c (alter_subreg): Compute correct offset to use with
+       paradoxical SUBREGs of memory operands.
+       * recog.c (general_operand): Allow paradoxical SUBREGs of
+       memory operands after reload.
+       * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
+       has failed when passed a hard register.
+
+2004-10-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * function.c (assign_parm_setup_block): Handle parallels correctly.
+
+2004-10-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * final.c (shorten_branches): Initialize flags structure.
+
+2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tree.c (int_cst_node, int_cst_hash_table): New variables.
+       (init_ttree): Initialize them.
+       (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
+       (build_int_cst_wide): Use hash table for oversized integers.
+
+2004-10-28  Nick Clifton  <nickc@redhat.com>
+
+       * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
+       begin_label.
+
+2004-10-27  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/18163
+       * expr.c (emit_group_load): Don't go force temporary for memory
+       or concat source.
+       (emit_group_store): Similarly.
+
+2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR other/18186
+       * common.opt (--param): Fix spelling of parameter.
+
+2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/17529
+       * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
+       Don't fold statement.
+       <case ASM_EXPR>: Fold the statement.
+
 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
        <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
 
 2004-10-27  Daniel Berlin <dberlin@dberlin.org>
-       
+
        Fix PR tree-optimization/17133
-       
+
        * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
        def kill operand.
 
 
        * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
 
-       * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.       
+       * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
 
        * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
        they include the rhs now.
 
        * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
-       V_MUST_DEF_RESULT. 
+       V_MUST_DEF_RESULT.
 
        * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
        Update callers.
        as setting the use portion as well.
        (copy_virtual_operands): Copy the kill operand as well.
        (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
-       V_MUST_DEF_RESULT. 
+       V_MUST_DEF_RESULT.
 
        * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
-       v_def_use_operand_type. 
+       v_def_use_operand_type.
        (v_must_def_optype_d): Use v_def_use_operand_type.
        (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
        (V_MUST_DEF_KILL_*): New macros.
        (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
        members.
        Rename existing must_i and num_v_must members to mustd_i and
-       num_v_mustd. 
+       num_v_mustd.
        (SSA_OP_VMUSTDEFKILL): New flag.
        (SSA_OP_VIRTUAL_KILLS): New flag.
        (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.