OSDN Git Service

gcc:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3a92893..8a51317 100644 (file)
@@ -1,3 +1,878 @@
+2005-03-31  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/sourcebuild.texi (Test Directives): Describe cleanup-* procs.
+
+2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-alias.c: Follow spelling conventions.
+       * doc/tree-ssa.texi: Fix a typo.
+
+2005-03-31  J"orn Rennecke <joern.rennecke@st.com>
+
+       * postreload-gcse.c: Include target.h.
+       (gcse_after_reload_main): Return early if we cannot modify jumps.
+       * Makefile.in (postreload-gcse.o): Depend on $(TARGET_H).
+
+2005-03-31  David Edelsohn  <edelsohn@gnu.org>
+
+       * tree-ssa-loop-im.c (stmt_cost): Add RDIV_EXPR to list of
+       expensive operations.
+
+2005-03-31  Ian Lance Taylor  <ian@airs.com>
+
+       * collect2.c (lderrout): New variable.
+       (collect_exit): Dump ldout to stdout.  Dump and unlink lderrout,
+       if it is set, to stderr.
+       (handler): Unlink lderrout if it is set.
+       (dump_file): Add "to" parameter.  Change all callers.
+       (main): Initialize lderrout.
+       (collect_execute): Add errname parameter.  Change all callers.
+       Rename redir parameter to outname.  Never pass
+       PEX_STDERR_TO_STDOUT to pex_run.
+       * collect2.h (collect_execute, dump_file): Update declarations.
+       * tlink.c (tlink_execute): Add errname parameter.  Change all
+       callers.
+       (do_tlink): Check lderrout as well as ldout.
+
+2005-03-31  Olivier Hainque  <hainque@adacore.com>
+
+        * dwarf2out.c (dwarf2out_frame_finish): Honor DWARF2_FRAME_INFO
+        defined and non-zero.
+
+2005-03-31  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       PR c++/18644
+       * doc/invoke.texi (-Wsynth): Don't document, as it now is void of
+       semantics. 
+
+2005-03-31  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/20611
+       * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
+       label operand.  Remove (use (unspec..)).  Don't emit a label on
+       the offset word.
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
+       generate inline label for load_toc_v4_PIC_1b.
+       (rs6000_emit_load_toc_table): Likewise.
+
+2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config.gcc: Obsolete i860-*-sysv4*, ip2k-*-elf,
+       ns32k-*-netbsdelf*, and ns32k-*-netbsd*.
+
+2005-03-29  Devang Patel  <dpatel@apple.com>
+
+       * tree-sra.c (decide_block_copy): Disable scalarization of
+       sub-elements.
+       
+2005-03-30  Stuart Hastings  <stuart@apple.com>
+           Dale Johannesen  <dalej@apple.com>
+
+       * Makefile.in (print-tree.o):  Depend on tree-iterator.h.
+       * print-tree.c (print_node):  Add case STATEMENT_LIST.
+
+2005-03-31  Alan Modra  <amodra@bigpond.net.au>
+
+       * config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
+       (powerpc64-*-linux*): Use it.  Rearrange tm_file assignment.
+       (powerpc-*-linux*): Build a biarch compiler when --enable-targets
+       is given with "powerpc64*" or "all", or when --with-cpu chooses
+       a 64-bit cpu.
+
+2005-03-30  James E. Wilson  <wilson@specifixinc.com>
+
+       PR debug/20268
+       * dwarf2out.c (add_high_low_attributes): New function, extracted from
+       gen_lexical_block_die.
+       (gen_lexical_block_die, gen_inlined_subroutine_die): Call it.
+
+2005-03-31  Jan Hubicka  <jh@suse.cz>
+
+       2004-11-02  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_varpool_node_name): New function.
+       (dump_cgraph_varpool_node): New function.
+       (dump_varpool): New function.
+       * cgraphunit.c (cgraph_optimize): Dump varpool.
+
+       2004-10-16  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (decide_is_variable_needed): New function.
+       (cgraph_varpool_finalize_decl): Use it.
+       * cgraphunit.c (cgraph_optimize): Assemble_pending_decls when not doing
+       unit-at-a-time.
+       * final.c (output_addr_const): Do not call mark_referenced.
+       * passes.c (rest_of_decl_compilation): ifdef out DECL_RTL_SET_P hack;
+       always go via cgraph.
+       * toplev.c (wrapup_global_declarations): Kill non-unit-at-a-time code.
+       (check_global_declarations): Ifdef out code clearing DECL_RTL.
+       * tree-optimize.c (execute_inline): Mark functions called.
+       * i386.c (output_pic_addr_const): Do not call mark_decl_referenced.
+
+       2004-10-11  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_varpool_first_unanalyzed_node): New global voriable
+       (cgraph_varpool_last_needed_node): New static variable.
+       (enqueue_needed_varpool_node): Break out from ...; add items to the
+       end of queue; update first pointers.
+       (cgraph_varpool_mark_needed_node): ... here.
+       (cgraph_varpool_finalize_decl): Use enqueue_needed_varpool_node.
+       (cgraph_varpool_assemble_pending_decls): Move to cgraphunit.c
+       * cgraph.h (cgraph_varpool_node): Add analyzed field.
+       (cgraph_varpool_first_unanalyzed_node): Declare.
+       * cgraphunit.c: Include output.h.
+       (cgraph_varpool_analyze_pending_decls): New function.
+       (cgraph_varpool_assemble_pending_decls): Move from cgraph.c; bail out
+       for errors, analyze pending decls.
+       (cgraph_finalize_compilation_unit): Only analyze decls.
+       (cgraph_optimize): Assemble the decls after expanding.
+
+2005-03-30  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Make sure
+       subvars get marked properly in tags for grouping.
+       (add_pointed_to_var): Mark only actual pointed to
+       variables/subvars in addresses needed.
+       (create_overlap_variables_for): Clear call clobbered on original
+       variable.
+       * tree-ssa-operands.c (get_asm_expr_operands): Don't let regular
+       addresable vars with subvars into list.
+       * tree-ssa.c (verify_ssa_name): Verify original is not used where
+       subvar should be.
+
+2005-03-30  Richard Henderson  <rth@redhat.com>
+
+       * cgraph.h (struct cgraph_node): Add alias.
+       * varasm.c (assemble_alias): Set it.
+       * cgraphunit.c (cgraph_assemble_pending_functions): Check it and
+       avoid calling cgraph_expand_function.
+
+2005-03-30  Tom Tromey  <tromey@redhat.com>
+
+       * tree.def (FILE_TYPE): Removed.
+       * typeclass.h (enum type_class): Removed file_type_class.
+       * dwarf2out.c (is_base_type): Updated.
+       (gen_type_die): Likewise.
+       * dbxout.c (dbxout_type): Updated.
+       * builtins.c (type_to_class): Updated.
+       * tree.c (type_contains_placeholder_1): Updated.
+       * config/sparc/sparc.c (sparc_type_code): Updated.
+       * config/ia64/ia64.c (hfa_element_mode): Updated.
+       * expr.c (count_type_elements): Updated.
+       * stor-layout.c (layout_type): Updated.
+       * tree-inline.c (remap_type): Updated.
+       * tree-pretty-print.c (dump_generic_node): Updated.
+
+2005-03-30 Fariborz Jahanian <fjahanian@apple.com>
+
+       * builtins.c (expand_builtin_powi): Fix mode of
+       2nd argument to match int.
+       * libgcc2.h (__powisf2, __powidf2, __powixf2, __powitf2): Change
+       2nd argument type to int.
+       * libgcc2.c: Change prototype of __powi* functions to use
+       int.
+
+2005-03-30  Dale Johannesen  <dalej@apple.com>
+
+       PR middle-end/19225
+       * calls.c (expand_call):  Flush pending deferrals before
+       throwing call.
+
+2005-03-30  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/772
+       PR c/17913
+       * c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR,
+       C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct
+       c_label_context, label_context_stack): New.
+       * c-decl.c (define_label): Check for jumps into statement
+       expressions.  Add label to list of defined labels.
+       (start_function): Push context on label_context_stack.
+       (finish_function): Pop context from label_context_stack.
+       * c-typeck.c (label_context_stack): New.
+       (c_finish_goto_label): Check for jumps into statement
+       expressions.  Add label to list of jumped to labels.
+       (struct c_switch): Add blocked_stmt_expr.
+       (c_start_case): Initialize it.
+       (do_case): Check it.
+       (c_finish_case): Verify !blocked_stmt_expr.
+       (c_begin_stmt_expr):  Push context on label_context_stack.
+       Increment blocked_stmt_expr.  Mark labels jumped to from outside
+       as undefinable.
+       (c_finish_stmt_expr): December blocked_stmt_expr.  Mark labels
+       defined in the statement expression and no longer jumpable to.
+       Mark labels jumped to from just outside the statement expression
+       as again definable.  Pop context from label_context_stack.
+       * doc/extend.texi (Statement Exprs): Update.
+
+2005-03-30  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/20368
+       * c-decl.c (start_function): Check for old_decl being
+       error_mark_node.
+
+2005-03-30  Ian Lance Taylor  <ian@airs.com>
+
+       * final.c (final): Remove prescan parameter.  Change all callers.
+       (final_scan_insn): Remove prescan parameter.  Change all callers.
+
+2005-03-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-vectorizer.c: Fix comment typos.
+
+2005-03-30  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-scalar-evolution.c (instantiate_parameters_1): Return
+       as soon as a chrec_dont_know is detected.
+
+2005-03-31  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       Merge from csl-arm-branch.
+       2004-02-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * tlink.c (recompile_files): Do not assume that "rename" can
+       overwrite an existing file.
+
+2005-03-31  Paolo Bonzini  <bonzini@gnu.org>
+
+       * gcc/configure.ac (TL_AC_GNU_MAKE_GCC_LIB_PATH): Remove.
+       * gcc/configure: Regenerate.
+
+2005-03-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * doc/install.texi: Update binutils requirement for powerpc*-linux.
+
+       * config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Update comments.
+
+       * calls.c (struct arg_data): Update "partial" comment.
+       (load_register_parameters): Update "nregs" comment.
+
+2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/iq2000/iq2000.h (target_flags, MASK_GPOPT, MASK_EMBEDDED_DATA)
+       (MASK_UNINIT_CONST_IN_RODATA, TARGET_EMBEDDED_DATA, TARGET_SWITCHES)
+       (TARGET_DEFAULT, TARGET_CPU_DEFAULT, SUBTARGET_TARGET_OPTIONS)
+       (TARGET_OPTIONS, iq2000_cpu_string, iq2000_arch_string): Delete.
+       (TARGET_DEBUG_MODE, TARGET_DEBUG_A_MODE, TARGET_DEBUG_B_MODE)
+       (TARGET_DEBUG_C_MODE, TARGET_DEBUG_D_MODE): Define to 0 rather
+       than target_flags & 0.
+       * config/iq2000/iq2000.c (iq2000_cpu_string, iq2000_arch_string)
+       (iq2000_arch, iq2000_parse_cpu): Delete.
+       (TARGET_HANDLE_OPTION): Override default.
+       (iq2000_handle_option): New function.
+       (override_options): Remove -march= and -mcpu= handling.
+       * config/iq2000/iq2000.opt: New file.
+
+2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/c4x/c4x-protos.h (c4x_rpts_cycles, c4x_cpu_version): Delete.
+       * config/c4x/c4x.h (SMALL_MEMORY_FLAG, MPYI_FLAG, FAST_FIX_FLAG)
+       (RPTS_FLAG, C3X_FLAG, TI_FLAG, PARANOID_FLAG, MEMPARM_FLAG, DEVEL_FLAG)
+       (RPTB_FLAG, BK_FLAG, DB_FLAG, DEBUG_FLAG, HOIST_FLAG)
+       (LOOP_UNSIGNED_FLAG, FORCE_FLAG, PRESERVE_FLOAT_FLAG)
+       (PARALLEL_INSN_FLAG, PARALLEL_MPY_FLAG, ALIASES_FLAG, C30_FLAG)
+       (C31_FLAG, C32_FLAG, C33_FLAG, C40_FLAG, C44_FLAG, TARGET_SWITCHES)
+       (TARGET_DEFAULT, TARGET_SMALL, TARGET_MPYI, TARGET_FAST_FIX)
+       (TARGET_RPTS, TARGET_TI, TARGET_PARANOID, TARGET_MEMPARM, TARGET_DEVEL)
+       (TARGET_RPTB, TARGET_BK, TARGET_DB, TARGET_DEBUG, TARGET_HOIST)
+       (TARGET_LOOP_UNSIGNED, TARGET_FORCE, TARGET_PRESERVE_FLOAT)
+       (TARGET_PARALLEL, TARGET_PARALLEL_MPY, TARGET_ALIASES)
+       (c4x_rpts_cycles_string, c4x_cpu_version_string)
+       (TARGET_OPTIONS): Delete.
+       (c4x_rpts_cycles, c4x_cpu_version): Declare.
+       (TARGET_C3X, TARGET_C30, TARGET_C31, TARGET_C32, TARGET_C33)
+       (TARGET_C40, TARGET_C44): Redefine in terms of c4x_cpu_version.
+       * config/c4x/c4x.c (c4x_rpts_cycles_string): Delete.
+       (c4x_cpu_version_string): Delete.
+       (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+       (c4x_handle_option): New function.  Map -m3x and -m4x options to the
+       equivalent -mcpu= option.
+       (c4x_override_options): Remove -mrpts= and -mcpu= handling from here.
+       Deal with the extra conditions in the old TARGET_MPYI, TARGET_RPTB,
+       TARGET_DB, TARGET_PARALLEL and TARGET_PARALLEL_MPY macros by setting
+       or clearing the appropriate MASK_* bit.
+       (c4x_file_start): Use c4x_cpu_version.
+       * config/c4x/c4x.opt: New file.
+
+2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * doc/options.texi: Document the new MaskExists flag.
+       * opth-gen.awk: Don't output MASK and TARGET macros for Mask(...)
+       if the option has the MaskExists flag.
+
+2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * opt-functions.awk (flag_set_p, test_flag): New functions.
+       (switch_flags): Use them.
+       * opth-gen.awk: Use flag_set_p to check for flags.
+       * optc-gen.awk: Likewise.  Use opt_args to check for Init(...) flags.
+
+2005-03-30  Ian Lance Taylor  <ian@airs.com>
+
+       * config.host (i[34567]86-*-mingw32*): Don't set
+       host_can_use_collect2 to no.
+
+2005-03-30  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/20203
+       * builtins.c (get_memory_rtx): Expand address exp using EXPAND_NORMAL.
+       Remove convert_memory_address call duplicating that in memory_address.
+
+2005-03-29  Richard Henderson  <rth@redhat.com>
+
+       PR c/20519
+       * c-decl.c (c_finish_incomplete_decl): Update complete_array_type call.
+       (build_compound_literal): Likewise.  Propagate decl type into the
+       initializer.
+       (finish_decl): Likewise.  Use new return value from complete_array_type
+       for zero sized arrays.
+       (complete_array_type): Move ...
+       * c-common.c (complete_array_type): ... here.  Change first argument
+       to pointer-to-type-node.  Consistently use sizetype for the index
+       except for zero sized arrays.  Detect zero sized arrays for pedantic
+       mode diagnostics.  Create a new type node instead of modifying the
+       old node in place.
+       * c-tree.h (complete_array_type): Move decl ...
+       * c-common.h (complete_array_type): ... here.
+
+2005-03-29  Richard Henderson  <rth@redhat.com>
+
+       PR tree-opt/19108
+       * tree-sra.c (generate_element_init_1): Handle RANGE_EXPR.
+
+2005-03-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * builtin-types.def, c-convert.c, c-format.c, ddg.c, debug.c,
+       debug.h, et-forest.c, et-forest.h, gcov.c, rtl-profile.c,
+       rtlhooks-def.h, rtlhooks.c, sdbout.c, tree-inline.h,
+       tree-profile.c, tsystem.h, value-prof.h: Update copyright.
+
+2005-03-29  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.c (mips_gimplify_va_arg_expr): Update for
+       truthvalue conversion removal.
+
+2005-03-29  Ian Lance Taylor  <ian@airs.com>
+
+       PR bootstrap/14316
+       * collect2.c: Never include <vfork.h>.
+       (VFORK_STRING, vfork): Don't define.
+       (pid): Remove global variable.
+       (handler): Call raise instead of kill (getpid(), ...).
+       (collect_wait): Add pex parameter.  Change all callers.  Use
+       pex_get_status rather than pwait.
+       (do_wait): Add pex parameter.  Change all callers.
+       (collect_execute): Return struct pex_obj * rather than void.  Use
+       pex routines rather than pexecute.
+       (fork_execute): Get pex_obj from collect_execute, and pass it to
+       do_wait.
+       (scan_prog_file): Use pex routines rather than pipe/vfork/exec.
+       Only declare quit_handler if SIGQUIT is defined.
+       (scan_libraries): Likewise.
+       * collect2.h (collect_execute): Update declaration.
+       (collect_wait): Update declaration.
+       * tlink.c (tlink_execute): Get pex_obj from collect_execute, and
+       pass it to collect_wait.
+
+2005-03-29  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/20672
+       * c-parser.c (c_parser_compound_statement_nostart): Give error
+       message for EOF instead of just setting parser->error.
+
+2005-03-29  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (slpeel_update_phi_nodes_for_guard): Removed.
+       (slpeel_update_phi_nodes_for_guard1): New function.
+       (slpeel_update_phi_nodes_for_guard2): New function.
+       (slpeel_tree_peel_loop_to_edge): Call above new functions instead
+       of slpeel_update_phi_nodes_for_guard.
+       (vectorize_loops): Remove call to loop_closed_rewrite.
+       * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Remove
+       assertion.
+
+2005-03-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/m32r/little.h (TARGET_ENDIAN_DEFAULT): Delete.
+       (TARGET_LITTLE_ENDIAN): New macro.
+       * config/m32r/m32r.h (SUBTARGET_SWITCHES, target_flags)
+       (TARGET_RELAX_MASK, TARGET_DEBUG_MASK, TARGET_DEBUG)
+       (TARGET_ALIGN_LOOPS_MASK, TARGET_ALIGN_LOOPS)
+       (TARGET_LOW_ISSUE_RATE_MASK, TARGET_LOW_ISSUE_RATE)
+       (TARGET_BRANCH_COST_MASK, TARGET_BRANCH_COST, TARGET_M32RX_MASK)
+       (TARGET_M32RX, TARGET_M32R2_MASK, TARGET_M32R2, LITTLE_ENDIAN_BIT)
+       (TARGET_ENDIAN_DEFAULT, SUBTARGET_SWITCHES, TARGET_DEFAULT)
+       (TARGET_SWITCHES, m32r_model_string, m32r_sdata_string)
+       (m32r_cache_flush_trap_string, SUBTARGET_OPTIONS)
+       (TARGET_OPTIONS): Delete.
+       (M32R_MODEL_DEFAULT, M32R_SDATA_DEFAULT): Turn into enums.
+       (CACHE_FLUSH_TRAP): Turn into an integer.
+       (TARGET_LITTLE_ENDIAN): Define to 0 by default.
+       (INITIALIZE_TRAMPOLINE): Check m32r_cache_trap >= 0 to see if
+       -mflush-trap is in use.
+       * config/m32r/m32r.c (m32r_model_string, m32r_sdata_string)
+       (m32r_cache_flush_trap_string): Delete.
+       (m32r_model) Initialize to M32R_MODEL_DEFAULT.
+       (m32r_sdata): Likewise M32R_SDATA_DEFAULT.
+       (m32r_cache_trap): Likewise CACHE_FLUSH_TRAP.
+       (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+       (m32r_handle_option): New function.  Move -mflush-trap=, -mflush-func=,
+       -mmodel= and -msdata= handling from...
+       (m32r_init): ...here.
+       * config/m32r/m32r.opt: New file.
+
+2005-03-29  Keith Besaw  <kbesaw@us.ibm.com>
+
+       * tree-ssanames.c (duplicate_ssa_name_ptr_info): New function.
+       (duplicate_ssa_name): Call duplicate_ssa_name_ptr_info.
+       * tree-vect-analyze.c (vect_object_analysis): additional parm
+       pass back a "struct ptr_info_def *" with the points-to info.
+       (vect_analyze_data_refs): set the STMT_VINFO_PTR_INFO for the
+       statement using info returned from vect_object_analysis.
+       * tree-vect-transform.c (update_vuses_to_preheader): New function.
+       (vect_create_data_ref_ptr): Remove updates to vars_to_rename
+       for virtual uses and defs when creating a replacement vector
+       reference.  Call duplicate_ssa_name_ptr_info to define points-to
+       info for vector pointer replacement using STMT_VINFO_PTR_INFO.
+       (vectorizable_store): copy_virtual_operands and update
+       definition statements.
+       (vectorizable_load): copy_virtual_operands.  Remove call to
+       mark_call_clobbered_vars_to_rename for call to "const" builtin.
+       * tree-vectorizer.c (vectorize_loops): Remove calls to
+       rewrite_into_ssa and bitmap_clear (vars_to_rename).
+       (new_stmt_vec_info): initialize STMT_VINFO_PTR_INFO for stmt.
+       * tree-vectorizer.h (_stmt_vec_info): add field ptr_info and
+       define macro STMT_VINFO_PTR_INFO for use in accessing.
+       * tree.h add export of duplicate_ssa_name_ptr_info.
+       * rs6000.c (altivec_init_builtins): Declare builtin function
+       __builtin_altivec_mask_for_load to be "const".
+
+2005-03-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/20622
+       * cgraph.h (struct cgraph_varpool_node): Add alias field.
+       * cgraph.c (cgraph_varpool_assemble_pending_decls): Don't call
+       assemble_variable on aliases.
+       * varasm.c (assemble_alias): Set node->alias.
+       * toplev.c (wrapup_global_declarations): Don't call
+       rest_of_decl_compilation on aliases again.
+
+2005-03-29  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm-protos.h (arm_dbx_register_number): Add prototype.
+       * config/arm/arm.c (arm_dbx_register_number): New function.
+       * config/arm/arm.h (IS_FPA_REGNUM, DBX_REGISTER_NUMBER): Define.
+
+2005-03-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/20263
+       * varasm.c (make_decl_rtl) [ASM_DECLARE_REGISTER_GLOBAL]: Use
+       the DECL_NAME, not the DECL_ASSEMBLER_NAME.
+
+2005-03-29  Dale Johannesen <dalej@apple.com>
+
+       * Makefile.in (value-prof.o): New dependencies on $(DIAGNOSTIC_H)
+       $(TREE_H) and $(COVERAGE_H).
+       * coverage.c (compute_checksum): Use DECL_NAME not DECL_ASSEMBLER_NAME.
+       * opts.c (common_handle_option): Enable tree-based value transforms.
+       * toplev.c (process_options): Ditto.
+       * value-prof.h (struct histogram_value_t): Redefine. "Adjust" below
+       refers to references to this type.
+       * tree-flow.h: (struct stmt_ann_d): Add histograms field.
+       * rtl-profile.c (rtl_gen_interval_profiler): Adjust. Remove checks
+       for may_be_more, may_be_less.
+       (rtl_gen_pow2_profiler): Adjust.
+       (rtl_gen_one_value_profiler_no_edge_manip): Adjust.
+       (rtl_gen_one_value_profiler): Adjust.
+       (rtl_gen_const_delta_profiler): Adjust.
+       * tree-profile.c (tree_gen_interval_profiler): Implement.
+       (tree_gen_pow2_profiler): Ditto.
+       (tree_gen_one_value_profiler): Ditto.
+       (tree_profiling): New.
+       (pass_tree_profile): Reference it.
+       * value-prof.c: Include tree-flow.h, tree-flow-inline.h, diagnostic.h,
+       tree.h, gcov-io.h.
+       (insn_divmod_values_to_profile): Rename to
+       rtl_divmod_values_to_profile. Adjust.
+       (insn_values_to_profile): Rename to rtl_values_to_profile. Adjust.
+       (insn_prefetch_values_to_profile): Adjust.
+       (rtl_value_profile_transformations): Adjust.
+       (gen_divmod_fixed_value): Rename to rtl_divmod_fixed_value.
+       (gen_mod_pow2): Rename to rtl_mod_pow2.
+       (gen_mod_subtract): Rename to rtl_mod_subtract.
+       (divmod_fixed_value_transform): Rename to
+       rtl_divmod_fixed_value_transform.
+       (mod_pow2_value_transform): Rename to rtl_mod_pow2_value_transform.
+       (mod_subtract_transform): Rename to rtl_mod_subtract_transform.
+       (rtl_find_values_to_profile): Adjust.
+       (tree_value_profile_transformations): Implement.
+       (tree_divmod_values_to_profile): New.
+       (tree_values_to_profile): New.
+       (tree_divmod_fixed_value): New.
+       (tree_mod_pow2): New.
+       (tree_mod_subtract): New.
+       (tree_divmod_fixed_value_transform): New.
+       (tree_mod_pow2_value_transform): New.
+       (tree_mod_subtract_transform): New.
+       (tree_find_values_to_profile): Implement.
+       * profile.c (instrument_values):  Free histograms.
+       (compute_value_histograms): Adjust. Implement tree version.
+
+2005-03-29  Uros Bizjak  <uros@kss-loka.si>
+
+       * reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST> case.
+       * config/i386/i386.c (output_fix_trunc): Add new round_mode
+       variable.  Output "fldcw" depending on round_mode.
+       * config/i386/i386.md (UNSPEC_FIST): New.
+       (fistdi2, fistdi2_with_temp, fist<mode>2, fist<mode>2_with_temp):
+       New isns patterns to implement lrint and llrint built-ins as x87
+       intrinsic function.
+       (fistdi2, fist<mode>2 splitters): New splitters.
+       (lrint<mode>2): New expanders.
+
+2005-03-28  Ian Lance Taylor  <ian@airs.com>
+
+       * config/arc/arc.c (arc_output_function_epilogue): Pass prescan as
+       0 when calling final_scan_insn.
+
+2005-03-28  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/20635
+       * varasm.c (mark_decl_referenced): Do not mark extern inline functions
+       as needed.
+
+       * tree-inline.c (estimate_num_insns_1): Use declaration to discover argument
+       types where possible.
+
+2005-03-26  Per Bothner  <per@bothner.com>
+
+       Make -f[no-]show-column also control non-cpp diagnostics.
+       * c.opt (fshow-column): Move option from here ...
+       * common.opt (fshow-column): ... to here.
+       * diagnostic.c (diagnostic_build_prefix): Only print column number
+       if flag_show_column.
+
+2005-03-27  Steven Bosscher  <stevenb@suse.de>
+
+       * vax-protos.h (vax_output_int_move, vax_output_int_add,
+       vax_output_conditional_branch): New prototypes.
+       * vax.c (vax_output_int_move, vax_output_int_add): New functions,
+       extracted from vax.md mov and add patterns.
+       (vax_output_conditional_branch): New function to output conditional
+       branch instructions.
+       * vax.md: Use mode macros for arithmetic and mov patterns.
+       Use code macros for the jump patterns.
+
+2005-03-26  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * Makefile.in (libbackend.o): Depend on version files;
+       add custom generation command.
+
+2005-03-26  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR target/20636
+       * config/rs6000/rs6000.md (extendsfdf2_fpr): Check to make
+       sure that we have a REG before getting its REGNO.
+
+2005-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtin-types.def (BT_FN_STRING_CONST_STRING_SIZE): New.
+       * builtins.def (BUILT_IN_STRNDUP): New.
+
+2005-03-25  Pat Haugen  <pthaugen@us.ibm.com>
+
+       PR tree-optimization/20470
+       * fold-const.c (fold_cond_expr_with_comparison): Recognize/fold
+       ABS(x-y).
+
+2005-03-25  Mike Stump  <mrs@apple.com>
+
+       * config/darwin.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Don't allow 0
+       sized objects.
+
+2005-03-25  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/darwin-fallback.c: Don't include <ucontext.h>.
+       Use our own structure definitions.
+
+       * config/rs6000/rs6000.md (UNSPEC constants): Add UNSPEC_STFIWX.
+       (fix_truncdfsi2): Allow registers or memory as destination.
+       When TARGET_PPC_GFXOPT, generate simplified pattern.
+       (fix_truncdfsi2_internal): Use define_insn_and_split.
+       (fix_truncdfsi2_internal_gfxopt): New.
+       (fctiwz): Don't confuse register allocation by giving it no choices.
+       (stfiwx): New.
+       * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'Z'.
+       (EXTRA_MEMORY_CONSTRAINT): Likewise.
+       * config/rs6000/rs6000.c (indexed_or_indirect_operand): New.
+       * config/rs6000/rs6000-protos.h (indexed_or_indirect_operand): New.
+
+2005-03-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * dominance.c (free_dominance_info): Speed up by freeing et
+       data structures without maintaining other nodes.
+       * et-forest.c (et_free_tree_force): New.
+       * et-forest.h: Add a prototype for et_free_tree_force.
+
+       * tree.c (get_set_constructor_bits,
+       get_set_constructor_bytes): Remove.
+       * tree.h: Remove the corresponding prototypes.
+
+2005-03-25  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
+
+       PR target/15491
+       * vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
+       (vax_rtx_costs): Return false when passed unsupported rtx's.  Handle
+       FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE.  Fix costs for POST_INC,
+       PRE_DEC, NEG and NOT.
+
+2005-03-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * fold-const.c: Convert uses of fold (build (...)) to
+       fold_buildN.
+
+2005-03-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR rtl-optimization/20249
+       * cse.c (insert_regs): Do not record equivalence of registers in
+       different modes.
+
+2005-03-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * emit-rtl.c (reverse_comparison): Remove.
+       * rtl.h: Remove the corresponding prototype.
+
+2005-03-24  James E Wilson  <wilson@specifixinc.com>
+
+       * doc/install.texi (--enable-altivec): Delete docs.
+
+2005-03-24  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/predicates.md (easy_fp_constant): Return 0 for
+       SFmode and DFmode before reload when
+       flag_unsafe_math_optimizations not enabled.
+
+2005-03-24  Geoffrey Keating  <geoffk@apple.com>
+
+       * c.opt (fvisibility-inlines-hidden): Allow for ObjC++.
+
+       * config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Add
+       MASK_128BIT_LONG_DOUBLE, MASK_ALIGN_DOUBLE.
+
+2005-03-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * configure.ac (enable-checking): Add 'runtime' option.
+       * doc/install.texi (enable-checking): Document 'runtime' checking.
+       * tsystem.h (gcc_assert, gcc_unreachable): Define.
+       * config.in: Regenerated.
+       * configure: Regenerated.
+
+2005-03-23  Uros Bizjak  <uros@kss-loka.si>
+
+       * optabs.h (enum optab_index): Remove OTI_llrint.
+       (llrint_optab): Remove macro.
+       * optabs.c (init_optabs): Remove llrint_optab initialization.
+       * genopinit.c (optabs): Remove llrint_optab implementation.
+       * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LLRINT{,F,L}
+       using lrint_optab.
+
+2005-03-24  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR rtl-optimization/20532
+       * simplify-rtx.c (simplify_binary_operation_1): Protect from
+       overflow when adding coefficients for PLUS or MINUS.
+       (simplify_binary_operation_1): Handle CONST_DOUBLE exact power of
+       two as multiplier.
+
+2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * langhooks.h (truthvalue_conversion): Remove.
+       * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
+       LANG_HOOKS_TRUTHVALUE_CONVERSION.
+       * system.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Poison.
+       * gimplify.c (gimple_boolify): Don't use truthvalue_conversion.
+       * c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
+
+2005-03-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * params.def: Fix a typo.
+       * config/mips/mips.c: Follow the spelling convensions.
+       * doc/invoke.texi: Fix typos.
+
+2005-03-18  Dale Johannese  <dalej@apple.com>
+
+       * cp/tree.c (cp_tree_equal):  Handle SSA_NAME.
+
+2005-03-23  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/20601
+
+       * tree-ssa-pre.c (insert_aux): Add missing condition to
+       constification.
+
+2005-03-23  Ian Lance Taylor  <ian@airs.com>
+
+       * final.c (final_scan_insn): Don't remove no-op instructions.
+       * reload1.c (reload): Remove simple no-op instructions even when
+       not optimizing.
+
+2005-03-23  Dorit Naishlos  <dorit@il.ib.com>
+
+       PR tree-optimization/20501
+       * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Debug print
+       reporting that peeling for alignment is applied moved to...
+       * (vect_analyze_data_refs_alignment): Here.
+
+2005-03-23  Ian Lance Taylor  <ian@airs.com>
+
+       * reorg.c (dbr_schedule): Remove #if 0 code to call final.
+
+2005-03-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config.gcc (alpha*-dec-osf[45]*): Remove target_cpu_default.
+       Define TARGET_SUPPORT_ARCH except on Tru64 UNIX V4.0A.
+
+2005-03-23  Hans-Peter Nilsson  <hp@axis.com>
+
+       * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not
+       imply that this is called once, independent of asms in code.
+       Adjust to now being pased output and input lists.  Mention helper
+       function decl_overlaps_hard_reg_set_p.
+       * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Rename from
+       hook_tree_tree_identity and to take three trees, returning third.
+       * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Adjust the
+       prototype.
+       * stmt.c: include hard-reg-set.h before tree.h.
+       (decl_overlaps_hard_reg_set_p): New function, broken out from...
+       (decl_conflicts_with_clobbers_p): Call
+       decl_overlaps_hard_reg_set_p.
+       (expand_asm_operands): Pass output and input lists in call to
+       targetm.md_asm_clobbers.
+       * target-def.h (TARGET_MD_ASM_CLOBBERS): Define as
+       hook_tree_tree_tree_tree_3rd_identity.
+       * target.h (struct gcc_target.md_asm_clobbers): Take three tree
+       parameters.
+       * tree.h [HARD_CONST] (decl_overlaps_hard_reg_set_p): Prototype.
+       * config/i386/i386.c (ix86_md_asm_clobbers): Adjust to three
+       parameters, first two unused.
+       * config/cris/cris.c (cris_md_asm_clobbers): Adjust to added
+       parameters.  Only add MOF to clobbers if there's no 'h' mentioned
+       in constraint letters and MOF is not mentioned as a asm-declared
+       register in neither of the input and output lists.
+
+2005-03-23  DJ Delorie  <dj@redhat.com>
+
+       * optabs.c (expand_binop): Make sure the first subword's result
+       gets stored.
+
+2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * c-common.c (c_common_truthvalue_conversion): Adjust comment.
+       Call c_common_truthvalue_conversion rather than
+       lang_hooks.truthvalue_conversion.
+       * c-convert.c (convert): Call c_objc_common_truthvalue_conversion.
+       * c-objc-common.c (c_objc_common_truthvalue_conversion): Move to
+       c-typeck.c.
+       * c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Change to
+       c_common_truthvalue_conversion.
+       * c-parser.c (c_parser_paren_condition, c_parser_for_statement,
+       c_parser_conditional_expression, c_parser_binary_expression): Call
+       c_objc_common_truthvalue_conversion.
+       * c-typeck.c (build_unary_op): Call
+       c_objc_common_truthvalue_conversion.
+       (build_conditional_expr): Do not call
+       lang_hooks.truthvalue_conversion.
+       (build_binary_op): Call c_common_truthvalue_conversion.
+       (c_objc_common_truthvalue_conversion): Moved from
+       c-objc-common.c.  Call default_function_array_conversion instead
+       of default_conversion.
+
+2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * c-common.h (default_conversion): Remove.
+       (perform_integral_promotions): Add.
+       * c-tree.h (default_conversion): Add.
+       * c-typeck.c (perform_integral_promotions): New, split out from
+       default_conversion.
+       * c-common.c (check_case_value): Use perform_integral_promotions,
+       not default_conversion.
+       (c_add_case_label): Don't continue processing case label after
+       found to be pointer.
+
+2005-03-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * gcc.c (do_spec_1): Do not add a -L path for a directory in
+       the prefix list if we have already added a multilib directory
+       based on that path.
+       (main): Do not add MD_EXEC_PREFIX to the list of directories to
+       search with -L.
+
+2005-03-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * reload1.c (indirect_symref_ok, reload_obstack): Make them
+       static.
+       * reload.h: Remove the prototype for indirect_symref_ok.
+
+       * reload1.c (indirect_symref_ok): Make it global.
+       * reload.h: Add a prototype for indirect_symref_ok.
+
+2005-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (ashlhi3): Rename to *ashlhi3_n and add a new
+       ashlhi3 expander.
+
+2005-03-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * tree.h (DECL_IGNORED_P, DECL_IN_SYSTEM_HEADER): Clarify comments.
+
+2005-03-22  Daniel Berlin  <dberlin@dberlin.org>
+
+       * c-opts.c (c_common_parse_file): Only start/end main source file
+       if debug hooks says the writer wants it.
+       * dbxout.c (dbx_debug_hooks): Add start_end_main_source_file
+       member.
+       (xcoff_debug_hooks): Ditto.
+       * debug.c (do_nothing_hooks): Ditto.
+       * debug.h (gcc_debug_hooks): Ditto.
+       * dwarf2out.c (dwarf2_debug_hooks): Ditto.
+       * sdbout.c (sdb_debug_hooks): Ditto.
+       * vmsdbgout.c (vmsdbg_debug_hooks): Ditto.
+
+2005-03-22  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/extend.texi: Deprecate C++ min/max operators.
+
+2005-03-22  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-ivopts.c (determine_iv_cost): Do not try to preserve
+       artificial original candidates.
+
+2005-03-22  Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
+           Jan Hubicka  <jh@suse.cz>
+           Steven Bosscher <stevenb@suse.de>
+
+       * cgraphunit.c (cgraph_estimate_size_after_inlining): Compute
+       call cost based on argument sizes.
+       (cgraph_mark_inline_edge): Avoid inline unit from shrinking by
+       inlining.
+       * params.def: (max-inline-inssn-single): Set to 450.
+       (max-inline-insns-auto): Set to 90.
+       (max-inline-insns-recursive): Set to 450
+       (max-inline-insns-recursive-auto): Set to 450.
+       (large-function-insns): Set to 2700.
+       (inline-call-cost): New parameter.
+       * tree-inline.c (estimate_move_cost): New function.
+       (estimate_num_insns_1): Compute move sizes costs by estimate_move_cost
+       for non-gimple-regs, set cost to 0 for gimple-regs.  Compute call size
+       based on arguments.
+       * tree-inline.h (estimate_move_cost): Declare.
+       * invoke.texi: (max-inline-inssn-single): Change default to 450.
+       (max-inline-insns-auto): Change default to 90.
+       (max-inline-insns-recursive): Change default to 450
+       (max-inline-insns-recursive-auto): Change default to 450.
+       (large-function-insns): Change default to 2700.
+       (inline-call-cost): Document new parameter.
+
 2005-03-22  Richard Sandiford  <rsandifo@redhat.com>
 
        * config/i860/i860.h (target_flags, TARGET_XP, TARGET_SWITCHES)
        * config/fr30/fr30.opt: New file.
 
 2005-03-18  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        Fix PR tree-optimization/20542
 
        * tree-flow-inline.h (overlap_subvar): Move to here.
        * tree-ssa-alias.c (add_pointed_to_var): Use overlap_subvar here.
        * tree-ssa-loop-im.c (is_call_clobbered_ref): Return proper answer
        for variables with subvars.
-       
+
 2005-03-21 Mostafa Hagog <mustafa@il.ibm.com>
 
        PR middle-end/20177
        not including (reg). Do not check for reg being CRIS_PC_REGNUM.
        (EXTRA_MEMORY_CONSTRAINT): Define as 'Q'.
        * config/cris/cris.md: Tweak comments referring to Q.
-       ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
+       ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
        ("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
        ("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
        ("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")